NCEPLIBS-sp  2.3.3
spffte.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine spffte (IMAX, INCW, INCG, KMAX, W, G, IDIR, AFFT)
 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
Date
96-02-20

Definition in file spffte.f.

Function/Subroutine Documentation

◆ spffte()

subroutine spffte ( integer, intent(in)  IMAX,
integer, intent(in)  INCW,
integer, intent(in)  INCG,
integer, intent(in)  KMAX,
real, dimension(2*incw,kmax), intent(inout)  W,
real, dimension(incg,kmax), intent(inout)  G,
integer, intent(in)  IDIR,
real(8), dimension(50000+4*imax), intent(inout)  AFFT 
)

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

Subprogram SPFFTE 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.

PROGRAM HISTORY LOG:

  • 1998-12-18 IREDELL
  • 2012-11-12 MIRVIS -fixing hard-wired types problem on Intel/Linux
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 TRIGONOMETRIC DATA
  • IDIR>0 TO TRANSFORM FROM FOURIER TO PHYSICAL SPACE
  • IDIR<0 TO TRANSFORM FROM PHYSICAL TO FOURIER SPACE
[out]AFFTREAL(8) (50000+4*IMAX) AUXILIARY ARRAY IF IDIR<>0

SUBPROGRAMS CALLED: -scrft() IBM ESSL COMPLEX TO REAL FOURIER TRANSFORM -dcrft() IBM ESSL COMPLEX TO REAL FOURIER TRANSFORM -srcft() IBM ESSL REAL TO COMPLEX FOURIER TRANSFORM -drcft() IBM ESSL REAL TO COMPLEX FOURIER TRANSFORM

Note
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 thread-safe.

Definition at line 50 of file spffte.f.