Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:37:38 UTC

view on githubraw file Latest commit 672ec4d5 on 2016-12-01 17:05:48 UTC
672ec4d5cf Jean*0001 <HTML>
                0002 <TITLE>module shallow_conv_mod</TITLE>
                0003 <BODY BGCOLOR="#AABBCC" TEXT="#332211" >
                0004 
                0005 <DIV ALIGN="CENTER"> <FONT SIZE=1>
                0006 <A HREF="#INTERFACE">PUBLIC INTERFACE</A> / 
                0007 <A HREF="#ROUTINES">ROUTINES</A> / 
                0008 <A HREF="#NAMELIST">NAMELIST</A> / 
                0009 <A HREF="#CHANGES">CHANGES</A> / 
                0010 <A HREF="#ERRORS">ERRORS</A> / 
                0011 <A HREF="#REFERENCES">REFERENCES</A> / 
                0012 <A HREF="#NOTES">NOTES</A> 
                0013 </FONT>
                0014 <BR><BR></DIV><HR>
                0015 
                0016 
                0017 <H2>Module shallow_conv_mod</H2>
                0018 <A NAME="HEADER">
                0019 <PRE>
                0020      <B>Contact:</B>   Joe Sirutis, Tony Gordon
                0021      <B>Reviewers:</B>
                0022 
                0023      <B><A HREF=".doc.log#shallow_conv.f90">Tags/Status</A></B>
                0024 </PRE>
                0025 </A><!-- END HEADER -->
                0026 <!--------------------------------------------------------------------->
                0027 <A NAME="OVERVIEW">
                0028 <HR>
                0029 <H4>OVERVIEW</H4>
                0030 <!-- BEGIN OVERVIEW -->
                0031 <PRE>
                0032 
                0033      Shallow Convection Module
                0034 
                0035      A parameterization of the turbulent vertical transports of 
                0036      heat and moisture by shallow non-precipitating cumuli.
                0037 
                0038 </PRE>
                0039 </A><!-- END OVERVIEW -->
                0040 <!--------------------------------------------------------------------->
                0041 <A NAME="DESCRIPTION">
                0042 <!-- BEGIN DESCRIPTION -->
                0043 <PRE>
                0044 
                0045      Given temperature and moisture profiles at the model's pressure
                0046      levels, this module returns mixing coefficients for temperature
                0047      and moisture which can be added to the mixing coefficients
                0048      produced by the Mellor/Yamada level 2.5 scheme.
                0049 
                0050      This parameterization is based on that of Tiedke ( see references),
                0051      with local modifications by Tony Gordon.
                0052 
                0053 </PRE>
                0054 </A><!-- END DESCRIPTION -->
                0055 <!--------------------------------------------------------------------->
                0056 <A NAME="MODULES_USED">
                0057 <HR>
                0058 <H4>OTHER MODULES USED</H4>
                0059 <!-- BEGIN MODULES_USED -->
                0060 <PRE>
                0061 
                0062      sat_vapor_pres_mod
                0063           utilities_mod
                0064           constants_mod
                0065 
                0066 </PRE>
                0067 </A><!-- END MODULES_USED -->
                0068 <!--------------------------------------------------------------------->
                0069 <A NAME="INTERFACE">
                0070 <HR>
                0071 <H4>PUBLIC INTERFACE</H4>
                0072 <!-- BEGIN INTERFACE -->
                0073 <PRE>
                0074 
                0075 use shallow_conv_mod [,only: shallow_conv_init, shallow_conv, mylcl]
                0076 
                0077 shallow_conv_init  - Called once to initialize shallow_conv. Also reads namelist.
                0078                      Must be called before shallow_conv.
                0079 
                0080 shallow_conv       - Does shallow convection parameterization
                0081 
                0082 mylcl              - Computes lifted condensation level
                0083 
                0084 Notes:
                0085  * A namelist interface ( &shallow_conv_nml ) controls runtime options.
                0086 
                0087 
                0088 </PRE>
                0089 </A><!-- END INTERFACE -->
                0090 <!--------------------------------------------------------------------->
                0091 <A NAME="ROUTINES">
                0092 <HR>
                0093 <H4>PUBLIC ROUTINES</H4>
                0094 <!-- BEGIN ROUTINES -->
                0095 <PRE>
                0096 
                0097  <b>call shallow_conv_init</b>( kx )
                0098 
                0099 input
                0100 
                0101     kx           Number of levels in vertical                     [integer]
                0102 
                0103 ---------------------------------------------------------------------
                0104 
                0105   <b>call shallow_conv</b>( Temp, qmix0, pfull, phalf, akhsc, kbot )
                0106 
                0107 input
                0108 
                0109     Temp      Temperature [deg k] at full model levels,
                0110               [real, dimension(:,:,nlev)]
                0111 
                0112     qmix0     Specific humidity of water vapor [kg/kg] at full model levels,
                0113               [real, dimension(:,:,nlev)]
                0114 
                0115     pfull     Pressure at full levels in pascals
                0116               [real, dimension(:,:,nlev)]
                0117 
                0118     phalf     Pressure at half levels in pascals
                0119               [real, dimension(:,:,nlev+1)]
                0120 
                0121 output
                0122 
                0123     akhsc     Mixing coefficient for heat and moisture
                0124               due to shallow convection [m^2/sec]
                0125               [real, dimension(:,:,nlev)]
                0126 
                0127 input (optional) - for use with the step-mountain (eta) vertical coordinate
                0128 
                0129     kbot      Index of the lowest model level
                0130               [integer, dimension(:,:)]
                0131 
                0132 ---------------------------------------------------------------------
                0133 
                0134   <b>call mylcl</b> ( tlparc, qlparc, plparc, phalf, plcl, kbase )
                0135 
                0136 input
                0137 
                0138     tlparc    Initial parcel temperature [deg K]
                0139               [real, dimension(:,:)]
                0140 
                0141     qlparc    Initial parcel mixing ratio [kg/kg] 
                0142               [real, dimension(:,:)]
                0143 
                0144     plparc    Initial parcel pressure [pascals] 
                0145               [real, dimension(:,:)]
                0146 
                0147     phalf     Pressure at half levels in pascals
                0148               [real, dimension(:,:,nlev+1)]
                0149 
                0150 output
                0151 
                0152     plcl      Pressure at LCL [pascals] 
                0153               [real, dimension(:,:)]
                0154 
                0155     kbase     Index of LCL in column
                0156               [integer, dimension(:,:)]
                0157 
                0158 
                0159 </PRE>
                0160 </A><!-- END ROUTINES -->
                0161 <!--------------------------------------------------------------------->
                0162 <A NAME="NAMELIST">
                0163 <HR>
                0164 <H4>NAMELIST</H4>
                0165 <!-- BEGIN NAMELIST -->
                0166 <PRE>
                0167 
                0168 <b>&shallow_conv_nml </b>
                0169 
                0170    lipps      If true, use Frank Lipps' formulation for buoyancy, 
                0171               else buoyancy computed from equivalent potential temperature.
                0172               [logical, default: lipps = .false. ]
                0173 
                0174    ldetran    If true, do enhanced detrainment through inversion.
                0175               [logical, default: ldetran = .true. ]
                0176 
                0177    theqvcr    Critical lapse rate for buoyancy test in deg K /100m.
                0178               ( Only if lipps = f )
                0179               [real, default: theqvcr = 0.0 ]
                0180 
                0181    pshalow    Shallow convection done below p = pshalow.
                0182               [real, default: pshalow = 750.0E2 pascals ]
                0183 
                0184    akhsc0     Base value for mixing coefficient.
                0185               [real, default: akhsc0 = 5.0 m^2/sec ]
                0186 
                0187    kctop      No clouds expected for K < kctop
                0188               [integer, default: kctop = 3 ]
                0189 
                0190    crthum     Critical value for humidity.
                0191               [real, default: crthum = 0.85 ]
                0192 
                0193    hc         Condensation criterion.
                0194               [real, default: crthum = 1.0 ]
                0195 
                0196 </PRE>
                0197 </A><!-- END NAMELIST -->
                0198 <!--------------------------------------------------------------------->
                0199 <A NAME="CHANGES">
                0200 <HR>
                0201 <H4>CHANGE HISTORY</H4>
                0202 <!-- BEGIN CHANGES -->
                0203 <PRE>
                0204 <B><A HREF=".doc.log#shallow_conv.f90">Revision history</A></B>
                0205 
                0206 <b>prior changes</b> (10/4/99)
                0207 
                0208      MPP version created. Minor changes for open_file, error_mesg,
                0209      and Fortran write statements. Answers should reproduce the
                0210      previous version.
                0211 
                0212 </PRE>
                0213 </A><!-- END CHANGES -->
                0214 <!--------------------------------------------------------------------->
                0215 <A NAME="ERRORS">
                0216 <HR>
                0217 <H4>ERROR MESSAGES</H4>
                0218 <!-- BEGIN ERRORS -->
                0219 <PRE>
                0220 
                0221 <b>Fatal errors in mylcl:</b>
                0222 
                0223     <b>ITERATION LOOP FOR LCL FAILED</b>
                0224        Iteration loop for temperature at LCL failed. 
                0225        Check input data.
                0226 
                0227 </PRE>
                0228 </A><!-- END ERRORS -->
                0229 <!--------------------------------------------------------------------->
                0230 <A NAME="REFERENCES">
                0231 <HR>
                0232 <H4>REFERENCES</H4>
                0233 <!-- BEGIN REFERENCES -->
                0234 <PRE>
                0235 
                0236      Tiedke, M., 1988: Parameterization of cumulus convection in large
                0237            scale models. Physically-based modeling and simulation of
                0238            climate and climate change. Ed. M. Schlesinger, D. Reidel,
                0239            Hingham, Mass. 375-431.
                0240 
                0241 </PRE>
                0242 </A><!-- END REFERENCES -->
                0243 <!--------------------------------------------------------------------->
                0244 <A NAME="BUGS">
                0245 <HR>
                0246 <H4>KNOWN BUGS</H4>
                0247 <!-- BEGIN BUGS -->
                0248 <PRE>
                0249 
                0250      There are no known bugs.
                0251 
                0252 </PRE>
                0253 </A><!-- END BUGS -->
                0254 <!--------------------------------------------------------------------->
                0255 <A NAME="NOTES">
                0256 <HR>
                0257 <H4>NOTES</H4>
                0258 <!-- BEGIN NOTES -->
                0259 <PRE>
                0260 
                0261    When the fatal error "ITERATION LOOP FOR LCL FAILED" occurs the
                0262    program does not terminate by calling the standard error handler
                0263    (instead STOP is called).
                0264 
                0265 </PRE>
                0266 </A><!-- END NOTES -->
                0267 <!--------------------------------------------------------------------->
                0268 <A NAME="PLANS">
                0269 <HR>
                0270 <H4>FUTURE PLANS</H4>
                0271 <!-- BEGIN PLANS -->
                0272 <PRE>
                0273 
                0274      1) A check to see if shallow_conv_init has been called will be added.
                0275         Currently there is none.
                0276 
                0277      2) Interface will be changed so that constants are set via
                0278         use constants_mod, rather than via argument list in 
                0279         shallow_conv_init.
                0280 
                0281 </PRE>
                0282 </A><!-- END PLANS -->
                0283 <!--------------------------------------------------------------------->
                0284 
                0285 <HR>
                0286 </BODY>
                0287 </HTML>