NCEPLIBS-ip 5.2.0
|
Spectrally interpolate scalars to stations. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | sptrung (iromb, maxwv, idrti, imaxi, jmaxi, kmax, nmax, iprime, iskipi, jskipi, kskipi, kgskip, nrskip, ngskip, jcpu, rlat, rlon, gridi, gp) |
This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to specified sets of station points on the globe. | |
subroutine sptrung | ( | iromb, | |
maxwv, | |||
idrti, | |||
imaxi, | |||
jmaxi, | |||
kmax, | |||
nmax, | |||
iprime, | |||
iskipi, | |||
jskipi, | |||
kskipi, | |||
kgskip, | |||
nrskip, | |||
ngskip, | |||
jcpu, | |||
real, dimension(*) | rlat, | ||
real, dimension(*) | rlon, | ||
real, dimension(*) | gridi, | ||
real, dimension(*) | gp | ||
) |
This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to specified sets of station points on the globe.
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 and point 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. | |
KMAX | - INTEGER NUMBER OF FIELDS TO TRANSFORM. | |
NMAX | - INTEGER NUMBER OF STATION POINTS TO RETURN | |
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 STATION POINT SETS (DEFAULTS TO NMAX IF KGSKIP=0) | |
NRSKIP | - INTEGER SKIP NUMBER BETWEEN STATION LATS AND LONS (DEFAULTS TO 1 IF NRSKIP=0) | |
NGSKIP | - INTEGER SKIP NUMBER BETWEEN STATION POINTS (DEFAULTS TO 1 IF NGSKIP=0) | |
RLAT | - REAL (*) STATION LATITUDES IN DEGREES | |
RLON | - REAL (*) STATION LONGITUDES IN DEGREES | |
JCPU | - INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0) | |
GRIDI | - REAL (*) INPUT GRID FIELDS | |
[out] | GP | - REAL (*) STATION POINT SETS |
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 |
Definition at line 65 of file sptrung.f.
References ncpus(), sptgpt(), and sptran().
Referenced by spectral_interp_mod::polates4::polates4_grib1(), and spectral_interp_mod::polates4::polates4_grib2().