NCEPLIBS-sp  2.3.3
sptrun.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine sptrun (IROMB, MAXWV, IDRTI, IMAXI, JMAXI, IDRTO, IMAXO, JMAXO, KMAX, IPRIME, ISKIPI, JSKIPI, KSKIPI, ISKIPO, JSKIPO, KSKIPO, JCPU, GRIDI, GRIDO)
 This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to a possibly different global cylindrical grid. More...
 

Detailed Description

truncate gridded scalar fields.

Author
: IREDELL
Date
: 96-02-29

Definition in file sptrun.f.

Function/Subroutine Documentation

◆ sptrun()

subroutine sptrun (   IROMB,
  MAXWV,
  IDRTI,
  IMAXI,
  JMAXI,
  IDRTO,
  IMAXO,
  JMAXO,
  KMAX,
  IPRIME,
  ISKIPI,
  JSKIPI,
  KSKIPI,
  ISKIPO,
  JSKIPO,
  KSKIPO,
  JCPU,
real, dimension(*)  GRIDI,
real, dimension(*)  GRIDO 
)

This subprogram spectrally truncates scalar fields on a global cylindrical grid, returning the fields to a possibly different global cylindrical grid.

The wave-space can be either triangular or rhomboidal. either grid-space can be either an equally-spaced grid (with or without pole points) or a gaussian grid. the grid fields may have general indexing. the transforms are all multiprocessed. Transform several fields at a time to improve vectorization. Subprogram can be called from a multiprocessing environment.

Parameters
IROMB- INTEGER SPECTRAL DOMAIN SHAPE (0 FOR TRIANGULAR, 1 FOR RHOMBOIDAL)
MAXWV- INTEGER SPECTRAL TRUNCATION
IDRTI- INTEGER INPUT GRID IDENTIFIER (IDRTI=4 FOR GAUSSIAN GRID, IDRTI=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTI=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)
IMAXI- INTEGER EVEN NUMBER OF INPUT LONGITUDES.
JMAXI- INTEGER NUMBER OF INPUT LATITUDES.
IDRTO- INTEGER OUTPUT GRID IDENTIFIER (IDRTO=4 FOR GAUSSIAN GRID, IDRTO=0 FOR EQUALLY-SPACED GRID INCLUDING POLES, IDRTO=256 FOR EQUALLY-SPACED GRID EXCLUDING POLES)
IMAXO- INTEGER EVEN NUMBER OF OUTPUT LONGITUDES.
JMAXO- INTEGER NUMBER OF OUTPUT LATITUDES.
KMAX- INTEGER NUMBER OF FIELDS TO TRANSFORM.
IPRIME- INTEGER INPUT LONGITUDE INDEX FOR THE PRIME MERIDIAN. (DEFAULTS TO 1 IF IPRIME=0) (OUTPUT LONGITUDE INDEX FOR PRIME MERIDIAN ASSUMED 1.)
ISKIPI- INTEGER SKIP NUMBER BETWEEN INPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPI=0)
JSKIPI- INTEGER SKIP NUMBER BETWEEN INPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXI IF JSKIPI=0)
KSKIPI- INTEGER SKIP NUMBER BETWEEN INPUT GRID FIELDS (DEFAULTS TO IMAXI*JMAXI IF KSKIPI=0)
ISKIPO- INTEGER SKIP NUMBER BETWEEN OUTPUT LONGITUDES (DEFAULTS TO 1 IF ISKIPO=0)
JSKIPO- INTEGER SKIP NUMBER BETWEEN OUTPUT LATITUDES FROM SOUTH (DEFAULTS TO -IMAXO IF JSKIPO=0)
KSKIPO- INTEGER SKIP NUMBER BETWEEN OUTPUT GRID FIELDS (DEFAULTS TO IMAXO*JMAXO IF KSKIPO=0)
JCPU- INTEGER NUMBER OF CPUS OVER WHICH TO MULTIPROCESS (DEFAULTS TO ENVIRONMENT NCPUS IF JCPU=0)
GRIDI- REAL (*) INPUT GRID FIELDS
GRIDO- REAL (*) OUTPUT GRID FIELDS (MAY OVERLAY INPUT FIELDS IF GRID SHAPE IS APPROPRIATE)

CALLED: SPTRAN PERFORM A SCALAR SPHERICAL TRANSFORM NCPUS GETS ENVIRONMENT NUMBER OF CPUS

REMARKS: 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

Definition at line 71 of file sptrun.f.