FV3 Bundle
fft_mod

This module performs simultaneous fast Fourier transforms (FFTs) between real grid space and complex Fourier space. More...

Collaboration diagram for fft_mod:

Modules

 fft_grid_to_fourier
 Given multiple sequences of real data values, this routine computes the complex Fourier transform for all sequences.
 
 fft_fourier_to_grid
 Given multiple sequences of Fourier space transforms, this routine computes the inverse transform and returns the real data values for all sequences.
 

Functions/Subroutines

subroutine, public fft_mod::fft_end
 This routine is called to unset the transform size and deallocate memory. More...
 

Detailed Description

This module performs simultaneous fast Fourier transforms (FFTs) between real grid space and complex Fourier space.

Author
Bruce Wyman Bruce.nosp@m..Wym.nosp@m.an@no.nosp@m.aa.g.nosp@m.ov

This routine computes multiple 1-dimensional FFTs and inverse FFTs. There are 2d and 3d versions between type real grid point space and type complex Fourier space. There are single (32-bit) and full (64-bit) versions.

On Cray and SGI systems, vendor-specific scientific library routines are used, otherwise a user may choose a NAG library version or stand-alone version using Temperton's FFT.

fft uses the SCILIB on SGICRAY, otherwise the NAG library or a standalone version of Temperton's fft is used:

The following NAG routines are used: c06fpf, c06gqf, c06fqf. These routine names may be slightly different on different platforms.

Modules Included:

Module Name Conditions Functions Included
platform_mod R8_KIND, R4_KIND
fms_mod write_version_number, error_mesg, FATAL <>
fft99_mod if not on SGICRAY fft991, set99

Function/Subroutine Documentation

◆ fft_end()

fft_mod::fft_end ( )

This routine is called to unset the transform size and deallocate memory.

This routine is called to unset the transform size and deallocate memory. It can not be called unless fft_init has already been called. There are no arguments.

Exceptions
FATAL"attempt to un-initialize fft that has not been initialized"
You can not call fft_end unless fft_init has been called.

<TEMPLATE> call fft_end </TEMPLATE>

Definition at line 1069 of file fft.F90.

Here is the call graph for this function:
Here is the caller graph for this function: