|
NCEPLIBS-sp
2.3.3
|
Go to the source code of this file.
Functions/Subroutines | |
| subroutine | sptrun (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, GRIDI, GRIDO) |
| This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to a possibly different global cylindrical grid. More... | |
| subroutine sptrun | ( | IROMB, | |
| MAXWV, | |||
| IDRTI, | |||
| IMAXI, | |||
| JMAXI, | |||
| IDRTO, | |||
| IMAXO, | |||
| JMAXO, | |||
| KMAX, | |||
| IPRIME, | |||
| ISKIPI, | |||
| JSKIPI, | |||
| KSKIPI, | |||
| ISKIPO, | |||
| JSKIPO, | |||
| KSKIPO, | |||
| JCPU, | |||
| real, dimension(*) | GRIDI, | ||
| real, dimension(*) | GRIDO | ||
| ) |
This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to a possibly different global cylindrical grid.
The wave-space can be either triangular or rhomboidal. either 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.
| 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. |
| IDRTO | - INTEGER OUTPUT GRID IDENTIFIER (IDRTO=4 FOR GAUSSIAN GRID, IDRTO=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTO=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES) |
| IMAXO | - INTEGER EVEN NUMBER OF OUTPUT LONGITUDES. |
| JMAXO | - INTEGER NUMBER OF OUTPUT LATITUDES. |
| KMAX | - INTEGER NUMBER OF FIELDS TO TRANSFORM. |
| 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) |
| ISKIPO | - INTEGER SKIP NUMBER BETWEEN OUTPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPO=0) |
| JSKIPO | - INTEGER SKIP NUMBER BETWEEN OUTPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXO IF JSKIPO=0) |
| KSKIPO | - INTEGER SKIP NUMBER BETWEEN OUTPUT GRID FIELDS (DEFAULTS TO IMAXO*JMAXO IF KSKIPO=0) |
| JCPU | - INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0) |
| GRIDI | - REAL (*) INPUT GRID FIELDS |
| GRIDO | - REAL (*) OUTPUT GRID FIELDS (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE) |
CALLED: SPTRAN PERFORM A SCALAR SPHERICAL TRANSFORM NCPUS GETS ENVIRONMENT NUMBER OF CPUS
REMARKS: 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