28 use vrbls3d,
only: wh, uh, vh, zint, zmid
29 use masks,
only: lmh, dx, dy
30 use params_mod,
only: d00
31 use ctlblk_mod,
only: lm, jsta_2l, jend_2u, jsta_m, jend_m, &
32 global, spval, im, jm, &
33 ista_2l, iend_2u, ista_m, iend_m
34 use gridspec_mod,
only: gridtype
35 use upp_math,
only: dvdxdudy, ddvdx, ddudy
42 REAL,
PARAMETER:: HLOWER=2000., hupper=5000.
44 real :: r2dx, r2dy, dz, dcdx, dudy, dvdx
45 REAL :: HTSFC(ista_2l:iend_2u,jsta_2l:jend_2u),UPDHEL(ista_2l:iend_2u,jsta_2l:jend_2u)
47 INTEGER,
dimension(jm) :: IHE,IHW
58 CALL exch(uh(ista_2l,jsta_2l,l))
60 IF (gridtype ==
'B')
THEN
62 CALL exch(vh(ista_2l,jsta_2l,l))
85 htsfc(i,j) = zint(i,j,nint(lmh(i,j))+1)
92 IF (htsfc(i,j) < spval)
THEN
94 r2dx = 1./(2.*dx(i,j))
95 r2dy = 1./(2.*dy(i,j))
104 IF ( (zmidloc - htsfc(i,j)) >= hlower .AND. &
105 (zmidloc - htsfc(i,j)) <= hupper )
THEN
106 dz=(zint(i,j,l)-zint(i,j,l+1))
108 IF (wh(i,j,l) < 0)
THEN
118 CALL dvdxdudy(uh(:,:,l),vh(:,:,l))
122 updhel(i,j)=updhel(i,j)+(dvdx-dudy)*wh(i,j,l)*dz
124 IF (updhel(i,j) < -9e10 .OR. updhel(i,j) > 9e10)
THEN