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

◆ dmp_mf()

subroutine module_bl_mynn::dmp_mf ( integer, intent(in)  kts,
integer, intent(in)  kte,
real, intent(in)  dt,
real, dimension(kts:kte+1), intent(in)  zw,
real, dimension(kts:kte), intent(in)  dz,
real, dimension(kts:kte), intent(in)  p,
real, dimension(kts:kte), intent(in)  rho,
integer, intent(in)  momentum_opt,
integer, intent(in)  tke_opt,
integer, intent(in)  scalar_opt,
real, dimension(kts:kte), intent(in)  u,
real, dimension(kts:kte), intent(in)  v,
real, dimension(kts:kte), intent(in)  w,
real, dimension(kts:kte), intent(in)  th,
real, dimension(kts:kte), intent(in)  thl,
real, dimension(kts:kte), intent(in)  thv,
real, dimension(kts:kte), intent(in)  tk,
real, dimension(kts:kte), intent(in)  qt,
real, dimension(kts:kte), intent(in)  qv,
real, dimension(kts:kte), intent(in)  qc,
real, dimension(kts:kte), intent(in)  qke,
real, dimension(kts:kte), intent(in)  qnc,
real, dimension(kts:kte), intent(in)  qni,
real, dimension(kts:kte), intent(in)  qnwfa,
real, dimension(kts:kte), intent(in)  qnifa,
real, dimension(kts:kte), intent(in)  exner,
real, dimension(kts:kte), intent(inout)  vt,
real, dimension(kts:kte), intent(inout)  vq,
real, dimension(kts:kte), intent(inout)  sgm,
real, intent(in)  ust,
real, intent(in)  flt,
real, intent(in)  flq,
real, intent(in)  flqv,
real, intent(in)  flqc,
real, intent(in)  pblh,
integer, intent(in)  kpbl,
real, intent(in)  DX,
real, intent(in)  landsea,
real, intent(in)  ts,
real, dimension(kts:kte), intent(out)  edmf_a,
real, dimension(kts:kte), intent(out)  edmf_w,
real, dimension(kts:kte), intent(out)  edmf_qt,
real, dimension(kts:kte), intent(out)  edmf_thl,
real, dimension(kts:kte), intent(out)  edmf_ent,
real, dimension(kts:kte), intent(out)  edmf_qc,
real, dimension(kts:kte+1)  s_aw,
real, dimension(kts:kte+1)  s_awthl,
real, dimension(kts:kte+1)  s_awqt,
real, dimension(kts:kte+1)  s_awqv,
real, dimension(kts:kte+1)  s_awqc,
real, dimension(kts:kte+1)  s_awu,
real, dimension(kts:kte+1)  s_awv,
real, dimension(kts:kte+1)  s_awqke,
real, dimension(kts:kte+1)  s_awqnc,
real, dimension(kts:kte+1)  s_awqni,
real, dimension(kts:kte+1)  s_awqnwfa,
real, dimension(kts:kte+1)  s_awqnifa,
real, dimension(kts:kte)  sub_thl,
real, dimension(kts:kte)  sub_sqv,
real, dimension(kts:kte)  sub_u,
real, dimension(kts:kte)  sub_v,
real, dimension(kts:kte)  det_thl,
real, dimension(kts:kte)  det_sqv,
real, dimension(kts:kte)  det_sqc,
real, dimension(kts:kte)  det_u,
real, dimension(kts:kte)  det_v,
  if,
  WRF_CHEM 
)

dmp_mf() calculates the nonlocal turbulent transport from the dynamic multiplume mass-flux scheme as well as the shallow-cumulus component of the subgrid clouds. Note that this mass-flux scheme is called when the namelist paramter bl_mynn_edmf is set to 1 (recommended).

Much thanks to Kay Suslj of NASA-JPL for contributing the original version of this mass-flux scheme. Considerable changes have been made from it's original form. Some additions include:

  1. scale-aware tapering as dx -> 0
  2. transport of TKE (extra namelist option)
  3. Chaboureau-Bechtold cloud fraction & coupling to radiation (when icloud_bl > 0)
  4. some extra limits for numerical stability

This scheme remains under development, so consider it experimental code.