2 SUBROUTINE mapsslp(TPRES)
12 use ctlblk_mod,
only: jsta, jend, spl, smflag, lm, im, jsta_2l, jend_2u, &
13 lsm, jm, grib, spval, &
14 ista, iend, ista_2l, iend_2u
15 use gridspec_mod,
only: maptype, dxval
16 use vrbls3d,
only: pmid, t, pint
17 use vrbls2d,
only: pslp, fis
19 use params_mod,
only: rog, p1000, capa, erad, pi ,gi
25 REAL TPRES(ISTA_2L:IEND_2U,JSTA_2L:JEND_2U,LSM)
27 real LAPSES, EXPo,EXPINV,TSFCNEW
29 REAL,
dimension(ista_2l:iend_2u, jsta_2l:jend_2u) :: T700
30 real,
dimension(im,2) :: sdummy
31 REAL,
dimension(im,jm) :: GRID1, TH700
33 integer l, j, i, k, ii, jj
47 if(spl(l) == 70000.)
THEN
48 if(tpres(i,j,l) <spval)
THEN
49 t700(i,j) = tpres(i,j,l)
50 th700(i,j) = t700(i,j)*(p1000/70000.)**capa
64 if(grib==
'grib2')
then
65 dxm=(dxval / 360.)*(erad*2.*pi)/1.d6
70 if(grib ==
'grib2')
then
75 nsmooth=nint(10.*(13500./dxm))
76 call allgetherv(th700)
78 CALL smooth(th700,sdummy,im,jm,0.5)
88 if(t700(i,j) <spval)
then
89 t700(i,j) = th700(i,j)*(70000./p1000)**capa
90 IF (t700(i,j)>100.)
THEN
91 tsfcnew = t700(i,j)*(pmid(i,j,lm)/70000.)**expo
96 pslp(i,j) = pint(i,j,nint(lmh(i,j))+1)* &
97 ((tsfcnew+lapses*fis(i,j)*gi)/tsfcnew)**expinv
110 nsmooth=nint(15.*(13500./dxm))
111 call allgetherv(grid1)
113 CALL smooth(grid1,sdummy,im,jm,0.5)
subroutine smooth(field, hold, ix, iy, smth)
smooth() smooths a meteorological field using Shapiro smoother.