TPM_HICFFT Module


Uses

  • module~~tpm_hicfft~~UsesGraph module~tpm_hicfft TPM_HICFFT iso_c_binding iso_c_binding module~tpm_hicfft->iso_c_binding module~growing_allocator_mod GROWING_ALLOCATOR_MOD module~tpm_hicfft->module~growing_allocator_mod module~parkind_ectrans PARKIND_ECTRANS module~tpm_hicfft->module~parkind_ectrans module~growing_allocator_mod->iso_c_binding PARKIND1 PARKIND1 module~parkind_ectrans->PARKIND1

Used by

  • module~~tpm_hicfft~~UsedByGraph module~tpm_hicfft TPM_HICFFT proc~dealloc_resol DEALLOC_RESOL proc~dealloc_resol->module~tpm_hicfft proc~ftdir FTDIR proc~ftdir->module~tpm_hicfft proc~ftinv FTINV proc~ftinv->module~tpm_hicfft proc~set_resol SET_RESOL proc~set_resol->module~tpm_hicfft proc~setup_trans SETUP_TRANS proc~setup_trans->module~tpm_hicfft proc~sufft SUFFT proc~sufft->module~tpm_hicfft

Variables

Type Visibility Attributes Name Initial
type(HICFFT_TYPE), public, ALLOCATABLE, TARGET :: HICFFT_RESOL(:)
type(HICFFT_TYPE), public, POINTER :: HICT

Interfaces

public interface EXECUTE_DIR_FFT

  • private subroutine EXECUTE_DIR_FFT_FLOAT(PREEL_REAL, PREEL_COMPLEX, KFIELD, LOENS, OFFSETS, ALLOC)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_FLOAT), intent(in) :: PREEL_REAL(:)
    real(kind=C_FLOAT), intent(out) :: PREEL_COMPLEX(:)
    integer(kind=JPIM), intent(in) :: KFIELD
    integer(kind=JPIM), intent(in) :: LOENS(:)
    integer(kind=JPIM), intent(in) :: OFFSETS(:)
    type(GROWING_ALLOCATION_TYPE), intent(in) :: ALLOC
  • private subroutine EXECUTE_DIR_FFT_DOUBLE(PREEL_REAL, PREEL_COMPLEX, KFIELD, LOENS, OFFSETS, ALLOC)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(in) :: PREEL_REAL(:)
    real(kind=C_DOUBLE), intent(out) :: PREEL_COMPLEX(:)
    integer(kind=JPIM), intent(in) :: KFIELD
    integer(kind=JPIM), intent(in) :: LOENS(:)
    integer(kind=JPIM), intent(in) :: OFFSETS(:)
    type(GROWING_ALLOCATION_TYPE), intent(in) :: ALLOC

public interface EXECUTE_INV_FFT

  • private subroutine EXECUTE_INV_FFT_FLOAT(PREEL_COMPLEX, PREEL_REAL, KFIELD, LOENS, OFFSETS, ALLOC)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_FLOAT), intent(in) :: PREEL_COMPLEX(:)
    real(kind=C_FLOAT), intent(out) :: PREEL_REAL(:)
    integer(kind=JPIM), intent(in) :: KFIELD
    integer(kind=JPIM), intent(in) :: LOENS(:)
    integer(kind=JPIM), intent(in) :: OFFSETS(:)
    type(GROWING_ALLOCATION_TYPE), intent(in) :: ALLOC
  • private subroutine EXECUTE_INV_FFT_DOUBLE(PREEL_COMPLEX, PREEL_REAL, KFIELD, LOENS, OFFSETS, ALLOC)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(in) :: PREEL_COMPLEX(:)
    real(kind=C_DOUBLE), intent(out) :: PREEL_REAL(:)
    integer(kind=JPIM), intent(in) :: KFIELD
    integer(kind=JPIM), intent(in) :: LOENS(:)
    integer(kind=JPIM), intent(in) :: OFFSETS(:)
    type(GROWING_ALLOCATION_TYPE), intent(in) :: ALLOC

Subroutines

public subroutine INIT_PLANS_FFT(KDLON)

Arguments

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

public subroutine CREATE_PLAN_FFT(KPLAN, KTYPE, KN, KLOT, KSTRIDE)

$OMP CRITICAL $OMP END CRITICAL

Arguments

Type IntentOptional Attributes Name
type(C_PTR), intent(out) :: KPLAN
integer(kind=C_INT), intent(in) :: KTYPE
integer(kind=C_INT), intent(in) :: KN
integer(kind=C_INT), intent(in) :: KLOT
integer(kind=C_INT), intent(in) :: KSTRIDE

public subroutine DESTROY_PLAN_FFT(KPLAN)

Arguments

Type IntentOptional Attributes Name
type(C_PTR), intent(in) :: KPLAN

public subroutine DESTROY_ALL_PLANS_FFT()

Arguments

None

public subroutine EXECUTE_PLAN_FFT(KN, N, X_IN, X_OUT, PLAN_PTR)

Arguments

Type IntentOptional Attributes Name
integer(kind=C_INT) :: KN
integer(kind=C_INT) :: N
real(kind=JPRBT), TARGET :: X_IN
real(kind=JPRBT), TARGET :: X_OUT
type(C_PTR) :: PLAN_PTR