tpm_flt.F90 Source File


This file depends on

sourcefile~~tpm_flt.f90~~EfferentGraph sourcefile~tpm_flt.f90 tpm_flt.F90 sourcefile~parkind_ectrans.f90 parkind_ectrans.F90 sourcefile~tpm_flt.f90->sourcefile~parkind_ectrans.f90 sourcefile~seefmm_mix.f90 seefmm_mix.F90 sourcefile~tpm_flt.f90->sourcefile~seefmm_mix.f90 sourcefile~seefmm_mix.f90->sourcefile~parkind_ectrans.f90 sourcefile~wts500_mod.f90 wts500_mod.F90 sourcefile~seefmm_mix.f90->sourcefile~wts500_mod.f90 sourcefile~wts500_mod.f90->sourcefile~parkind_ectrans.f90

Files dependent on this one

sourcefile~~tpm_flt.f90~~AfferentGraph sourcefile~tpm_flt.f90 tpm_flt.F90 sourcefile~cdmap_mod.f90 cdmap_mod.F90 sourcefile~cdmap_mod.f90->sourcefile~tpm_flt.f90 sourcefile~cdmap_mod.f90~2 cdmap_mod.F90 sourcefile~cdmap_mod.f90~2->sourcefile~tpm_flt.f90 sourcefile~dealloc_resol_mod.f90 dealloc_resol_mod.F90 sourcefile~dealloc_resol_mod.f90->sourcefile~tpm_flt.f90 sourcefile~set_resol_mod.f90 set_resol_mod.F90 sourcefile~dealloc_resol_mod.f90->sourcefile~set_resol_mod.f90 sourcefile~dealloc_resol_mod.f90~2 dealloc_resol_mod.F90 sourcefile~dealloc_resol_mod.f90~2->sourcefile~tpm_flt.f90 sourcefile~dealloc_resol_mod.f90~2->sourcefile~set_resol_mod.f90 sourcefile~dir_trans.f90 dir_trans.F90 sourcefile~dir_trans.f90->sourcefile~tpm_flt.f90 sourcefile~dir_trans.f90->sourcefile~set_resol_mod.f90 sourcefile~fsc_mod.f90~2 fsc_mod.F90 sourcefile~fsc_mod.f90~2->sourcefile~tpm_flt.f90 sourcefile~ftinv_ctl_mod.f90 ftinv_ctl_mod.F90 sourcefile~ftinv_ctl_mod.f90->sourcefile~tpm_flt.f90 sourcefile~inv_trans.f90 inv_trans.F90 sourcefile~inv_trans.f90->sourcefile~tpm_flt.f90 sourcefile~inv_trans.f90->sourcefile~set_resol_mod.f90 sourcefile~inv_trans_ctl_mod.f90 inv_trans_ctl_mod.F90 sourcefile~inv_trans.f90->sourcefile~inv_trans_ctl_mod.f90 sourcefile~ledir_mod.f90~2 ledir_mod.F90 sourcefile~ledir_mod.f90~2->sourcefile~tpm_flt.f90 sourcefile~ledirad_mod.f90 ledirad_mod.F90 sourcefile~ledirad_mod.f90->sourcefile~tpm_flt.f90 sourcefile~leinv_mod.f90~2 leinv_mod.F90 sourcefile~leinv_mod.f90~2->sourcefile~tpm_flt.f90 sourcefile~leinvad_mod.f90 leinvad_mod.F90 sourcefile~leinvad_mod.f90->sourcefile~tpm_flt.f90 sourcefile~ltdir_mod.f90~2 ltdir_mod.F90 sourcefile~ltdir_mod.f90~2->sourcefile~tpm_flt.f90 sourcefile~ltdir_mod.f90~2->sourcefile~cdmap_mod.f90 sourcefile~ltinv_ctl_mod.f90 ltinv_ctl_mod.F90 sourcefile~ltinv_ctl_mod.f90->sourcefile~tpm_flt.f90 sourcefile~ltinv_mod.f90 ltinv_mod.F90 sourcefile~ltinv_ctl_mod.f90->sourcefile~ltinv_mod.f90 sourcefile~ltinv_mod.f90->sourcefile~tpm_flt.f90 sourcefile~ltinv_mod.f90~2 ltinv_mod.F90 sourcefile~ltinv_mod.f90~2->sourcefile~tpm_flt.f90 sourcefile~ltinv_mod.f90~2->sourcefile~cdmap_mod.f90 sourcefile~read_legpol_mod.f90 read_legpol_mod.F90 sourcefile~read_legpol_mod.f90->sourcefile~tpm_flt.f90 sourcefile~read_legpol_mod.f90~2 read_legpol_mod.F90 sourcefile~read_legpol_mod.f90~2->sourcefile~tpm_flt.f90 sourcefile~set_resol_mod.f90->sourcefile~tpm_flt.f90 sourcefile~set_resol_mod.f90~2 set_resol_mod.F90 sourcefile~set_resol_mod.f90~2->sourcefile~tpm_flt.f90 sourcefile~setup_dims_mod.f90 setup_dims_mod.F90 sourcefile~setup_dims_mod.f90->sourcefile~tpm_flt.f90 sourcefile~setup_dims_mod.f90~2 setup_dims_mod.F90 sourcefile~setup_dims_mod.f90~2->sourcefile~tpm_flt.f90 sourcefile~setup_trans.f90 setup_trans.F90 sourcefile~setup_trans.f90->sourcefile~tpm_flt.f90 sourcefile~setup_trans.f90->sourcefile~set_resol_mod.f90 sourcefile~setup_trans.f90->sourcefile~setup_dims_mod.f90 sourcefile~suleg_mod.f90 suleg_mod.F90 sourcefile~setup_trans.f90->sourcefile~suleg_mod.f90 sourcefile~setup_trans.f90~2 setup_trans.F90 sourcefile~setup_trans.f90~2->sourcefile~tpm_flt.f90 sourcefile~setup_trans.f90~2->sourcefile~set_resol_mod.f90 sourcefile~setup_trans.f90~2->sourcefile~setup_dims_mod.f90 sourcefile~setup_trans.f90~2->sourcefile~suleg_mod.f90 sourcefile~suleg_mod.f90->sourcefile~tpm_flt.f90 sourcefile~suleg_mod.f90->sourcefile~read_legpol_mod.f90 sourcefile~write_legpol_mod.f90 write_legpol_mod.F90 sourcefile~suleg_mod.f90->sourcefile~write_legpol_mod.f90 sourcefile~suleg_mod.f90~2 suleg_mod.F90 sourcefile~suleg_mod.f90~2->sourcefile~tpm_flt.f90 sourcefile~suleg_mod.f90~2->sourcefile~read_legpol_mod.f90 sourcefile~suleg_mod.f90~2->sourcefile~write_legpol_mod.f90 sourcefile~trans_end.f90 trans_end.F90 sourcefile~trans_end.f90->sourcefile~tpm_flt.f90 sourcefile~trans_end.f90->sourcefile~dealloc_resol_mod.f90 sourcefile~trans_end.f90->sourcefile~set_resol_mod.f90 sourcefile~trans_end.f90~2 trans_end.F90 sourcefile~trans_end.f90~2->sourcefile~tpm_flt.f90 sourcefile~trans_end.f90~2->sourcefile~dealloc_resol_mod.f90 sourcefile~trans_end.f90~2->sourcefile~set_resol_mod.f90 sourcefile~trans_inq.f90 trans_inq.F90 sourcefile~trans_inq.f90->sourcefile~tpm_flt.f90 sourcefile~trans_inq.f90->sourcefile~set_resol_mod.f90 sourcefile~trans_inq.f90~2 trans_inq.F90 sourcefile~trans_inq.f90~2->sourcefile~tpm_flt.f90 sourcefile~trans_inq.f90~2->sourcefile~set_resol_mod.f90 sourcefile~trans_pnm.f90 trans_pnm.F90 sourcefile~trans_pnm.f90->sourcefile~tpm_flt.f90 sourcefile~trans_pnm.f90->sourcefile~set_resol_mod.f90 sourcefile~trans_pnm.f90~2 trans_pnm.F90 sourcefile~trans_pnm.f90~2->sourcefile~tpm_flt.f90 sourcefile~trans_pnm.f90~2->sourcefile~set_resol_mod.f90 sourcefile~write_legpol_mod.f90->sourcefile~tpm_flt.f90 sourcefile~write_legpol_mod.f90~2 write_legpol_mod.F90 sourcefile~write_legpol_mod.f90~2->sourcefile~tpm_flt.f90 sourcefile~dir_trans.f90~2 dir_trans.F90 sourcefile~dir_trans.f90~2->sourcefile~set_resol_mod.f90 sourcefile~dir_transad.f90~2 dir_transad.F90 sourcefile~dir_transad.f90~2->sourcefile~set_resol_mod.f90 sourcefile~dir_trans_ctlad_mod.f90 dir_trans_ctlad_mod.F90 sourcefile~dir_transad.f90~2->sourcefile~dir_trans_ctlad_mod.f90 sourcefile~dist_grid.f90 dist_grid.F90 sourcefile~dist_grid.f90->sourcefile~set_resol_mod.f90 sourcefile~dist_grid.f90~2 dist_grid.F90 sourcefile~dist_grid.f90~2->sourcefile~set_resol_mod.f90 sourcefile~dist_grid_32.f90 dist_grid_32.F90 sourcefile~dist_grid_32.f90->sourcefile~set_resol_mod.f90 sourcefile~dist_grid_32.f90~2 dist_grid_32.F90 sourcefile~dist_grid_32.f90~2->sourcefile~set_resol_mod.f90 sourcefile~dist_spec.f90 dist_spec.F90 sourcefile~dist_spec.f90->sourcefile~set_resol_mod.f90 sourcefile~dist_spec.f90~2 dist_spec.F90 sourcefile~dist_spec.f90~2->sourcefile~set_resol_mod.f90 sourcefile~gath_grid.f90 gath_grid.F90 sourcefile~gath_grid.f90->sourcefile~set_resol_mod.f90 sourcefile~gath_grid.f90~2 gath_grid.F90 sourcefile~gath_grid.f90~2->sourcefile~set_resol_mod.f90 sourcefile~gath_grid_32.f90 gath_grid_32.F90 sourcefile~gath_grid_32.f90->sourcefile~set_resol_mod.f90 sourcefile~gath_grid_32.f90~2 gath_grid_32.F90 sourcefile~gath_grid_32.f90~2->sourcefile~set_resol_mod.f90 sourcefile~gath_spec.f90 gath_spec.F90 sourcefile~gath_spec.f90->sourcefile~set_resol_mod.f90 sourcefile~gath_spec.f90~2 gath_spec.F90 sourcefile~gath_spec.f90~2->sourcefile~set_resol_mod.f90 sourcefile~gpnorm_trans.f90 gpnorm_trans.F90 sourcefile~gpnorm_trans.f90->sourcefile~set_resol_mod.f90 sourcefile~gpnorm_trans.f90~2 gpnorm_trans.F90 sourcefile~gpnorm_trans.f90~2->sourcefile~set_resol_mod.f90 sourcefile~gpnorm_trans_ctl_mod.f90 gpnorm_trans_ctl_mod.F90 sourcefile~gpnorm_trans.f90~2->sourcefile~gpnorm_trans_ctl_mod.f90 sourcefile~gpnorm_trans_ctl_mod.f90->sourcefile~set_resol_mod.f90 sourcefile~gpnorm_trans_gpu.f90 gpnorm_trans_gpu.F90 sourcefile~gpnorm_trans_gpu.f90->sourcefile~set_resol_mod.f90 sourcefile~inv_trans.f90~2 inv_trans.F90 sourcefile~inv_trans.f90~2->sourcefile~set_resol_mod.f90 sourcefile~inv_trans.f90~2->sourcefile~inv_trans_ctl_mod.f90 sourcefile~inv_trans_ctl_mod.f90->sourcefile~ltinv_mod.f90 sourcefile~inv_trans_ctl_mod.f90~2 inv_trans_ctl_mod.F90 sourcefile~inv_trans_ctl_mod.f90~2->sourcefile~ftinv_ctl_mod.f90 sourcefile~inv_trans_ctl_mod.f90~2->sourcefile~ltinv_ctl_mod.f90 sourcefile~inv_transad.f90~2 inv_transad.F90 sourcefile~inv_transad.f90~2->sourcefile~set_resol_mod.f90 sourcefile~inv_trans_ctlad_mod.f90 inv_trans_ctlad_mod.F90 sourcefile~inv_transad.f90~2->sourcefile~inv_trans_ctlad_mod.f90 sourcefile~ltdirad_mod.f90 ltdirad_mod.F90 sourcefile~ltdirad_mod.f90->sourcefile~ledirad_mod.f90 sourcefile~ltinvad_mod.f90 ltinvad_mod.F90 sourcefile~ltinvad_mod.f90->sourcefile~leinvad_mod.f90 sourcefile~specnorm.f90 specnorm.F90 sourcefile~specnorm.f90->sourcefile~set_resol_mod.f90 sourcefile~specnorm.f90~2 specnorm.F90 sourcefile~specnorm.f90~2->sourcefile~set_resol_mod.f90 sourcefile~trans_release.f90 trans_release.F90 sourcefile~trans_release.f90->sourcefile~dealloc_resol_mod.f90 sourcefile~trans_release.f90~2 trans_release.F90 sourcefile~trans_release.f90~2->sourcefile~dealloc_resol_mod.f90 sourcefile~vordiv_to_uv.f90 vordiv_to_uv.F90 sourcefile~vordiv_to_uv.f90->sourcefile~set_resol_mod.f90 sourcefile~vordiv_to_uv.f90~2 vordiv_to_uv.F90 sourcefile~vordiv_to_uv.f90~2->sourcefile~set_resol_mod.f90 sourcefile~ltdir_ctlad_mod.f90 ltdir_ctlad_mod.F90 sourcefile~ltdir_ctlad_mod.f90->sourcefile~ltdirad_mod.f90 sourcefile~ltinv_ctlad_mod.f90 ltinv_ctlad_mod.F90 sourcefile~ltinv_ctlad_mod.f90->sourcefile~ltinvad_mod.f90 sourcefile~dir_trans_ctlad_mod.f90->sourcefile~ltdir_ctlad_mod.f90 sourcefile~inv_trans_ctlad_mod.f90->sourcefile~ltinv_ctlad_mod.f90

Source Code

! (C) Copyright 2000- ECMWF.
! (C) Copyright 2000- Meteo-France.
! 
! This software is licensed under the terms of the Apache Licence Version 2.0
! which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
! In applying this licence, ECMWF does not waive the privileges and immunities
! granted to it by virtue of its status as an intergovernmental organisation
! nor does it submit to any jurisdiction.
!

MODULE TPM_FLT

USE PARKIND_ECTRANS  ,ONLY : JPIM     ,JPRBT, JPRD
USE SEEFMM_MIX
IMPLICIT NONE

SAVE


TYPE FLT_TYPE
INTEGER(KIND=JPIM) :: NSPOLEGL
INTEGER(KIND=JPIM) :: NDGNH
INTEGER(KIND=JPIM) :: INS2
INTEGER(KIND=JPIM) :: INA2
REAL(KIND=JPRBT) ,POINTER :: RPNMS(:,:) ! Legendre polynomials
REAL(KIND=JPRBT) ,POINTER :: RPNMA(:,:) ! Legendre polynomials
REAL(KIND=JPRD) ,POINTER :: RPNMDS(:,:) ! Legendre polynomials
REAL(KIND=JPRD) ,POINTER :: RPNMDA(:,:) ! Legendre polynomials
REAL(KIND=JPRBT) :: RCS
REAL(KIND=JPRBT) :: RCA
!REAL(KIND=JPRBT) ,POINTER :: RPNMCDO(:,:) ! Legendre polynomials for C-D formula at orig roots
!REAL(KIND=JPRBT) ,POINTER :: RPNMCDD(:,:) ! Legendre polynomials for C-D formula at dual roots
REAL(KIND=JPRBT) ,POINTER :: RPNMWI(:,:) ! special weights
REAL(KIND=JPRBT) ,POINTER :: RPNMWO(:,:) ! special weights
INTEGER(KIND=JPIM) :: ISLD ! starting latitude dual

! Butterfly

INTEGER(KIND=JPIM) :: MAXCOLS

END TYPE FLT_TYPE

TYPE FLT_TYPE_WRAP
TYPE(FLT_TYPE),ALLOCATABLE :: FA(:)
LOGICAL :: LDLL
LOGICAL :: LSHIFTLL
LOGICAL :: LUSE_BELUSOV
LOGICAL :: LKEEPRPNM
LOGICAL :: LSOUTHPNM ! .TRUE. to compute Legendre polynomials on southern hemisphere
INTEGER(KIND=JPIM) :: IMLOC
INTEGER(KIND=JPIM) :: ITHRESHOLD
INTEGER(KIND=JPIM) :: NDGNHD ! dual set dimension
INTEGER(KIND=JPIM) :: NDLON  ! dual number of longitudes
INTEGER(KIND=JPIM) :: NDGL   ! dual number of latitudes
LOGICAL :: LSYM
TYPE(FMM_TYPE),POINTER :: FMM_INTI ! FMM interpolation

END TYPE FLT_TYPE_WRAP

TYPE(FLT_TYPE_WRAP),ALLOCATABLE,TARGET :: FLT_RESOL(:)
TYPE(FLT_TYPE_WRAP),POINTER     :: S


END MODULE TPM_FLT