24 SUBROUTINE w3ft12(COEF,WORK,GRID,TRIGS)
32 DATA sin60/0.866025403784437/
39 temp = coef(i)*trigs(k+1) - coef(i+1)*trigs(k)
40 grid(i) = coef(i) - temp
41 grid(j) = coef(i) + temp
42 temp = coef(i)*trigs(k) + coef(i+1)*trigs(k+1)
43 grid(i+1) = temp - coef(i+1)
44 grid(j+1) = temp + coef(i+1)
52 a0 = grid(1) + grid(73)
53 a2 = grid(1) - grid(73)
54 b0 = grid(2) + grid(74)
55 b2 = grid(2) - grid(74)
56 a1 = grid(37) + grid(109)
57 a3 = grid(37) - grid(109)
58 b1 = grid(38) + grid(110)
59 b3 = grid(38) - grid(110)
76 a0 = grid(i) + grid(j)
77 a2 = grid(i) - grid(j)
78 b0 = grid(i+1) + grid(j+1)
79 b2 = grid(i+1) - grid(j+1)
80 a1 = grid(k) + grid(l)
81 a3 = grid(k) - grid(l)
82 b1 = grid(k+1) + grid(l+1)
83 b3 = grid(k+1) - grid(l+1)
92 temp = work(m+2)*trigs(kb) - work(m+3)*trigs(kb+1)
93 work(m+3) = work(m+2)*trigs(kb+1) + work(m+3)*trigs(kb)
95 temp = work(m+4)*trigs(kc) - work(m+5)*trigs(kc+1)
96 work(m+5) = work(m+4)*trigs(kc+1) + work(m+5)*trigs(kc)
98 temp = work(m+6)*trigs(kd) - work(m+7)*trigs(kd+1)
99 work(m+7) = work(m+6)*trigs(kd+1) + work(m+7)*trigs(kd)
114 grid(i) = work(j) + work(k)
115 grid(i+8) = work(j) - work(k)
116 grid(i+1) = work(j+1) + work(k+1)
117 grid(i+9) = work(j+1) - work(k+1)
125 grid(i) = work(j) + work(k)
126 grid(i+8) = work(j) - work(k)
127 grid(i+1) = work(j+1) + work(k+1)
128 grid(i+9) = work(j+1) - work(k+1)
129 temp = grid(i+8)*trigs(kb) - grid(i+9)*trigs(kb+1)
130 grid(i+9) = grid(i+8)*trigs(kb+1) + grid(i+9)*trigs(kb)
146 a1 = grid(j) + grid(k)
147 a3 = sin60*(grid(j)-grid(k))
148 b1 = grid(j+1) + grid(k+1)
149 b3 = sin60*(grid(j+1)-grid(k+1))
150 work(l) = grid(i) + a1
151 a2 = grid(i) - 0.5*a1
152 work(l+1) = grid(i+1) + b1
153 b2 = grid(i+1) - 0.5*b1
171 a1 = grid(j) + grid(k)
172 a3 = sin60*(grid(j)-grid(k))
173 b1 = grid(j+1) + grid(k+1)
174 b3 = sin60*(grid(j+1)-grid(k+1))
175 work(l) = grid(i) + a1
176 a2 = grid(i) - 0.5*a1
177 work(l+1) = grid(i+1) + b1
178 b2 = grid(i+1) - 0.5*b1
183 temp = work(m)*trigs(kb) - work(m+1)*trigs(kb+1)
184 work(m+1) = work(m)*trigs(kb+1) + work(m+1)*trigs(kb)
186 temp = work(n)*trigs(kc) - work(n+1)*trigs(kc+1)
187 work(n+1) = work(n)*trigs(kc+1) + work(n+1)*trigs(kc)
204 a1 = work(j) + work(k)
205 a3 = sin60 * (work(j)-work(k))
206 b3 = sin60 * (work(j+1)-work(k+1))
207 b1 = work(j+1) + work(k+1)
208 grid(l+1) = work(i) + a1
209 a2 = work(i) - 0.5*a1
210 b2 = work(i+1) - 0.5*b1
211 grid(l) = work(i+1) + b1
subroutine w3ft12(coef, work, grid, trigs)
Fast fourier to compute 145 grid values at desired latitude from 31 complex fourier coefficients.