Computes 2.5 x 2.5 n.
More...
Go to the source code of this file.
|
subroutine | w3ft38 (fln, gn, pln, fl, work, trigs) |
| Computes 2.5 x 2.5 n.
|
|
Computes 2.5 x 2.5 n.
hemi. grid-scaler
- Author
- Ralph Jones
- Date
- 1993-07-23
Definition in file w3ft38.f.
◆ w3ft38()
subroutine w3ft38 |
( |
complex, dimension( 31 , 31 ) |
fln, |
|
|
real, dimension(145,37) |
gn, |
|
|
real, dimension( 32, 31, 37 ) |
pln, |
|
|
complex, dimension( 31 ) |
fl, |
|
|
real, dimension(144) |
work, |
|
|
real, dimension(216) |
trigs |
|
) |
| |
Computes 2.5 x 2.5 n.
hemi. grid of 145 x 37 points from spectral coefficients in a rhomboidal 30 resolution representing a scaler field.
Program History Log:
Date | Programmer | Comment |
1993-07-23 | Ralph Jones | New version of w3ft08(), takes out w3fa12() |
makes pln 3 dimensions, pln is computed one time in main program, trades\ memory for more speed. w3fa12() used 70% of cpu time.
- Parameters
-
[in] | FLN | 961 complex coeff. |
[in] | PLN | (32,31,37) real space with legendre polynomials computed by w3fa12(). |
[in] | FL | 31 complex space for fourier coeff. |
[in] | WORK | 144 real work space for subr. w3ft12() |
[in] | TRIGS | 216 precomputed trig funcs. Used in w3ft12(), computed by w3fa13() |
[out] | GN | (145,37) grid values. 5365 point grid is type 29 or 1d hex o.n. 84 |
- Note
- w3ft08() was optimized to run in a small amount of memory, it was not optimized for speed, 70 percent of the time was used by subroutine w3fa12() computing the legendre polynomials. Since the legendre polynomials are constant they need to be computed only once in a program. By moving w3fa12() to the main program and computing pln as a (32,31,37) array and changing this subroutine to use pln as a three dimension array the running time was cut 70 percent. Add following code to main program to compute eps, pln, trigs, and rcos one time in program.
DOUBLE PRECISION EPS(992) (REAL ON CRAY)
DOUBLE PRECISION COLRA (REAL ON CRAY)
REAL PLN( 32, 31, 37 )
REAL RCOS(37)
REAL TRIGS(216)
DATA pi /3.14159265/
drad = 2.5 * pi / 180.0
DO lat = 1,37
colra = (lat - 1) * drad
CALL w3fa12 (pln(1,1,lat), colra, 30, eps)
END DO
subroutine w3fa11(eps, jcap)
Subroutine computes double precision coefficients used in generating legendre polynomials in subr.
subroutine w3fa12(pln, colrad, jcap, eps)
Subroutine computes legendre polynomials at a given latitude.
subroutine w3fa13(trigs, rcos)
Computes trig functions used in 2.5 by 2.5 lat,lon mapping routines.
Definition at line 53 of file w3ft38.f.