45 SUBROUTINE ngmfld(RH4710,RH4796,RH1847,RH8498,QM8510)
50 use vrbls3d, only: q, uh, vh, pint, alpint, zint, t
52 use params_mod, only: d00, d50, h1m12, pq0, a2, a3, a4, h1, d01, small
53 use ctlblk_mod
, only: jsta, jend, lm, jsta_2l, jend_2u, jsta_m2, jend_m2,&
59 real,
PARAMETER :: sig100=1.00000, sig98=0.98230, sig96=0.96470
60 real,
PARAMETER :: sig89 =0.89671, sig85=0.85000, sig84=0.84368
61 real,
PARAMETER :: sig78 =0.78483, sig47=0.47191, sig18=0.18018
64 LOGICAL got8510,got4710,got4796,got1847,got8498
65 REAL,
dimension(IM,jsta_2l:jend_2u),
intent(out) :: qm8510,rh4710,rh8498, &
67 REAL,
dimension(im,jsta_2l:jend_2u) :: z8510,z4710,z8498,z4796,z1847
68 real,
dimension(im,jsta_2l:jend_2u) :: q1d, u1d, v1d, qcnvg
71 real p100,p85,p98,p96,p84,p47,p18,alpm,de,pm,tm,qm, &
112 CALL calmcvg(q1d,u1d,v1d,qcnvg)
119 p100 = pint(i,j,nint(lmh(i,j)))
131 alpm = d50*(alpint(i,j,l)+alpint(i,j,l+1))
132 dz = zint(i,j,l)-zint(i,j,l+1)
142 qs=pq0/pm*exp(a2*(tm-a3)/(tm-a4))
155 IF ((pm<=p100).AND.(pm>=p85))
THEN
156 z8510(i,j) = z8510(i,j) + dz
157 qm8510(i,j) = qm8510(i,j) + qmcvg*dz
161 IF ((pm<=p100).AND.(pm>=p47))
THEN
162 z4710(i,j) = z4710(i,j) + dz
163 rh4710(i,j) = rh4710(i,j) + rh*dz
167 IF ((pm<=p98).AND.(pm>=p84))
THEN
168 z8498(i,j) = z8498(i,j) + dz
169 rh8498(i,j) = rh8498(i,j) + rh*dz
173 IF ((pm<=p96).AND.(pm>=p47))
THEN
174 z4796(i,j) = z4796(i,j) + dz
175 rh4796(i,j) = rh4796(i,j) + rh*dz
179 IF ((pm<=p47).AND.(pm>=p18))
THEN
180 z1847(i,j) = z1847(i,j) + dz
181 rh1847(i,j) = rh1847(i,j) + rh*dz
191 IF (z8510(i,j)>0)
THEN
192 qm8510(i,j) = qm8510(i,j)/z8510(i,j)
196 IF (abs(qm8510(i,j)-spval)<small)qm8510(i,j)=h1m12
198 IF (z4710(i,j)>0)
THEN
199 rh4710(i,j) = rh4710(i,j)/z4710(i,j)
204 IF (z8498(i,j)>0)
THEN
205 rh8498(i,j) = rh8498(i,j)/z8498(i,j)
210 IF (z4796(i,j)>0)
THEN
211 rh4796(i,j) = rh4796(i,j)/z4796(i,j)
216 IF (z1847(i,j)>0)
THEN
217 rh1847(i,j) = rh1847(i,j)/z1847(i,j)