NCEPLIBS-sp  2.3.3
sptgptvd.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine sptgptvd (IROMB, MAXWV, KMAX, NMAX, KWSKIP, KGSKIP, NRSKIP, NGSKIP, RLAT, RLON, WAVED, WAVEZ, DP, ZP, UP, VP, UXP, VXP, UYP, VYP)
 THIS SUBPROGRAM PERFORMS A SPHERICAL TRANSFORM FROM SPECTRAL COEFFICIENTS OF DIVERGENCES AND CURLS TO SPECIFIED SETS OF STATION POINT VECTORS AND THEIR GRADIENTS ON THE GLOBE. More...
 

Detailed Description

Transform spectral vector to station points

Author
IREDELL
Date
96-02-29

Definition in file sptgptvd.f.

Function/Subroutine Documentation

◆ sptgptvd()

subroutine sptgptvd (   IROMB,
  MAXWV,
  KMAX,
  NMAX,
  KWSKIP,
  KGSKIP,
  NRSKIP,
  NGSKIP,
real, dimension(*)  RLAT,
real, dimension(*)  RLON,
real, dimension(*)  WAVED,
real, dimension(*)  WAVEZ,
real, dimension(*)  DP,
real, dimension(*)  ZP,
real, dimension(*)  UP,
real, dimension(*)  VP,
real, dimension(*)  UXP,
real, dimension(*)  VXP,
real, dimension(*)  UYP,
real, dimension(*)  VYP 
)

THIS SUBPROGRAM PERFORMS A SPHERICAL TRANSFORM FROM SPECTRAL COEFFICIENTS OF DIVERGENCES AND CURLS TO SPECIFIED SETS OF STATION POINT VECTORS AND THEIR GRADIENTS ON THE GLOBE.

             DP=(D(UP)/DLON+D(VP*CLAT)/DLAT)/(R*CLAT)
             ZP=(D(VP)/DLON-D(UP*CLAT)/DLAT)/(R*CLAT)
             UXP=D(UP*CLAT)/DLON/(R*CLAT)
             VXP=D(VP*CLAT)/DLON/(R*CLAT)
             UYP=D(UP*CLAT)/DLAT/R
             VYP=D(VP*CLAT)/DLAT/R
 

THE WAVE-SPACE CAN BE EITHER TRIANGULAR OR RHOMBOIDAL. THE WAVE AND POINT FIELDS MAY HAVE GENERAL INDEXING, BUT EACH WAVE FIELD IS IN SEQUENTIAL 'IBM ORDER', I.E. WITH ZONAL WAVENUMBER AS THE SLOWER INDEX. THE TRANSFORMS ARE ALL MULTIPROCESSED OVER STATIONS. TRANSFORM SEVERAL FIELDS AT A TIME TO IMPROVE VECTORIZATION. SUBPROGRAM CAN BE CALLED FROM A MULTIPROCESSING ENVIRONMENT.

PROGRAM HISTORY LOG:

  • 96-02-29 IREDELL
  • 1998-12-15 IREDELL OPENMP DIRECTIVES INSERTED
  • 1999-08-18 IREDELL OPENMP DIRECTIVE TYPO FIXED
Parameters
IROMB- INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL)
MAXWV- INTEGER SPECTRAL TRUNCATION
KMAX- INTEGER NUMBER OF FIELDS TO TRANSFORM.
NMAX- INTEGER NUMBER OF STATION POINTS TO RETURN
KWSKIP- INTEGER SKIP NUMBER BETWEEN WAVE FIELDS (DEFAULTS TO (MAXWV+1)*((IROMB+1)*MAXWV+2) IF KWSKIP=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
WAVED- REAL (*) WAVE DIVERGENCE FIELDS
WAVEZ- REAL (*) WAVE VORTICITY FIELDS
DP- REAL (*) STATION POINT DIVERGENCE SETS
ZP- REAL (*) STATION POINT VORTICITY SETS
UP- REAL (*) STATION POINT U-WIND SETS
VP- REAL (*) STATION POINT V-WIND SETS
UXP- REAL (*) STATION POINT U-WIND X-GRADIENT SETS
VXP- REAL (*) STATION POINT V-WIND X-GRADIENT SETS
UYP- REAL (*) STATION POINT U-WIND Y-GRADIENT SETS
VYP- REAL (*) STATION POINT V-WIND Y-GRADIENT SETS

SUBPROGRAMS CALLED:

  • SPWGET GET WAVE-SPACE CONSTANTS
  • SPLEGEND COMPUTE LEGENDRE POLYNOMIALS
  • SPSYNTH SYNTHESIZE FOURIER FROM SPECTRAL
  • SPDZ2UV COMPUTE WINDS FROM DIVERGENCE AND VORTICITY
  • SPGRADX COMPUTE X-GRADIENT IN FOURIER SPACE
  • SPFFTPT COMPUTE FOURIER TRANSFORM TO GRIDPOINTS

Definition at line 68 of file sptgptvd.f.