NCEPLIBS-sp
2.3.3
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | sptgpm (IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVE, GM) |
This subprogram performs a spherical transform from spectral coefficients of scalar quantities to scalar fields on a mercator grid. More... | |
subroutine sptgpm | ( | IROMB, | |
MAXWV, | |||
KMAX, | |||
MI, | |||
MJ, | |||
KWSKIP, | |||
KGSKIP, | |||
NISKIP, | |||
NJSKIP, | |||
RLAT1, | |||
RLON1, | |||
DLAT, | |||
DLON, | |||
real, dimension(*) | WAVE, | ||
real, dimension(*) | GM | ||
) |
This subprogram performs a spherical transform from spectral coefficients of scalar quantities to scalar fields on a mercator grid.
The wave-space can be either triangular or rhomboidal. The wave and grid fields may have general indexing, but each wave field is in sequential 'ibm order', i.e. with zonal wavenumber as the slower index. The mercator grid is identified by the location of its first point and by its respective increments. The transforms are all multiprocessed over sector points. 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 |
KMAX | - INTEGER NUMBER OF FIELDS TO TRANSFORM. |
MI | - INTEGER NUMBER OF POINTS IN THE FASTER ZONAL DIRECTION |
MJ | - INTEGER NUMBER OF POINTS IN THE SLOWER MERID DIRECTION |
KWSKIP | - INTEGER SKIP NUMBER BETWEEN WAVE FIELDS (DEFAULTS TO (MAXWV+1)*((IROMB+1)*MAXWV+2) IF KWSKIP=0) |
KGSKIP | - INTEGER SKIP NUMBER BETWEEN GRID FIELDS (DEFAULTS TO MI*MJ IF KGSKIP=0) |
NISKIP | - INTEGER SKIP NUMBER BETWEEN GRID I-POINTS (DEFAULTS TO 1 IF NISKIP=0) |
NJSKIP | - INTEGER SKIP NUMBER BETWEEN GRID J-POINTS (DEFAULTS TO MI IF NJSKIP=0) |
RLAT1 | - REAL LATITUDE OF THE FIRST GRID POINT IN DEGREES |
RLON1 | - REAL LONGITUDE OF THE FIRST GRID POINT IN DEGREES |
DLAT | - REAL LATITUDE INCREMENT IN DEGREES SUCH THAT D(PHI)/D(J)=DLAT*COS(PHI) WHERE J IS MERIDIONAL INDEX. DLAT IS NEGATIVE FOR GRIDS INDEXED SOUTHWARD. (IN TERMS OF GRID INCREMENT DY VALID AT LATITUDE RLATI, THE LATITUDE INCREMENT DLAT IS DETERMINED AS DLAT=DPR*DY/(RERTH*COS(RLATI/DPR)) WHERE DPR=180/PI AND RERTH IS EARTH'S RADIUS) |
DLON | - REAL LONGITUDE INCREMENT IN DEGREES SUCH THAT D(LAMBDA)/D(I)=DLON WHERE I IS ZONAL INDEX. DLON IS NEGATIVE FOR GRIDS INDEXED WESTWARD. |
WAVE | - REAL (*) WAVE FIELDS |
GM | - REAL (*) MERCATOR FIELDS |
SUBPROGRAMS CALLED: