--- trunk/libf/phylmd/conflx.f 2008/02/27 13:16:39 3 +++ trunk/libf/phylmd/conflx.f 2011/01/06 17:52:19 38 @@ -9,8 +9,8 @@ c use dimens_m use dimphy - use YOMCST - use yoethf + use SUPHEC_M + use yoethf_m use fcttre IMPLICIT none c====================================================================== @@ -22,9 +22,9 @@ c et lessivage des traceurs passifs. c====================================================================== c Entree: - REAL dtime ! pas d'integration (s) + REAL, intent(in):: dtime ! pas d'integration (s) REAL, intent(in):: pres_h(klon,klev+1) ! pression half-level (Pa) - REAL pres_f(klon,klev)! pression full-level (Pa) + REAL, intent(in):: pres_f(klon,klev)! pression full-level (Pa) REAL t(klon,klev) ! temperature (K) REAL q(klon,klev) ! humidite specifique (g/g) REAL w(klon,klev) ! vitesse verticale (Pa/s) @@ -215,11 +215,11 @@ . dt_con, dq_con, pmflxr, pmflxs) use dimens_m use dimphy - use YOMCST - use yoethf + use SUPHEC_M + use yoethf_m + use yoecumf IMPLICIT none C ------------------------------------------------------------------ - include "YOECUMF.h" C ---------------------------------------------------------------- REAL pten(klon,klev), pqen(klon,klev), pqsen(klon,klev) REAL ptte(klon,klev) @@ -249,7 +249,8 @@ LOGICAL llo1 REAL dt_con(klon,klev), dq_con(klon,klev) REAL zmfmax, zdh - REAL pdtime, zqumqe, zdqmin, zalvdcp, zhsat, zzz + REAL, intent(in):: pdtime + real zqumqe, zdqmin, zalvdcp, zhsat, zzz REAL zhhat, zpbmpt, zgam, zeps, zfac INTEGER i, k, ikb, itopm2, kcum c @@ -492,7 +493,7 @@ c---------------------------------------------------------------------- c calculer les tendances pour T et Q c---------------------------------------------------------------------- - CALL flxdtdq(pdtime, itopm2, paph, ldcum, pten, + CALL flxdtdq(itopm2, paph, ldcum, pten, e zmfus, zmfds, zmfuq, zmfdq, zmful, zdmfup, zdmfdp, zdpmel, s dt_con,dq_con) c @@ -505,8 +506,8 @@ . klab,pen_u, pde_u, pen_d, pde_d) use dimens_m use dimphy - use YOMCST - use yoethf + use SUPHEC_M + use yoethf_m IMPLICIT none C---------------------------------------------------------------------- C THIS ROUTINE INTERPOLATES LARGE-SCALE FIELDS OF T,Q ETC. @@ -630,8 +631,8 @@ * ptu, pqu, plu, ldcum, kcbot, klab) use dimens_m use dimphy - use YOMCST - use yoethf + use SUPHEC_M + use yoethf_m IMPLICIT none C---------------------------------------------------------------------- C THIS ROUTINE CALCULATES CLOUD BASE VALUES (T AND Q) @@ -715,16 +716,16 @@ . pen_u, pde_u) use dimens_m use dimphy - use YOMCST - use yoethf + use SUPHEC_M + use yoethf_m + use yoecumf IMPLICIT none C---------------------------------------------------------------------- C THIS ROUTINE DOES THE CALCULATIONS FOR CLOUD ASCENTS C FOR CUMULUS PARAMETERIZATION C---------------------------------------------------------------------- - include "YOECUMF.h" C - REAL pdtime + REAL, intent(in):: pdtime REAL pten(klon,klev), ptenh(klon,klev) REAL pqen(klon,klev), pqenh(klon,klev), pqsen(klon,klev) REAL pgeo(klon,klev), pgeoh(klon,klev) @@ -1019,15 +1020,15 @@ . , pmflxr, pmflxs) use dimens_m use dimphy - use YOMCST - use yoethf + use SUPHEC_M + use yoethf_m use fcttre + use yoecumf IMPLICIT none C---------------------------------------------------------------------- C THIS ROUTINE DOES THE FINAL CALCULATION OF CONVECTIVE C FLUXES IN THE CLOUD LAYER AND IN THE SUBCLOUD LAYER C---------------------------------------------------------------------- - include "YOECUMF.h" C REAL cevapcu(klev) C ----------------------------------------------------------------- @@ -1053,7 +1054,8 @@ LOGICAL ldland(klon), ldcum(klon) INTEGER k, kp, i REAL zcons1, zcons2, zcucov, ztmelp2 - REAL pdtime, zdp, zzp, zfac, zsnmlt, zrfl, zrnew + REAL, intent(in):: pdtime + real zdp, zzp, zfac, zsnmlt, zrfl, zrnew REAL zrmin, zrfln, zdrfl REAL zpds, zpdr, zdenom INTEGER ktopm2, itop, ikb @@ -1258,18 +1260,18 @@ c RETURN END - SUBROUTINE flxdtdq(pdtime, ktopm2, paph, ldcum, pten + SUBROUTINE flxdtdq(ktopm2, paph, ldcum, pten . , pmfus, pmfds, pmfuq, pmfdq, pmful, pdmfup, pdmfdp . , pdpmel, dt_con, dq_con) use dimens_m use dimphy - use YOMCST - use yoethf + use SUPHEC_M + use yoethf_m + use yoecumf IMPLICIT none c---------------------------------------------------------------------- c calculer les tendances T et Q c---------------------------------------------------------------------- - include "YOECUMF.h" C ----------------------------------------------------------------- LOGICAL llo1 C @@ -1283,7 +1285,6 @@ REAL dt_con(klon,klev), dq_con(klon,klev) c INTEGER ktopm2 - REAL pdtime c INTEGER i, k REAL zalv, zdtdt, zdqdt @@ -1334,8 +1335,9 @@ . pmfd, pmfds, pmfdq, pdmfdp, kdtop, lddraf) use dimens_m use dimphy - use YOMCST - use yoethf + use SUPHEC_M + use yoethf_m + use yoecumf IMPLICIT none C C---------------------------------------------------------------------- @@ -1353,7 +1355,6 @@ C CHECK FOR NEGATIVE BUOYANCY OF AIR OF EQUAL PARTS OF C MOIST ENVIRONMENTAL AIR AND CLOUD AIR. C---------------------------------------------------------------------- - include "YOECUMF.h" C REAL ptenh(klon,klev) REAL pqenh(klon,klev) @@ -1445,8 +1446,9 @@ . lddraf, pen_d, pde_d) use dimens_m use dimphy - use YOMCST - use yoethf + use SUPHEC_M + use yoethf_m + use yoecumf IMPLICIT none C C---------------------------------------------------------------------- @@ -1464,7 +1466,6 @@ C B) CORRECTING FOR EVAPORATION TO OBTAIN SATURATED STATE. C C---------------------------------------------------------------------- - include "YOECUMF.h" C REAL ptenh(klon,klev), pqenh(klon,klev) REAL pgeoh(klon,klev), paph(klon,klev+1) @@ -1560,8 +1561,8 @@ SUBROUTINE flxadjtq(pp, pt, pq, ldflag, kcall) use dimens_m use dimphy - use YOMCST - use yoethf + use SUPHEC_M + use yoethf_m use fcttre IMPLICIT none c====================================================================== @@ -1636,11 +1637,11 @@ RETURN END SUBROUTINE flxsetup + use yoecumf IMPLICIT none C C THIS ROUTINE DEFINES DISPOSABLE PARAMETERS FOR MASSFLUX SCHEME C - include "YOECUMF.h" C ENTRPEN=1.0E-4 ! ENTRAINMENT RATE FOR PENETRATIVE CONVECTION ENTRSCV=3.0E-4 ! ENTRAINMENT RATE FOR SHALLOW CONVECTION