Downloadable from our Releases page.

Please note:

  • With version 2.42.0 comes a significant reworking of the concepts and lookup related to the paramIds/shortNames/names and the MARS namespace in preparation for the Migration to GRIB2 (MTG2) at ECMWF.
    This mechanism is predominantly handled by the WMO tables version, with tablesVersion 33 imposing the pre or post migration behaviour.
    All data using the MARS namespace will default to this switching behaviour, but some exceptions have been implemented to, for example, preserve ECMWF operations until CY51R1.
    • With a tablesVersion less than or equal 33 a frozen set of definition files are used to ensure backwards compatibility.
    • With a tablesVersion greater than 33 the standard set of definition files are used to ensure continuity of the standard definitions.
    • As well as the standard defintions, there are also new definitions related to chemistry to facilitate the split of paramId into a paramId + chemId in the case of atmospheric composition modelling.
  • Please experiment with this change in behaviour by updating the WMO tablesVersion to the latest version 35 and observe the changes that can occur to paramId (the param key) in the case of time-processed parameters as well as the addition of keywords for time-processed parameters (the timespankey) and for chemical parameters (the chem key).


  • The minimum required version of CMake is 3.18
  • The following C API functions are deprecated and have been removed:

    codes_string_list* codes_grib_util_get_param_id(const char* mars_param);
    codes_string_list* codes_grib_util_get_mars_param(const char* param_id);

Please note: There is a new webpage for the Migration to GRIB2: Migration to GRIB2
This webpage also includes a section where changes in the parameter encodings for the coming ecCodes versions are documented: Changes in the parameter encodings

New Features/Improvements

Bug Fixes