42 SUBROUTINE smooth (FIELD,HOLD,IX,IY,SMTH)
49 integer :: i1, i2, j, it, i, ix, iy
50 real :: smth1, smth, smth2, smth3, smth4, smth5
52 REAL FIELD(IX,IY), HOLD (IX,2)
53 smth1 = 0.25 * smth * smth
54 smth2 = 0.5 * smth * (1.-smth)
55 smth3 = (1.-smth) * (1.-smth)
66 sum1 = field(i-1,j+1) + field(i-1,j-1) &
67 + field(i+1,j+1) + field(i+1,j-1)
68 sum2 = field(i ,j+1) + field(i+1,j ) &
69 + field(i ,j-1) + field(i-1,j )
70 hold(i,i1) = smth1*sum1 + smth2*sum2 + smth3*field(i,j)
75 field(i,j-1) = hold(i,i2)
82 field(i,iy-1) = hold(i,i1)
86 field(i,1) = smth4 * field(i,1) &
87 + smth5 * (field(i-1,1) + field(i+1,1))
88 field(i,iy) = smth4 * field(i,iy) &
89 + smth5 * (field(i-1,iy) + field(i+1,iy))
93 field(1,j) = smth4 * field(1,j) &
94 + smth5 * (field(1,j-1) + field(1,j+1))
95 field(ix,j) = smth4 * field(ix,j) &
96 + smth5 * (field(ix,j-1) + field(ix,j+1))
141 integer :: i1, i2, j, it, i, ix, iy, im1, ip1
142 real :: smth1, smth, smth2, smth3, smth4, smth5
144 REAL FIELD(IX,IY), HOLD (IX,2)
145 integer :: iw(ix), ie(ix)
147 smth1 = 0.25 * smth * smth
148 smth2 = 0.5 * smth * (1.-smth)
149 smth3 = (1.-smth) * (1.-smth)
170 sum1 = field(im1,j+1) + field(im1,j-1) &
171 + field(ip1,j+1) + field(ip1,j-1)
172 sum2 = field(i ,j+1) + field(ip1,j ) &
173 + field(i ,j-1) + field(im1,j )
174 hold(i,i1) = smth1*sum1 + smth2*sum2 + smth3*field(i,j)
179 field(i,j-1) = hold(i,i2)
186 field(i,iy-1) = hold(i,i1)
192 field(i,1) = smth4 * field(i,1) &
193 + smth5 * (field(im1,1) + field(ip1,1))
194 field(i,iy) = smth4 * field(i,iy) &
195 + smth5 * (field(im1,iy) + field(ip1,iy))
subroutine smooth(field, hold, ix, iy, smth)
smooth() smooths a meteorological field using Shapiro smoother.
subroutine smoothc(field, hold, ix, iy, smth)
smoothc() smooths a meteorological field using Shapiro smoother.