NCEPLIBS-sp  2.5.0
sptezv.f File Reference

Perform a simple vector spherical transform. More...

Go to the source code of this file.

Functions/Subroutines

subroutine sptezv (IROMB, MAXWV, IDRT, IMAX, JMAX, WAVED, WAVEZ, GRIDU, GRIDV, IDIR)
 This subprogram performs a spherical transform between spectral coefficients of divergence and curl and a vector field on a global cylindrical grid. More...
 

Detailed Description

Perform a simple vector spherical transform.

Author
Iredell
Date
96-02-29

Definition in file sptezv.f.

Function/Subroutine Documentation

◆ sptezv()

subroutine sptezv (   IROMB,
  MAXWV,
  IDRT,
  IMAX,
  JMAX,
real, dimension((maxwv+1)*((iromb+1)*maxwv+2))  WAVED,
real, dimension((maxwv+1)*((iromb+1)*maxwv+2))  WAVEZ,
real, dimension(imax,jmax)  GRIDU,
real, dimension(imax,jmax)  GRIDV,
  IDIR 
)

This subprogram performs a spherical transform between spectral coefficients of divergence and curl and a vector field 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.

The wave field is in sequential 'IBM order'.

The grid field is 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
Parameters
IROMBSpectral domain shape (0 for triangular, 1 for rhomboidal)
MAXWVSpectral truncation
IDRTGrid identifier
  • IDRT=4 for Gaussian grid
  • IDRT=0 for equally-spaced grid including poles
  • IDRT=256 for equally-spaced grid excluding poles
IMAXEven number of longitudes
JMAXNumber of latitudes
[out]WAVEDWave divergence field if IDIR>0 where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2
[out]WAVEZWave vorticity field if IDIR>0 where MX=(MAXWV+1)*((IROMB+1)*MAXWV+2)/2
[out]GRIDUGrid u-wind (E->W,N->S) if IDIR<0
[out]GRIDVGrid v-wind (E->W,N->S) if IDIR<0
IDIRTransform flag (IDIR>0 for wave to grid, IDIR<0 for grid to wave)
Author
Iredell
Date
96-02-29

Definition at line 51 of file sptezv.f.

References ncpus(), and sptranfv().