CCPP Scientific Documentation
v5.0.0
subroutine cu_gf_sh::cu_gf_sh_run ( real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  us,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  vs,
real(kind=kind_phys), dimension (its:ite,kts:kte)  zo,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  t,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  q,
real(kind=kind_phys), dimension (its:ite), intent(in)  z1,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  tn,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  qo,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  po,
real(kind=kind_phys), dimension (its:ite), intent(in)  psur,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  dhdt,
integer, dimension (its:ite), intent(in)  kpbl,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  rho,
real(kind=kind_phys), dimension (its:ite), intent(in)  hfx,
real(kind=kind_phys), dimension (its:ite), intent(in)  qfx,
real(kind=kind_phys), dimension (its:ite), intent(in)  xland,
integer, intent(in)  ichoice,
real(kind=kind_phys), intent(in)  tcrit,
real(kind=kind_phys), intent(in)  dtime,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  zuo,
real(kind=kind_phys), dimension (its:ite), intent(out)  xmb_out,
integer, dimension (its:ite), intent(out)  kbcon,
integer, dimension (its:ite), intent(out)  ktop,
integer, dimension (its:ite), intent(out)  k22,
integer, dimension (its:ite), intent(inout)  ierr,
character*50, dimension(its:ite)  ierrc,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outt,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outq,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outqc,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outu,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outv,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  cnvwt,
real(kind=kind_phys), dimension (its:ite)  pre,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  cupclw,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte,
integer, intent(in)  ipr,
integer, dimension (its:ite), intent(in)  tropics 
)
Parameters
usx wind updated by physics
vsy wind updated by physics
zoheight at model levels
t,tntemperature without and with forcing at model levels
q,qomixing ratio without and with forcing at model levels
popressure at model levels (mb)
psursurface pressure (mb)
z1surface height
dhdtforcing for boundary layer equilibrium
hfx,qfxin w/m2 (positive, if upward from sfc)
kpbllevel of boundaty layer height
rhomoist air density
xlandland mask (1. for land)
ichoicewhich closure to choose
1: old g
2: zws
3: dhdt
0: average
tcritparameter for water/ice conversion (258)
dtimephysics time step
zuonormalized mass flux profile
xmb_outbase mass flux
kbconconvective cloud base
ktopcloud top
k22level of updraft originating air
ierrerror flag
ierrcerror description
outttemperature tendency (k/s)
outqmixing ratio tendency (kg/kg/s)
outqccloud water/ice tendency (kg/kg/s)
outux wind tendency
outvy wind tendency
preprecip rate (mm/s)
cupclwincloud mixing ratio of cloudwater/ice (for radiation) this needs heavy tuning factors, since cloud fraction is not included (kg/kg)
cnvwtrequired for gfs physics
itf,ktf,its,ite,kts,kteare dimensions
iprhorizontal index of printed column
tropics=0

GSD cu_gf_sh_run General Algorithm

  • Calculate zws for shallow convection closure (grant 2001)
  • Determin max height(m) above ground where updraft air can originate
  • Call cup_env() to calculate moist static energy, heights, qes
  • Call cup_env_clev() to calculate environmental values on cloud levels
  • Determine level with highest moist static energy content (k22)
  • Call get_cloud_bc() and cup_kbcon() to determine the level of convective cloud base (kbcon)
  • Call cup_minimi() and get_inversion_layers() to get inversion layers for cloud tops
  • Call rates_up_pdf() to get normalized mass flux profile
  • Call get_lateral_massflux() to calculate mass entrainment and detrainment

References c0_shal, cp, cu_gf_deep::cup_env(), cu_gf_deep::cup_env_clev(), cu_gf_deep::cup_kbcon(), cu_gf_deep::cup_minimi(), cu_gf_deep::cup_up_aa0(), fluxtune, g, cu_gf_deep::get_cloud_bc(), cu_gf_deep::get_inversion_layers(), cu_gf_deep::get_lateral_massflux(), cu_gf_deep::rates_up_pdf(), and xlv.

Referenced by cu_gf_driver::cu_gf_driver_run().

Here is the call graph for this function: