Downloadable from our Releases page.

Please note:

We are aiming to add official support for sub-hourly GRIB2 data in the next release (v2.34.0).

This will have an impact on users of ecCodes who currently produce sub-hourly GRIB2 data.
We strongly encourage you to contact us ahead of time so that we can help you adapt to the changes that this release will bring.


Please note some important changes in this release (v2.33.0) of ecCodes:

  • The key "levtype" is now read-only (for GRIB edition 2). Please use "typeOfLevel" to set fixed surface types
  • The key "validityTime" now has 4 characters as a string (like dataTime). This affects the output of commands like "grib_ls -n time"

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

Changes for Version 2.33.0:

New Features/Improvements

  • [ECC-1333] - GRIB2 only: make levtype read-only, typeOfLevel should be used to set fixed surfaces
  • [ECC-1704] - GRIB: Implement unpack_string for validityTime
  • [ECC-1722] - API: Allow setting integer key as missing via codes_set_string
  • [ECC-1714] - GRIB2: Update tables/templates with the latest WMO V32.0.0
  • [ECC-1715] - BUFR: Update tables with the latest WMO V41.0.0
  • [ECC-1537] - GRIB2: Generalised tile template for encoding variables on tiles
  • [ECC-1702] - GRIB2: Add turbulent surface parameters
  • [ECC-1707] - GRIB2: Add support for two FESOM grids
  • [ECC-1724] - Implement changes for CARRA monthly/daily products
  • [ECC-1698] - Add format specifier keys for converting a number (float or int) into a string
  • [ECC-1701] - Compile-time initialisation of IBM/IEEE float tables
  • [ECC-1691] - GRIB2: Destination Earth ClimateDT metadata support
  • [ECC-1697] - GRIB2: Update long name of hydrology parameter 231002
  • [ECC-1700] - GRIB2: Add support for ecPoint
  • [ECC-1709] - GRIB2: Rename indicatorOfUnitOfTimeRange to indicatorOfUnitForForecastTime
  • [ECC-1710] - GRIB2: Replace 'highres' with 'high' in DestinE resolution table
  • [ECC-1711] - GRIB2: Correct incorrect fixed surface encodings in samples
  • [ECC-1712] - GRIB2: New table entries for DestinE ClimateDT
  • [ECC-1713] - GRIB2: Add correct definition to discipline 192 parameter 228004; mean2t for DestinE ClimateDT
  • [ECC-1716] - GRIB2: Use dataDate and dataTime for indexing within MARS stream clte
  • [ECC-1719] - GRIB2: New parameter encodings from WMO FT2023-2
  • [ECC-1720] - GRIB2: Add correct GRIB2 definitions to discipline 192 definitions from WMO FT2023-2
  • [ECC-1721] - GRIB2: Update existing encoding to correct deprecated parameter encoding
  • [ECC-1725] - GRIB2: Add descriptions for soil wetness index parameters
  • [ECC-1729] - GRIB2: Add missing time-mean sea water salinity
  • [ECC-1730] - GRIB2: replace encodings of instantaneous turbulent surface stress component parameters
  • [ECC-1736] - Add MARS classes for C3S hydrology and CERISE projects

Bug Fixes

  • [ECC-1703] - GRIB: AddressSanitizer: heap-buffer-overflow
  • [ECC-1708] - grib_get_data returns offset longitudes in some cases
  • [ECC-1717] - CRASH: grib_get -p numberOfMissing on invalid GRIB