TRLTOG Subroutine

public subroutine TRLTOG(ALLOCATOR, HTRLTOG, PREEL_REAL, KF_FS, KF_GP, KF_UV_G, KF_SCALARS_G, KPTRGP, KVSETUV, KVSETSC, KVSETSC3A, KVSETSC3B, KVSETSC2, PGP, PGPUV, PGP3A, PGP3B, PGP2)

Uses

  • proc~~trltog~~UsesGraph proc~trltog TRLTOG MPL_DATA_MODULE MPL_DATA_MODULE proc~trltog->MPL_DATA_MODULE MPL_MODULE MPL_MODULE proc~trltog->MPL_MODULE OML_MOD OML_MOD proc~trltog->OML_MOD YOMHOOK YOMHOOK proc~trltog->YOMHOOK iso_c_binding iso_c_binding proc~trltog->iso_c_binding module~abort_trans_mod ABORT_TRANS_MOD proc~trltog->module~abort_trans_mod module~eq_regions_mod~2 eq_regions_mod proc~trltog->module~eq_regions_mod~2 module~openacc_ext openacc_ext proc~trltog->module~openacc_ext module~parkind_ectrans PARKIND_ECTRANS proc~trltog->module~parkind_ectrans module~pe2set_mod~2 PE2SET_MOD proc~trltog->module~pe2set_mod~2 module~tpm_distr TPM_DISTR proc~trltog->module~tpm_distr module~tpm_gen~2 TPM_GEN proc~trltog->module~tpm_gen~2 module~tpm_stats TPM_STATS proc~trltog->module~tpm_stats module~tpm_trans~2 TPM_TRANS proc~trltog->module~tpm_trans~2 mpi_f08 mpi_f08 proc~trltog->mpi_f08 module~eq_regions_mod~2->module~parkind_ectrans module~openacc_ext->iso_c_binding iso_fortran_env iso_fortran_env module~openacc_ext->iso_fortran_env module~openacc_ext_type openacc_ext_type module~openacc_ext->module~openacc_ext_type openacc openacc module~openacc_ext->openacc PARKIND1 PARKIND1 module~parkind_ectrans->PARKIND1 EC_PARKIND EC_PARKIND module~tpm_distr->EC_PARKIND module~tpm_gen~2->module~parkind_ectrans module~tpm_trans~2->iso_c_binding module~tpm_trans~2->module~parkind_ectrans module~growing_allocator_mod GROWING_ALLOCATOR_MOD module~tpm_trans~2->module~growing_allocator_mod module~growing_allocator_mod->iso_c_binding module~openacc_ext_type->iso_c_binding

*** *trltog * - transposition of grid point data from latitudinal to column structure. This takes place between inverse FFT and grid point calculations. TRLTOG is the inverse of TRGTOL

  • Interface. ---------- call *trltog(...)

    1. Some initializations -------------------- this is safe-but-slow fallback for running without GPU-aware MPI

this is safe-but-slow fallback for running without GPU-aware MPI

Arguments

Type IntentOptional Attributes Name
type(BUFFERED_ALLOCATOR), intent(in) :: ALLOCATOR
type(TRLTOG_HANDLE) :: HTRLTOG
real(kind=JPRBT), intent(inout), POINTER :: PREEL_REAL(:)
integer(kind=JPIM), intent(in) :: KF_FS
integer(kind=JPIM), intent(in) :: KF_GP
integer(kind=JPIM), intent(in) :: KF_UV_G
integer(kind=JPIM), intent(in) :: KF_SCALARS_G
integer(kind=JPIM), intent(in), optional :: KPTRGP(:)
integer(kind=JPIM), intent(in), optional :: KVSETUV(:)
integer(kind=JPIM), intent(in), optional :: KVSETSC(:)
integer(kind=JPIM), intent(in), optional :: KVSETSC3A(:)
integer(kind=JPIM), intent(in), optional :: KVSETSC3B(:)
integer(kind=JPIM), intent(in), optional :: KVSETSC2(:)
real(kind=JPRB), intent(out), optional :: PGP(:,:,:)
real(kind=JPRB), intent(out), optional :: PGPUV(:,:,:,:)
real(kind=JPRB), intent(out), optional :: PGP3A(:,:,:,:)
real(kind=JPRB), intent(out), optional :: PGP3B(:,:,:,:)
real(kind=JPRB), intent(out), optional :: PGP2(:,:,:)

Calls

proc~~trltog~~CallsGraph proc~trltog TRLTOG dr_hook dr_hook proc~trltog->dr_hook interface~assign_ptr ASSIGN_PTR proc~trltog->interface~assign_ptr interface~ext_acc_pass ext_acc_pass proc~trltog->interface~ext_acc_pass mpi_irecv mpi_irecv proc~trltog->mpi_irecv mpi_isend mpi_isend proc~trltog->mpi_isend mpl_barrier mpl_barrier proc~trltog->mpl_barrier mpl_comm_oml mpl_comm_oml proc~trltog->mpl_comm_oml mpl_wait mpl_wait proc~trltog->mpl_wait oml_my_thread oml_my_thread proc~trltog->oml_my_thread proc~abort_trans ABORT_TRANS proc~trltog->proc~abort_trans proc~ext_acc_create ext_acc_create proc~trltog->proc~ext_acc_create proc~ext_acc_delete ext_acc_delete proc~trltog->proc~ext_acc_delete proc~get_allocation GET_ALLOCATION proc~trltog->proc~get_allocation proc~gstats_nvtx GSTATS_NVTX proc~trltog->proc~gstats_nvtx proc~pe2set PE2SET proc~trltog->proc~pe2set 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 acc_create acc_create proc~ext_acc_create->acc_create acc_delete acc_delete proc~ext_acc_delete->acc_delete proc~get_allocation->proc~abort_trans proc~pe2set->proc~abort_trans

Called by

proc~~trltog~~CalledByGraph proc~trltog TRLTOG proc~ftdir_ctlad FTDIR_CTLAD proc~ftdir_ctlad->proc~trltog proc~ftinv_ctl FTINV_CTL proc~ftinv_ctl->proc~trltog proc~inv_trans_ctl INV_TRANS_CTL proc~inv_trans_ctl->proc~trltog proc~dir_trans_ctlad DIR_TRANS_CTLAD proc~dir_trans_ctlad->proc~ftdir_ctlad proc~inv_trans INV_TRANS proc~inv_trans->proc~inv_trans_ctl proc~inv_trans_ctl~2 INV_TRANS_CTL proc~inv_trans_ctl~2->proc~ftinv_ctl proc~inv_trans~2 INV_TRANS proc~inv_trans~2->proc~inv_trans_ctl proc~dir_transad~2 DIR_TRANSAD proc~dir_transad~2->proc~dir_trans_ctlad