LMDZ
tpm_trans.F90
Go to the documentation of this file.
1 MODULE tpm_trans
2 
3 ! Module to contain variables "local" to a specific call to a transform
4 
5 USE parkind1 ,ONLY : jpim ,jprb
6 
7 IMPLICIT NONE
8 
9 SAVE
10 
11 !INTEGER_M :: NF_UV ! Number of u-v fields (spectral/fourier space)
12 !INTEGER_M :: NF_SCALARS ! Number of scalar fields (spectral/fourier space)
13 !INTEGER_M :: NF_SCDERS ! Number of fields for derivatives of scalars
14  ! (inverse transform, spectral/fourier space)
15 !INTEGER_M :: NF_OUT_LT ! Number of fields that comes out of Inverse
16  ! Legendre transform
17 INTEGER(KIND=JPIM) :: nf_sc2
18 INTEGER(KIND=JPIM) :: nf_sc3a
19 INTEGER(KIND=JPIM) :: nf_sc3b
20 
21 !LOGICAL :: LUV ! uv fields requested
22 !LOGICAL :: LSCALAR ! scalar fields requested
23 LOGICAL :: lvorgp ! vorticity requested
24 LOGICAL :: ldivgp ! divergence requested
25 LOGICAL :: luvder ! E-W derivatives of U and V requested
26 LOGICAL :: lscders ! derivatives of scalar variables are req.
27 
28 !INTEGER_M :: NLEI2 ! 8*NF_UV + 2*NF_SCALARS + 2*NF_SCDERS (dimension in
29  ! inverse Legendre transform)
30 !INTEGER_M :: NLED2 ! 2*NF_FS (dimension in direct Legendre transform)
31 
32 !INTEGER_M :: NF_FS ! Total number of fields in Fourier space
33 
34 !INTEGER_M :: NF_GP ! Total number of field in grid-point space
35 !INTEGER_M :: NF_UV_G ! Global version of NF_UV (grid-point space)
36 !INTEGER_M :: NF_SCALARS_G ! Global version of NF_SCALARS (grid-point space)
37 
38 REAL(KIND=JPRB), ALLOCATABLE :: foubuf_in(:) ! Fourier buffer
39 REAL(KIND=JPRB), ALLOCATABLE :: foubuf(:) ! Fourier buffer
40 
41 INTEGER(KIND=JPIM) :: nproma ! Blocking factor for gridpoint input/output
42 INTEGER(KIND=JPIM) :: ngpblks ! Number of NPROMA blocks
43 
44 !$OMP THREADPRIVATE(ldivgp,lscders,luvder,lvorgp,nf_sc2,nf_sc3a,nf_sc3b,ngpblks,nproma)
45 !$OMP THREADPRIVATE(foubuf_in,foubuf)
46 
47 END MODULE tpm_trans
48 
49 
logical lvorgp
Definition: tpm_trans.F90:23
real(kind=jprb), dimension(:), allocatable foubuf
Definition: tpm_trans.F90:39
integer(kind=jpim) nf_sc2
Definition: tpm_trans.F90:17
integer(kind=jpim) nf_sc3a
Definition: tpm_trans.F90:18
integer(kind=jpim) nf_sc3b
Definition: tpm_trans.F90:19
logical luvder
Definition: tpm_trans.F90:25
real(kind=jprb), dimension(:), allocatable foubuf_in
Definition: tpm_trans.F90:38
integer, parameter jprb
Definition: parkind1.F90:31
logical lscders
Definition: tpm_trans.F90:26
integer(kind=jpim) nproma
Definition: tpm_trans.F90:41
integer(kind=jpim) ngpblks
Definition: tpm_trans.F90:42
integer, parameter jpim
Definition: parkind1.F90:13
logical ldivgp
Definition: tpm_trans.F90:24