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, withtablesVersion
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 aparamId
+chemId
in the case of atmospheric composition modelling.
- With a
- Please experiment with this change in behaviour by updating the WMO
tablesVersion
to the latest version 35 and observe the changes that can occur toparamId
(theparam
key) in the case of time-processed parameters as well as the addition of keywords for time-processed parameters (thetimespan
key) and for chemical parameters (thechem
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
- [ECC-1903] - GRIB2: tablesVersion switch to alter parameter interpretation
- [ECC-2080] - BUFR: Update tables with the latest WMO V44.0.0
- [ECC-2070] - GRIB2: Update tables with the latest WMO V35.0.0
- [ECC-2069] - GRIB2: Update Code Table 1.3 for WMO Lead Centre for Global Climate Re-Analyses
- [ECC-1931] - GRIB2: Postponed additions & modifications of time-processed parameters for generalised time processing approach
- [ECC-2071] - GRIB2: truncated parameter names
- [ECC-2090] - GRIB2: Parameter for volumetric soil moisture in root zone
- [ECC-2091] - GRIB2: Correct long names of 237404, 238404, 239404
- [ECC-2092] - GRIB: Add CO2 parameters to 'class=od'
- [ECC-2097] - GRIB2: The key productDefinitionTemplateNumber should not be hardcoded in the parameter encodings
- [ECC-2096] - WMO correct GRIB 2 encodings for wind speed probabilities
- [ECC-2074] - Fortran: get_message, new_from_message without memcpy
- [ECC-2076] - MARS: New class A5 for ECMWF Atmospheric Composition reanalysis version 5 (EAC5)
- [ECC-2061] - C API: Deprecate functions codes_grib_util_get_param_id and codes_grib_util_get_mars_param
- [ECC-2067] - GRIB: CARRA/CERRA reanalysis on limited area in the frame of CERISE
- [ECC-2075] - Definitions: Remove GRIB2 master tables version number 0 (Experimental)
- [ECC-2084] - GRIB: Remove the obsolete 'ifsParam' key
- [ECC-2087] - Definitions: Rename entry 255 in c-11.table (common code table C–11)
- [ECC-1533] - GRIB: Add multithreading config to JasPer
- [ECC-2078] - GRIB: Add projString support for Albers equal area projection
- [ECC-2100] - BUFR: Handle rdbtimeDate edge case
- [ECC-2081] - Python bindings: Allow memoryview as input to codes_new_from_message
Bug Fixes
- [ECC-1657] - GRIB2: Problem with reading CFSv2 jpeg encoded files using multiple threads
- [ECC-536] - GRIB: Conversion of grid_complex_spatial_differencing to grid_simple
- [ECC-813] - grib_compare reports differences twice (when multiple timeRange blocks exist)
- [ECC-2060] - GRIB: Using packingType=grid_complex_spatial_differencing sets orderOfSpatialDifferencing=0
- [ECC-2068] - GRIB1: Setting local definition 11 issues error messages
- [ECC-2073] - Concepts: Assertion failure if top-level concept file doesn't exist
- [ECC-2077] - GRIB2: Default value of typeOfStatisticalProcessing should be 255
- [ECC-2079] - Compilation fails with gcc v15.1.1 if ENABLE_ECCODES_OMP_THREADS=ON
- [ECC-2083] - GRIB: Applying the scaleValuesBy operation can produce constant fields
- [ECC-2089] - GRIB: The 'geography' namespace should not include 'bitmapPresent' and 'bitmap'
- [ECC-2094] - GRIB: Longitudes are out of range in reduced_gg subarea file
- [ECC-2095] - GRIB: Complex-packed fields with a 0 group reference are treated as constant
- [ECC-2086] - Python bindings: Getting the GRIB bitmap uses up all the memory
- [ECC-2072] - Python bindings: high-level 'get' function should return default value if key is not implemented