NCEPLIBS-w3emc
2.9.2
w3ft38.f
Go to the documentation of this file.
1
C> @file
2
C
3
C> SUBPROGRAM: W3FT38 COMPUTES 2.5 X 2.5 N. HEMI. GRID-SCALER
4
C> AUTHOR: R.E.JONES ORG: W323 DATE: 93-07-23
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 SCALER FIELD.
9
C>
10
C> PROGRAM HISTORY LOG:
11
C> 93-07-23 R.E.JONES NEW VERSION OF W3FT08, TAKES OUT W3FA12
12
C> MAKES PLN 3 DIMENSIONS, PLN IS COMPUTED
13
C> ONE TIME IN MAIN PROGRAM, TRADES MEMORY
14
C> FOR MORE SPEED. W3FA12 USED 70% OF CPU TIME.
15
C>
16
C> USAGE: CALL W3FT38(FLN,GN,PLN,FL,WORK,TRIGS)
17
C>
18
C> INPUT VARIABLES:
19
C> NAMES INTERFACE DESCRIPTION OF VARIABLES AND TYPES
20
C> ------ --------- -----------------------------------------------
21
C> FLN ARG LIST 961 COMPLEX COEFF.
22
C> PLN ARG LIST (32,31,37) REAL SPACE WITH LEGENDRE POLYNOMIALS
23
C> COMPUTED BY W3FA12.
24
C> FL ARG LIST 31 COMPLEX SPACE FOR FOURIER COEFF.
25
C> WORK ARG LIST 144 REAL WORK SPACE FOR SUBR. W3FT12
26
C> TRIGS ARG LIST 216 PRECOMPUTED TRIG FUNCS. USED
27
C> IN W3FT12, COMPUTED BY W3FA13
28
C>
29
C> OUTPUT VARIABLES:
30
C> NAMES INTERFACE DESCRIPTION OF VARIABLES AND TYPES
31
C> ------ --------- -----------------------------------------------
32
C> GN ARG LIST (145,37) GRID VALUES.
33
C> 5365 POINT GRID IS TYPE 29 OR 1D HEX O.N. 84
34
C>
35
C> SUBPROGRAMS CALLED:
36
C> NAMES LIBRARY
37
C> ------------------------------------------------------- --------
38
C> AIMAG CMPLX REAL SYSTEM
39
C> W3FT12 W3LIB
40
C>
41
C> WARNING: W3FT08 WAS OPTIMIZED TO RUN IN A SMALL AMOUNT OF
42
C> MEMORY, IT WAS NOT OPTIMIZED FOR SPEED, 70 PERCENT OF THE TIME WAS
43
C> USED BY SUBROUTINE W3FA12 COMPUTING THE LEGENDRE POLYNOMIALS. SINCE
44
C> THE LEGENDRE POLYNOMIALS ARE CONSTANT THEY NEED TO BE COMPUTED
45
C> ONLY ONCE IN A PROGRAM. BY MOVING W3FA12 TO THE MAIN PROGRAM AND
46
C> COMPUTING PLN AS A (32,31,37) ARRAY AND CHANGING THIS SUBROUTINE
47
C> TO USE PLN AS A THREE DIMENSION ARRAY THE RUNNING TIME WAS CUT
48
C> 70 PERCENT. ADD FOLLOWING CODE TO MAIN PROGRAM TO COMPUTE EPS, PLN,
49
C> TRIGS, AND RCOS ONE TIME IN PROGRAM.
50
C>
51
C> DOUBLE PRECISION EPS(992) (REAL ON CRAY)
52
C> DOUBLE PRECISION COLRA (REAL ON CRAY)
53
C>
54
C> REAL PLN( 32, 31, 37 )
55
C> REAL RCOS(37)
56
C> REAL TRIGS(216)
57
C>
58
C> DATA PI /3.14159265/
59
C>
60
C> DRAD = 2.5 * PI / 180.0
61
C> CALL W3FA11(EPS,30)
62
C> CALL W3FA13(TRIGS,RCOS)
63
C> DO LAT = 1,37
64
C> COLRA = (LAT - 1) * DRAD
65
C> CALL W3FA12 (PLN(1,1,LAT), COLRA, 30, EPS)
66
C> END DO
67
C>
68
C> ATTRIBUTES:
69
C> LANGUAGE: CRAY CFT77 FORTRAN
70
C> MACHINE: CRAY Y-MP8/864, CRAY Y-MP EL2/128
71
C>
72
SUBROUTINE
w3ft38
(FLN,GN,PLN,FL,WORK,TRIGS)
73
C
74
COMPLEX
FL( 31 )
75
COMPLEX
FLN( 31 , 31 )
76
C
77
REAL
GN(145,37)
78
REAL
PLN( 32, 31, 37 )
79
REAL
TRIGS(216)
80
REAL
WORK(144)
81
C
82
SAVE
83
C
84
DO
400 lat = 1,37
85
latn = 38 - lat
86
C
87
DO
100 l = 1, 31
88
fl(l) = (0.,0.)
89
100
CONTINUE
90
C
91
DO
300 l = 1, 31
92
DO
200 i = 1, 31
93
fl(l) = fl(l) + cmplx(pln(i,l,lat) * real(fln(i,l)) ,
94
& pln(i,l,lat) * 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
w3ft38
subroutine w3ft38(FLN, GN, PLN, FL, WORK, TRIGS)
SUBPROGRAM: W3FT38 COMPUTES 2.5 X 2.5 N.
Definition:
w3ft38.f:73
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
src
w3ft38.f
Generated by
1.8.17