NCEPLIBS-sp
2.5.0
|
Perform simple vector spherical transforms. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | sptezmv (IROMB, MAXWV, IDRT, IMAX, JMAX, KMAX, WAVED, WAVEZ, GRIDU, GRIDV, IDIR) |
This subprogram performs spherical transforms between spectral coefficients of divergence and curl and vector fields on a global cylindrical grid. More... | |
subroutine sptezmv | ( | IROMB, | |
MAXWV, | |||
IDRT, | |||
IMAX, | |||
JMAX, | |||
KMAX, | |||
real, dimension((maxwv+1)*((iromb+1)*maxwv+2),kmax) | WAVED, | ||
real, dimension((maxwv+1)*((iromb+1)*maxwv+2),kmax) | WAVEZ, | ||
real, dimension(imax,jmax,kmax) | GRIDU, | ||
real, dimension(imax,jmax,kmax) | GRIDV, | ||
IDIR | |||
) |
This subprogram performs spherical transforms between spectral coefficients of divergence and curl and vector fields on a global cylindrical grid.
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.
Wave fields are in sequential 'IBM ORDER'.
Grid fields are indexed east to west, then north to south.
For more flexibility and efficiency, call sptran().
Subprogram can be called from a multiprocessing environment.
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 | |
IDRT | grid identifier
| |
IMAX | even number of longitudes | |
JMAX | number of latitudes | |
KMAX | number of fields to transform | |
[out] | WAVED | wave divergence field if IDIR<0 where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2 |
[out] | WAVEZ | wave vorticity field if IDIR>0 where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2 |
[out] | GRIDU | grid u-wind (E->W,N->S) if IDIR>0 |
[out] | GRIDV | grid v-wind (E->W,N->S) if IDIR>0 |
IDIR | transform flag (IDIR>0 for wave to grid, IDIR<0 for grid to wave). |
Definition at line 53 of file sptezmv.f.
References ncpus(), and sptranfv().