23 SUBROUTINE w3fm07(FIN,FOUT,CWORK,GAMMA,NCOL,NROW)
28 COMPLEX CWORK(NCOL,*),GAMMA,GAMMX,GAMA,GAMB,GAMC
40 cwork(i,j+2) = cmplx(fin(i,j),0.)
42 IF (xswtch .EQ. 0.)
GO TO 30
43 DO 20 j = 1,nrow,nrowm
44 jj = j+isign(1,nrowm-j)
45 DO 20 i = 1,ncol,ncolm
46 ii = i+isign(1,ncolm-i)
47 cwork(i,j+2) = cmplx(fin(i,jj)+fin(ii,j)-fin(ii,jj),0.)
52 30 gama = 0.50 * gammx * (1.0 - gammx)
53 gamb = 0.25 * gammx * gammx
58 cwork(1,1) = cwork(1,3)
59 cwork(ncol,1) = cwork(ncol,3)
61 cwork(i,1) = cwork(i,3)+gamc*(cwork(i-1,3)-2.*cwork(i,3)+
65 DO 50 i = 1,ncol,ncolm
66 cwork(i,j) = cwork(i,j+2)+gamc*(cwork(i,j+1)-2.*cwork(i,j+2)+
70 cwork(i,j) = cwork(i,j+2)+gama*(cwork(i+1,j+2)+cwork(i-1,j+2)+
71 & cwork(i,j+1)+cwork(i,j+3)-4.*cwork(i,j+2))+gamb*(cwork(i-1,j+1)+
72 & cwork(i+1,j+1)+cwork(i-1,j+3)+cwork(i+1,j+3)-4.*cwork(i,j+2))
74 cwork(1,nrow) = cwork(1,nrow+2)
75 cwork(ncol,nrow) = cwork(ncol,nrow+2)
77 cwork(i,nrow) = cwork(i,nrow+2)+gamc*(cwork(i-1,nrow+2)-2.*
78 & cwork(i,nrow+2)+cwork(i+1,nrow+2))
83 IF (xswtch .LE. 0.)
GO TO 90
90 cwork(i,j+2) = cwork(i,j)
103 fout(i,j) = real(cwork(i,j))
subroutine w3fm07(fin, fout, cwork, gamma, ncol, nrow)
Smooths data on a rectangular grid using a nine-point smoothing operator.