NCEPLIBS-sp
2.5.0
|
Transform spectral to Mercator gradients. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | sptgpmd (IROMB, MAXWV, KMAX, MI, MJ, KWSKIP, KGSKIP, NISKIP, NJSKIP, RLAT1, RLON1, DLAT, DLON, WAVE, XM, YM) |
This subprogram performs a spherical transform from spectral coefficients of scalar fields to gradient fields on a Mercator grid. More... | |
subroutine sptgpmd | ( | IROMB, | |
MAXWV, | |||
KMAX, | |||
MI, | |||
MJ, | |||
KWSKIP, | |||
KGSKIP, | |||
NISKIP, | |||
NJSKIP, | |||
RLAT1, | |||
RLON1, | |||
DLAT, | |||
DLON, | |||
real, dimension(*) | WAVE, | ||
real, dimension(*) | XM, | ||
real, dimension(*) | YM | ||
) |
This subprogram performs a spherical transform from spectral coefficients of scalar fields to gradient 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.
IROMB | Spectral domain shape (0 for triangular, 1 for rhomboidal) |
MAXWV | Spectral truncation |
KMAX | Number of fields to transform |
MI | Number of points in the faster zonal direction |
MJ | Number of points in the slower merid direction |
KWSKIP | Skip number between wave fields (defaults to (MAXWV+1)*((IROMB+1)*MAXWV+2) if KWSKIP=0) |
KGSKIP | Skip number between grid fields (defaults to MI*MJ if KGSKIP=0) |
NISKIP | Skip number between grid i-points (defaults to 1 if NISKIP=0) |
NJSKIP | Skip number between grid j-points (defaults to MI if NJSKIP=0) |
RLAT1 | Latitude of the first grid point in degrees |
RLON1 | Longitude of the first grid point in degrees |
DLAT | 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 | Longitude increment in degrees such that D(LAMBDA)/D(I)=DLON where I is zonal index. DLON is negative for grids indexed westward. |
WAVE | Wave fields |
XM | Mercator x-gradients |
YM | Mercator y-gradients |
Definition at line 53 of file sptgpmd.f.
References splaplac(), sptgpmv(), and spwget().