1 |
|
|
MODULE TPM_DIM |
2 |
|
|
|
3 |
|
|
USE PARKIND1 ,ONLY : JPIM ,JPRB |
4 |
|
|
|
5 |
|
|
IMPLICIT NONE |
6 |
|
|
|
7 |
|
|
SAVE |
8 |
|
|
|
9 |
|
|
TYPE DIM_TYPE |
10 |
|
|
! SPECTRAL SPACE DIMENSIONS |
11 |
|
|
|
12 |
|
|
INTEGER(KIND=JPIM) :: NSMAX ! Truncation order |
13 |
|
|
INTEGER(KIND=JPIM) :: NTMAX |
14 |
|
|
INTEGER(KIND=JPIM) :: NSPOLEG ! Number of Legandre polynomials |
15 |
|
|
INTEGER(KIND=JPIM) :: NSPEC_G ! Number of complex spectral coefficients (global) |
16 |
|
|
INTEGER(KIND=JPIM) :: NSPEC2_G ! 2*NSPEC_G |
17 |
|
|
|
18 |
|
|
! COLLOCATION GRID DIMENSIONS |
19 |
|
|
|
20 |
|
|
INTEGER(KIND=JPIM) :: NDGL ! Number of rows of latitudes |
21 |
|
|
INTEGER(KIND=JPIM) :: NDLON ! Maximum number of longitude points (near equator) |
22 |
|
|
INTEGER(KIND=JPIM) :: NDGNH ! Number of rows in northern hemisphere |
23 |
|
|
|
24 |
|
|
! Legendre transform dimensions |
25 |
|
|
INTEGER(KIND=JPIM) :: NLEI1 ! R%NSMAX+4+MOD(R%NSMAX+4+1,2) |
26 |
|
|
INTEGER(KIND=JPIM) :: NLEI3 ! R%NDGNH+MOD(R%NDGNH+2,2) |
27 |
|
|
INTEGER(KIND=JPIM) :: NLED3 ! R%NTMAX+2+MOD(R%NTMAX+3,2) |
28 |
|
|
INTEGER(KIND=JPIM) :: NLED4 ! R%NTMAX+3+MOD(R%NTMAX+4,2) |
29 |
|
|
END TYPE DIM_TYPE |
30 |
|
|
|
31 |
|
|
TYPE(DIM_TYPE),ALLOCATABLE,TARGET :: DIM_RESOL(:) |
32 |
|
|
TYPE(DIM_TYPE),POINTER :: R |
33 |
|
|
|
34 |
|
|
!$OMP THREADPRIVATE(r) |
35 |
|
|
!$OMP THREADPRIVATE(dim_resol) |
36 |
|
|
|
37 |
|
|
|
38 |
|
|
END MODULE TPM_DIM |