CCPP Scientific Documentation
v5.0.0
subroutine module_bl_mynn::mym_turbulence ( integer, intent(in)  kts,
integer, intent(in)  kte,
integer, intent(in)  levflag,
real, dimension(kts:kte), intent(in)  dz,
real, intent(in)  dx,
real, dimension(kts:kte+1), intent(in)  zw,
real, dimension(kts:kte), intent(in)  u,
real, dimension(kts:kte), intent(in)  v,
real, dimension(kts:kte), intent(in)  thl,
real, dimension(kts:kte), intent(in)  ql,
real, dimension(kts:kte), intent(in)  qw,
real, dimension(kts:kte), intent(in)  qke,
real, dimension(kts:kte), intent(in)  tsq,
real, dimension(kts:kte), intent(in)  qsq,
real, dimension(kts:kte), intent(in)  cov,
real, dimension(kts:kte), intent(in)  vt,
real, dimension(kts:kte), intent(in)  vq,
real, intent(in)  rmo,
real, intent(in)  flt,
real, intent(in)  flq,
real  zi,
real, dimension(kts:kte), intent(in)  theta,
real, dimension(kts:kte)  sh,
real, dimension(kts:kte), intent(out)  El,
real, dimension(kts:kte), intent(out)  Dfm,
real, dimension(kts:kte), intent(out)  Dfh,
real, dimension(kts:kte), intent(out)  Dfq,
real, dimension(kts:kte), intent(out)  Tcd,
real, dimension(kts:kte), intent(out)  Qcd,
real, dimension(kts:kte), intent(out)  Pdk,
real, dimension(kts:kte), intent(out)  Pdt,
real, dimension(kts:kte), intent(out)  Pdq,
real, dimension(kts:kte), intent(out)  Pdc,
real, dimension(kts:kte), intent(inout)  qWT1D,
real, dimension(kts:kte), intent(inout)  qSHEAR1D,
real, dimension(kts:kte), intent(inout)  qBUOY1D,
real, dimension(kts:kte), intent(inout)  qDISS1D,
integer, intent(in)  bl_mynn_tkebudget,
real, intent(in)  Psig_bl,
real, intent(in)  Psig_shcu,
real, dimension(kts:kte), intent(in)  cldfra_bl1D,
integer, intent(in)  bl_mynn_mixlength,
real, dimension(kts:kte), intent(in)  edmf_w1,
real, dimension(kts:kte), intent(in)  edmf_a1,
real, dimension(kts:kte), intent(in)  edmf_qc1,
integer, intent(in)  bl_mynn_edmf,
real, dimension(kts:kte), intent(in)  TKEprodTD,
integer, intent(in)  spp_pbl,
real, dimension(kts:kte)  rstoch_col 
)

GSD mym_turbulence General Algorithm

Two subroutines mym_level2() and mym_length() are called within this subrouine to collect variable to carry out successive calculations:

  • mym_level2() calculates the level 2 nondimensional wind shear \(G_M\) and vertical temperature gradient \(G_H\) as well as the level 2 stability functions \(S_h\) and \(S_m\).
  • mym_length() calculates the mixing lengths.
  • The stability criteria from Helfand and Labraga (1989) are applied.
  • The stability functions for level 2.5 or level 3.0 are calculated.
  • If level 3.0 is used, counter-gradient terms are calculated.
  • Production terms of TKE, \(\theta^{'2}\), \(q^{'2}\), and \(\theta^{'}q^{'}\) are calculated.
  • Eddy diffusivity \(K_h\) and eddy viscosity \(K_m\) are calculated.
  • TKE budget terms are calculated (if the namelist parameter bl_mynn_tkebudget is set to True)

References a1, b1, b2, cc3, ckmod, debug_code, e1c, e2c, e3c, e4c, e5c, gtr, mym_length(), mym_level2(), sqfac, tref, and tv0.

Referenced by mynn_bl_driver().

Here is the call graph for this function: