Vertical Coordinate Reference Systems
1. At the OGC Tech Conference in September 2014 held in Calgary, Canada, an Ad Hoc Working Group on Vertical CRS was called. The group agreed to collect information on different examples of vertical CRSs prior to then analysing them and forming a conceptual model as a basis for extending or changing existing OGC standards.
2. Meteorology and Oceanography uses a variety of vertical coordinates. Here are some examples:
- Altitude above Mean Seal Level or other datum
- Elevation above the land surface (actual, or sometimes a coarse Digital Terrain Model used by a specific Numerical Weather Prediction model)
- Pressure levels, measured in hectoPascals (which have the same numerical values as milliBars)
- Potential Temperature levels (the potential temperature of a parcel of air is the temperature it would be if brought down to the surface or a standard pressure level, using the adiabatic gas laws)
- Isopycnic levels below the sea surface, where the coordinate is density. This is useful because both temperature and salinity affect density.
- Sigma levels, which are the pressure level values normalised by the surface pressure, in the range (0,1), with 1 at the surface and 0 at the top of the atmosphere.
- Oceanographic sigma levels, which may be normalised density values.
- Hybrid sigma levels (sometimes called eta levels), which are linear combinations of sigma and scaled altitude.
- etc
3. The key feature of many of these CRSs is that the datum from which the coordinate is measured is itself a 2 dimensional near-horizontal field or coverage, which can also be time varying. In some domains, such as avation, these datums are tightly controlled and have to be updated very regularly every few hours and when moving to a different geographical region.
4. Extracts from the WMO Manual on Codes
4.1 Grib Edition 1 uses a single octet (0-255) to indicate a Vertical CRS type isted in Code Table 3:
01 Ground or water surface
02 Cloud base level
03 Level of cloud tops
04 Level of 0°C isotherm
05 Level of adiabatic condensation lifted from the surface
06 Maximum wind level
07 Tropopause
08 Nominal top of atmosphere
09 Sea bottom
20 Isothermal level, Temperature in 1/100 K
100 Isobaric surface, Pressure in hPa
101 Layer between two isobaric surfaces, Pressure of top in kPa, Pressure of bottom in kPa
102 Mean Sea Level
103 Specified altitude above Mean Sea Level, in metres
104 Layer between two specified altitudes above mean sea level, Altitude of top in hm, Altitude of bottom in hm
105 Specified height level above ground, in metres
106 Layer between two specified height levels above ground, Height of top in hm, Height of bottom in hm
107 Sigma level, value in 1/10 000
108 Layer between two sigma levels, Sigma value of top in 1/100, Sigma value of bottom in 1/100
109 Hybrid level, Level number
110 Layer between two hybrid levels, Level number of top, Level number of bottom
111 Depth below land surface, in centimetres
112 Layer between two depths below land, Depth of upper surface in cm, Depth of lower surface surface in cm
113 Isentropic (theta) level, Potential temperature in K
114 Layer between two isentropic levels, 475 K minus theta of top in K, 475 K minus theta of bottom in K
115 Level at specified pressure difference, Pressure difference in hPa from ground to level
116 Layer between two levels at specified pressure differences from ground to level, Pressure difference from ground to top level in hPa, Pressure difference from ground to to bottom level in hPa
117 Potential vorticity surface, in 10–9K m2 kg–1 s–1
119 ETA level, ETA value in 1/10000
120 Layer between two ETA levels, ETA value at top of layer in 1/100, ETA value at bottom of layer in 1/100
121 Layer between two isobaric surfaces (high precision), 1100 hPa minus pressure of top in hPa, 1100 hPa minus pressure of bottom in hPa
4.2 Review of above. Four types identified:
4.2.1 Single levels, though some are not easily defined
4.2.2 Multiple levels, each identified by a single coordinate value
4.2.3 Multiple layers, each identified by two coordinate values, each layer assumed to be relatively homogeneous
4.2.4 Single layer encompassing a significant depth or height
4.3 Grib Edition 2 Notes
(1) Coordinate values are intended to document the vertical discretization associated with model data on hybrid coordinate vertical levels. A number of zero in octets 6-7 indicates that no such values are present. Otherwise the number corresponds to the whole set of values.
(2) Hybrid systems, in this context, employ a means of representing vertical coordinates in terms of a mathematical combination of pressure and sigma coordinates. When used in conjunction with a surface pressure field and an appropriate mathematical expression, the vertical coordinate parameters may be used to interpret the hybrid vertical coordinate.
(3) Hybrid coordinate values, if present, should be encoded in IEEE 32-bit floating point format. They are intended to be encoded as pairs.
(4) Two distinct pressure-based hybrid coordinate formulations can be expressed in GRIB Edition 2. If the hybrid coordinate being used is based on pressure, then level type 105 (Code table 4.5) shall be used to specify the vertical level type. If the formulation is based on the natural logarithm of pressure then level type 113 (Code table 4.5) shall be used. In both cases Notes 1 to 3 (above) apply fully.
(5) In the case of a generalized vertical height coordinate (fixed surface type 150), no pairs of coordinate values follow after the template, but six sets of additional information (each 4 octets long and encoded in IEEE 32-bit floating point format) follow, starting with the number of vertical levels and the identification number of the used vertical system in the additional GRIB2 message with the 3D vertical system. This identification number together with an UUID (Universally Unique IDentifier) in four parts allows a unique identification of the grid.
[xx+1]–[xx+4] Number of vertical levels
[xx+5]–[xx+8] Identification number of 3D vertical grid GRIB2 message (defined by originating centre)
[xx+9]–[xx+12] UUID part 1 of 4
[xx+13]–[xx+16] UUID part 2 of 4
[xx+17]–[xx+20] UUID part 3 of 4
[xx+21]–[xx+24] UUID part 4 of 4
--
ChrisLittle - 20 Nov 2014