2 SUBROUTINE mapsslp(TPRES)
12 use ctlblk_mod
, only: jsta, jend, spl, smflag, lm, im, jsta_2l, jend_2u, &
14 use gridspec_mod
, only: maptype, dxval
15 use vrbls3d, only: pmid, t, pint
18 use params_mod, only: rog, p1000, capa, erad, pi ,gi
24 REAL tpres(im,jsta_2l:jend_2u,lsm)
26 real lapses, expo,expinv,tsfcnew
28 REAL,
dimension(im, jsta_2l:jend_2u) :: t700
29 real,
dimension(im,2) :: sdummy
30 REAL,
dimension(im,jm) :: grid1, th700
32 integer l, j, i, k, ii, jj
46 if(spl(l) == 70000.)
THEN
47 if(tpres(i,j,l) <spval)
THEN
48 t700(i,j) = tpres(i,j,l)
49 th700(i,j) = t700(i,j)*(p1000/70000.)**capa
63 if(grib==
'grib2')
then
64 dxm=(dxval / 360.)*(erad*2.*pi)/1.d6
69 if(grib ==
'grib2')
then
74 nsmooth=nint(10.*(13500./dxm))
75 call allgetherv(th700)
77 CALL smooth(th700,sdummy,im,jm,0.5)
87 if(t700(i,j) <spval)
then
88 t700(i,j) = th700(i,j)*(70000./p1000)**capa
89 IF (t700(i,j)>100.)
THEN
90 tsfcnew = t700(i,j)*(pmid(i,j,lm)/70000.)**expo
95 pslp(i,j) = pint(i,j,nint(lmh(i,j))+1)* &
96 ((tsfcnew+lapses*fis(i,j)*gi)/tsfcnew)**expinv
109 nsmooth=nint(15.*(13500./dxm))
110 call allgetherv(grid1)
112 CALL smooth(grid1,sdummy,im,jm,0.5)