1C Copyright 1981-2016 ECMWF.
2C
3C This software is licensed under the terms of the Apache Licence
4C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
5C
6C In applying this licence, ECMWF does not waive the privileges and immunities
7C granted to it by virtue of its status as an intergovernmental organisation
8C nor does it submit to any jurisdiction.
9C
10C
11C**** "nifld.common"
12C
13C     Purpose
14C     _______
15C
16C     This file contains all the input field definition variables.
17C
18C
19C     Interface
20C     _________
21C
22C
23C     Common block usage
24C     __________________
25C
26C     JDCFLAGS
27C     --------
28C
29C     LCHANGE      - This flag indicates whether a change of
30C                    interpolating process has occurred.
31C     LSMCHNG      - This flag indicates whether a change of LSM flag
32C                    has occurred.
33C     LSM          - This flag indicates whether a land sea mask
34C                    should be used for interpolation.
35C     LSMSET       - This flag indicates whether the user has defined
36C                    the LSM flag.
37C     LSMPAR       - This flag indicates whether the LSM variable is
38C                    being interpolated.
39C     LSMPARSET    - This flag indicates whether the user has defined
40C                    the LSMPAR flag.
41C     LPREC        - This flag indicates whether a precipitation
42C                    variable is being interpolated.
43C     LPRECSET     - This flag indicates whether the user has defined
44C                    the LPREC flag.
45C     LWIND        - This flag indicates whether a wind variable is
46C                    being interpolated.
47C     LWINDSET     - This flag indicates whether the user has defined
48C                    the LWIND flag.
49C     LNIGAUS      - Flag to say whether or not user specified NIGAUS
50C     LNGSPEC      - Flag to say whether or not user specified NGSPEC
51C     LIGIVEL      - Flag to say whether or not user specified latitudes
52C                    for the input gaussian grid
53C     LIGIVEP      - Flag to say whether or not user specified number of
54C                    points along latitudes for the input gaussian grid
55C     LIMISSV      - Flag to say whether or not user specified input
56C                    field missing data value
57C     LIMISSA      - Flag to say whether or not user specified input
58C                    field missing data value grib_api merging
59C     LNIISCL      - Flag to say whether or not user specified islscp
60C                    processing.
61C     LNOAREA      - Flag to say whether or not user specified NOAREA
62C     LNOGAUS      - Flag to say whether or not user specified NOGAUSS
63C     LNOREDL      - Flag to say whether or not user specified NOREDLL
64C     LOGIVEL      - Flag to say whether or not user specified latitudes
65C                    for the output gaussian grid
66C     LOGIVEP      - Flag to say whether or not user specified number of
67C                    points along latitudes for the output gaussian grid
68C     LNORESO      - Flag to say whether or not user specified NORESO
69C     LNOACC       - Flag to say whether or not user specified NOACC
70C     LNOREPR      - Flag to say whether or not user specified NOREPR
71C     LNOTABL      - Flag to say whether or not user specified NOTABLE
72C     LNOPARA      - Flag to say whether or not user specified NOPARAM
73C     LNOLEVL      - Flag to say whether or not user specified NOLEVEL
74C     LNOLEVT      - Flag to say whether or not user specified NOLEVT
75C     LNOGRID      - Flag to say whether or not user specified NOGRID
76C     LARESOL      - Flag to say whether or not user specified 'Autoresol'
77C     LNOBITMP     - Flag to say whether or not user specified NOBITMP
78C     LNOFRAME     - Flag to say whether or not user specified NOFRAME
79C     LNOSTYLE     - Flag to say whether or not user specified NOSTYLE
80C     LSTAGGL      - Flag to say if is the input field staggered grid
81C     LOCEAN       - Flag to say if is the ocean input field
82C
83C     JDNIFLD
84C     -------
85C
86C     NILOCAL      - Input field ECMWF local definition number
87C     NISTREM      - Input field ECMWF stream number
88C     NIFORM       - Input field data format (0-Unpacked, 1-Grib).
89C     NIREPR       - Input field representation. Supported
90C                    representations are
91C                       Spherical harmonic
92C                       Regular Gaussian grid
93C                       Reduced Gaussian grid
94C                       Latitude/longitude grid
95C     NIGAUSS      - Input field Gaussian truncation.
96C     NGSPEC       - Reduced gaussian grid specification
97C     NIRESO       - Input field spherical harmonic resolution.
98C     NIGRID       - Input field grid definition (WE/NS).
99C     NIAREA       - Input field area definition (N/W/S/E).
100C     NINS         - Number of grid points in NS direction for input
101C                    field.
102C     NIWE         - Number of grid points in WE direction for input
103C                    field.
104C     NIPARAM      - Input field parameter number
105C     NISCNM       - Input field scanning mode.
106C     NITABLE      - Input field table number.
107C     NILEVEL      - Input field level.
108C     NILEVT       - Input field level type.
109C     NIACC        - Number of packing bits to be used for input
110C                    GRIB field.
111C     NISLSCP      - Index returned from PBOPEN for islscp land-sea mask
112C                    GRIB product file
113C     NIPOGRB      - Pointer to memory allocated to hold islscp old land-sea
114C                    mask GRIB product
115C     NIPOGRS      - Size in bytes of memory allocated to hold islscp old
116C                    land-sea mask GRIB product
117C     NIPNGRB      - Pointer to memory allocated to hold islscp new land-sea
118C                    mask GRIB product
119C     NIMATR       - Number of matrix values
120C     NIPNGRS      - Size in bytes of memory allocated to hold islscp new
121C                    land-sea mask GRIB product
122C
123C     PILATS       - Array of reduced gaussian grid latitudes(N to S pole)
124C                    (RIGAUSS in grspace.h used instead now)
125C     NILPTS       - Array of reduced gaussian grid no.of pts. per latitude
126C                    (MILLEN in grspace.h used instead now)
127C     NIPCNT       - Total number of pts in input reduced gaussian field
128C     NJDCDOT      - 'magic number', set when basic initialisation has been
129C                     done
130C     NIDATE       - Input field date
131C     NICOMP       - Spectral truncation above which interpolation coefficients
132C                    are calculated 'on the fly'
133C     RISTRET      - Stretching factor used in the input field
134C     RMISSGV      - Input field missing data value
135C
136C     JNPRECP
137C     -------
138C     RPRECIP      - Precipitation threshold value
139C
140C
141C     NILOCAL      - Input field ECMWF local definition number
142C
143C
144C     Reference
145C     _________
146C
147C     None.
148C
149C
150C     Comments
151C     ________
152C
153C     None.
154C
155C
156C     AUTHOR
157C     ______
158C
159C     J.D.Chambers      ECMWF       Aug 1994
160C
161C
162C     Modifications
163C     _____________
164C
165C     None.
166C
167C
168C     _______________________________________________________
169C
170C*    Section 1. Flag variables
171C     _______________________________________________________
172C
173      LOGICAL
174     1  LCHANGE , LSMCHNG , LSM     , LWIND   , LPREC   , LSMPAR  ,
175     2  LSMSET  , LWINDSET, LPRECSET,LSMPARSET, LNOREDL , LNIGAUS ,
176     3  LIGIVEL , LIGIVEP , LNOGAUS , LOGIVEL , LOGIVEP , LNORESO ,
177     4  LNOACC  , LNOREPR , LNOTABL , LNOPARA , LNOLEVL , LNOLEVT ,
178     5  LNOGRID , LARESOL , LNOBITMP, LNOFRAME, LNOSTYLE, LNOAREA ,
179     6  LFILEIO , LMEMORY , LSHARED , LON_FLY , LMAPPED,  LNGSPEC ,
180     7  LIFIRST , LIMISSV , LNIISCL , LSTAGGL , LOCEAN,   LIMISSA ,
181     8  LACCUR
182C
183      COMMON /JDCFLAGS/
184     1  LCHANGE , LSMCHNG , LSM     , LWIND   , LPREC   , LSMPAR  ,
185     2  LSMSET  , LWINDSET, LPRECSET,LSMPARSET, LNOREDL , LNIGAUS ,
186     3  LIGIVEL , LIGIVEP , LNOGAUS , LOGIVEL , LOGIVEP , LNORESO ,
187     4  LNOACC  , LNOREPR , LNOTABL , LNOPARA , LNOLEVL , LNOLEVT ,
188     5  LNOGRID , LARESOL , LNOBITMP, LNOFRAME, LNOSTYLE, LNOAREA ,
189     6  LFILEIO , LMEMORY , LSHARED , LON_FLY , LMAPPED,  LNGSPEC ,
190     7  LIFIRST , LIMISSV , LNIISCL , LSTAGGL , LOCEAN,   LIMISSA ,
191     8  LACCUR
192C
193      SAVE /JDCFLAGS/
194C
195C     _______________________________________________________
196C
197C*    Section 2. Field definition variables
198C     _______________________________________________________
199C
200      INTEGER
201     X  NILOCAL, NISTREM, NGSPEC ,
202     X  NIFORM , NIREPR , NIGRID , NIAREA , NIGAUSS, NIRESO ,
203     X  NIWE   , NINS   , NISCNM , NIPARAM, NITABLE, NIACC  ,
204     X  NJDCDOT, NIPCNT , NILEVEL, NILEVT , NIDATE , NICOMP ,
205     X  NISLSCP, NIPOGRS, NIPNGRS, NIMATR
206      REAL RISTRET, RMISSGV
207      DIMENSION NIGRID(2)
208      DIMENSION NIAREA(4)
209C
210      COMMON /JDNIFLD/
211     X  RISTRET, RMISSGV,
212     X  NILOCAL, NISTREM, NGSPEC ,
213     X  NIFORM , NIREPR , NIGAUSS, NIRESO ,
214     X  NIWE   , NINS   , NISCNM , NIPARAM, NITABLE, NIACC  ,
215     X  NJDCDOT, NIPCNT , NILEVEL, NILEVT , NIDATE , NICOMP ,
216     X  NISLSCP, NIPOGRS, NIPNGRS, NIGRID , NIAREA , NIMATR
217C
218      SAVE /JDNIFLD/
219C
220Cifdef POINTER_64
221C     INTEGER*8 NIPOGRB, NIPNGRB
222Celse
223C     INTEGER NIPOGRB, NIPNGRB
224Cendif
225C     COMMON /JDNIPTR/
226C    X  NIPOGRB, NIPNGRB
227C
228C     SAVE /JDNIPTR/
229C
230      REAL ZPRECIP
231      COMMON /JNPRECP/ ZPRECIP
232      SAVE /JNPRECP/
233
234C     _______________________________________________________
235C
236C*    Section 3. Ocean
237C     _______________________________________________________
238C
239      INTEGER
240     X  NIOCO3, NIOCO4,
241     X  NIOCO4F, NIOCO3F, NIOCO4L, NIOCO3L,
242     X  NIOIINC, NIOJINC,
243     X  NIOIRGR, NIONOST,NICOORN,
244     X  NIVCDEF
245      INTEGER OCCOOR
246      DIMENSION OCCOOR(1000)
247C
248      COMMON /JOCEANI/
249     X  NIOCO3, NIOCO4,
250     X  NIOCO4F, NIOCO3F, NIOCO4L, NIOCO3L,
251     X  NIOIINC, NIOJINC,
252     X  NIOIRGR, NIONOST, NICOORN,
253     X  NIVCDEF,
254     X  OCCOOR
255C
256      SAVE /JOCEANI/
257