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 |