Common Community Physics Package (CCPP) Scientific Documentation  Version 2.0
subroutine, public module_radiation_clouds::progclduni ( 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)  ccnd,
integer, intent(in)  ncnd,
real (kind=kind_phys), dimension(:), intent(in)  xlat,
real (kind=kind_phys), dimension(:), intent(in)  xlon,
real (kind=kind_phys), dimension(:), intent(in)  slmsk,
integer, intent(in)  IX,
integer, intent(in)  NLAY,
integer, intent(in)  NLP1,
real (kind=kind_phys), dimension(:,:), intent(in)  cldtot,
real (kind=kind_phys), dimension(:,:), intent(in)  effrl,
real (kind=kind_phys), dimension(:,:), intent(in)  effri,
real (kind=kind_phys), dimension(:,:), intent(in)  effrr,
real (kind=kind_phys), dimension(:,:), intent(in)  effrs,
logical, intent(in)  effr_in,
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 
)
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
clw(IX,NLAY), layer cloud liquid water amount
ciw(IX,NLAY), layer cloud ice water amount
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)
IXhorizontal dimention
NLAY,NLP1vertical layer/level dimensions
clouds(IX,NLAY,NF_CLDS), cloud profiles
(:,:,1) - layer total cloud fraction
(:,:,2) - layer cloud liq water path \((g/m^2)\)
(:,:,3) - mean eff radius for liq cloud (micron)
(:,:,4) - layer cloud ice water path \((g/m^2)\)
(:,:,5) - mean eff radius for ice cloud (micron)
(:,:,6) - layer rain drop water path (not assigned)
(:,:,7) - mean eff radius for rain drop (micron)
(:,:,8) - layer snow flake water path (not assigned)
(:,:,9) - mean eff radius for snow flake (micron)
*** fu's scheme need to be normalized by snow density \( (g/m^3/1.0e6)\)
clds(IX,5), fraction of clouds for low, mid, hi, tot, bl
mtop(IX,3), vertical indices for low, mid, hi cloud tops
mbot(IX,3), vertical indices for low, mid, hi cloud bases

progclduni General Algorithm

  1. Find top pressure for each cloud domain for given latitude.
  2. Compute cloud liquid/ice/rain/snow condensate path in \( g/m^2 \) .
  3. Compute effective liquid cloud droplet radius over land.
  4. Compute effective ice cloud droplet radius following [44].
  5. Call gethml() to compute low,mid,high,total, and boundary layer cloud fractions and clouds top/bottom layer indices for low, mid, and high clouds.

References physcons::con_pi, physcons::con_ttp, gethml(), physparam::ivflip, physparam::lcnorm, and physparam::lcrick.

Here is the call graph for this function: