CCPP SciDoc  v6.0.0
Common Community Physics Package Developed at DTC
module_bl_mynn Module Reference

Functions/Subroutines

subroutine mym_level2 (kts, kte, dz, u, v, thl, thetav, qw, thlsg, qwsg, ql, vt, vq, dtl, dqw, dtv, gm, gh, sm, sh)
 This subroutine calculates the level 2, non-dimensional wind shear \(G_M\) and vertical temperature gradient \(G_H\) as well as the level 2 stability funcitons \(S_h\) and \(S_m\). More...
 
subroutine mym_length (kts, kte, dz, dx, zw, rmo, flt, flq, vt, vq, u1, v1, qke, dtv, el, zi, theta, qkw, Psig_bl, cldfra_bl1D, bl_mynn_mixlength, edmf_w1, edmf_a1, edmf_qc1, bl_mynn_edmf)
 This subroutine calculates the mixing lengths. More...
 
subroutine boulac_length0 (k, kts, kte, zw, dz, qtke, theta, lb1, lb2)
 This subroutine was taken from the BouLac scheme in WRF-ARW and modified for integration into the MYNN PBL scheme. WHILE loops were added to reduce the computational expense. This subroutine computes the length scales up and down and then computes the min, average of the up/down length scales, and also considers the distance to the surface. More...
 
subroutine boulac_length (kts, kte, zw, dz, qtke, theta, lb1, lb2)
 This subroutine was taken from the BouLac scheme in WRF-ARW and modified for integration into the MYNN PBL scheme. WHILE loops were added to reduce the computational expense. This subroutine computes the length scales up and down and then computes the min, average of the up/down length scales, and also considers the distance to the surface. More...
 
subroutine mym_turbulence (kts, kte, closure, dz, dx, zw, u, v, thl, thetav, ql, qw, thlsg, qwsg, qke, tsq, qsq, cov, vt, vq, rmo, flt, flq, zi, theta, sh, sm, El, Dfm, Dfh, Dfq, Tcd, Qcd, Pdk, Pdt, Pdq, Pdc, qWT1D, qSHEAR1D, qBUOY1D, qDISS1D, bl_mynn_tkebudget, Psig_bl, Psig_shcu, cldfra_bl1D, bl_mynn_mixlength, edmf_w1, edmf_a1, edmf_qc1, bl_mynn_edmf, TKEprodTD, spp_pbl, rstoch_col)
 This subroutine calculates the vertical diffusivity coefficients and the production terms for the turbulent quantities.
More...
 
subroutine mym_predict (kts, kte, closure, delt, dz, ust, flt, flq, pmz, phh, el, dfq, rho, pdk, pdt, pdq, pdc, qke, tsq, qsq, cov, s_aw, s_awqke, bl_mynn_edmf_tke, qWT1D, qDISS1D, bl_mynn_tkebudget)
 This subroutine predicts the turbulent quantities at the next step. More...
 
subroutine mym_condensation (kts, kte, dx, dz, zw, thl, qw, qv, qc, qi, p, exner, tsq, qsq, cov, Sh, el, bl_mynn_cloudpdf, qc_bl1D, qi_bl1D, cldfra_bl1D, PBLH1, HFX1, Vt, Vq, th, sgm, rmo, spp_pbl, rstoch_col)
 This subroutine calculates the nonconvective component of the subgrid cloud fraction and mixing ratio as well as the functions used to calculate the buoyancy flux. Different cloud PDFs can be selected by use of the namelist parameter bl_mynn_cloudpdf . More...
 
subroutine mynn_tendencies (kts, kte, closure, grav_settling, delt, dz, rho, u, v, th, tk, qv, qc, qi, qnc, qni, psfc, p, exner, thl, sqv, sqc, sqi, sqw, qnwfa, qnifa, ozone, ust, flt, flq, flqv, flqc, wspd, qcg, uoce, voce, tsq, qsq, cov, tcd, qcd, dfm, dfh, dfq, Du, Dv, Dth, Dqv, Dqc, Dqi, Dqnc, Dqni, Dqnwfa, Dqnifa, Dozone, vdfg1, diss_heat, s_aw, s_awthl, s_awqt, s_awqv, s_awqc, s_awu, s_awv, s_awqnc, s_awqni, s_awqnwfa, s_awqnifa, sd_aw, sd_awthl, sd_awqt, sd_awqv, sd_awqc, sd_awu, sd_awv, sub_thl, sub_sqv, sub_u, sub_v, det_thl, det_sqv, det_sqc, det_u, det_v, FLAG_QC, FLAG_QI, FLAG_QNC, FLAG_QNI, FLAG_QNWFA, FLAG_QNIFA, cldfra_bl1d, bl_mynn_cloudmix, bl_mynn_mixqt, bl_mynn_edmf, bl_mynn_edmf_mom, bl_mynn_mixscalars)
 This subroutine solves for tendencies of U, V, \(\theta\), qv, qc, and qi. More...
 
subroutine moisture_check (kte, delt, dp, exner, qv, qc, qi, th, dqv, dqc, dqi, dth)
 This subroutine was adopted from the CAM-UW ShCu scheme and adapted for use here. More...
 
subroutine mynn_mix_chem (kts, kte, i, grav_settling, delt, dz, pblh, nchem, kdvel, ndvel, num_vert_mix, chem1, vd1, qnc, qni, p, exner, thl, sqv, sqc, sqi, sqw, rho, ust, flt, flq, flqv, flqc, wspd, qcg, tcd, qcd, dfm, dfh, dfq, s_aw, s_awchem, bl_mynn_cloudmix, emis_ant_no, frp_mean, enh_vermix)
 THis subroutine. More...
 
subroutine retrieve_exchange_coeffs (kts, kte, dfm, dfh, dz, K_m, K_h)
 This subroutine retrives exchange coeffs km/kh. More...
 
subroutine tridiag (n, a, b, c, d)
 solve system of linear equs on tridiagnonal matrix ntime n. More...
 
subroutine tridiag2 (n, a, b, c, d, x)
 This subroutine. More...
 
subroutine tridiag3 (kte, a, b, c, d, x)
 This subroutine solves inversion and resolution of a tridiagonal matrix. More...
 
subroutine mynn_bl_init_driver (RUBLTEN, RVBLTEN, RTHBLTEN, RQVBLTEN, RQCBLTEN, RQIBLTEN, QKE, EXCH_H, RESTART, ALLOWED_TO_READ, LEVEL, IDS, IDE, JDS, JDE, KDS, KDE, IMS, IME, JMS, JME, KMS, KME, ITS, ITE, JTS, JTE, KTS, KTE)
 This subroutine. More...
 
subroutine dmp_mf (WRF_CHEM)
 This subroutine is the Dynamic Multi-Plume (DMP) Mass-Flux Scheme. More...
 
subroutine condensation_edmf (QT, THL, P, zagl, THV, QC)
 zero or one condensation for edmf: calculates THV and QC More...
 
subroutine condensation_edmf_r (QT, THL, P, zagl, THV, QC)
 
subroutine ddmf_jpl (kts, kte, dt, zw, dz, p, u, v, th, thl, thv, tk, qt, qv, qc, rho, exner, ust, wthl, wqt, pblh, kpbl, edmf_a_dd, edmf_w_dd, edmf_qt_dd, edmf_thl_dd, edmf_ent_dd, edmf_qc_dd, sd_aw, sd_awthl, sd_awqt, sd_awqv, sd_awqc, sd_awu, sd_awv, sd_awqke, qc_bl1d, cldfra_bl1d, rthraten)
 This is the downdraft mass flux scheme - analogus to edmf_JPL but
flipped updraft to downdraft. This scheme is currently only tested for Stratocumulus cloud conditions. For a detailed desctiption of the model, see paper. More...
 
subroutine scale_aware (dx, PBL1, Psig_bl, Psig_shcu)
 Add scale-aware factor (Psig) here, taken from Honnert et al. (2011) [92] and/or from Shin and Hong (2013) [172]. More...
 
real function esat_blend (t)
 
real function qsat_blend (t, P, waterice)
 This function extends function "esat" and returns a "blended" saturation mixing ratio. More...
 
real function xl_blend (t)
 This function interpolates the latent heats of vaporization and sublimation into a single, temperature-dependent, "blended" value, following Chaboureau and Bechtold (2002) [32], Appendix. More...
 
real function phim (zet)
 New stability function parameters for momentum (Puhales, 2020, WRF 4.2.1) The forms in unstable conditions (z/L < 0) use Grachev et al. (2000), which are a blend of the classical (Kansas) forms (i.e., Paulson 1970, Dyer and Hicks 1970), valid for weakly unstable conditions (-1 < z/L < 0). The stability functions for stable conditions use an updated form taken from Cheng and Brutsaert (2005), which extends the validity into very stable conditions [z/L ~ O(10)]. More...
 
real function phih (zet)
 New stability function parameters for heat (Puhales, 2020, WRF 4.2.1) The forms in unstable conditions (z/L < 0) use Grachev et al. (2000), which are a blend of the classical (Kansas) forms (i.e., Paulson 1970, Dyer and Hicks 1970), valid for weakly unstable conditions (-1 < z/L < 0). The stability functions for stable conditions use an updated form taken from Cheng and Brutsaert (2005), which extends the validity into very stable conditions [z/L ~ O(10)]. More...
 
subroutine topdown_cloudrad (kts, kte, dz1, zw, xland, kpbl, PBLH, sqc, sqi, sqw, thl, th1, ex1, p1, rho1, thetav, cldfra_bl1D, rthraten, maxKHtopdown, KHtopdown, TKEprodTD)
 
subroutine mym_initialize (kts, kte, dz, dx, zw, u, v, thl, qw, thlsg, qwsg, zi, theta, thetav, sh, sm, ust, rmo, el, Qke, Tsq, Qsq, Cov, Psig_bl, cldfra_bl1D, bl_mynn_mixlength, edmf_w1, edmf_a1, edmf_qc1, bl_mynn_edmf, INITIALIZE_QKE, spp_pbl, rstoch_col)
 This subroutine initializes the mixing length, TKE, \(\theta^{'2}\), \(q^{'2}\), and \(\theta^{'}q^{'}\). More...
 
subroutine mynn_bl_driver (WRF_CHEM)
 This subroutine is the MYNN-EDNF PBL driver routine,which encompassed the majority of the subroutines that comprise the procedures that ultimately solve for tendencies of \(U, V, \theta, q_v, q_c, and q_i\). More...
 
subroutine get_pblh (KTS, KTE, zi, thetav1D, qke1D, zw1D, dz1D, landsea, kzi)
 This subroutine calculates hybrid diagnotic boundary-layer height (PBLH). More...
 

Variables

real, parameter karman = 0.4
 
real, parameter xls = 2.85E6
 
real, parameter p1000mb = 100000.
 
real, parameter rvovrd = r_v/r_d
 
real, parameter svp1 = 0.6112
 
real, parameter svp2 = 17.67
 
real, parameter svp3 = 29.65
 
real, parameter svpt0 = 273.15
 
integer, parameter param_first_scalar = 1
 
integer, parameter p_qc = 2
 
integer, parameter p_qr = 0
 
integer, parameter p_qi = 2
 
integer, parameter p_qs = 0
 
integer, parameter p_qg = 0
 
integer, parameter p_qnc = 0
 
integer, parameter p_qni = 0
 
real, parameter cphm_st =5.0
 
real, parameter cphm_unst =16.0
 
real, parameter cphh_st =5.0
 
real, parameter cphh_unst =16.0
 
real, parameter xlvcp =xlv/cp
 
real, parameter xlscp =(xlv+xlf)/cp
 
real, parameter ev =xlv
 
real, parameter rd =r_d
 
real, parameter rk =cp/rd
 
real, parameter svp11 =svp1*1.e3
 
real, parameter p608 =ep_1
 
real, parameter ep_3 =1.-ep_2
 
real, parameter tref =300.0
 reference temperature (K) More...
 
real, parameter tkmin =253.0
 for total water conversion, Tripoli and Cotton (1981) More...
 
real, parameter tv0 =p608*tref
 
real, parameter tv1 =(1.+p608)*tref
 
real, parameter gtr =g/tref
 
real, parameter vk = karman
 
real, parameter pr = 0.74
 
real, parameter g1 = 0.235
 
real, parameter b1 = 24.0
 
real, parameter b2 = 15.0
 
real, parameter c2 = 0.729
 
real, parameter c3 = 0.340
 
real, parameter c4 = 0.0
 
real, parameter c5 = 0.2
 
real, parameter a1 = b1*( 1.0-3.0*g1 )/6.0
 
real, parameter c1 = g1 -1.0/( 3.0*a1*2.88449914061481660)
 
real, parameter a2 = a1*( g1-c1 )/( g1*pr )
 
real, parameter g2 = b2/b1*( 1.0-c3 ) +2.0*a1/b1*( 3.0-2.0*c2 )
 
real, parameter cc2 = 1.0-c2
 
real, parameter cc3 = 1.0-c3
 
real, parameter e1c = 3.0*a2*b2*cc3
 
real, parameter e2c = 9.0*a1*a2*cc2
 
real, parameter e3c = 9.0*a2*a2*cc2*( 1.0-c5 )
 
real, parameter e4c = 12.0*a1*a2*cc2
 
real, parameter e5c = 6.0*a1*a1
 
real, parameter qmin =0.0
 
real, parameter zmax =1.0
 
real, parameter sqfac =3.0
 
real, parameter gno =1.0
 original value seems too agressive: 4.64158883361278196 More...
 
real, parameter gpw =5./3.
 
real, parameter qcgmin =1.e-8
 
real, parameter qkemin =1.e-12
 
real, parameter rr2 =0.7071068
 
real, parameter rrp =0.3989423
 
real, parameter zero = 0.0
 
real, parameter half = 0.5
 
real, parameter one = 1.0
 
real, parameter two = 2.0
 
real, parameter onethird = 1./3.
 
real, parameter twothirds = 2./3.
 
real, parameter ckmod =1.
 Use Canuto/Kitamura mod (remove Ric and negative TKE) (1:yes, 0:no) For more info, see Canuto et al. (2008 JAS) and Kitamura (Journal of the Meteorological Society of Japan, Vol. 88, No. 5, pp. 857-864, 2010). Note that this change required further modification of other parameters above (c2, c3). If you want to remove this option, set c2 and c3 constants (above) back to NN2009 values (see commented out lines next to the parameters above). This only removes the negative TKE problem but does not necessarily improve performance - neutral impact. More...
 
real, parameter scaleaware =1.
 Use Ito et al. (2015, BLM) scale-aware (0: no, 1: yes). Note that this also has impacts on the cloud PDF and mass-flux scheme, using Honnert et al. (2011) similarity function for TKE in the upper PBL/cloud layer. More...
 
logical, parameter mynn_chem_vertmx = .false.
 Temporary switch to deactivate the mixing of chemical species (if WRF_CHEM = 1) More...
 
logical, parameter enh_vermix = .false.
 
integer, parameter bl_mynn_topdown = 0
 Of the following the options, use one OR the other, not both. Adding top-down diffusion driven by cloud-top radiative cooling. More...
 
integer, parameter bl_mynn_edmf_dd = 0
 Option to activate downdrafts, from Elynn Wu (0: deactive, 1: active) More...
 
real, parameter dheat_opt = 1.
 Option to activate heating due to dissipation of TKE (to activate, set to 1.0) More...
 
logical, parameter env_subs = .true.
 
integer, parameter bl_mynn_stfunc = 1
 
logical, parameter debug_code = .false.
 
real, parameter j0 = .611583699E03
 Constants used for empirical calculations of saturation vapor pressures (in function "esat") and saturation mixing ratios (in function "qsat"), reproduced from module_mp_thompson.F, v3.6. More...
 
real, parameter j1 = .444606896E02
 
real, parameter j2 = .143177157E01
 
real, parameter j3 = .264224321E-1
 
real, parameter j4 = .299291081E-3
 
real, parameter j5 = .203154182E-5
 
real, parameter j6 = .702620698E-8
 
real, parameter j7 = .379534310E-11
 
real, parameter j8 =-.321582393E-13
 
real, parameter k0 = .609868993E03
 
real, parameter k1 = .499320233E02
 
real, parameter k2 = .184672631E01
 
real, parameter k3 = .402737184E-1
 
real, parameter k4 = .565392987E-3
 
real, parameter k5 = .521693933E-5
 
real, parameter k6 = .307839583E-7
 
real, parameter k7 = .105785160E-9
 
real, parameter k8 = .161444444E-12
 
integer mynn_level
 
character *128 mynn_message
 
integer, parameter kdebug =27