Argument Definitions (+ indicates altered content) INTEGER +IFLAG, ND, NL REAL +CBMF, DELT, +PRECIP, +QPRIME REAL +TPRIME, +WD
Description SUBROUTINE CONVECT ** VERSION 4.3c ** 20 May, 2002 ** Kerry Emanuel ** ******************************************************************* C. Forster, November 2003 - May 2004: The subroutine has been downloaded from Kerry Emanuel's homepage, where further infos on the convection scheme can be found http://www-paoc.mit.edu/~emanuel/home.html The following changes have been made to integrate this subroutine into FLEXPART Putting most of the variables in a new common block renaming eps to eps0 because there is some eps already in includepa removing the arrays U,V,TRA and related arrays renaming the original arrays T,Q,QS,P,PH to TCONV,QCONV,QSCONV,PCONV_HPA,PHCONV_HPA Initialization of variables has been put into parameter statements of assignment of values at each call, in order to save computation *** On input: *** T: Array of absolute temperature (K) of dimension ND, with first index corresponding to lowest model level. Note that this ar will be altered by the subroutine if dry convective adjustme occurs and if IPBL is not equal to 0. Q: Array of specific humidity (gm/gm) of dimension ND, with firs index corresponding to lowest model level. Must be defined at same grid levels as T. Note that this array will be alte if dry convective adjustment occurs and if IPBL is not equa QS: Array of saturation specific humidity of dimension ND, with f index corresponding to lowest model level. Must be defined at same grid levels as T. Note that this array will be alte if dry convective adjustment occurs and if IPBL is not equa U: Array of zonal wind velocity (m/s) of dimension ND, witth fir index corresponding with the lowest model level. Defined at same levels as T. Note that this array will be altered if dry convective adjustment occurs and if IPBL is not equal t V: Same as U but for meridional velocity. TRA: Array of passive tracer mixing ratio, of dimensions (ND,NTRA) where NTRA is the number of different tracers. If no convective tracer transport is needed, define a dummy input array of dimension (ND,1). Tracers are defined at same vertical levels as T. Note that this array will be alt if dry convective adjustment occurs and if IPBL is not equa P: Array of pressure (mb) of dimension ND, with first index corresponding to lowest model level. Must be defined at same grid levels as T. PH: Array of pressure (mb) of dimension ND+1, with first index corresponding to lowest level. These pressures are defined levels intermediate between those of P, T, Q and QS. The fi value of PH should be greater than (i.e. at a lower level t the first value of the array P. ND: The dimension of the arrays T,Q,QS,P,PH,FT and FQ NL: The maximum number of levels to which convection can penetrate, plus 1. NL MUST be less than or equal to ND-1. NTRA:The number of different tracers. If no tracer transport is needed, set this equal to 1. (On most compilers, setting NTRA to 0 will bypass tracer calculation, saving some CPU.) DELT: The model time step (sec) between calls to CONVECT *** On Output: *** IFLAG: An output integer whose value denotes the following: VALUE INTERPRETATION ----- -------------- 0 No moist convection; atmosphere is no unstable, or surface temperature is l than 250 K or surface specific humidi is non-positive. 1 Moist convection occurs. 2 No moist convection: lifted condensat level is above the 200 mb level. 3 No moist convection: cloud base is hi then the level NL-1. 4 Moist convection occurs, but a CFL co on the subsidence warming is violated does not cause the scheme to terminat FT: Array of temperature tendency (K/s) of dimension ND, defined grid levels as T, Q, QS and P. FQ: Array of specific humidity tendencies ((gm/gm)/s) of dimensi defined at same grid levels as T, Q, QS and P. FU: Array of forcing of zonal velocity (m/s^2) of dimension ND, defined at same grid levels as T. FV: Same as FU, but for forcing of meridional velocity. FTRA: Array of forcing of tracer content, in tracer mixing ratio p second, defined at same levels as T. Dimensioned (ND,NTRA) PRECIP: Scalar convective precipitation rate (mm/day). WD: A convective downdraft velocity scale. For use in surface flux parameterizations. See convect.ps file for details. TPRIME: A convective downdraft temperature perturbation scale (K). For use in surface flux parameterizations. See convect.ps file for details. QPRIME: A convective downdraft specific humidity perturbation scale (gm/gm). For use in surface flux parameterizations. See convect.ps file for details. CBMF: The cloud base mass flux ((kg/m**2)/s). THIS SCALAR VALUE BE STORED BY THE CALLING PROGRAM AND RETURNED TO CONVECT ITS NEXT CALL. That is, the value of CBMF must be "rememb by the calling program between calls to CONVECT. *** THE PARAMETER NA SHOULD IN GENERAL BE GREATER THAN *** *** OR EQUAL TO ND + 1 ***
Source file: convect43c.f
Intrinsic Functions Called GENERIC ABS, MAX, MIN, SQRT
External Functions and Subroutines Called SUBROUTINE TLIFT
Parameter Variables Used INTEGER IDIFFNORM (IDIFFNORM = 10800) INTEGER NXMAX (NXMAX = 361) INTEGER NYMAX (NYMAX = 181) INTEGER NUVZMAX (NUVZMAX = 61) INTEGER NCONVLEVMAX (NCONVLEVMAX = NUVZMAX-1) INTEGER NA (NA = NCONVLEVMAX+1) INTEGER MAXNESTS (MAXNESTS = 1) INTEGER NXMAXN (NXMAXN = 1) INTEGER NYMAXN (NYMAXN = 1) INTEGER JPACK (JPACK = 4*NXMAX*NYMAX) INTEGER MAXSPEC (MAXSPEC = 1) INTEGER MINORIG (MINORIG = 1) REAL PI (PI = 3.14159265) REAL ELCRIT (ELCRIT = .0011) REAL TLCRIT (TLCRIT = -55.0) REAL ENTP (ENTP = 1.5) REAL SIGD (SIGD = 0.05) REAL SIGS (SIGS = 0.12) REAL OMTRAIN (OMTRAIN = 50.0) REAL OMTSNOW (OMTSNOW = 5.5) REAL COEFFR (COEFFR = 1.0) REAL COEFFS (COEFFS = 0.8) REAL BETA (BETA = 10.0) REAL DTMAX (DTMAX = 0.9) REAL ALPHA (ALPHA = 0.025) REAL DAMP (DAMP = 0.1) REAL CPD (CPD = 1005.7) REAL CPV (CPV = 1870.0) REAL CL (CL = 2500.0) REAL RV (RV = 461.5) REAL RD (RD = 287.04) REAL LV0 (LV0 = 2.501E6) REAL G (G = 9.81) REAL ROWL (ROWL = 1000.0) REAL CPVMCL (CPVMCL = CL-CPV) REAL EPS0 (EPS0 = RD/RV) REAL EPSI (EPSI = 1./EPS0) REAL GINV (GINV = 1.0/G) REAL EPSILON (EPSILON = 1.E-20)
Local Variables (+ indicates altered content) INTEGER +I, +ICB, +IHMIN, +INB INTEGER +INB1, +J, +JTT, +K INTEGER +NENT(NA), +NK REAL +AD, +AFAC, +AHMAX, +AHMIN REAL +ALT, +ALTEM, +AM, +AMP1 REAL +ANUM, +ASIJ, +AWAT, +B6 REAL +BF2, +BSUM, +BY, +BYP REAL +C6, +CAPE, +CAPEM, +CBMFOLD REAL +CHI, CLW(NA), +COEFF, +CPINV REAL +CPN(NA), +CWAT, +DAMPS, +DBO REAL +DBOSUM, +DEFRAC, +DEI, +DELM REAL +DELP, +DELT0, +DELTI, +DENOM REAL +DHDP, +DPINV, +DTMA, +DTMIN REAL +DTPBL, +ELACRIT, +ELIJ(NA,NA) REAL +ENTS, +EP(NA), +EPMAX, +EVAP(NA) REAL +FAC, +FDOWN(NA), +FQOLD, +FRAC REAL +FTOLD, +FUP(NA), +GZ(NA), +H(NA) REAL +HM(NA), +HP(NA), +LV(NA), +LVCP(NA) REAL +M(NA), +MENT(NA,NA), +MP(NA) REAL +PLCL, +QENT(NA,NA), +QP(NA) REAL +QP1, +QSM, +QSTM, +QTI REAL +RAT, +RDCP, +REVAP, +RH REAL +SCRIT, +SIGP(NA), +SIGT, +SIJ(NA,NA) REAL +SJMAX, +SJMIN, +SMID, +SMIN REAL +STEMP, +TCA, +TH(NA), TP(NA) REAL +TV(NA), +TVAPLCL, +TVP(NA), +TVPPLCL REAL +TVX, +TVY, +WATER(NA), +WDTRAIN REAL +WT(NA)
Referenced Common Block Variables (+ indicates altered content) CONVECTBLOCK INTEGER +NCONVTOP CONVECTBLOCK REAL +FMASS(NCONVLEVMAX,NCONVLEVMAX) CONVECTBLOCK REAL +FQ(NCONVLEVMAX) CONVECTBLOCK REAL +FT(NCONVLEVMAX) CONVECTBLOCK REAL PCONV_HPA(NCONVLEVMAX) CONVECTBLOCK REAL PHCONV_HPA(NA) CONVECTBLOCK REAL QCONV(NA) CONVECTBLOCK REAL QSCONV(NA) CONVECTBLOCK REAL +SUB(NCONVLEVMAX) CONVECTBLOCK REAL TCONV(NA)
Argument Definitions (+ indicates altered content) INTEGER ICB, KK, ND, NK INTEGER NL REAL +CLW(ND), GZ(ND), +TPK(ND), +TVP(ND)
Description ----------------------------------------------------------------------
Source file: convect43c.f
Intrinsic Functions Called GENERIC EXP, LOG, MAX
Parameter Variables Used INTEGER IDIFFNORM (IDIFFNORM = 10800) INTEGER NXMAX (NXMAX = 361) INTEGER NYMAX (NYMAX = 181) INTEGER NUVZMAX (NUVZMAX = 61) INTEGER NCONVLEVMAX (NCONVLEVMAX = NUVZMAX-1) INTEGER NA (NA = NCONVLEVMAX+1) INTEGER MAXNESTS (MAXNESTS = 1) INTEGER NXMAXN (NXMAXN = 1) INTEGER NYMAXN (NYMAXN = 1) INTEGER JPACK (JPACK = 4*NXMAX*NYMAX) INTEGER MAXSPEC (MAXSPEC = 1) REAL PI (PI = 3.14159265) REAL CPD (CPD = 1005.7) REAL CPV (CPV = 1870.0) REAL CL (CL = 2500.0) REAL RV (RV = 461.5) REAL RD (RD = 287.04) REAL LV0 (LV0 = 2.501E6) REAL CPVMCL (CPVMCL = CL-CPV) REAL EPS0 (EPS0 = RD/RV) REAL EPSI (EPSI = 1./EPS0)
Local Variables (+ indicates altered content) INTEGER +I, +J, +NSB, +NST REAL +AH0, +AHG, +ALV, +CPINV REAL +CPP, +DENOM, +ES, +QG REAL +RG, +S, +TC, +TG
Referenced Common Block Variables (+ indicates altered content) CONVECTBLOCK REAL PCONV_HPA(NCONVLEVMAX) CONVECTBLOCK REAL QCONV(NA) CONVECTBLOCK REAL QSCONV(NA) CONVECTBLOCK REAL TCONV(NA)