9 integer,
parameter :: &
12 real(kind_phys),
parameter :: &
15 real(kind_phys),
parameter,
dimension(NK_CLDS+1,2) :: &
16 ptopc = reshape(source=(/ 1050., 650., 400., 0.0, 1050., 750., 500., 0.0 /), &
20 character(40),
parameter :: vtagcld=
'UFS-cloud-diagnostics vX.x May 2020 '
35 iovr_max, iovr_dcorr, iovr_exp, iovr_exprand, lsswr, lslwr, lat, de_lgth, p_lay, &
36 cld_frac, p_lev, deltaZ, cloud_overlap_param, precip_overlap_param, con_pi, &
37 top_at_1, si, mtopa, mbota, cldsa, errmsg, errflg)
41 integer,
intent(in) :: &
44 integer,
intent(in) :: &
52 logical,
intent(in) :: &
56 real(kind_phys),
intent(in) :: &
58 real(kind_phys),
dimension(:),
intent(in) :: &
62 real(kind_phys),
dimension(:,:),
intent(in),
optional :: &
64 real(kind_phys),
dimension(:,:),
intent(in) :: &
66 real(kind_phys),
dimension(:,:),
intent(in),
optional :: &
68 real(kind_phys),
dimension(:,:),
intent(in),
optional :: &
70 cloud_overlap_param, &
74 character(len=*),
intent(out) :: &
76 integer,
intent(out) :: &
78 integer,
dimension(:,:),
intent(out) :: &
81 real(kind_phys),
dimension(:,:),
intent(out) :: &
85 integer i,id,icol,ilay,icld
86 real(kind_phys) :: tem1
87 real(kind_phys),
dimension(nCol,NK_CLDS+1) :: ptop1
88 real(kind_phys),
dimension(nCol) :: rlat
89 real(kind_phys),
dimension(nCol,nLev) :: cldcnv
91 if (.not. (lsswr .or. lslwr))
return
98 cldcnv(:,:) = 0._kind_phys
103 rlat(i) = abs(lat(i) / con_pi )
104 ptop1(i,icld) =
ptopc(icld,1) + tem1*max( 0.0, 4.0*rlat(i)-1.0 )
112 call gethml(p_lay*0.01, ptop1, cld_frac, cldcnv, deltaz, de_lgth, cloud_overlap_param,&
113 ncol, nlev, iovr, iovr_rand, iovr_maxrand, iovr_max, iovr_dcorr, iovr_exp, &
114 iovr_exprand, top_at_1, si, cldsa, mtopa, mbota)
subroutine, public gfs_cloud_diagnostics_run(ncol, nlev, iovr, iovr_rand, iovr_maxrand, iovr_max, iovr_dcorr, iovr_exp, iovr_exprand, lsswr, lslwr, lat, de_lgth, p_lay, cld_frac, p_lev, deltaz, cloud_overlap_param, precip_overlap_param, con_pi, top_at_1, si, mtopa, mbota, cldsa, errmsg, errflg)
real(kind=kind_phys), dimension(nk_clds+1, 2), save ptopc
pressure limits of cloud domain interfaces (low, mid, high) in mb (0.1kPa)
integer, parameter, public nk_clds
number of cloud vertical domains
real(kind=kind_phys), parameter ovcst
subroutine, public gethml(plyr, ptop1, cldtot, cldcnv, dz, de_lgth, alpha, ix, nlay, iovr, iovr_rand, iovr_maxrand, iovr_max, iovr_dcorr, iovr_exp, iovr_exprand, top_at_1, si, clds, mtop, mbot)
This subroutine computes high, mid, low, total, and boundary cloud fractions and cloud top/bottom lay...
integer, parameter, public nf_clds
number of fields in cloud array
real(kind=kind_phys), parameter climit
This module computes cloud related quantities for radiation computations.