CCPP Scientific Documentation
v5.0.0
module_bl_mynn Module Reference

Functions/Subroutines

subroutine mym_level2 (kts, kte, dz, u, v, thl, qw, 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, levflag, dz, dx, zw, u, v, thl, ql, qw, qke, tsq, qsq, cov, vt, vq, rmo, flt, flq, zi, theta, sh, 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, levflag, delt, dz, ust, flt, flq, pmz, phh, el, dfq, pdk, pdt, pdq, pdc, qke, tsq, qsq, cov, s_aw, s_awqke, bl_mynn_edmf_tke )
 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, levflag, grav_settling, delt, dz, rho, u, v, th, tk, qv, qc, qi, qnc, qni, 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, 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 mynn_mix_chem (kts, kte, levflag, grav_settling, delt, dz, nchem, kdvel, ndvel, num_vert_mix, chem1, vd1, qnc, qni, p, exner, thl, sqv, sqc, sqi, sqw, ust, flt, flq, flqv, flqc, wspd, qcg, uoce, voce, tsq, qsq, cov, tcd, qcd, dfm, dfh, dfq, s_aw, s_awchem, bl_mynn_cloudmix)
 
subroutine retrieve_exchange_coeffs (kts, kte, dfm, dfh, dz, K_m, K_h)
 
subroutine tridiag (n, a, b, c, d)
 
subroutine tridiag2 (n, a, b, c, d, x)
 
subroutine tridiag3 (kte, a, b, c, d, x)
 
subroutine mynn_bl_init_driver ( RUBLTEN, RVBLTEN, RTHBLTEN, RQVBLTEN, RQCBLTEN, RQIBLTEN,QKE, EXCH_H
 
subroutine dmp_mf ( kts, kte, dt, zw, dz, p, momentum_opt, tke_opt, scalar_opt, u, v, w, th, thl, thv, tk, qt, qv, qc, qke, qnc, qni, qnwfa, qnifa, exner, vt, vq, sgm, ust, flt, flq, flqv, flqc, pblh, kpbl, DX, landsea, ts,
 This subroutine is the Dynamic Multi-Plume (DMP) Mass-Flux Scheme. More...
 
subroutine condensation_edmf (QT, THL, P, zagl, THV, QC)
 This subroutine. More...
 
subroutine scale_aware (dx, PBL1, Psig_bl, Psig_shcu)
 This subroutine calculates the similarity functions, \(P_{\sigma-PBL}\) and \(P_{\sigma-shcu}\), to control the scale-adaptive behavior for the local and nonlocal components, respectively. 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) [29], Appendix. More...
 
subroutine mym_initialize ( kts, kte, dz, dx, zw, u, v, thl, qw,
 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 GSD 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 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...
 
integer, parameter bl_mynn_mixchem = 0
 Temporary switch to deactivate the mixing of chemical species (already done when WRF_CHEM = 1) More...
 
integer, parameter bl_mynn_topdown = 1
 Adding top-down diffusion driven by cloud-top radiative cooling. 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.
 
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