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