Downloadable from our Releases page.

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

  • 32-bit platforms are no longer supported

Changes for Version 2.30.0:

New Features/Improvements

  • Performance enhancements
    • [ECC-1525] - Performance: Keys 'latitudes' and 'longitudes' should not decode the field values
    • [ECC-1526] - Performance: Unnecessary decoding during nearest neighbour computation
  • [ECC-1467] - GRIB: Support data values array decoded as "floats" (single-precision) to reduce memory consumption
  • [ECC-1510] - GRIB2: Add support for template 5.200 (Run length packing with level values)
  • [ECC-1521] - Drop support for 32-bit architectures
  • [ECC-1543] - GRIB2: New parameter encodings for DestinationEarth
  • [ECC-1544] - GRIB2: Deprecation of parameter definitions
  • [ECC-1545] - GRIB2: Deletion of parameter definitions
  • [ECC-1549] - GRIB2: New parameter encodings for upcoming tile templates
  • [ECC-1556] - Add new MARS class ML for machine learning
  • [ECC-1557] - Add new MARS class D1 for Destination Earth
  • [ECC-1558] - GRIB2: Add new ocean parameters
  • [ECC-1561] - GRIB2: Update some legacy ocean parameters
  • [ECC-1523] - Try downloading of test-data more persistently
  • [ECC-1528] - Tools: Setting -w constraint with count=0 should issue an error
  • [ECC-1531] - Detect old versions of libaec
  • [ECC-1532] - GRIB: Allow setting 'expver' on CARRA/CERRA data
  • [ECC-1534] - Remove the GRIB1 key 'mybits'
  • [ECC-1536] - Testing: Speed up the BUFR downloads by allowing them to be run in parallel
  • [ECC-1538] - Python3 bindings: Add support for CODES_TYPE_BYTES
  • [ECC-1539] - Python3 bindings: Use the 'warnings' library for selfcheck
  • [ECC-1548] - GRIB2: Add missing templates for PDTNs 62 and 63
  • [ECC-1559] - GRIB encoding: data quality checks should test if shortName=unknown

Bug Fixes

  • [ECC-1502] - BUFR encoding: Setting strings longer than the maximum allowed length should fail
  • [ECC-1515] - Assertion failure: set packingType to grid_png
  • [ECC-1516] - grib_dump error on index file
  • [ECC-1518] - grib_to_netcdf: Error 'Cannot get stepUnits as string'
  • [ECC-1519] - grib_ls: Using the 'statistics' namespace does not respect the specified format
  • [ECC-1522] - prgenv/amd: Test eccodes_t_grib_bpv_limit fails
  • [ECC-1529] - grib_util_set_spec: Input packing type of grid_ccsds changed to grid_simple
  • [ECC-1530] - grib_util_set_spec: Input packing type of grid_second_order changed to grid_simple
  • [ECC-1540] - Ensemble member issue with localDefinitionNumber=36 for param=210170 (VSO2)
  • [ECC-1542] - Assertion failure: Reduced Gaussian grid with zeros in its pl array
  • [ECC-1547] - GRIB2: Changing PDTN from rectangular to circular cluster fails
  • [ECC-1550] - GRIB2: Incorrect product definition conversion from 48 to 46
  • [ECC-1551] - grib_get: Error message does not include the offending key
  • [ECC-1554] - grib_util_set_spec: Add support for Lambert Azimuthal Equal Area grid
  • [ECC-1555] - Python3 bindings: 2D numpy array incorrectly handled
  • [ECC-1562] - Segmentation fault: Invalid orderby directive