/usr/include/gribex/ecdef4.h is in libemos-dev 2:4.3.7-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 | C
C Copyright 1981-2012 ECMWF.
C
C This software is licensed under the terms of the Apache Licence
C Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
C
C In applying this licence, ECMWF does not waive the privileges and immunities
C granted to it by virtue of its status as an intergovernmental organisation
C nor does it submit to any jurisdiction.
C
C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
C
C ECMWF local GRIB use definition 4.
C Ocean model data.
C ----------------------------------
C
C For use in storing ocean model data within the GRIB framework.
C T.Stockdale, 17 May 1993
C
C Numbers given are words of KSEC1
C
C
C Standard ECMWF supplementary data (as per local use definition 1)
C for words 38-41 ie
C
C 38 Class (ops/research)
C 39 Type (analysis/forecast/etc)
C 40 Stream
C 41 Expver (expt identifier)
C
C 42 Ensemble forecast number
C 43 Total number of forecasts in ensemble
C
C If stream = 1090 (ECMWF ensemble seasonal forecasts),
C 42 Ensemble forecast number
C 43 0
C
C Data specific to ocean model requirements
C
C ** A separate version of code table 2 is used for ocean data
C ECMWF local Code Table 2, Version Number 150 for FM92-VIII
C
C ** Note that all coordinates in this local use GRIB definition are
C given as 4-byte integers in the following units:
C
C Latitudes/longitudes: microdegrees
C Distance (general): metres (default: can be changed)
C Time: seconds (default: can be changed)
C
C Depth below sea level: millimetres (positive downwards)
C Isopycnic level: (potential density - 1000)*1.0E6
C
C ** Permitted range of values is -2.147E9 < i < 2.147E9 approx.
C
C ** At several points in the definition, there is a potential need
C for a variable amount of supplementary data. This is indicated
C with '(+INFO)', and in such cases a supplementary data block is
C specified at the end of the local use section.
C
C
C 1. Coordinate structure definition
C
C The physical meaning of the (x,y,z,t) coordinate system is
C defined here.
C
C 44 Fundamental spatial reference system (Planet flag)
C 0 = Earth (centre/north pole/Greenwich)
C 200 = Geocentric RA/dec
C 201 = Heliocentric coordinates
C 255 = Unspecified
C
C 45 Fundamental time reference
C 0 = Reference time given in standard GRIB header
C (use for forecasts to indicate start of prediction)
C 1 = C.E. (ie 0 AD)
C 2 = Julian Day number = 0.0
C 100 = Zero at start of arbitrary expt
C 255 = Unspecified
C
C 46 Space unit flag (applies only if lengths NOT otherwise
C labelled)
C 0 = metres
C i<128 = 10**i metres
C i>128 = 10**(i-256) metres
C
C 47 Vertical coordinate definition (z)
C 0 = z above origin
C 1 = R from origin
C 2 = h above mean sea level geopotential
C 3 = h above ground surface
C 160 = geopotential depth below mean sea level (mm)
C 161 = ocean isopycnic surface (pot. dens.: see above)
C
C 48 Horizontal coordinate definition (x,y)
C 0 = latitude/longitude (microdegrees)
C 1 = cartesian (fundamental origin)
C 2 = cartesian (shifted,rotated origin) (+INFO)
C 3 = regular gaussian grid (microdegrees) (+INFO)
C 4 = polar stereographic (+INFO)
C 5 = spherical harmonic coefficients (integers) (+INFO)
C
C 49 Time unit flag
C 0 = seconds
C 1 = minutes
C 2 = hours
C 3 = days
C 4 = years
C 5<i<128 = 10**(i-4) years
C i>128 = 10**(i-256) seconds
C
C 50 Time coordinate definition (t)
C 0 = real earth time (UTC)
C 1 = ideal earth time (360 * 86400s days per year)
C
C 2. Position definition
C
C A 2-dimensional field located in 4-dimensional space-time needs
C 2 coordinates to define where the field is located, and 2
C coordinates internal to the field. The locating coordinates are
C specified first. Each coordinate is identified according to the
C following table, and should be in this order where possible:
C
C 1 t
C 2 z
C 3 x
C 4 y
C
C It is possible to specify mixed coordinates, to allow sections
C at angles to the coordinate system.
C
C 51 Mixed coordinate field flag
C 0 = No mixed coordinates
C 1 = x,y coordinates mixed (+INFO)
C 2 = x,z coordinates mixed (+INFO)
C 3 = y,z coordinates mixed (+INFO)
C 4 = x,t coordinates mixed (+INFO)
C 5 = y,t coordinates mixed (+INFO)
C 6 = z,t coordinates mixed (+INFO)
C
C
C Now define the location of the 2-dimensional field:
C
C 52 Coordinate 1 flag (usually time)
C 53 Averaging flag
C 0 = no averaging (data on/at level 1)
C 1 = inclusive average between level 1 and 2
C 2 = exclusive average between level 1 and 2
C 54 Position of level 1 (4 byte integer)
C 55 Position of level 2 (4 byte integer) (or zero if not used)
C
C 56 Coordinate 2 flag (usually z-coordinate)
C 57 Averaging flag
C 0 = no averaging (data on/at level 1)
C 1 = inclusive average between level 1 and 2
C 2 = exclusive average between level 1 and 2
C 58 Position of level 1 (4 byte integer)
C 59 Position of level 2 (4 byte integer) (or zero if not used)
C
C An inclusive average discards land points when calculating the
C average, and will produce a value where there is at least one
C valid ocean point. An exclusive average will only produce a
C value if all of the points being averaged are valid.
C
C
C 3. Grid definition
C
C 60 Coordinate 3 flag (x-axis, usually longitude)
C 61 Coordinate 4 flag (y-axis, usually latitude)
C
C 62 Coordinate 4 of first grid point (4-byte integer)
C 63 Coordinate 3 of first grid point (4-byte integer)
C 64 Coordinate 4 of last grid point (4-byte integer)
C 65 Coordinate 3 of last grid point (4-byte integer)
C 66 i-increment (also stored as a 4-byte integer)
C 67 j-increment (also stored as a 4-byte integer)
C
C
C 68 Flag for irregular grid coordinate list
C 0 = none
C 1 = x-axis values (typically longitude)
C 2 = y-axis values (typically latitude)
C 3 = First x-axis, then y-axis values given
C 69 Flag for normal or staggered grid
C 0 = normal grid (all rows have same x-coordinate system)
C 1 = staggered grid (odd and even rows have different
C x-coordinate systems, eg Arakawa E grid)
C
C 4. Further information
C
C 70 Flag for any further information
C 0 = none
C 1 = auxiliary array contains x-axis topographic
C depths/heights
C
C 5. Auxiliary information
C
C 71 Number of entries in horizontal coordinate definition
C supplement (1 byte only)
C 72 Number of entries in mixed coordinate definition (2 bytes)
C 73 Number of entries in grid coordinate list (2 bytes)
C 74 Number of entries in auxiliary array (2 bytes)
C
C [ 64 bytes fixed ]
C
C A. Horizontal coordinate supplement (4-byte integers)
C
C A1-nn Not yet defined
C
C B. Mixed coordinate definition (4-byte integers)
C
C [ For the linear case, assume a transformation of the form
C x' = alpha * (x - x0) + (1-alpha) * (y - y0) ]
C
C B1 Flag for regularity of x-y coordinate mixing
C 0 = Mixing is regular and linear
C 1 = Mixing is irregular, code given
C For regular, linear mixing:
C B2 Alpha (*1E9)
C B3 X0
C B4 Y0
C Irregular mixing with code given:
C B2 )
C B3 ) Locally defined codes to define section
C B4 )
C
C C. Grid coordinate list (4-byte integers)
C
C C1-nn Coordinates of irregular x and y-axes. The x-axis is
C given first, then the second x-axis (if staggered grid),
C and then the y-axis. If the x-axis is regular but
C staggered, then the longitude of the first point of the
C second row should be specified as the first entry of this
C list.
C
C D. Auxiliary array (4-byte integers)
C
C D1-nn Auxiliary array values
C
C E. Post-auxiliary array (4-byte integers)
C
C P0-n Post-auxiliary array values
C
C P0 - Count of items in post-auxiliary array
C ( = n+1, including the count)
C P1 - First item.
C P2 - Second item.
C " - "
C Pn - nth item.
C
C
C Comments on the setting of other GRIB parameters:
C
C The time and time-range data should be set properly in the main
C section, if possible.
C
C The indicator of type of level should be set to 160 (depth below
C sea level) for all oceanographic data. The depth in metres
C should be set to the appropriate value if the field is a
C horizontal section, and to zero in all other cases.
C
C It is assumed that the grid description section of the GRIB code
C is set for a latitude/longitude grid, with correct values for
C the number of points along parallels/meridians and the
C coordinates of the first and last data points in millidegrees
C (or the appropriate units from this section, divided by 1000).
C The coordinate increments should be given to the extent that
C the field is regular.
C
C
C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
C
|