CCPP Scientific Documentation
v4.1.0
subroutine, public module_radiation_clouds::progcld4 ( real (kind=kind_phys), dimension(:,:), intent(in)  plyr,
real (kind=kind_phys), dimension(:,:), intent(in)  plvl,
real (kind=kind_phys), dimension(:,:), intent(in)  tlyr,
real (kind=kind_phys), dimension(:,:), intent(in)  tvly,
real (kind=kind_phys), dimension(:,:), intent(in)  qlyr,
real (kind=kind_phys), dimension(:,:), intent(in)  qstl,
real (kind=kind_phys), dimension(:,:), intent(in)  rhly,
real (kind=kind_phys), dimension(:,:), intent(in)  clw,
real (kind=kind_phys), dimension(:,:), intent(in)  cnvw,
real (kind=kind_phys), dimension(:,:), intent(in)  cnvc,
real (kind=kind_phys), dimension(:), intent(in)  xlat,
real (kind=kind_phys), dimension(:), intent(in)  xlon,
real (kind=kind_phys), dimension(:), intent(in)  slmsk,
real (kind=kind_phys), dimension(:,:), intent(in)  cldtot,
real (kind=kind_phys), dimension(:,:), intent(in)  dz,
real (kind=kind_phys), dimension(:,:), intent(in)  delp,
integer, intent(in)  IX,
integer, intent(in)  NLAY,
integer, intent(in)  NLP1,
real (kind=kind_phys), dimension(:,:,:), intent(out)  clouds,
real (kind=kind_phys), dimension(:,:), intent(out)  clds,
integer, dimension(:,:), intent(out)  mtop,
integer, dimension(:,:), intent(out)  mbot,
real (kind=kind_phys), dimension(:), intent(out)  de_lgth 
)
Parameters
plyr(ix,nlay), model layer mean pressure in mb (100Pa)
plvl(ix,nlp1), model level pressure in mb (100Pa)
tlyr(ix,nlay), model layer mean temperature in K
tvly(ix,nlay), model layer virtual temperature in K
qlyr(ix,nlay), layer specific humidity in gm/gm
qstl(ix,nlay), layer saturate humidity in gm/gm
rhly(ix,nlay), layer relative humidity (=qlyr/qstl)
clw(ix,nlay), layer cloud condensate amount
cnvw(ix,nlay), layer convective cloud condensate
cnvc(ix,nlay), layer convective cloud cover
xlat(ix), grid latitude in radians, default to pi/2 -> -pi/2 range, otherwise see in-line comment
xlon(ix), grid longitude in radians (not used)
slmsk(ix), sea/land mask array (sea:0, land:1, sea-ice:2)
cldtot(ix,nlay), layer total cloud fraction
dz(ix,nlay), layer thickness (km)
delp(ix,nlay), model layer pressure thickness in mb (100Pa)
ixhorizontal dimension
nlayvertical layer dimension
nlp1vertical level dimension
clouds(ix,nlay,nf_clds), cloud profiles
clouds(:,:,1) - layer total cloud fraction
clouds(:,:,2) - layer cloud liquid water path ( \(g m^{-2}\))
clouds(:,:,3) - mean effective radius for liquid cloud (micron)
clouds(:,:,4) - layer cloud ice water path ( \(g m^{-2}\))
clouds(:,:,5) - mean effective radius for ice cloud (micron)
clouds(:,:,6) - layer rain drop water path ( \(g m^{-2}\)) (not assigned)
clouds(:,:,7) - mean effective radius for rain drop (micron)
clouds(:,:,8) - layer snow flake water path (not assigned) ( \(g m^{-2}\)) (not assigned)
clouds(:,:,9) - mean effective radius for snow flake (micron)
cldsfraction of clouds for low, mid, hi cloud tops
mtopvertical indices for low, mid, hi cloud tops
mbotvertical indices for low, mid, hi cloud bases
de_lgthclouds decorrelation length (km)

progcld4 General Algorithm

  • Assign liquid/ice/rain/snow cloud doplet effective radius as default value.
  • Compute top pressure for each cloud domain for given latitude.
    ptopc(k,i): top presure of each cld domain (k=1-4 are sfc,L,m,h; i=1,2 are low-lat (<45 degree) and pole regions)
  • Compute liquid/ice condensate path in \(g m^{-2}\).
  • Compute effective liquid cloud droplet radius over land.
  • Compute effective ice cloud droplet radius in Heymsfield and McFarquhar (1996) [80] .

References climit, climit2, physcons::con_pi, physcons::con_ttp, gethml(), gfac, gord, iovr, physparam::lcnorm, physparam::lcrick, nf_clds, ptopc, reice_def, reliq_def, rrain_def, and rsnow_def.

Here is the call graph for this function: