59 SUBROUTINE ngmfld(RH4710,RH4796,RH1847,RH8498,QM8510)
64 use vrbls3d,
only: q, uh, vh, pint, alpint, zint, t
66 use params_mod,
only: d00, d50, h1m12, pq0, a2, a3, a4, h1, d01, small
67 use ctlblk_mod,
only: jsta, jend, lm, jsta_2l, jend_2u, jsta_m2, jend_m2,&
69 ista, iend, ista_2l, iend_2u, ista_m2, iend_m2, ista_m, iend_m
74 real,
PARAMETER :: SIG100=1.00000, sig98=0.98230, sig96=0.96470
75 real,
PARAMETER :: SIG89 =0.89671, sig85=0.85000, sig84=0.84368
76 real,
PARAMETER :: SIG78 =0.78483, sig47=0.47191, sig18=0.18018
79 LOGICAL GOT8510,GOT4710,GOT4796,GOT1847,GOT8498
80 REAL,
dimension(ista_2l:iend_2u,jsta_2l:jend_2u),
intent(out) :: QM8510,RH4710,RH8498, &
82 REAL,
dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: Z8510,Z4710,Z8498,Z4796,Z1847
83 real,
dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: Q1D, U1D, V1D, QCNVG
86 real P100,P85,P98,P96,P84,P47,P18,ALPM,DE,PM,TM,QM, &
127 CALL calmcvg(q1d,u1d,v1d,qcnvg)
134 p100 = pint(i,j,nint(lmh(i,j)))
146 alpm = d50*(alpint(i,j,l)+alpint(i,j,l+1))
147 dz = zint(i,j,l)-zint(i,j,l+1)
157 qs=pq0/pm*exp(a2*(tm-a3)/(tm-a4))
170 IF ((pm<=p100).AND.(pm>=p85))
THEN
171 z8510(i,j) = z8510(i,j) + dz
172 qm8510(i,j) = qm8510(i,j) + qmcvg*dz
176 IF ((pm<=p100).AND.(pm>=p47))
THEN
177 z4710(i,j) = z4710(i,j) + dz
178 rh4710(i,j) = rh4710(i,j) + rh*dz
182 IF ((pm<=p98).AND.(pm>=p84))
THEN
183 z8498(i,j) = z8498(i,j) + dz
184 rh8498(i,j) = rh8498(i,j) + rh*dz
188 IF ((pm<=p96).AND.(pm>=p47))
THEN
189 z4796(i,j) = z4796(i,j) + dz
190 rh4796(i,j) = rh4796(i,j) + rh*dz
194 IF ((pm<=p47).AND.(pm>=p18))
THEN
195 z1847(i,j) = z1847(i,j) + dz
196 rh1847(i,j) = rh1847(i,j) + rh*dz
206 IF (z8510(i,j)>0)
THEN
207 qm8510(i,j) = qm8510(i,j)/z8510(i,j)
211 IF (abs(qm8510(i,j)-spval)<small)qm8510(i,j)=h1m12
213 IF (z4710(i,j)>0)
THEN
214 rh4710(i,j) = rh4710(i,j)/z4710(i,j)
219 IF (z8498(i,j)>0)
THEN
220 rh8498(i,j) = rh8498(i,j)/z8498(i,j)
225 IF (z4796(i,j)>0)
THEN
226 rh4796(i,j) = rh4796(i,j)/z4796(i,j)
231 IF (z1847(i,j)>0)
THEN
232 rh1847(i,j) = rh1847(i,j)/z1847(i,j)