Downloadable from our Releases page.
Please note some important changes in this release (v2.40.0) of ecCodes:
- The following C API functions have been removed:
- codes_context_set_memory_proc
- codes_context_set_persistent_memory_proc
- codes_context_set_buffer_memory_proc
- GRIB: Encoding a constant field now sets the binary scale factor to zero. See ECC-2012
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-2006] - Indexing: Performance degradation after reading thousands of files
- [ECC-2012] - GRIB: Initialise binaryScaleFactor=0 when encoding constant fields
- [ECC-1992] - GRIB2: Concept array mapping
- [ECC-2004] - MARS: Add new class 'lr' for WMO Lead Centre for Global Climate Re-Analyses
- [ECC-1952] - C API: Deprecate functions codes_context_set_memory_proc, codes_context_set_persistent_memory_proc and codes_context_set_buffer_memory_proc
- [ECC-1963] - GRIB2: Replacement of product definition template 4.44 with 4.50
- [ECC-1983] - GRIB2: chem parameters from FT2024-2
- [ECC-1984] - GRIB2: Add ERA6 pseudocentre parameters to ERA pseudocentre
- [ECC-1985] - GRIB2: Unify long names for 172XXX parameters
- [ECC-1989] - GRIB2: New parameter encodings from WMO FT2024-2
- [ECC-1990] - GRIB2: Additional CAMS paramIds
- [ECC-1991] - GRIB2: stepType for typeOfStatisticalProcessing index processing
- [ECC-1993] - GRIB2: Time-mean parameters for CERISE project
- [ECC-1997] - GRIB2: Parameters for height of theta levels
- [ECC-1998] - GRIB: correct aerosol sizes in long names
- [ECC-2001] - GRIB2: New parameter encoding for sea water depth
- [ECC-2003] - GRIB2: covariance parameters in ERA6
- [ECC-2007] - GRIB2: abstract level for ERA6
- [ECC-2010] - GRIB2: activate the use of model in the mars namespace for class=AI and ML
- [ECC-2023] - GRIB2: Remove 235152 from pseudocentre ERA
- [ECC-1995] - GRIB2: Remove rule re tablesVersion=255
- [ECC-1982] - Expression hierarchy: Use C++ inheritance mechanism instead of hand-crafted virtual tables
- [ECC-1996] - Dumper hierarchy: Use C++ inheritance mechanism instead of hand-crafted virtual tables
- [ECC-2008] - Action hierarchy: Use C++ inheritance mechanism instead of hand-crafted virtual tables
- [ECC-2018] - grib_set: Option "-p" does not print requested keys
- [ECC-2021] - GRIB2: CCSDS packing should not be applied to spectral fields
- [ECC-2027] - GRIB2: Rework the modelName/modelVersion concepts in the context of AIFS
Bug Fixes
- [ECC-1986] - GRIB1: Setting field values in second order packing
- [ECC-1994] - Crash: grib_compare combining -b and -r flag
- [ECC-1999] - GRIB: Decoding validityDateTime as a string gives incorrect value
- [ECC-2002] - GRIB: Setting paramId=228080 for ERA6 fails
- [ECC-2011] - BUFR: Attributes of data section keys (mis)identified as header keys
- [ECC-2017] - BUFR: DateTime extraction doesn't work for singleton intervals
- [ECC-2019] - GRIB: Cannot set levelist after setting typeOfLevel=isobaricInhPa