58 use vrbls3d, only: pint, q, t, pmid
61 use ctlblk_mod, only: jsta, jend, spval, im, ista, iend
66 real,
PARAMETER :: rhowat=1.e3
67 real,
parameter:: con_rd =2.8705e+2
68 real,
parameter:: con_rv =4.6150e+2
69 real,
parameter:: con_eps =con_rd/con_rv
70 real,
parameter:: con_epsm1 =con_rd/con_rv-1
71 real,
parameter:: strh1=0.44,strh2=0.72,strh3=0.44,strh4=0.33 &
72 ,sbrh1=1.00,sbrh2=0.94,sbrh3=0.72,sbrh4=1.00
76 REAL alpm, dz, es, pm, pwsum, qm, qs
77 REAL,
dimension(ista:iend,jsta:jend),
intent(out) :: rh4410, rh7294, rh4472 &
81 real p4410, p7294,p4472,p3310,q4410,q7294,q4472,q3310,qs4410, &
82 qs7294,qs4472,qs3310,ps,p33,dp1,dp2,dp3,dp4
113 llmh = nint(lmh(i,j))
123 dp1 = max(min(pint(i,j,l+1),sbrh1*ps) &
124 -max(pint(i,j,l),strh1*ps),0.)
125 dp2 = max(min(pint(i,j,l+1),sbrh2*ps) &
126 -max(pint(i,j,l),strh2*ps),0.)
127 dp3 = max(min(pint(i,j,l+1),sbrh3*ps) &
128 -max(pint(i,j,l),strh3*ps),0.)
129 dp4 = max(min(pint(i,j,l+1),sbrh4*ps) &
130 -max(pint(i,j,l),strh4*ps),0.)
135 es = min(
fpvsnew(t(i,j,l)),pmid(i,j,l))
136 qs=con_eps*es/(pmid(i,j,l)+con_epsm1*es)
145 q4410 = q4410 + qm*dp1
146 qs4410 = qs4410+ qs*dp1
152 q3310 = q3310 + qm*dp4
153 qs3310 = qs3310+ qs*dp4
159 q4472 = q4472 + qm*dp3
160 qs4472 = qs4472+ qs*dp3
165 q7294 = q7294 + qm*dp2
166 qs7294 = qs7294+ qs*dp2
175 rh4410(i,j) = q4410/qs4410
181 rh3310(i,j) = q3310/qs3310
187 rh4472(i,j) = q4472/qs4472
193 rh7294(i,j) = q7294/qs7294
subroutine lfmfld_gfs(RH4410, RH7294, RH4472, RH3310)
LFMFLD_GFS() computes layer mean LFM fields.
elemental real function, public fpvsnew(t)