Processing math: 100%
CCPP Scientific Documentation
v4.0
All Classes Namespaces Files Functions Variables Modules Pages
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, 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: