NCEPLIBS-sp  2.3.3
spfft.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine spfft (IMAX, INCW, INCG, KMAX, W, G, IDIR)
 This subprogram performs multiple fast fourier transforms between complex amplitudes in fourier space and real values in cyclic physical space. More...
 

Detailed Description

Perform multiple fast fourier transforms.

Author
IREDELL ORG: W/NMC23
Date
96-02-20

Definition in file spfft.f.

Function/Subroutine Documentation

◆ spfft()

subroutine spfft ( integer, intent(in)  IMAX,
integer, intent(in)  INCW,
integer, intent(in)  INCG,
integer, intent(in)  KMAX,
complex, dimension(incw,kmax), intent(inout)  W,
real, dimension(incg,kmax), intent(inout)  G,
integer, intent(in)  IDIR 
)

This subprogram performs multiple fast fourier transforms between complex amplitudes in fourier space and real values in cyclic physical space.

Subprogram spfft must be invoked first with idir=0 to initialize trigonemetric data. Use subprogram spfft1 to perform an fft without previous initialization. This version invokes the ibm essl fft.

the restrictions on imax are that it must be a multiple of 1 to 25 factors of two, up to 2 factors of three, and up to 1 factor of five, seven and eleven.

If IDIR=0, then W and G need not contain any valid data. the other parameters must be supplied and cannot change in succeeding calls until the next time it is called with IDIR=0.

This subprogram is not thread-safe when IDIR=0. On the other hand, when IDIR is not zero, it can be called from a threaded region.

Parameters
IMAX- INTEGER NUMBER OF VALUES IN THE CYCLIC PHYSICAL SPACE (SEE LIMITATIONS ON IMAX IN REMARKS BELOW.)
INCW- INTEGER FIRST DIMENSION OF THE COMPLEX AMPLITUDE ARRAY (INCW >= IMAX/2+1)
INCG- INTEGER FIRST DIMENSION OF THE REAL VALUE ARRAY (INCG >= IMAX)
KMAX- INTEGER NUMBER OF TRANSFORMS TO PERFORM
[out]W- COMPLEX(INCW,KMAX) COMPLEX AMPLITUDES IF IDIR>0
[out]G- REAL(INCG,KMAX) REAL VALUES IF IDIR<0
IDIR- INTEGER DIRECTION FLAG IDIR=0 TO INITIALIZE INTERNAL TRIGONOMETRIC DATA IDIR>0 TO TRANSFORM FROM FOURIER TO PHYSICAL SPACE IDIR<0 TO TRANSFORM FROM PHYSICAL TO FOURIER SPACE

CALLED:

  • SCRFT() IBM ESSL COMPLEX TO REAL FOURIER TRANSFORM
  • SRCFT() IBM ESSL REAL TO COMPLEX FOURIER TRANSFORM

Definition at line 43 of file spfft.f.