source: LMDZ5/branches/testing/libf/phylmd/rrtm/trans_inq.h

Last change on this file was 1999, checked in by Laurent Fairhead, 11 years ago

Merged trunk changes r1920:1997 into testing branch

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
File size: 6.3 KB
Line 
1SUBROUTINE TRANS_INQ(KRESOL,KSPEC,KSPEC2,KSPEC2G,KSPEC2MX,KNUMP,&
2                    &KGPTOT,KGPTOTG,KGPTOTMX,KGPTOTL,&
3                    &KMYMS,KASM0,KUMPP,KPOSSP,KPTRMS,KALLMS,KDIM0G,&
4                    &KFRSTLAT,KLSTLAT,KFRSTLOFF,KPTRLAT,&
5                    &KPTRFRSTLAT,KPTRLSTLAT,KPTRFLOFF,KSTA,KONL,&
6                    &KULTPP,KPTRLS,&
7                    &LDSPLITLAT,&
8                    &PMU,PGW,PRPNM,KLEI3,KSPOLEGL,KPMS)
9
10!**** *TRANS_INQ* - Extract information from the transform package
11
12!     Purpose.
13!     --------
14!     Interface routine for extracting information from the T.P.
15
16!**   Interface.
17!     ----------
18!     CALL TRANS_INQ(...)
19!     Explicit arguments : All arguments are optional.
20!     -------------------- 
21!     KRESOL   - resolution tag for which info is required ,default is the
22!                first defined resulution (input)
23
24!                   SPECTRAL SPACE
25!     KSPEC    - number of complex spectral coefficients on this PE
26!     KSPEC2   - 2*KSPEC
27!     KSPEC2G  - global KSPEC2
28!     KSPEC2MX - maximun KSPEC2 among all PEs
29!     KNUMP    - Number of spectral waves handled by this PE
30!     KGPTOT   - Total number of grid columns on this PE
31!     KGPTOTG  - Total number of grid columns on the Globe
32!     KGPTOTMX - Maximum number of grid columns on any of the PEs
33!     KGPTOTL  - Number of grid columns one each PE (dimension NPRGPNS:NPRGPEW)
34!     KMYMS    - This PEs spectral zonal wavenumbers
35!     KASM0    - Address in a spectral array of (m, n=m)
36!     KUMPP    - No. of wave numbers each wave set is responsible for
37!     KPOSSP   - Defines partitioning of global spectral fields among PEs
38!     KPTRMS   - Pointer to the first wave number of a given a-set
39!     KALLMS   - Wave numbers for all wave-set concatenated together
40!                to give all wave numbers in wave-set order
41!     KDIM0G   - Defines partitioning of global spectral fields among PEs
42
43!                 GRIDPOINT SPACE                 
44!     KFRSTLAT    - First latitude of each a-set in grid-point space
45!     KLSTTLAT    - Last latitude of each a-set in grid-point space
46!     KFRSTLOFF   - Offset for first lat of own a-set in grid-point space
47!     KPTRLAT     - Pointer to the start of each latitude
48!     KPTRFRSTLAT - Pointer to the first latitude of each a-set in
49!                   NSTA and NONL arrays
50!     KPTRLSTLAT  - Pointer to the last latitude of each a-set in
51!                   NSTA and NONL arrays
52!     KPTRFLOFF   - Offset for pointer to the first latitude of own a-set
53!                   NSTA and NONL arrays, i.e. nptrfrstlat(myseta)-1
54!     KSTA        - Position of first grid column for the latitudes on a
55!                   processor. The information is available for all processors.
56!                   The b-sets are distinguished by the last dimension of
57!                   nsta().The latitude band for each a-set is addressed by
58!                   nptrfrstlat(jaset),nptrlstlat(jaset), and
59!                   nptrfloff=nptrfrstlat(myseta) on this processors a-set.
60!                   Each split latitude has two entries in nsta(,:) which
61!                   necessitates the rather complex addressing of nsta(,:)
62!                   and the overdimensioning of nsta by nprgpns.
63!     KONL        - Number of grid columns for the latitudes on a processor.
64!                   Similar to nsta() in data structure.
65!     LDSPLITLAT  - TRUE if latitude is split in grid point space over
66!                   two a-sets
67
68!                FOURIER SPACE
69!     KULTPP   - number of latitudes for which each a-set is calculating
70!                the FFT's.
71!     KPTRLS   - pointer to first global latitude of each a-set for which
72!                it performs the Fourier calculations
73
74!                 LEGENDRE
75!     PMU      - sin(Gaussian latitudes)
76!     PGW      - Gaussian weights
77!     PRPNM    - Legendre polynomials
78!     KLEI3    - First dimension of Legendre polynomials
79!     KSPOLEGL - Second dimension of Legendre polynomials
80!     KPMS     - Adress for legendre polynomial for given M (NSMAX)
81
82!     Method.
83!     -------
84
85!     Externals.  SET_RESOL - set resolution
86!     ---------- 
87
88!     Author.
89!     -------
90!        Mats Hamrud *ECMWF*
91
92!     Modifications.
93!     --------------
94!        Original : 00-03-03
95!        M. Hortal : 2001-03-05 Dimensions of the Legendre polynomials
96
97!     ------------------------------------------------------------------
98
99USE PARKIND1  ,ONLY : JPIM     ,JPRB
100
101
102IMPLICIT NONE
103
104INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(IN)  :: KRESOL
105
106INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KSPEC
107INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KSPEC2
108INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KSPEC2G
109INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KSPEC2MX
110INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KNUMP
111INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KGPTOT
112INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KGPTOTG
113INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KGPTOTMX
114INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KGPTOTL(:,:)
115INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KFRSTLOFF
116INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KPTRFLOFF
117
118INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KMYMS(:)
119INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KASM0(0:)
120INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KUMPP(:)
121INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KPOSSP(:)
122INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KPTRMS(:)
123INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KALLMS(:)
124INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KDIM0G(0:)
125INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KFRSTLAT(:)
126INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KLSTLAT(:)
127INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KPTRLAT(:)
128INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KPTRFRSTLAT(:)
129INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KPTRLSTLAT(:)
130INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KSTA(:,:)
131INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KONL(:,:)
132LOGICAL   ,OPTIONAL, INTENT(OUT) :: LDSPLITLAT(:)
133
134INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KULTPP(:)
135INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KPTRLS(:)
136
137REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PMU(:)
138REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PGW(:)
139REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRPNM(:,:)
140INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KLEI3
141INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KSPOLEGL
142INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KPMS(0:)
143
144
145END SUBROUTINE TRANS_INQ
146
147
148
149
150
151
Note: See TracBrowser for help on using the repository browser.