|
NCEPLIBS-ip 5.3.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. | |
| 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().