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>
0026
0027 <A NAME="OVERVIEW">
0028 <HR>
0029 <H4>OVERVIEW</H4>
0030
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>
0040
0041 <A NAME="DESCRIPTION">
0042
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>
0198
0199 <A NAME="CHANGES">
0200 <HR>
0201 <H4>CHANGE HISTORY</H4>
0202
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>
0214
0215 <A NAME="ERRORS">
0216 <HR>
0217 <H4>ERROR MESSAGES</H4>
0218
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>
0229
0230 <A NAME="REFERENCES">
0231 <HR>
0232 <H4>REFERENCES</H4>
0233
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>
0243
0244 <A NAME="BUGS">
0245 <HR>
0246 <H4>KNOWN BUGS</H4>
0247
0248 <PRE>
0249
0250 There are no known bugs.
0251
0252 </PRE>
0253 </A>
0254
0255 <A NAME="NOTES">
0256 <HR>
0257 <H4>NOTES</H4>
0258
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>
0267
0268 <A NAME="PLANS">
0269 <HR>
0270 <H4>FUTURE PLANS</H4>
0271
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>
0283
0284
0285 <HR>
0286 </BODY>
0287 </HTML>