NCEPLIBS-sp
2.5.0
|
Spectrally interpolate scalars to polar stereo. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | sptruns (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NPS, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NISKIP, NJSKIP, JCPU, TRUE, XMESH, ORIENT, GRIDI, GN, GS) |
This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to specific pairs of polar stereographic scalar fields. More... | |
subroutine sptruns | ( | IROMB, | |
MAXWV, | |||
IDRTI, | |||
IMAXI, | |||
JMAXI, | |||
KMAX, | |||
NPS, | |||
IPRIME, | |||
ISKIPI, | |||
JSKIPI, | |||
KSKIPI, | |||
KGSKIP, | |||
NISKIP, | |||
NJSKIP, | |||
JCPU, | |||
TRUE, | |||
XMESH, | |||
ORIENT, | |||
real, dimension(*) | GRIDI, | ||
real, dimension(*) | GN, | ||
real, dimension(*) | GS | ||
) |
This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to specific pairs of polar stereographic scalar fields.
The wave-space can be either triangular or rhomboidal. The grid-space can be either an equally-spaced grid (with or without pole points) or a Gaussian grid. The grid fields may have general indexing. The transforms are all multiprocessed. Transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.
PROGRAM HISTORY LOG: 96-02-29 IREDELL
IROMB | - INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL) |
MAXWV | - INTEGER SPECTRAL TRUNCATION |
IDRTI | - INTEGER INPUT GRID IDENTIFIER (IDRTI=4 FOR GAUSSIAN GRID, IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) |
IMAXI | - INTEGER EVEN NUMBER OF INPUT LONGITUDES. |
JMAXI | - INTEGER NUMBER OF INPUT LATITUDES. |
KMAX | - INTEGER NUMBER OF FIELDS TO TRANSFORM. |
NPS | - INTEGER ODD ORDER OF THE POLAR STEREOGRAPHIC GRIDS |
IPRIME | - INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN. (DEFAULTS TO 1 IF IPRIME=0) (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.) |
ISKIPI | - INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPI=0) |
JSKIPI | - INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXI IF JSKIPI=0) |
KSKIPI | - INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0) |
KGSKIP | - INTEGER SKIP NUMBER BETWEEN GRID FIELDS (DEFAULTS TO NPS*NPS IF KGSKIP=0) |
NISKIP | - INTEGER SKIP NUMBER BETWEEN GRID I-POINTS (DEFAULTS TO 1 IF NISKIP=0) |
NJSKIP | - INTEGER SKIP NUMBER BETWEEN GRID J-POINTS (DEFAULTS TO NPS IF NJSKIP=0) |
JCPU | - INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0) |
TRUE | - REAL LATITUDE AT WHICH PS GRID IS TRUE (USUALLY 60.) |
XMESH | - REAL GRID LENGTH AT TRUE LATITUDE (M) |
ORIENT | - REAL LONGITUDE AT BOTTOM OF NORTHERN PS GRID (SOUTHERN PS GRID WILL HAVE OPPOSITE ORIENTATION.) |
GRIDI | - REAL (*) INPUT GRID FIELDS |
GN | - REAL (*) NORTHERN POLAR STEREOGRAPHIC FIELDS |
GS | - REAL (*) SOUTHERN POLAR STEREOGRAPHIC FIELDS |
SUBPROGRAMS CALLED:
Minimum grid dimensions for unaliased transforms to spectral:
DIMENSION | LINEAR | QUADRATIC |
---|---|---|
IMAX | 2*MAXWV+2 | 3*MAXWV/2*2+2 |
JMAX (IDRT=4,IROMB=0) | 1*MAXWV+1 | 3*MAXWV/2+1 |
JMAX (IDRT=4,IROMB=1) | 2*MAXWV+1 | 5*MAXWV/2+1 |
JMAX (IDRT=0,IROMB=0) | 2*MAXWV+3 | 3*MAXWV/2*2+3 |
JMAX (IDRT=0,IROMB=1) | 4*MAXWV+3 | 5*MAXWV/2*2+3 |
JMAX (IDRT=256,IROMB=0) | 2*MAXWV+1 | 3*MAXWV/2*2+1 |
JMAX (IDRT=256,IROMB=1) | 4*MAXWV+1 | 5*MAXWV/2*2+1 |