CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches

◆ dmp_mf()

subroutine module_bl_mynn::dmp_mf ( integer, intent(in) kts,
integer, intent(in) kte,
real(kind_phys), intent(in) dt,
real(kind_phys), dimension(kts:kte+1), intent(in) zw,
real(kind_phys), dimension(kts:kte), intent(in) dz,
real(kind_phys), dimension(kts:kte), intent(in) p,
real(kind_phys), dimension(kts:kte), intent(in) rho,
integer, intent(in) momentum_opt,
integer, intent(in) tke_opt,
integer, intent(in) scalar_opt,
real(kind_phys), dimension(kts:kte), intent(in) u,
real(kind_phys), dimension(kts:kte), intent(in) v,
real(kind_phys), dimension(kts:kte), intent(in) w,
real(kind_phys), dimension(kts:kte), intent(in) th,
real(kind_phys), dimension(kts:kte), intent(in) thl,
real(kind_phys), dimension(kts:kte), intent(in) thv,
real(kind_phys), dimension(kts:kte), intent(in) tk,
real(kind_phys), dimension(kts:kte), intent(in) qt,
real(kind_phys), dimension(kts:kte), intent(in) qv,
real(kind_phys), dimension(kts:kte), intent(in) qc,
real(kind_phys), dimension(kts:kte), intent(in) qke,
real(kind_phys), dimension(kts:kte), intent(in) qnc,
real(kind_phys), dimension(kts:kte), intent(in) qni,
real(kind_phys), dimension(kts:kte), intent(in) qnwfa,
real(kind_phys), dimension(kts:kte), intent(in) qnifa,
real(kind_phys), dimension(kts:kte), intent(in) qnbca,
real(kind_phys), dimension(kts:kte), intent(in) exner,
real(kind_phys), dimension(kts:kte), intent(inout) vt,
real(kind_phys), dimension(kts:kte), intent(inout) vq,
real(kind_phys), dimension(kts:kte), intent(inout) sgm,
real(kind_phys), intent(in) ust,
real(kind_phys), intent(in) flt,
real(kind_phys), intent(in) fltv,
real(kind_phys), intent(in) flq,
real(kind_phys), intent(in) flqv,
real(kind_phys), intent(in) pblh,
integer, intent(in) kpbl,
real(kind_phys), intent(in) dx,
real(kind_phys), intent(in) landsea,
real(kind_phys), intent(in) ts,
real(kind_phys), dimension(kts:kte), intent(out) edmf_a,
real(kind_phys), dimension(kts:kte), intent(out) edmf_w,
real(kind_phys), dimension(kts:kte), intent(out) edmf_qt,
real(kind_phys), dimension(kts:kte), intent(out) edmf_thl,
real(kind_phys), dimension(kts:kte), intent(out) edmf_ent,
real(kind_phys), dimension(kts:kte), intent(out) edmf_qc,
real(kind_phys), dimension(kts:kte+1) s_aw,
real(kind_phys), dimension(kts:kte+1) s_awthl,
real(kind_phys), dimension(kts:kte+1) s_awqt,
real(kind_phys), dimension(kts:kte+1) s_awqv,
real(kind_phys), dimension(kts:kte+1) s_awqc,
real(kind_phys), dimension(kts:kte+1) s_awu,
real(kind_phys), dimension(kts:kte+1) s_awv,
real(kind_phys), dimension(kts:kte+1) s_awqke,
real(kind_phys), dimension(kts:kte+1) s_awqnc,
real(kind_phys), dimension(kts:kte+1) s_awqni,
real(kind_phys), dimension(kts:kte+1) s_awqnwfa,
real(kind_phys), dimension(kts:kte+1) s_awqnifa,
real(kind_phys), dimension(kts:kte+1) s_awqnbca,
real(kind_phys), dimension(kts:kte) sub_thl,
real(kind_phys), dimension(kts:kte) sub_sqv,
real(kind_phys), dimension(kts:kte) sub_u,
real(kind_phys), dimension(kts:kte) sub_v,
real(kind_phys), dimension(kts:kte) det_thl,
real(kind_phys), dimension(kts:kte) det_sqv,
real(kind_phys), dimension(kts:kte) det_sqc,
real(kind_phys), dimension(kts:kte) det_u,
real(kind_phys), dimension(kts:kte) det_v,
integer, intent(in) nchem,
real(kind_phys), dimension(:, :) chem1,
real(kind_phys), dimension(kts:kte+1, nchem) s_awchem,
logical, intent(in) mix_chem,
real(kind_phys), dimension(kts:kte), intent(inout) qc_bl1d,
real(kind_phys), dimension(kts:kte), intent(inout) cldfra_bl1d,
real(kind_phys), dimension(kts:kte), intent(inout) qc_bl1d_old,
real(kind_phys), dimension(kts:kte), intent(inout) cldfra_bl1d_old,
logical, optional f_qc,
logical, optional f_qi,
logical, optional f_qnc,
logical, optional f_qni,
logical, optional f_qnwfa,
logical, optional f_qnifa,
logical, optional f_qnbca,
real(kind_phys), intent(in) psig_shcu,
real(kind_phys), intent(out) maxwidth,
integer, intent(out) ktop,
real(kind_phys), intent(out) maxmf,
real(kind_phys), intent(out) ztop,
integer, intent(in) spp_pbl,
real(kind_phys), dimension(kts:kte) rstoch_col )

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.

Definition at line 5681 of file module_bl_mynn.F90.

References condensation_edmf(), esat_blend(), qsat_blend(), and xl_blend().

Referenced by mynn_bl_driver().

Here is the call graph for this function:
Here is the caller graph for this function: