--- trunk/Sources/phylmd/concvl.f 2016/03/16 14:42:58 183 +++ trunk/Sources/phylmd/concvl.f 2016/06/21 15:16:03 205 @@ -4,26 +4,26 @@ contains - SUBROUTINE concvl(dtime, paprs, play, t, q, u, v, sig1, w01, d_t, d_q, d_u, & + SUBROUTINE concvl(paprs, play, t, q, u, v, sig1, w01, d_t, d_q, d_u, & d_v, rain, kbas, itop_con, upwd, dnwd, dnwd0, ma, cape, iflag, qcondc, & - wd, pmflxr, da, phi, mp) + pmflxr, da, phi, mp) ! From phylmd/concvl.F, version 1.3, 2005/04/15 12:36:17 ! Author: Z. X. Li (LMD/CNRS) ! Date: 1993 August 18 ! Objet : schéma de convection d'Emanuel (1991), interface + use comconst, only: dtphys use cv_driver_m, only: cv_driver USE dimphy, ONLY: klev, klon USE fcttre, ONLY: foeew USE suphec_m, ONLY: retv, rtt USE yoethf_m, ONLY: r2es - REAL, INTENT (IN):: dtime ! pas d'integration (s) REAL, INTENT (IN):: paprs(klon, klev + 1) REAL, INTENT (IN):: play(klon, klev) - REAL, intent(in):: t(klon, klev) - real, intent(in):: q(klon, klev) ! vapeur d'eau (en kg / kg) + REAL, intent(in):: t(klon, klev) ! temperature (K) + real, intent(in):: q(klon, klev) ! fraction massique de vapeur d'eau real, INTENT (IN):: u(klon, klev), v(klon, klev) REAL, intent(inout):: sig1(klon, klev), w01(klon, klev) REAL, intent(out):: d_t(klon, klev) @@ -40,15 +40,19 @@ ! saturated downdraft mass flux (kg / m2 / s) real, intent(out):: dnwd0(klon, klev) - ! unsaturated downdraft mass flux (kg / m2 / s) + ! unsaturated downdraft mass flux, in kg m-2 s-1 REAL ma(klon, klev) real cape(klon) ! output (J / kg) - INTEGER iflag(klon) + INTEGER, intent(out):: iflag(klon) REAL qcondc(klon, klev) - REAL wd(klon) REAL pmflxr(klon, klev + 1) - REAL, intent(inout):: da(klon, klev), phi(klon, klev, klev), mp(klon, klev) + REAL, intent(out):: da(:, :) ! (klon, klev) + REAL, intent(out):: phi(:, :, :) ! (klon, klev, klev) + + REAL, intent(out):: mp(:, :) ! (klon, klev) Mass flux of the + ! unsaturated downdraft, defined positive downward, in kg m-2 + ! s-1. M_p in Emanuel (1991 928). ! Local: REAL zx_qs, cor @@ -66,14 +70,14 @@ END DO CALL cv_driver(t, q, qs, u, v, play / 100., paprs / 100., iflag, d_t, & - d_q, d_u, d_v, rain, pmflxr, sig1, w01, kbas, itop_con, dtime, ma, & - upwd, dnwd, dnwd0, qcondc, wd, cape, da, phi, mp) - + d_q, d_u, d_v, rain, pmflxr, sig1, w01, kbas, itop_con, ma, upwd, & + dnwd, qcondc, cape, da, phi, mp) + dnwd0 = - mp rain = rain / 86400. - d_t = dtime * d_t - d_q = dtime * d_q - d_u = dtime * d_u - d_v = dtime * d_v + d_t = dtphys * d_t + d_q = dtphys * d_q + d_u = dtphys * d_u + d_v = dtphys * d_v END SUBROUTINE concvl