Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=MITgcm at /usr/local/share/lxr/lib/LXR/Common.pm line 1224.
Last-Modified: Wed, 11 Aug 2026 05:09:13 GMT
Content-Type: text/html; charset=utf-8
MITgcm/MITgcm/pkg/atm_phys/old_doc/my25_turb.html
672ec4d5cf Jean*0001 <HTML>
0002 <TITLE>module my25_turb_mod</TITLE>
0003 <BODY BGCOLOR="#AABBCC" TEXT="#332211" >
00040005 <DIV ALIGN="CENTER"> <FONT SIZE=1>
0006 <A HREF="#INTERFACE">PUBLIC INTERFACE</A> /
0007 <A HREF="#DATA_TYPES">DATA</A> /
0008 <A HREF="#ROUTINES">ROUTINES</A> /
0009 <A HREF="#NAMELIST">NAMELIST</A> /
0010 <A HREF="#CHANGES">CHANGES</A> /
0011 <A HREF="#ERRORS">ERRORS</A> /
0012 <A HREF="#REFERENCES">REFERENCES</A> /
0013 <A HREF="#NOTES">NOTES</A>
0014 </FONT>
0015 <BR><BR></DIV><HR>
001600170018 <H2>module my25_turb_mod</H2>
0019 <A NAME="HEADER">
0020 <PRE>
0021 <B>Contact:</B> Joe Sirutis, Bruce Wyman
0022 <B>Reviewers:</B>
00230024 <B><A HREF=".doc.log#my25_turb.f90">Tags/Status</A></B>
0025 </PRE>
0026 </A><!-- END HEADER -->0027<!--------------------------------------------------------------------->0028 <A NAME="OVERVIEW">
0029 <HR>
0030 <H4>OVERVIEW</H4>
0031<!-- BEGIN OVERVIEW -->0032 <PRE>
00330034 Mellor/Yamada level 2.5 turbulent closure parameterization.
00350036 This module provides mixing coefficients for wind, temperature
0037 and moisture that are used in the vertical diffusion code.
00380039 </PRE>
0040 </A><!-- END OVERVIEW -->0041<!--------------------------------------------------------------------->0042 <A NAME="DESCRIPTION">
0043<!-- BEGIN DESCRIPTION -->0044 <PRE>
0045 Given potential temperature and wind profiles at the model's 0046 pressure levels, this module returns mixing coefficients for0047 wind, temperature and moisture based on the Mellor/Yamada 0048 level 2.5 turbulent closure parameterization. These coefficients0049 are then used in the vertical diffusion code.00500051 The level 2.5 scheme has a prognostic equation for turbulent0052 kinetic energy, and a diagnostic relationship for temperature0053 variance. The prognostication of the turbulent kinetic energy,0054 with the exception of the advection and horizontal diffusion 0055 terms, is also done in this module. 00560057 This module also handles the initialization of the turbulent0058 kinetic energy, along with the input/output of a restart file0059 for the turbulent kinetic energy. 00600061</PRE>0062</A><!-- END DESCRIPTION -->0063<!--------------------------------------------------------------------->0064<A NAME="MODULES_USED">0065<HR>0066<H4>OTHER MODULES USED</H4>0067<!-- BEGIN MODULES_USED -->0068<PRE>00690070 constants_mod0071 tridiagonal_mod0072 utilities_mod0073 monin_obukhov_mod00740075</PRE>0076</A><!-- END MODULES_USED -->0077<!--------------------------------------------------------------------->0078<A NAME="INTERFACE">0079<HR>0080<H4>PUBLIC INTERFACE</H4>0081<!-- BEGIN INTERFACE -->0082<PRE>00830084use my25_turb_mod [,only: my25_turb_init, my25_turb, tke_surf, my25_turb_end]00850086my25_turb_init - Called once to initialize my25_turb. Also reads namelist,0087 and restart data for turbulent kinetic energy.0088 Must be called before my25_turb.00890090my25_turb - Called every time step. Computes mixing coefficients0091 for momentum, heat, and moisture. Also updates turbulent0092 kinetic energy.00930094tke_surf - Prescribes lower boundary condition for 0095 turbulent kinetic energy00960097my25_turb_end - Called at the end of the model run to write restart0098 data for turbulent kinetic energy.00990100Notes:0101 1) A namelist interface controls runtime options. 0102 2) A restart file for TKE is generated by this module. 01030104</PRE>0105</A><!-- END INTERFACE -->0106<!--------------------------------------------------------------------->0107<A NAME="DATA_TYPES">0108<HR>0109<H4>PUBLIC DATA</H4>0110<!-- BEGIN DATA_TYPES -->0111<PRE>01120113 real, public, allocatable, dimension(:,:,:) :: TKE01140115 TKE - global turbulent kinetic energy at model half levels in m^2/sec^20116 If there are "kx" model levels then TKE will have0117 "kx+1" half levels.01180119</PRE>0120</A><!-- END DATA_TYPES -->0121<!--------------------------------------------------------------------->0122<A NAME="ROUTINES">0123<HR>0124<H4>PUBLIC ROUTINES</H4>0125<!-- BEGIN ROUTINES -->0126<PRE>01270128call my25_turb_init (ix, jx, kx)01290130input01310132 ix, jx number of horizontal grid points in the global0133 fields along the x and y axis, respectively.0134 [integer]01350136 kx number of vertical points in a column of the atmosphere0137 [integer]01380139---------------------------------------------------------------------01400141call my25_turb( delt, fracland, phalf, pfull, theta, & 0142 um, vm, zhalf, zfull, z0, &0143 TKE, el0, el, akm, akh, &0144 mask, kbot)01450146input01470148 delt Model time step in seconds0149 [real]01500151 fracland Fractional amount of land beneath a grid box0152 [real, dimension(:,:)]01530154 phalf Pressure at half levels in pascals0155 [real, dimension(:,:,nlev+1)]01560157 pfull Pressure at full levels in pascals0158 [real, dimension(:,:,nlev)]01590160 theta Potential temperature [deg K] at full model levels0161 [real, dimension(:,:,nlev)]01620163 um Zonal wind component [m/s] at full model levels,0164 [real, dimension(:,:,nlev)]01650166 vm Meridional wind component [m/s] at full model levels,0167 [real, dimension(:,:,nlev)]01680169 zhalf Height at half levels in meters0170 [real, dimension(:,:,nlev+1)]01710172 zfull Height at full levels in meters0173 [real, dimension(:,:,nlev)]01740175 z0 Surface roughness length in meters0176 [real, dimension(:,:)]01770178input/output01790180 TKE Turbulent kinetic energy in m^2/sec^2.0181 [real, dimension(:,:,nlev+1)]01820183output01840185 el0 Characteristic length scale in meters.0186 [real, dimension(:,:)]01870188 el Master length scale in meters.0189 [real, dimension(:,:,nlev+1)]01900191 akm Mixing coefficient for momentum in m^2/sec.0192 [real, dimension(:,:,nlev)]01930194 akh Mixing coefficient for heat and moisture in m^2/sec.0195 [real, dimension(:,:,nlev)]019601970198input (optional) 01990200 - for use with the step-mountain (eta) vertical coordinate02010202 mask Mask (1. or 0.) for grid boxes above or below the ground.0203 [real, dimension(:,:,nlev)]02040205 kbot Index of the lowest model level0206 [integer, dimension(:,:)]02070208 - for use in diagnosing PBL depth 02090210 ustar Friction velocity at the surface (meters/sec)0211 [real, dimension(:,:)]02120213 bstar Buoyancy scale at the surface (meters/sec**2.)0214 [real, dimension(:,:)] 02150216output (optional)02170218 h pbl depth (meters)0219 [real, dimension(:,:)]02200221---------------------------------------------------------------------02220223 call tke_surf ( u_star, TKE, kbot )02240225input02260227 u_star Surface friction velocity (m/s)0228 [real, dimension(:,:)]02290230input/output02310232 TKE Turbulent kinetic energy, in m^2/sec^2.0233 [real, dimension(:,:,nlev+1)]02340235input (optional) - for use with the step-mountain (eta) vertical coordinate02360237 kbot Index of the lowest model level0238 [integer, dimension(:,:)]02390240---------------------------------------------------------------------02410242 call my25_turb_end()02430244 There are no arguments to this routine.02450246</PRE>0247</A><!-- END ROUTINES -->0248<!--------------------------------------------------------------------->0249<A NAME="NAMELIST">0250<HR>0251<H4>NAMELIST</H4>0252<!-- BEGIN NAMELIST -->0253<PRE>02540255<b>&my25_turb_nml</b>02560257 TKEmax Max value for TKE0258 [real, default: TKEmax = 5.0 m^2/sec^2]02590260 TKEmin Min value for TKE0261 [real, default: TKEmin = 0.0 m^2/sec^2]02620263 akmax Max value for akm & akh0264 [real, default: akmax = 1.0e4 m^2/sec]02650266 akmin_land Min value for akm & akh over land points0267 (Applied to the lowest nk_lim levels)0268 [real, default: akmin_land = 5.0 m^2/sec]02690270 akmin_sea Min value for akm & akh over all ocean points0271 (Applied to the lowest nk_lim levels)0272 [real, default: akmin_sea = 0.0 m^2/sec]02730274 nk_lim Lower bound on akm & akh applied at lowest nk_lim levels0275 [integer, default: nk_lim = 2 ]02760277 init_iters Number of iterations to be used in initializing TKE.0278 Only used if the input restart data does not exist.0279 [integer, default: init_iters = 20 ]02800281 el0max Max value for el00282 [real, default: el0max = 1.0e6 meters]02830284 el0min Min value for el00285 [real, default: el0min = 0.0 meters]02860287 alpha_land Constant used in computing el0 ( land value )0288 [real, default: alpha_land = 0.10 ]02890290 alpha_sea Constant used in computing el0 ( sea value )0291 [real, default: alpha_land = 0.10 ]02920293 do_thv_stab If false, buoyancy computed using constant0294 reference potential temperature.0295 [logical, default: do_thv_stab = .true.]02960297 use_old_cons If true, use original MY constants0298 If false, use revised values0299 [logical, default: use_old_cons = .false.]03000301 kcrit Mixing coefficient threshold used to diagnose PBL top.0302 PBL top is set the interpolated height where the mean0303 of the momentum and tracer diffusion coefficient first0304 falls beneath kcrit.0305 [real, default: kcrit = 0.01 m2/sec] 030603070308Notes:03090310 * Diagnostic output from Mellor Yamada 2.5 is controlled by the0311 namelist to vert_turb_driver module.03120313</PRE>0314</A><!-- END NAMELIST -->0315<!--------------------------------------------------------------------->0316<A NAME="DATA_SETS">0317<HR>0318<H4>DATA SETS</H4>0319<!-- BEGIN DATA_SETS -->0320<PRE>03210322 This module automatically writes restart data to file0323 "RESTART/my25_turb.res". This file has one record which0324 contains the global turbulent kinetic energy field (see the0325 section for PUBLIC DATA).03260327 The input restart data is read from file "INPUT/my25_turb.res".0328 If this restart file does not exist, the module will initialize0329 TKE by setting TKE = TKEmin and iterating with the same input0330 data "init_iters" times. init_iters is a namelist variable.03310332</PRE>0333</A><!-- END DATA_SETS -->0334<!--------------------------------------------------------------------->0335<A NAME="CHANGES">0336<HR>0337<H4>CHANGE HISTORY</H4>0338<!-- BEGIN CHANGES -->0339<PRE>0340<B><A HREF=".doc.log#my25_turb.f90">Revision history</A></B>03410342<b>changes</b> (8/31/99)03430344 A diagnostic subroutine was added which diagnoses the pbl depth0345 as the height to which the interpolated mean diffusivity coefficients0346 (mean of akm and akh) falls beneath a specified value, kcrit (a0347 new namelist variable which is defaulted to 0.01 m^2/sec).03480349</PRE>0350</A><!-- END CHANGES -->0351<!--------------------------------------------------------------------->0352<A NAME="ERRORS">0353<HR>0354<H4>ERROR MESSAGES</H4>0355<!-- BEGIN ERRORS -->0356<PRE>03570358<b>Fatal Errors in MY25_TURB</b>03590360 <b>MY25_TURB_INIT has not been called</b>0361 The initialization routine for this module must be called0362 before calling routine MY25_TURB.03630364 <b>divid by zero, x1 <= 0.0</b>0365 This error should never occur.0366 If it occurs, contact the developer.03670368 <b>cannot request pbl depth if ustar and bstar are not also supplied</b>0369 If you request (as an optional argument to my25_turb)0370 the pbl depth, h, the calculation also needs the optional 0371 arguments ustar, and bstar.03720373</PRE>0374</A><!-- END ERRORS -->0375<!--------------------------------------------------------------------->0376<A NAME="REFERENCES">0377<HR>0378<H4>REFERENCES</H4>0379<!-- BEGIN REFERENCES -->0380<PRE>03810382 Mellor, G.L. and T. Yamada, 1974: A hierarchy of turbulent0383 closure models for planetary boundary layers. J. Atmos.0384 Sci., 31, 1791-1806.03850386 Mellor, G.L. and T. Yamada, 1982: Development of a turbulent0387 closure model for geophysical fluid problems. Rev. Geophys.0388 Space Phys. 20, 851-875.03890390</PRE>0391</A><!-- END REFERENCES -->0392<!--------------------------------------------------------------------->0393<A NAME="BUGS">0394<HR>0395<H4>KNOWN BUGS</H4>0396<!-- BEGIN BUGS -->0397<PRE>03980399 There are no known bugs.04000401</PRE>0402</A><!-- END BUGS -->0403<!--------------------------------------------------------------------->0404<A NAME="NOTES">0405<HR>0406<H4>NOTES</H4>0407<!-- BEGIN NOTES -->0408<PRE>04090410 None.04110412</PRE>0413</A><!-- END NOTES -->0414<!--------------------------------------------------------------------->0415<A NAME="PLANS">0416<HR>0417<H4>FUTURE PLANS</H4>0418<!-- BEGIN PLANS -->0419<PRE>04200421 None.04220423</PRE>0424</A><!-- END PLANS -->0425<!--------------------------------------------------------------------->04260427<HR>0428</BODY>0429</HTML>