Common COSMO GRIB2 Policy

Last updated: May 2015

Back to main GRIB page

The Common COSMO GRIB2 Policy coordinates the usage of grib_api, the local concepts and the corresponding definition files between the consortium members.

Policy   Explanations
1. Field Short Name
  1. Define a set of common definitions used by all COSMO members.
  2. The master tables are managed by DWD (grib2/localConcepts/edzw).
  3. MeteoSwiss provides a script to synchronize fieldextra dictionaries and localConcepts definition files (in both directions).
  COSMO software uses alphanumeric names (short names) to refer to specific fields, e.g. U, P, T, HSURF, etc.
  • These short names are supported by grib_api as a local concept. Definition files have to be provided in grib2/localConcepts/<center>, where <center> is the short cut for the originating center (e.g. edzw or 78 for DWD).
  • Fieldextra uses a self-defined dictionary (as external ASCII file).
2. Center specific Table Values
  1. Define a set of common values used by all COSMO members, avoid as much as possible local values not part of this set.
  2. The master tables are managed by DWD (grib2/tables/local/edzw/<version>)
  The GRIB 2 standard reserves in all tables a range of values for local use (e.g. bytes 192-254 for one byte values). Such center specific table values are supported by grib_api and by fieldextra:
  • In grib_api by the use of local tables, provided in: grib2/tables/local/<center>/<version>, where <version> is the version of the local table.
  • In fieldextra by hardcoded internal tables (in order to be independent from input and output format, fieldextra translates all meta-information in some internal codes).
3. Model Name
  1. The name of each model in operation in the COSMO centers is uniquely defined by the n-tuple (center, subcenter, product category, generating process identifier)
  2. The associated information is always coded in each GRIB record
  No provision exists in the GRIB 2 standard to code the model name. Support for model name:
  • In grib_api no support for a model name is available (at the moment).
  • In fieldextra model names are hardcoded by internal tables.
4. COSMO Standard Keys and Local Use Section
  1. COSMO standard keys are:
    • 'localNumberOfExperiment' (unsigned integer coded on 2 bytes)
  2. COSMO standard keys are coded in the local use section.
  3. A default local use section, with localSectionNumber = 250, and containing all COSMO standard keys, is defined for each center.
 

Besides the model name considered in Sect. 3, there is a need to define additional meta-information shared in the COSMO consortium, but not part of the GRIB 2 standard. The local use section is the mechanism provided by the GRIB 2 standard to code such additional meta information.

Support for local use section:

  • In GRIB API: each local use section is defined by the file grib2/local.<center>.<localSection>.def, where <center> is the originating center identifier (e.g. 78 for DWD) and <localSection> is the local use identifier.
  • In fieldextra: hardcoded internal tables

5. GRIB API Definition Files
  1. A COSMO set of definition files is maintained, which is compatible with all COSMO software
  2. Local modifications to the official ECMWF definition files should be put in the local part of the GRIB API definitions (e.g. localConcepts, tables/local), with the following exceptions:
    • Bug fixes (should be communicated to ECMWF)
    • Typing errors and units corrections (should be communicated to ECMWF)
    • New features not yet in the official definitions, but planned for the next GRIB API release
    • Modifications which are absolutely needed (e.g. new alias): document and clearly mark these modifications in the definition files, try to convince ECMWF to put these in the next release
  The GRIB API definition files are used by multiple COSMO software (e.g. INT2LM, COSMO, fieldextra). A unified set of definition files should be provided to facilitate their maintenance. Furthermore, local modifications to these files should be organized in such a way that the definition files can be easily upgraded when a new release of the GRIB API is provided by ECMWF.
6. Information Flow
  1. The COSMO TAG is responsible to coordinate the use of GRIB 2 within the consortium
    • It is informed about any planned modification of GRIB 2 coding at DWD (e.g. new short name, new local value), and has the opportunity to give a recommendation to the DWD
    • It is informed about any local requirement by a COSMO member, and will propose a solution
    • The cosmo-tag mailing list is used for communication
  2. The following information is maintained on the COSMO web
    • COSMO model names and associated n-tuples
    • COSMO standard keys and their definitions
    • Local table values common to all COSMO members (or the full GRIB 2 tables, with the COSMO local values inserted as in http://www.nco.ncep.noaa.gov/pmb/docs/grib2)
    • Master table for COSMO short names
    • For each center:
      • list and content of each local sections
      • definition of additional short names not integrated in common COSMO table
  It is important to avoid incompatible developments coming from different places.

Back to main GRIB page