ACCESS GRIB2 Data File Notes

GRIB2 is a WMO standard format for transmission of gridded meteorological data. ACCESS GRIB2 data files have been optimised to be as compatible with the WMO standard as possible and to reduce file-sizes.

To achieve improved compression two steps are performed:

  1. Conservative rounding of fields (e.g. surface temperatures are rounded to the nearest 2 decimal places).
  2. Compression using lossless JPEG-2000 or PNG methods (both are part of the GRIB2 standard).

Conventions and Metadata

Where possible the standard WMO encodings have been used. Local tables have only been used where there is no obvious WMO equivalent. The following GRIB2 references were consulted to arrive at a suitable metadata encoding:

Currently all GRIB2 fields can be uniquely identified by looking at a combination of the GRIB2 metadata fields: 'discipline', 'parameterCategory', 'parameterNumber', 'typeOfStatisticalProcessing', 'typeOfFirstFixedSurface', 'scaleFactorOfFirstFixedSurface', 'scaledValueOfFirstFixedSurface', 'scaleFactorOfLowerLimit', & 'scaledValueOfLowerLimit'. Note that some of these fields are not defined for all GRIB messages; for example 'scaleFactorOfLowerLimit', & 'scaledValueOfLowerLimit' relate only to probabilistic quantities.

ECMWF GRIB_API key WGRIB2 key GRIB2 section information Relevant GRIB2 code table
discipline discipline (code_table_0.0) Section 0, Octet 7 Code Table 0
parameterCategory parmcat Section 4, Octet 10 Code Tables 4.1
parameterNumber parm Section 4, Octet 11 Code Tables 4.2
typeOfStatisticalProcessing code_table_4.10 Section 4, Octet 47 † Code Table 4.10
typeOfFirstFixedSurface code_table_4.5a Section 4, Octet 23 Code Table 4.5
scaleFactorOfFirstFixedSurface "-lev option" Section 4, Octet 24 N/A
scaledValueOfFirstFixedSurface "-lev option" Section 4, Octet 25-28 § N/A
scaleFactorOfLowerLimit "-prob option" Section 4, Octet 38 ‡ N/A
scaledValueOfLowerLimit "-prob option" Section 4, Octet 39-42 ‡ N/A
Where applicable. Most fields do not have this key defined. All ACCESS fields where this is relevant have "productDefinitionTemplateNumber = 8 and numberOfTimeRange = 1".
§ Where applicable. For certain "typeOfFirstFixedSurface" values these keys are not defined and hence missing.
Where applicable. Most fields do not have this key defined. All ACCESS fields where this is relevant have "productDefinitionTemplateNumber = 9".

Note also that some software packages designed to query GRIB metadata return the "value" of a level (e.g. "valueOfFirstFixedSurface"). This value can be calculated from "scaledValueOfFirstFixedSurface" & "scaleFactorOfFirstFixedSurface" via the relation:

"valueOfFirstFixedSurface" = "scaledValueOfFirstFixedSurface"*pow(10, -"scaleFactorOfFirstFixedSurface").

The following two tables list relevant identifying metadata attribute values for each ACCESS field. Here "d.c.n." is an abbreviation of 'discipline'.'parameterCategory'.'parameterNumber'. The "G1 tbl.par" column represents the legacy unique local BoM GRIB1 'parameterNumber'.'table2Version' identifier (which is no longer present in the GRIB2 message but is provided in the table for historical reasons). "NC var" is the NetCDF variable name used for the corresponding field. Note also that parameters with a parameterNumber 192 to 254 exist only in BoM local GRIB2 tables. All other parameters are defined as existing fields in the WMO GRIB2 specification.

Single-level Field Identifying Metadata

G2 d.c.n G1 tbl.par Statistical Process Level 1 Type Level 1 Value Prob Threshold Value NC var Description (units)
0.0.0 200.228 0 sfc 1.5 N/A av_temp_scrn average screen level air temperature (K)
0.0.0 167.128 N/A sfc 1.5 N/A temp_scrn screen level temperature (K)
0.0.0 125.128 N/A sfc 0.0 N/A sfc_temp surface temperature (K)
0.0.4 201.128 2 sfc 1.5 N/A tmax_scrn screen level max temperature (K)
0.0.5 202.128 3 sfc 1.5 N/A tmin_scrn screen level min temperature (K)
0.0.6 168.128 N/A sfc 1.5 N/A dewpt_scrn screen level dewpoint temperature (K)
0.0.10 221.228 0 sfc 0.0 N/A av_lat_hflx average surface latent heat flux (W m-2)
0.0.10 147.128 N/A sfc 0.0 N/A lat_hflx surface latent heat flux (W m-2)
0.0.11 222.228 0 sfc 0.0 N/A av_sens_hflx average surface sensible heat flux (W m-2)
0.0.11 146.128 N/A sfc 0.0 N/A sens_hflx surface sensible heat flux (W m-2)
0.1.0 253.228 0 sfc 1.5 N/A av_qsair_scrn average screen level specific humidity (kg kg-1)
0.1.0 81.128 N/A sfc 1.5 N/A qsair_scrn screen level specific humidity (kg kg-1)
0.1.1 101.128 N/A sfc 1.5 N/A rh2m screen level relative humidity w.r.t. water (%)
0.1.3 137.128 N/A 10 0.0 N/A precwtr precipitable water (kg m-2)
0.1.6 57.228 1 sfc 0.0 N/A accum_evap accumulated evaporation (kg m-2)
0.1.8 61.228 1 sfc 0.0 N/A accum_prcp accumulated precipitation (kg m-2)
0.1.9 142.228 1 sfc 0.0 N/A accum_ls_prcp accumulated large scale precipitation (kg m-2)
0.1.10 143.228 1 sfc 0.0 N/A accum_conv_prcp accumulated convective precipitation (kg m-2)
0.1.14 239.228 1 sfc 0.0 N/A accum_conv_snow accumulated convective snowfall (kg m-2)
0.1.15 240.228 1 sfc 0.0 N/A accum_ls_snow accumulated large scale snowfall (kg m-2)
0.1.49 49.228 1 sfc 0.0 N/A accum_rain accumulated rainfall (kg m-2)
0.1.50 50.228 1 sfc 0.0 N/A accum_snow accumulated snowfall (kg m-2)
0.1.206 58.228 1 sfc 0.0 N/A avg_evap_sea summed evaporation over open sea, deprecated (kg m-2 s-1)
0.1.207 233.128 0 sfc 0.0 N/A av_sfc_mois_flx average total surface moisture flux (kg m-2 s-1)
0.2.2 165.128 N/A sfc 10.0 N/A u10 10m wind u component (m s-1)
0.2.2 233.228 0 sfc 10.0 N/A av10u average zonal wind at 10m (m s-1)
0.2.2 33.231 N/A sfc 50.0 N/A u50r zonal wind at the 50m rho level (m s-1)
0.2.3 166.128 N/A sfc 10.0 N/A v10 10m wind v component (m s-1)
0.2.3 234.228 0 sfc 10.0 N/A av10v average meridional wind at 10m (m s-1)
0.2.3 34.231 N/A sfc 50.0 N/A v50r meridional wind at the 50m rho level (m s-1)
0.2.17 224.228 0 sfc 0.0 N/A av_uwnd_strs average surface zonal wind stress (N m-2)
0.2.17 180.128 N/A sfc 0.0 N/A uwnd_strs surface zonal wind stress (N m-2)
0.2.18 225.228 0 sfc 0.0 N/A av_vwnd_strs average surface meridional wind stress (N m-2)
0.2.18 181.128 N/A sfc 0.0 N/A vwnd_strs surface meridional wind stress (N m-2)
0.2.22 49.128 N/A sfc 10.0 N/A wndgust10m 10m wind gust (m s-1)
0.3.0 89.128 N/A sfc 0.0 N/A conv_cldbse_pres convective cloud-base pressure (Pa)
0.3.0 90.128 N/A sfc 0.0 N/A conv_cldtop_pres convective cloud-top pressure (Pa)
0.3.0 134.128 N/A sfc 0.0 N/A sfc_pres surface pressure (Pa)
0.3.1 202.228 0 sfc 0.0 N/A av_mslp average mean sea level pressure (Pa)
0.3.1 151.128 N/A sfc 0.0 N/A mslp mean sea level pressure (Pa)
0.3.5 156.228 N/A sfc 0.0 N/A topog topography height (gpm)
0.3.18 159.128 N/A sfc 0.0 N/A abl_ht planetary boundary layer height (m)
0.4.7 214.228 0 sfc 0.0 N/A av_swsfcdown average downwards shortwave radiation at the surface (W m-2)
0.4.7 216.228 0 sfc 0.0 N/A av_swirrtop average incoming shortwave radiation flux (W m-2)
0.4.9 211.228 0 sfc 0.0 N/A av_netswsfc average net shortwave radiation at surface (W m-2)
0.4.202 47.228 0 sfc 0.0 N/A av_sfc_sw_dif average surface shortwave diffuse radiation flux (W m-2)
0.4.203 115.228 0 sfc 0.0 N/A av_sfc_sw_dir average surface shortwave direct radiation flux (W m-2)
0.5.3 213.228 0 sfc 0.0 N/A av_lwsfcdown average downwards longwave radiation at the surface (W m-2)
0.5.4 215.228 0 sfc 0.0 N/A av_olr average outgoing longwave radiation (W m-2)
0.5.5 212.228 0 sfc 0.0 N/A av_netlwsfc average net longwave radiation at surface (W m-2)
0.6.1 217.228 0 sfc 0.0 N/A av_ttl_cld average total cloud coverage (%)
0.6.1 164.128 N/A sfc 0.0 N/A ttl_cld total cloud cover (%)
0.6.3 186.128 N/A sfc 111.0 N/A low_cld low cloud cover (%)
0.6.4 187.128 N/A sfc 1949.0 N/A mid_cld middle cloud cover (%)
0.6.5 188.128 N/A sfc 5574.0 N/A hi_cld high cloud cover (%)
0.6.32 210.229 N/A sfc 1.5 N/A fog_fraction fog fraction (Numeric)
0.19.0 121.229 N/A sfc 1.5 N/A visibility horizontal visibility (incl precip) (m)
0.19.0 123.229 N/A sfc 1.5 5000.0 prob_vis_5km probability of horizontal visibility less than 5 km (incl precip) ()
2.0.0 172.228 N/A sfc 0.0 N/A lnd_mask land mask (Proportion)
2.0.1 109.128 N/A sfc 0.0 N/A z0 roughness length (m)
2.0.3 140.128 N/A sfc 0.0 N/A soil_mois soil moisture content layer 1 (kg m-2)
2.0.3 171.128 N/A sfc 0.1 N/A soil_mois soil moisture content layer 2 (kg m-2)
2.0.3 184.128 N/A sfc 0.25 N/A soil_mois soil moisture content layer 3 (kg m-2)
2.0.3 237.128 N/A sfc 0.65 N/A soil_mois soil moisture content layer 4 (kg m-2)
2.0.13 87.128 N/A sfc 0.0 N/A canopy_wtr_cont canopy water content (kg m-2)
2.0.206 86.128 N/A sfc 0.0 N/A soil_mois_cont soil moisture available for transpiration (kg m-2)
2.3.18 139.128 N/A sfc 0.0 N/A soil_temp soil temperature (K)
2.3.18 170.128 N/A sfc 0.1 N/A soil_temp soil temperature layer 2 (K)
2.3.18 183.128 N/A sfc 0.25 N/A soil_temp soil temperature layer 3 (K)
2.3.18 236.128 N/A sfc 0.65 N/A soil_temp soil temperature layer 4 (K)

Multi-level (Model and Pressure) Field Identifying Metadata

G2 d.c.n G1 tbl.par Statistical Process Level 1 Type Level 1 Value Prob Threshold Value NC var Description (units)
0.0.0 130.128 N/A ml 1.0 N/A air_temp temperature (K)
0.0.6 17.228 N/A ml 1.0 N/A dewpt dew point (K)
0.1.0 133.228 N/A ml 1.0 N/A spec_hum specific humidity (kg kg-1)
0.1.1 157.128 N/A ml 1.0 N/A relhum relative humidity w.r.t. water (%)
0.1.83 246.128 N/A ml 1.0 N/A clwc cloud specific liquid water content (kg kg-1)
0.1.84 247.128 N/A ml 1.0 N/A ciwc cloud specific ice water content (kg kg-1)
0.2.2 131.128 N/A ml 1.0 N/A zonal_wnd zonal wind (m s-1)
0.2.3 132.128 N/A ml 1.0 N/A merid_wnd meridional wind (m s-1)
0.2.9 134.228 N/A ml 1.0 N/A vertical_wnd vertical velocity (m s-1)
0.3.0 54.128 N/A ml 1.0 N/A pressure pressure (T/q or theta surface) (Pa)
0.3.5 156.128 N/A ml 1.0 N/A geop_ht geopotential height (gpm)

GRIB2 Local Tables

Not all ACCESS fields maps to predefined WMO GRIB2 fields. In these cases a local table entry has been created.

The Bureau's local table is currently at version "1". It includes the following entries:

G2 d.c.n Units Legacy G1 tbl.par Description
0.1.206 kg m-2 s-1 58.228 Average rate of evaporation over open sea
0.1.207 kg m-2 s-1 233.128 Average total surface moisture flux
0.4.202 W m-2 47.228 Average surface shortwave diffuse radiation flux
0.4.203 W m-2 115.228 Average surface shortwave direct radiation flux
2.0.206 kg m-2 86.128 Soil moisture available for transpiration

In addition ACCESS data can take on the following "generatingProcessIdentifier" metadata values:

Model name generatingProcessIdentifier (ID of model)

Metadata changes introduced in APS2

  • Data on model-levels is now assigned the level type (GRIB2 table 4.5 - FIXED SURFACE TYPES AND UNITS) "118 - Hybrid Height Level". In APS1 the code "105 - Hybrid Level" was used. The new encoding accurately reflects the ACCESS model-level structure whereas the old level type was ambiguous.
  • Surface topography (heights) are meant to represent geopotential heights above the geoid but were encoded in APS1 using a D.C.N code of 0.3.6 which represented geometric height. In APS2 the D.C.N for topography was corrected to 0.3.5 (geopotential height).
  • The "probability of horizontal visibility < 5km (m)" field was encoded in APS1 with an incorrect height (above ground) of 2m instead of 1.5m. This is been fixed in APS2.
  • In APS1 low, mid and high-level cloud coverage fields lacked information about the type and value of the atmospheric layer over which they are defined. This has been rectified in APS2.
  • The meta-data "typeOfProcessedData" (GRIB2 table 1.4) is now being set to a meaningful value. Previously it was set to "missing".
  • Convective cloud-base pressure (89.128) had a typeOfSecondFixedSurface = 8 (nominal top of atmosphere) which was incorrect. This has now been fixed (set to missing).
  • The units of "total surface moisture flux" were incorrectly documented to be "kg m-2" instead of the correct units: "kg m-2 s-1".
  • See below for known outstanding meta-data issues that will be corrected in an forthcoming APS2 update.

Known Issues and Troubleshooting

Accumulated Field Metadata

There is a known issue with a GRIB2 metadata attribute that affects all ACCESS fields representing accumulated quantities. This attribute describes the start of the accumulation time interval and is set incorrectly. This can cause some software that parses GRIB2 to misrepresent the length of time over which a quantity was accumulated. Fortunately this piece of metadata in the GRIB2 header is redundant and other metadata attributes (which are set correctly) can be used to deduce the start of the accumulation time interval (and indeed many software packages that read GRIB will get the accumulation periods correct because of this, so not all software is affected by this issue).

The metadata in question is the so-called "forecastTime" key present in section 4 of the GRIB2 header. For accumulated quantities this metadata attribute should represent a "time delta" relative to the "reference time". A choice was made for ACCESS data to set the reference time to the nominal analysis date-time of the model (i.e. the base date/time of the model). As such the correct value of this "forecastTime" attribute should be -3 hours for ACCESS models. However current GRIB software can't encode/represent negative values for this attribute (although the current GRIB2 standard does not explicitly disallow negative values in this case). As such "forecastTime" attributes have been set arbitrarily to "0". To calculate the length of the accumulation time period it is recommended that the "lengthOfTimeRange" attribute be used which is also present in the GRIB2 header (section 4) and is set correctly.

To check if you are affected you should keep in mind that all accumulated fields in ACCESS actually represent a quantity accumulated from the start of a so called "4DVAR assimilation window". For all ACCESS models this window currently starts 3 hours before the nominal base-time/analysis-time of the model run. Hence the +24 hour forecast of accumulated precipitation, for example, actually represents an accumulation of all analysed/forecast precipitation from -3 hours to +24 hours (where these hours are of course relative to the nominal base-time/analysis-time of the model run). If your GRIB software suggests such a field is accumulated from +0 to +24 hours then it is affected by this metadata issue.

Older GRIB Software

Currently ACCESS GRIB2 data is based on a GRIB2 "tablesVersion" ("master_table") version = 9. This may be too recent a version for some GRIB2 parsing libraries with the effect that such software can not automatically interpret the meaning of GRIB2 metadata with this version number. For WGRIB2 a flag can be passed to attempt to interpret the data with an older master table version. For example the flag "-set master_table 8" can be passed in to allow the software to use master_tabel version 8 to interpret the metadata (e.g. "wgrib2 IDY25300.APS1.wind.10m.2013031618.024.surface.grb2 -d 1 -v -set master_table 8"). For ACCESS data, with some exceptions, version 9 can be regarded as backward compatible with 8 and possibly earlier revisions. For GRIB_API we encourage users to download the latest version which can handle recent tablesVersion editions. Alternatively the GRIB_API utility grib_set can be used to reset the tablesVersion to an earlier version, e.g. "grib_set -s tablesVersion=8 in.grb2 out.grb2". This may allow earlier versions of GRIB_API to display the meaning of various key code values with commands like "grib_dump -O out.grb2".

Other Notes

For native (hybrid-height) level data, a GRIB-2 message will include a list of vertical coordinate parameters ("PV") values corresponding to "A" and "B" values for either "rho" or "theta" levels. Level parameters 1..70 are the A(k) values and level parameters 71..140 are the B(k) values listed in the Hybrid Height Levels table (Appendix B) of the relevant product's documentation.