|
NCEPLIBS-ip
5.1.0
|
Spectrally interpolate vectors to stations. More...
Go to the source code of this file.
Functions/Subroutines | |
| subroutine | sptrungv (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, KMAX, NMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, KGSKIP, NRSKIP, NGSKIP, JCPU, RLAT, RLON, GRIDUI, GRIDVI, LUV, UP, VP, LDZ, DP, ZP, LPS, PP, SP) |
| THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTORS FIELDS ON A GLOBAL CYLINDRICAL GRID, RETURNING THE FIELDS TO SPECIFIED SETS OF STATION POINTS ON THE GLOBE. More... | |
| subroutine sptrungv | ( | IROMB, | |
| MAXWV, | |||
| IDRTI, | |||
| IMAXI, | |||
| JMAXI, | |||
| KMAX, | |||
| NMAX, | |||
| IPRIME, | |||
| ISKIPI, | |||
| JSKIPI, | |||
| KSKIPI, | |||
| KGSKIP, | |||
| NRSKIP, | |||
| NGSKIP, | |||
| JCPU, | |||
| real, dimension(*) | RLAT, | ||
| real, dimension(*) | RLON, | ||
| real, dimension(*) | GRIDUI, | ||
| real, dimension(*) | GRIDVI, | ||
| logical | LUV, | ||
| real, dimension(*) | UP, | ||
| real, dimension(*) | VP, | ||
| logical | LDZ, | ||
| real, dimension(*) | DP, | ||
| real, dimension(*) | ZP, | ||
| logical | LPS, | ||
| real, dimension(*) | PP, | ||
| real, dimension(*) | SP | ||
| ) |
THIS SUBPROGRAM SPECTRALLY TRUNCATES VECTORS 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.
PROGRAM HISTORY LOG:
| 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) |
| GRIDUI | - REAL (*) INPUT GRID U-WINDS |
| GRIDVI | - REAL (*) INPUT GRID V-WINDS |
| LUV | - LOGICAL FLAG WHETHER TO RETURN WINDS |
| LDZ | - LOGICAL FLAG WHETHER TO RETURN DIVERGENCE AND VORTICITY |
| LPS | - LOGICAL FLAG WHETHER TO RETURN POTENTIAL AND STREAMFCN |
| UP | - REAL (*) STATION U-WINDS IF LUV |
| VP | - REAL (*) STATION V-WINDS IF LUV |
| DP | - REAL (*) STATION DIVERGENCES IF LDZ |
| ZP | - REAL (*) STATION VORTICITIES IF LDZ |
| PP | - REAL (*) STATION POTENTIALS IF LPS |
| SP | - REAL (*) STATION STREAMFCNS IF LPS |
SUBPROGRAMS CALLED:
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 |
Definition at line 81 of file sptrungv.f.
References ncpus(), splaplac(), sptgpt(), sptgptv(), sptranv(), and spwget().
Referenced by spectral_interp_mod::polatev4::polatev4_grib1(), and spectral_interp_mod::polatev4::polatev4_grib2().