/[lmdze]/trunk/libf/phylmd/conflx.f
ViewVC logotype

Diff of /trunk/libf/phylmd/conflx.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3 by guez, Wed Feb 27 13:16:39 2008 UTC revision 51 by guez, Tue Sep 20 09:14:34 2011 UTC
# Line 9  Line 9 
9  c  c
10        use dimens_m        use dimens_m
11        use dimphy        use dimphy
12        use YOMCST        use SUPHEC_M
13        use yoethf        use yoethf_m
14        use fcttre        use fcttre
15        IMPLICIT none        IMPLICIT none
16  c======================================================================  c======================================================================
# Line 22  c         Olivier Boucher et Alexandre A Line 22  c         Olivier Boucher et Alexandre A
22  c         et lessivage des traceurs passifs.  c         et lessivage des traceurs passifs.
23  c======================================================================  c======================================================================
24  c Entree:  c Entree:
25        REAL dtime            ! pas d'integration (s)        REAL, intent(in):: dtime            ! pas d'integration (s)
26        REAL, intent(in):: pres_h(klon,klev+1) ! pression half-level (Pa)        REAL, intent(in):: pres_h(klon,klev+1) ! pression half-level (Pa)
27        REAL pres_f(klon,klev)! pression full-level (Pa)        REAL, intent(in):: pres_f(klon,klev)! pression full-level (Pa)
28        REAL t(klon,klev)     ! temperature (K)        REAL, intent(in):: t(klon,klev)     ! temperature (K)
29        REAL q(klon,klev)     ! humidite specifique (g/g)        REAL q(klon,klev)     ! humidite specifique (g/g)
30        REAL w(klon,klev)     ! vitesse verticale (Pa/s)        REAL w(klon,klev)     ! vitesse verticale (Pa/s)
31        REAL con_t(klon,klev) ! convergence de temperature (K/s)        REAL con_t(klon,klev) ! convergence de temperature (K/s)
# Line 215  c     *                   ldcum, ktype, Line 215  c     *                   ldcum, ktype,
215       .                   dt_con, dq_con, pmflxr, pmflxs)       .                   dt_con, dq_con, pmflxr, pmflxs)
216        use dimens_m        use dimens_m
217        use dimphy        use dimphy
218        use YOMCST        use SUPHEC_M
219        use yoethf        use yoethf_m
220                use yoecumf
221        IMPLICIT none        IMPLICIT none
222  C     ------------------------------------------------------------------  C     ------------------------------------------------------------------
       include "YOECUMF.h"  
223  C     ----------------------------------------------------------------  C     ----------------------------------------------------------------
224        REAL pten(klon,klev), pqen(klon,klev), pqsen(klon,klev)        REAL pten(klon,klev), pqen(klon,klev), pqsen(klon,klev)
225        REAL ptte(klon,klev)        REAL ptte(klon,klev)
# Line 249  c Line 249  c
249        LOGICAL  llo1        LOGICAL  llo1
250        REAL dt_con(klon,klev), dq_con(klon,klev)        REAL dt_con(klon,klev), dq_con(klon,klev)
251        REAL zmfmax, zdh        REAL zmfmax, zdh
252        REAL pdtime, zqumqe, zdqmin, zalvdcp, zhsat, zzz        REAL, intent(in):: pdtime
253          real zqumqe, zdqmin, zalvdcp, zhsat, zzz
254        REAL zhhat, zpbmpt, zgam, zeps, zfac        REAL zhhat, zpbmpt, zgam, zeps, zfac
255        INTEGER i, k, ikb, itopm2, kcum        INTEGER i, k, ikb, itopm2, kcum
256  c  c
# Line 492  c Line 493  c
493  c----------------------------------------------------------------------  c----------------------------------------------------------------------
494  c calculer les tendances pour T et Q  c calculer les tendances pour T et Q
495  c----------------------------------------------------------------------  c----------------------------------------------------------------------
496        CALL flxdtdq(pdtime, itopm2, paph, ldcum, pten,        CALL flxdtdq(itopm2, paph, ldcum, pten,
497       e     zmfus, zmfds, zmfuq, zmfdq, zmful, zdmfup, zdmfdp, zdpmel,       e     zmfus, zmfds, zmfuq, zmfdq, zmful, zdmfup, zdmfdp, zdpmel,
498       s     dt_con,dq_con)       s     dt_con,dq_con)
499  c  c
# Line 505  c Line 506  c
506       .           klab,pen_u, pde_u, pen_d, pde_d)       .           klab,pen_u, pde_u, pen_d, pde_d)
507        use dimens_m        use dimens_m
508        use dimphy        use dimphy
509        use YOMCST        use SUPHEC_M
510        use yoethf        use yoethf_m
511        IMPLICIT none        IMPLICIT none
512  C----------------------------------------------------------------------  C----------------------------------------------------------------------
513  C THIS ROUTINE INTERPOLATES LARGE-SCALE FIELDS OF T,Q ETC.  C THIS ROUTINE INTERPOLATES LARGE-SCALE FIELDS OF T,Q ETC.
# Line 630  C Line 631  C
631       *     ptu, pqu, plu, ldcum, kcbot, klab)       *     ptu, pqu, plu, ldcum, kcbot, klab)
632        use dimens_m        use dimens_m
633        use dimphy        use dimphy
634        use YOMCST        use SUPHEC_M
635        use yoethf        use yoethf_m
636        IMPLICIT none        IMPLICIT none
637  C----------------------------------------------------------------------  C----------------------------------------------------------------------
638  C THIS ROUTINE CALCULATES CLOUD BASE VALUES (T AND Q)  C THIS ROUTINE CALCULATES CLOUD BASE VALUES (T AND Q)
# Line 715  c Line 716  c
716       .     pen_u, pde_u)       .     pen_u, pde_u)
717        use dimens_m        use dimens_m
718        use dimphy        use dimphy
719        use YOMCST        use SUPHEC_M
720        use yoethf        use yoethf_m
721                use yoecumf
722        IMPLICIT none        IMPLICIT none
723  C----------------------------------------------------------------------  C----------------------------------------------------------------------
724  C THIS ROUTINE DOES THE CALCULATIONS FOR CLOUD ASCENTS  C THIS ROUTINE DOES THE CALCULATIONS FOR CLOUD ASCENTS
725  C FOR CUMULUS PARAMETERIZATION  C FOR CUMULUS PARAMETERIZATION
726  C----------------------------------------------------------------------  C----------------------------------------------------------------------
       include "YOECUMF.h"  
727  C  C
728        REAL pdtime        REAL, intent(in):: pdtime
729        REAL pten(klon,klev), ptenh(klon,klev)        REAL pten(klon,klev), ptenh(klon,klev)
730        REAL pqen(klon,klev), pqenh(klon,klev), pqsen(klon,klev)        REAL pqen(klon,klev), pqenh(klon,klev), pqsen(klon,klev)
731        REAL pgeo(klon,klev), pgeoh(klon,klev)        REAL pgeo(klon,klev), pgeoh(klon,klev)
# Line 1019  C Line 1020  C
1020       .  ,  pmflxr, pmflxs)       .  ,  pmflxr, pmflxs)
1021        use dimens_m        use dimens_m
1022        use dimphy        use dimphy
1023        use YOMCST        use SUPHEC_M
1024        use yoethf        use yoethf_m
1025        use fcttre        use fcttre
1026                use yoecumf
1027        IMPLICIT none        IMPLICIT none
1028  C----------------------------------------------------------------------  C----------------------------------------------------------------------
1029  C THIS ROUTINE DOES THE FINAL CALCULATION OF CONVECTIVE  C THIS ROUTINE DOES THE FINAL CALCULATION OF CONVECTIVE
1030  C FLUXES IN THE CLOUD LAYER AND IN THE SUBCLOUD LAYER  C FLUXES IN THE CLOUD LAYER AND IN THE SUBCLOUD LAYER
1031  C----------------------------------------------------------------------  C----------------------------------------------------------------------
       include "YOECUMF.h"  
1032  C  C
1033        REAL cevapcu(klev)        REAL cevapcu(klev)
1034  C     -----------------------------------------------------------------  C     -----------------------------------------------------------------
# Line 1053  cjq 14/11/00 to fix the problem with the Line 1054  cjq 14/11/00 to fix the problem with the
1054        LOGICAL  ldland(klon), ldcum(klon)        LOGICAL  ldland(klon), ldcum(klon)
1055        INTEGER k, kp, i        INTEGER k, kp, i
1056        REAL zcons1, zcons2, zcucov, ztmelp2        REAL zcons1, zcons2, zcucov, ztmelp2
1057        REAL pdtime, zdp, zzp, zfac, zsnmlt, zrfl, zrnew        REAL, intent(in):: pdtime
1058          real zdp, zzp, zfac, zsnmlt, zrfl, zrnew
1059        REAL zrmin, zrfln, zdrfl        REAL zrmin, zrfln, zdrfl
1060        REAL zpds, zpdr, zdenom        REAL zpds, zpdr, zdenom
1061        INTEGER ktopm2, itop, ikb        INTEGER ktopm2, itop, ikb
# Line 1258  c Line 1260  c
1260  c  c
1261        RETURN        RETURN
1262        END        END
1263        SUBROUTINE flxdtdq(pdtime, ktopm2, paph, ldcum, pten        SUBROUTINE flxdtdq(ktopm2, paph, ldcum, pten
1264       .  ,  pmfus, pmfds, pmfuq, pmfdq, pmful, pdmfup, pdmfdp       .  ,  pmfus, pmfds, pmfuq, pmfdq, pmful, pdmfup, pdmfdp
1265       .  ,  pdpmel, dt_con, dq_con)       .  ,  pdpmel, dt_con, dq_con)
1266        use dimens_m        use dimens_m
1267        use dimphy        use dimphy
1268        use YOMCST        use SUPHEC_M
1269        use yoethf        use yoethf_m
1270                use yoecumf
1271        IMPLICIT none        IMPLICIT none
1272  c----------------------------------------------------------------------  c----------------------------------------------------------------------
1273  c calculer les tendances T et Q  c calculer les tendances T et Q
1274  c----------------------------------------------------------------------  c----------------------------------------------------------------------
       include "YOECUMF.h"  
1275  C     -----------------------------------------------------------------  C     -----------------------------------------------------------------
1276        LOGICAL  llo1        LOGICAL  llo1
1277  C  C
# Line 1283  C Line 1285  C
1285        REAL dt_con(klon,klev), dq_con(klon,klev)        REAL dt_con(klon,klev), dq_con(klon,klev)
1286  c  c
1287        INTEGER ktopm2        INTEGER ktopm2
       REAL pdtime  
1288  c  c
1289        INTEGER i, k        INTEGER i, k
1290        REAL zalv, zdtdt, zdqdt        REAL zalv, zdtdt, zdqdt
# Line 1334  C Line 1335  C
1335       .     pmfd, pmfds, pmfdq, pdmfdp, kdtop, lddraf)       .     pmfd, pmfds, pmfdq, pdmfdp, kdtop, lddraf)
1336        use dimens_m        use dimens_m
1337        use dimphy        use dimphy
1338        use YOMCST        use SUPHEC_M
1339        use yoethf        use yoethf_m
1340                use yoecumf
1341        IMPLICIT none        IMPLICIT none
1342  C  C
1343  C----------------------------------------------------------------------  C----------------------------------------------------------------------
# Line 1353  C Line 1355  C
1355  C CHECK FOR NEGATIVE BUOYANCY OF AIR OF EQUAL PARTS OF  C CHECK FOR NEGATIVE BUOYANCY OF AIR OF EQUAL PARTS OF
1356  C MOIST ENVIRONMENTAL AIR AND CLOUD AIR.  C MOIST ENVIRONMENTAL AIR AND CLOUD AIR.
1357  C----------------------------------------------------------------------  C----------------------------------------------------------------------
       include "YOECUMF.h"  
1358  C  C
1359        REAL ptenh(klon,klev)        REAL ptenh(klon,klev)
1360        REAL pqenh(klon,klev)        REAL pqenh(klon,klev)
# Line 1445  C Line 1446  C
1446       .           lddraf, pen_d, pde_d)       .           lddraf, pen_d, pde_d)
1447        use dimens_m        use dimens_m
1448        use dimphy        use dimphy
1449        use YOMCST        use SUPHEC_M
1450        use yoethf        use yoethf_m
1451                use yoecumf
1452        IMPLICIT none        IMPLICIT none
1453  C  C
1454  C----------------------------------------------------------------------  C----------------------------------------------------------------------
# Line 1464  C          A) MOVING AIR DRY-ADIABATICAL Line 1466  C          A) MOVING AIR DRY-ADIABATICAL
1466  C          B) CORRECTING FOR EVAPORATION TO OBTAIN SATURATED STATE.  C          B) CORRECTING FOR EVAPORATION TO OBTAIN SATURATED STATE.
1467  C  C
1468  C----------------------------------------------------------------------  C----------------------------------------------------------------------
       include "YOECUMF.h"  
1469  C  C
1470        REAL ptenh(klon,klev), pqenh(klon,klev)        REAL ptenh(klon,klev), pqenh(klon,klev)
1471        REAL pgeoh(klon,klev), paph(klon,klev+1)        REAL pgeoh(klon,klev), paph(klon,klev+1)
# Line 1560  c Line 1561  c
1561        SUBROUTINE flxadjtq(pp, pt, pq, ldflag, kcall)        SUBROUTINE flxadjtq(pp, pt, pq, ldflag, kcall)
1562        use dimens_m        use dimens_m
1563        use dimphy        use dimphy
1564        use YOMCST        use SUPHEC_M
1565        use yoethf        use yoethf_m
1566        use fcttre        use fcttre
1567        IMPLICIT none        IMPLICIT none
1568  c======================================================================  c======================================================================
# Line 1636  C Line 1637  C
1637        RETURN        RETURN
1638        END        END
1639        SUBROUTINE flxsetup        SUBROUTINE flxsetup
1640                use yoecumf
1641        IMPLICIT none        IMPLICIT none
1642  C  C
1643  C     THIS ROUTINE DEFINES DISPOSABLE PARAMETERS FOR MASSFLUX SCHEME  C     THIS ROUTINE DEFINES DISPOSABLE PARAMETERS FOR MASSFLUX SCHEME
1644  C  C
       include "YOECUMF.h"  
1645  C  C
1646        ENTRPEN=1.0E-4  ! ENTRAINMENT RATE FOR PENETRATIVE CONVECTION        ENTRPEN=1.0E-4  ! ENTRAINMENT RATE FOR PENETRATIVE CONVECTION
1647        ENTRSCV=3.0E-4  ! ENTRAINMENT RATE FOR SHALLOW CONVECTION        ENTRSCV=3.0E-4  ! ENTRAINMENT RATE FOR SHALLOW CONVECTION

Legend:
Removed from v.3  
changed lines
  Added in v.51

  ViewVC Help
Powered by ViewVC 1.1.21