[1989] | 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 | |
---|
[2056] | 44 | !$OMP THREADPRIVATE(ldivgp,lscders,luvder,lvorgp,nf_sc2,nf_sc3a,nf_sc3b,ngpblks,nproma) |
---|
| 45 | !$OMP THREADPRIVATE(foubuf_in,foubuf) |
---|
| 46 | |
---|
[1989] | 47 | END MODULE TPM_TRANS |
---|
[2056] | 48 | |
---|
| 49 | |
---|