52 SUBROUTINE lfmfld(RH3310,RH6610,RH3366,PW3310)
56 use vrbls3d,
only: pint, alpint, zint, t, q, cwm
58 use params_mod,
only: d00, d50, pq0, a2, a3, a4, h1, d01, gi
59 use ctlblk_mod,
only: jsta, jend, modelname, spval, im, ista, iend
60 use physcons_post,
only: con_rd, con_rv, con_eps, con_epsm1
61 use upp_physics,
only: fpvsnew
67 real,
PARAMETER :: RHOWAT=1.e3
71 REAL ALPM, DZ, ES, PM, PWSUM, QM, QS, TM, DP, RH
72 REAL,
dimension(ista:iend,jsta:jend),
intent(inout) :: RH3310, RH6610, RH3366
73 REAL,
dimension(ista:iend,jsta:jend),
intent(inout) :: PW3310
74 real Z3310,Z6610,Z3366,P10,P33,P66
96 p10 = pint(i,j,nint(lmh(i,j)))
106 alpm = d50*(alpint(i,j,l)+alpint(i,j,l+1))
107 dz = zint(i,j,l)-zint(i,j,l+1)
108 dp = pint(i,j,l+1)-pint(i,j,l)
115 IF(modelname ==
'GFS')
THEN
116 es = min(fpvsnew(tm),pm)
117 qs = con_eps*es/(pm+con_epsm1*es)
119 qs=pq0/pm*exp(a2*(tm-a3)/(tm-a4))
135 IF ((pm<=p10).AND.(pm>=p66))
THEN
137 rh6610(i,j) = rh6610(i,j) + rh*dz
141 IF ((pm<=p10).AND.(pm>=p33))
THEN
143 rh3310(i,j)= rh3310(i,j)+rh*dz
144 pw3310(i,j)= pw3310(i,j)+(q(i,j,l)+cwm(i,j,l))*dp*gi
148 IF ((pm<=p66).AND.(pm>=p33))
THEN
150 rh3366(i,j) = rh3366(i,j) + rh*dz
159 rh6610(i,j) = rh6610(i,j)/z6610
165 rh3310(i,j) = rh3310(i,j)/z3310
171 rh3366(i,j) = rh3366(i,j)/z3366