17 SUBROUTINE calupdhel(UPDHEL)
22 use vrbls3d,
only: wh, uh, vh, zint, zmid
23 use masks,
only: lmh, dx, dy
24 use params_mod,
only: d00
25 use ctlblk_mod,
only: lm, jsta_2l, jend_2u, jsta_m, jend_m, &
26 global, spval, im, jm, &
27 ista_2l, iend_2u, ista_m, iend_m
28 use gridspec_mod,
only: gridtype
29 use upp_math,
only: dvdxdudy, ddvdx, ddudy
36 REAL,
PARAMETER:: HLOWER=2000., hupper=5000.
38 real :: r2dx, r2dy, dz, dcdx, dudy, dvdx
39 REAL :: HTSFC(ista_2l:iend_2u,jsta_2l:jend_2u),UPDHEL(ista_2l:iend_2u
41 INTEGER,
dimension(jm) :: IHE,IHW
52 CALL exch(uh(ista_2l,jsta_2l,l))
54 IF (gridtype ==
'B')
THEN
56 CALL exch(vh(ista_2l,jsta_2l,l))
79 htsfc(i,j) = zint(i,j,nint(lmh(i,j))+1)
86 IF (htsfc(i,j) < spval)
THEN
88 r2dx = 1./(2.*dx(i,j))
89 r2dy = 1./(2.*dy(i,j))
98 IF ( (zmidloc - htsfc(i,j)) >= hlower .AND. &
99 (zmidloc - htsfc(i,j)) <= hupper )
THEN
100 dz=(zint(i,j,l)-zint(i,j,l+1))
102 IF (wh(i,j,l) < 0)
THEN
112 CALL dvdxdudy(uh(:,:,l),vh(:,:,l))
116 updhel(i,j)=updhel(i,j)+(dvdx-dudy)*wh(i,j,l)*dz
dvdxdudy() computes dudy, dvdx, uwnd