NCEPLIBS-w3emc  2.9.2
w3ft21.f
Go to the documentation of this file.
1 C> @file
2 C
3 C> SUBPROGRAM: W3FT21 COMPUTES 2.5 X 2.5 N. HEMI. GRID-SCALER
4 C> AUTHOR: JONES,R.E. ORG: W342 DATE: 81-11-19
5 C>
6 C> ABSTRACT: COMPUTES 2.5 X 2.5 N. HEMI. GRID OF 145 X 37 POINTS
7 C> FROM SPECTRAL COEFFICIENTS IN A RHOMBOIDAL 30 RESOLUTION
8 C> REPRESENTING A SCALAR FIELD. SPECIAL VERSION OF W3FT08 WHICH
9 C> GIVES PROGRAMMER MORE CONTROL OF HOW MANY WAVES ARE SUMMED
10 C> AND HOW MANY POINTS IN EACH WAVE. A PROGRAMMER CAN SIMULATE
11 C> 24-MODE, 12-MODE, ETC.
12 C>
13 C> PROGRAM HISTORY LOG:
14 C> 81-11-19 R.E.JONES
15 C> 84-06-01 R.E.JONES CHANGE TO IBM VS FORTRAN
16 C>
17 C> USAGE: CALL W3FT21(FLN,GN,PLN,EPS,FL,WORK,TRIGS,L1,L2,I2)
18 C>
19 C> INPUT VARIABLES:
20 C> NAMES INTERFACE DESCRIPTION OF VARIABLES AND TYPES
21 C> ------ --------- -----------------------------------------------
22 C> FLN ARG LIST 961 COMPLEX COEFF.
23 C> PLN ARG LIST 992 REAL SPACE FOR LEGENDRE POLYNOMIALS
24 C> EPS ARG LIST 992 REAL SPACE FOR
25 C> COEFFS. USED IN COMPUTING PLN.
26 C> FL ARG LIST 31 COMPLEX SPACE FOR FOURIER COEFF.
27 C> WORK ARG LIST 144 REAL WORK SPACE FOR SUBR. W3FT12
28 C> TRIGS ARG LIST 216 PRECOMPUTED TRIG FUNCS, USED
29 C> IN W3FT12, COMPUTED BY W3FA13
30 C> L1 ARG LIST STARTING WAVE NUMBER
31 C> L2 ARG LIST ENDING WAVE NUMBER
32 C> I2 ARG LIST MODE OF SPECTRAL COEFFICIENTS
33 C>
34 C> OUTPUT VARIABLES:
35 C> NAMES INTERFACE DESCRIPTION OF VARIABLES AND TYPES
36 C> ------ --------- -----------------------------------------------
37 C> GN ARG LIST (145,37) GRID VALUES.
38 C> 5365 POINT GRID IS TYPE 29 OR 1D HEX O.N. 84
39 C>
40 C> SUBPROGRAMS CALLED:
41 C> NAMES LIBRARY
42 C> ------------------------------------------------------- --------
43 C> AIMAG CMPLX REAL SYSLIB
44 C> W3FA12 W3FT12 W3LIB
45 C>
46 C> WARNING: THIS SUBROUTINE WAS OPTIMIZED TO RUN IN A SMALL AMOUNT OF
47 C> MEMORY, IT IS NOT OPTIMIZED FOR SPEED, 70 PERCENT OF THE TIME IS
48 C> USED BY SUBROUTINE W3FA12 COMPUTING THE LEGENDRE POLYNOMIALS. SINCE
49 C> THE LEGENDRE POLYNOMIALS ARE CONSTANT THEY NEED TO BE COMPUTED
50 C> ONLY ONCE IN A PROGRAM. BY MOVING W3FA12 TO THE MAIN PROGRAM AND
51 C> COMPUTING PLN AS A (32,31,37) ARRAY AND CHANGING THIS SUBROUTINE
52 C> TO USE PLN AS A THREE DIMENSION ARRAY YOU CAN CUT THE RUNNING TIME
53 C> 70 PERCENT.
54 C>
55 C> ATTRIBUTES:
56 C> LANGUAGE: CRAY CFT77 FORTRAN
57 C> MACHINE: CRAY C916, Y-MP8/64, Y-MP EL92/256
58 C>
59  SUBROUTINE w3ft21(FLN,GN,PLN,EPS,FL,WORK,TRIGS,L1,L2,I2)
60 C
61  COMPLEX FL (31)
62  COMPLEX FLN (31,31)
63 C
64  REAL COLRA
65  REAL EPS (992)
66 C
67  REAL GN (145,37)
68  REAL PLN (32,31)
69  REAL TRIGS (216)
70  REAL WORK (144)
71 C
72  SAVE
73 C
74  DATA pi /3.14159265/
75 C
76  drad = 2.5 * pi / 180.0
77 C
78  k1 = l1 + 1
79  k2 = l2 + 1
80  m2 = i2 + 1
81 C
82  DO 400 lat = 1,37
83  latn = 38 - lat
84  colra = (lat-1) * drad
85  CALL w3fa12 (pln, colra, 30 ,eps)
86 C
87  DO 100 l = 1, 31
88  fl(l) = (0.,0.)
89  100 CONTINUE
90 C
91  DO 300 l = k1 , k2
92  DO 200 i = 1 , m2
93  fl(l) = fl(l) + cmplx(pln(i,l) * real(fln(i,l)) ,
94  & pln(i,l) * aimag(fln(i,l)) )
95  200 CONTINUE
96 C
97  300 CONTINUE
98 C
99  CALL w3ft12(fl,work,gn(1,latn),trigs)
100 C
101  400 CONTINUE
102 C
103  RETURN
104  END
w3ft12
subroutine w3ft12(COEF, WORK, GRID, TRIGS)
Fast fourier to compute 145 grid values at desired latitude from 31 complex fourier coefficients.
Definition: w3ft12.f:25
w3ft21
subroutine w3ft21(FLN, GN, PLN, EPS, FL, WORK, TRIGS, L1, L2, I2)
SUBPROGRAM: W3FT21 COMPUTES 2.5 X 2.5 N.
Definition: w3ft21.f:60