LTDIRAD Subroutine

public subroutine LTDIRAD(ALLOCATOR, HLTDIR, ZINPS, ZINPA, ZINPS0, ZINPA0, KF_FS, KF_UV, KF_SCALARS, PSPVOR, PSPDIV, PSPSCALAR, PSPSC3A, PSPSC3B, PSPSC2, KFLDPTRUV, KFLDPTRSC)

Uses

  • proc~~ltdirad~~UsesGraph proc~ltdirad LTDIRAD MPL_MODULE MPL_MODULE proc~ltdirad->MPL_MODULE YOMHOOK YOMHOOK proc~ltdirad->YOMHOOK iso_c_binding iso_c_binding proc~ltdirad->iso_c_binding module~buffered_allocator_mod BUFFERED_ALLOCATOR_MOD proc~ltdirad->module~buffered_allocator_mod module~ledir_mod LEDIR_MOD proc~ltdirad->module~ledir_mod module~leinv_mod~2 LEINV_MOD proc~ltdirad->module~leinv_mod~2 module~prepsnm_mod PREPSNM_MOD proc~ltdirad->module~prepsnm_mod module~tpm_dim TPM_DIM proc~ltdirad->module~tpm_dim module~tpm_distr TPM_DISTR proc~ltdirad->module~tpm_distr module~tpm_gen TPM_GEN proc~ltdirad->module~tpm_gen module~tpm_geometry TPM_GEOMETRY proc~ltdirad->module~tpm_geometry module~tpm_stats TPM_STATS proc~ltdirad->module~tpm_stats module~tpm_trans TPM_TRANS proc~ltdirad->module~tpm_trans module~updspad_mod~2 UPDSPAD_MOD proc~ltdirad->module~updspad_mod~2 module~updspbad_mod~2 UPDSPBAD_MOD proc~ltdirad->module~updspbad_mod~2 module~uvtvdad_mod~2 UVTVDAD_MOD proc~ltdirad->module~uvtvdad_mod~2 module~buffered_allocator_mod->iso_c_binding EC_PARKIND EC_PARKIND module~buffered_allocator_mod->EC_PARKIND module~abort_trans_mod ABORT_TRANS_MOD module~buffered_allocator_mod->module~abort_trans_mod module~growing_allocator_mod GROWING_ALLOCATOR_MOD module~buffered_allocator_mod->module~growing_allocator_mod module~leinv_mod~2->module~buffered_allocator_mod module~parkind_ectrans PARKIND_ECTRANS module~leinv_mod~2->module~parkind_ectrans module~tpm_dim->EC_PARKIND module~tpm_distr->EC_PARKIND module~tpm_gen->EC_PARKIND module~tpm_geometry->EC_PARKIND PARKIND1 PARKIND1 module~tpm_trans->PARKIND1 module~growing_allocator_mod->iso_c_binding module~parkind_ectrans->PARKIND1

*** LTDIR - Control of Direct Legendre transform step

  • Interface. ---------- CALL LTDIR(...)

    1. PREPARE LEGENDRE POLONOMIALS AND EPSNM --------------------------------------

    2. PREPARE WORK ARRAYS. --------------------

    3. PREPARE FOURIER ARRAYS. ----------------------

    4. COPY WORK ARRAYS TO DEVICE. ---------------------------


    1. UPDATE SPECTRAL ARRAYS. -----------------------

    2. COMPUTE VORTICITY AND DIVERGENCE. ---------------------------------

Arguments

Type IntentOptional Attributes Name
type(BUFFERED_ALLOCATOR), intent(in) :: ALLOCATOR
type(LTDIRAD_HANDLE), intent(in) :: HLTDIR
real(kind=JPRBT), intent(out), POINTER :: ZINPS(:)
real(kind=JPRBT), intent(out), POINTER :: ZINPA(:)
real(kind=JPRD), intent(out), POINTER :: ZINPS0(:)
real(kind=JPRD), intent(out), POINTER :: ZINPA0(:)
integer(kind=JPIM), intent(in) :: KF_FS
integer(kind=JPIM), intent(in) :: KF_UV
integer(kind=JPIM), intent(in) :: KF_SCALARS
real(kind=JPRB), intent(in), optional :: PSPVOR(:,:)
real(kind=JPRB), intent(in), optional :: PSPDIV(:,:)
real(kind=JPRB), intent(in), optional :: PSPSCALAR(:,:)
real(kind=JPRB), intent(in), optional :: PSPSC3A(:,:,:)
real(kind=JPRB), intent(in), optional :: PSPSC3B(:,:,:)
real(kind=JPRB), intent(in), optional :: PSPSC2(:,:)
integer(kind=JPIM), intent(in), optional :: KFLDPTRUV(:)
integer(kind=JPIM), intent(in), optional :: KFLDPTRSC(:)

Calls

proc~~ltdirad~~CallsGraph proc~ltdirad LTDIRAD dr_hook dr_hook proc~ltdirad->dr_hook interface~assign_ptr ASSIGN_PTR proc~ltdirad->interface~assign_ptr ledir_strides ledir_strides proc~ltdirad->ledir_strides mpl_barrier mpl_barrier proc~ltdirad->mpl_barrier proc~get_allocation GET_ALLOCATION proc~ltdirad->proc~get_allocation proc~gstats_nvtx GSTATS_NVTX proc~ltdirad->proc~gstats_nvtx proc~leinv LEINV proc~ltdirad->proc~leinv proc~updspad UPDSPAD proc~ltdirad->proc~updspad proc~updspbad UPDSPBAD proc~ltdirad->proc~updspbad proc~uvtvdad UVTVDAD proc~ltdirad->proc~uvtvdad proc~abort_trans ABORT_TRANS proc~get_allocation->proc~abort_trans gstats gstats proc~gstats_nvtx->gstats proc~leinv->dr_hook proc~leinv->mpl_barrier proc~leinv->proc~gstats_nvtx interface~hip_dgemm_batched HIP_DGEMM_BATCHED proc~leinv->interface~hip_dgemm_batched interface~hip_dgemm_grouped HIP_DGEMM_GROUPED proc~leinv->interface~hip_dgemm_grouped proc~leinv_strides LEINV_STRIDES proc~leinv->proc~leinv_strides proc~updspad->proc~updspbad proc~updspbad->proc~abort_trans mpl_abort mpl_abort proc~abort_trans->mpl_abort sdl_srlabort sdl_srlabort proc~abort_trans->sdl_srlabort sdl_traceback sdl_traceback proc~abort_trans->sdl_traceback

Called by

proc~~ltdirad~~CalledByGraph proc~ltdirad LTDIRAD proc~dir_trans_ctlad DIR_TRANS_CTLAD proc~dir_trans_ctlad->proc~ltdirad proc~ltdir_ctlad LTDIR_CTLAD proc~ltdir_ctlad->proc~ltdirad proc~dir_trans_ctlad~2 DIR_TRANS_CTLAD proc~dir_trans_ctlad~2->proc~ltdir_ctlad proc~dir_transad DIR_TRANSAD proc~dir_transad->proc~dir_trans_ctlad proc~dir_transad~2 DIR_TRANSAD proc~dir_transad~2->proc~dir_trans_ctlad