TPM_FFTW Module


Uses

  • module~~tpm_fftw~~UsesGraph module~tpm_fftw TPM_FFTW MPL_MODULE MPL_MODULE module~tpm_fftw->MPL_MODULE PARKIND1 PARKIND1 module~tpm_fftw->PARKIND1 YOMHOOK YOMHOOK module~tpm_fftw->YOMHOOK iso_c_binding iso_c_binding module~tpm_fftw->iso_c_binding module~abort_trans_mod ABORT_TRANS_MOD module~tpm_fftw->module~abort_trans_mod

Used by

  • module~~tpm_fftw~~UsedByGraph module~tpm_fftw TPM_FFTW module~backend_teardown_mod BACKEND_TEARDOWN_MOD module~backend_teardown_mod->module~tpm_fftw proc~dealloc_resol DEALLOC_RESOL proc~dealloc_resol->module~tpm_fftw proc~edealloc_resol EDEALLOC_RESOL proc~edealloc_resol->module~tpm_fftw proc~eftdirad EFTDIRAD proc~eftdirad->module~tpm_fftw proc~eftinvad EFTINVAD proc~eftinvad->module~tpm_fftw proc~eledir ELEDIR proc~eledir->module~tpm_fftw proc~eledirad ELEDIRAD proc~eledirad->module~tpm_fftw proc~eleinvad ELEINVAD proc~eleinvad->module~tpm_fftw proc~eleinv~2 ELEINV proc~eleinv~2->module~tpm_fftw proc~eset_resol~2 ESET_RESOL proc~eset_resol~2->module~tpm_fftw proc~esetup_trans ESETUP_TRANS proc~esetup_trans->module~tpm_fftw proc~etrans_end~2 ETRANS_END proc~etrans_end~2->module~tpm_fftw proc~ftdir FTDIR proc~ftdir->module~tpm_fftw proc~ftdirad FTDIRAD proc~ftdirad->module~tpm_fftw proc~ftinv FTINV proc~ftinv->module~tpm_fftw proc~ftinvad FTINVAD proc~ftinvad->module~tpm_fftw proc~set_resol~2 SET_RESOL proc~set_resol~2->module~tpm_fftw proc~setup_trans SETUP_TRANS proc~setup_trans->module~tpm_fftw proc~setup_trans->module~backend_teardown_mod proc~suefft SUEFFT proc~suefft->module~tpm_fftw proc~setup_trans~2 SETUP_TRANS proc~setup_trans~2->module~backend_teardown_mod

Variables

Type Visibility Attributes Name Initial
type(FFTW_TYPE), public, ALLOCATABLE, TARGET :: FFTW_RESOL(:)
type(FFTW_TYPE), public, POINTER :: TW

Subroutines

public subroutine INIT_PLANS_FFTW(KDLON)

@brief Allocate plan bookkeeping for the active resolution.

Arguments

Type IntentOptional Attributes Name
integer(kind=JPIM), intent(in) :: KDLON

Upper bound on the transform lengths indexed in the plan cache.

public subroutine DESTROY_PLANS_FFTW()

@brief Destroy all cached FFTW plans and release the resolution-local plan tables.

Read more…

Arguments

None

public subroutine EXEC_FFTW(KTYPE, KRLEN, KCLEN, KOFF, KFIELDS, LD_ALL, PREEL)

@brief Execute FFTW transforms for arrays stored as PREEL(field,point).

Read more…

Arguments

Type IntentOptional Attributes Name
integer(kind=JPIM), intent(in) :: KTYPE

Transform direction selector: 1 for complex-to-real and -1 for real-to-complex.

integer(kind=JPIM), intent(in) :: KRLEN

Number of real values in each transform.

integer(kind=JPIM), intent(in) :: KCLEN

Storage length of the packed FFT segment in real-valued form.

integer(kind=JPIM), intent(in) :: KOFF

One-based offset of the transform segment inside PREEL.

integer(kind=JPIM), intent(in) :: KFIELDS

Number of fields to transform.

logical, intent(in) :: LD_ALL

If true, execute all fields in one batched FFTW call; otherwise transform one field at a time.

real(kind=JPRB), intent(inout) :: PREEL(:,:)

public subroutine EXEC_EFFTW(KTYPE, KRLEN, KCLEN, KOFF, KFIELDS, LD_ALL, PREEL)

@brief Execute FFTW transforms for arrays stored as PREEL(point,field).

Read more…

Arguments

Type IntentOptional Attributes Name
integer(kind=JPIM), intent(in) :: KTYPE

Transform direction selector: 1 for complex-to-real and -1 for real-to-complex.

integer(kind=JPIM), intent(in) :: KRLEN

Number of real values in each transform.

integer(kind=JPIM), intent(in) :: KCLEN

Storage length of the packed FFT segment in real-valued form.

integer(kind=JPIM), intent(in) :: KOFF

One-based offset of the transform segment inside PREEL.

integer(kind=JPIM), intent(in) :: KFIELDS

Number of fields to transform.

logical, intent(in) :: LD_ALL

If true, execute all fields in one batched FFTW call; otherwise transform one field at a time.

real(kind=JPRB), intent(inout) :: PREEL(:,:)