| 1 | SUBROUTINE SETUP_TRANS(KSMAX,KDGL,KLOEN,LDLINEAR_GRID,LDSPLIT,& |
|---|
| 2 | &KAPSETS,KTMAX,KRESOL) |
|---|
| 3 | |
|---|
| 4 | !**** *SETUP_TRANS* - Setup transform package for specific resolution |
|---|
| 5 | |
|---|
| 6 | ! Purpose. |
|---|
| 7 | ! -------- |
|---|
| 8 | ! To setup for making spectral transforms. Each call to this routine |
|---|
| 9 | ! creates a new resolution up to a maximum of NMAX_RESOL set up in |
|---|
| 10 | ! SETUP_TRANS0. You need to call SETUP_TRANS0 before this routine can |
|---|
| 11 | ! be called. |
|---|
| 12 | |
|---|
| 13 | !** Interface. |
|---|
| 14 | ! ---------- |
|---|
| 15 | ! CALL SETUP_TRANS(...) |
|---|
| 16 | |
|---|
| 17 | ! Explicit arguments : KLOEN,LDLINEAR_GRID,LDSPLIT,KAPSETS are optional arguments |
|---|
| 18 | ! -------------------- |
|---|
| 19 | ! KSMAX - spectral truncation required |
|---|
| 20 | ! KDGL - number of Gaussian latitudes |
|---|
| 21 | ! KLOEN(:) - number of points on each Gaussian latitude [2*KDGL] |
|---|
| 22 | ! LDSPLIT - true if split latitudes in grid-point space [false] |
|---|
| 23 | ! LDLINEAR_GRID - true if linear grid |
|---|
| 24 | ! KAPSETS - Number of apple sets in the distribution [0] |
|---|
| 25 | ! KTMAX - truncation order for tendencies? |
|---|
| 26 | ! KRESOL - the resolution identifier |
|---|
| 27 | |
|---|
| 28 | ! KSMAX,KDGL,KTMAX and KLOEN are GLOBAL variables desribing the resolution |
|---|
| 29 | ! in spectral and grid-point space |
|---|
| 30 | |
|---|
| 31 | ! LDSPLIT and KAPSETS describe the distribution among processors of |
|---|
| 32 | ! grid-point data and has no relevance if you are using a single processor |
|---|
| 33 | |
|---|
| 34 | ! Method. |
|---|
| 35 | ! ------- |
|---|
| 36 | |
|---|
| 37 | ! Externals. SET_RESOL - set resolution |
|---|
| 38 | ! ---------- SETUP_DIMS - setup distribution independent dimensions |
|---|
| 39 | ! SUMP_TRANS_PRELEG - first part of setup of distr. environment |
|---|
| 40 | ! SULEG - Compute Legandre polonomial and Gaussian |
|---|
| 41 | ! Latitudes and Weights |
|---|
| 42 | ! SETUP_GEOM - Compute arrays related to grid-point geometry |
|---|
| 43 | ! SUMP_TRANS - Second part of setup of distributed environment |
|---|
| 44 | ! SUFFT - setup for FFT |
|---|
| 45 | |
|---|
| 46 | ! Author. |
|---|
| 47 | ! ------- |
|---|
| 48 | ! Mats Hamrud *ECMWF* |
|---|
| 49 | |
|---|
| 50 | ! Modifications. |
|---|
| 51 | ! -------------- |
|---|
| 52 | ! Original : 00-03-03 |
|---|
| 53 | |
|---|
| 54 | ! ------------------------------------------------------------------ |
|---|
| 55 | |
|---|
| 56 | USE PARKIND1 ,ONLY : JPIM ,JPRB |
|---|
| 57 | |
|---|
| 58 | IMPLICIT NONE |
|---|
| 59 | |
|---|
| 60 | ! Dummy arguments |
|---|
| 61 | |
|---|
| 62 | INTEGER(KIND=JPIM) ,INTENT(IN) :: KSMAX,KDGL |
|---|
| 63 | INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KLOEN(:) |
|---|
| 64 | LOGICAL ,OPTIONAL,INTENT(IN) :: LDLINEAR_GRID |
|---|
| 65 | LOGICAL ,OPTIONAL,INTENT(IN) :: LDSPLIT |
|---|
| 66 | INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KAPSETS |
|---|
| 67 | INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(IN) :: KTMAX |
|---|
| 68 | INTEGER(KIND=JPIM) ,OPTIONAL,INTENT(OUT):: KRESOL |
|---|
| 69 | |
|---|
| 70 | |
|---|
| 71 | END SUBROUTINE SETUP_TRANS |
|---|
| 72 | |
|---|
| 73 | |
|---|