|
NCEPLIBS-ip
5.0.0
|
Truncate gridded scalar fields. More...
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.
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 |
| IROMB | Spectral domain shape (0 for triangular, 1 for rhomboidal) |
| MAXWV | Spectral truncation |
| IDRTI | Input grid identifier
|
| IMAXI | Even number of input longitudes |
| JMAXI | Number of input latitudes |
| IDRTO | Output grid identifier
|
| IMAXO | Even number of output longitudes |
| JMAXO | Number of output latitudes |
| KMAX | Number of fields to transform |
| IPRIME | Input longitude index for the prime meridian.
|
| ISKIPI | Skip number between input longitudes (defaults to 1 if ISKIPI=0) |
| JSKIPI | Skip number between input latitudes from south (defaults to -IMAXI if JSKIPI=0) |
| KSKIPI | Skip number between input grid fields (defaults to IMAXI*JMAXI if KSKIPI=0) |
| ISKIPO | Skip number between output longitudes (defaults to 1 if ISKIPO=0) |
| JSKIPO | Skip number between output latitudes from south (defaults to -IMAXO if JSKIPO=0) |
| KSKIPO | Skip number between output grid fields (defaults to IMAXO*JMAXO if KSKIPO=0) |
| JCPU | Number of CPUs over which to multiprocess (defaults to environment NCPUS if JCPU=0) |
| GRIDI | Input grid fields |
| GRIDO | Output grid fields (may overlay input fields if grid shape is appropriate) |
Definition at line 55 of file sptrun.f.
References ncpus(), and sptran().
Referenced by spectral_interp_mod::polates4::polates4_grib1(), and spectral_interp_mod::polates4::polates4_grib2().