Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info

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

Version 2.36.0 (June 2024

Version 2.29.0 (March 2023)

Warning

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

  • The Python2 interface has been removed
  • Users will require a C++ compiler to build ecCodes. It can no longer be built with a C compiler.
    Note: The C, Fortran and Python3 interfaces have not changed
Warning

Please note some important changes in the next release of ecCodes:

  • 32-bit platforms will no longer be supported
  • [ECC-1508] - Set project language to be C++
  • [ECC-1511] - Remove the Python2 interface

...

)

Warning

Please note some important changes in :

  • In the next release
of ecCodes:
  • The Python2 interface will be removed
  • Users will require a C++ compiler to build ecCodes. It can no longer be built with a C compiler
Note

Important announcements for version 2.28.0

Deletion of unused parameters

[ECC-1478, ECC-1480, ECC-1486, ECC-1499] Please note that the following parameters have been deleted in favour of updating parameter definitions which adhere more closely to WMO encodings. In each case, MARS has been investigated to ensure that the encoding has not been previously used to archive data. The deleted parameters are:

paramId

shortName

name

units

discipline

category

number

260003

shtfl

Sensible heat net flux

W m**-2

0

0

11

260258

evarate

Evaporation rate

kg m**-2 s**-1

0

1

79

260083

hpbl

Planetary boundary layer height

m

0

3

18

228033

fspc

Fraction of stratiform precipitation cover

Proportion

0

6

36

260075

dist

Geometric height

m

0

3

6

260179

land

Land cover (1=land, 0=sea)

Proportion

2

0

0

3102 (GRIB2 only)

shww

Significant height of wind waves

m

10

0

5

3103 (GRIB2 only)

mpww

Mean period of wind waves

s

10

0

6

The parameters to use in place of these parameters are:

260003 --> 231
260258 --> 232
260083 --> 159
228033 --> 228217
260075 --> 3008
260179 --> 172
3102 --> 140234
3103 --> 140236

Modifications to existing parameter encodings
[ECC-1469] Please note that several parameters have had their encodings modified to better match WMO encodings, as well as to better match encodings that are used as standard practice to archive these parameters within MARS. In each case, this was confirmed by crawling the MARS archive. Please see [ECC-1469] for the affected parameters.

Modifications to existing parameter long names
[ECC-1470] Please note that several parameters have had their names changed to better match WMO names whilst also keeping the existing ECMWF naming scheme. This results in replacing "solar" with "short-wave (solar)" and "thermal" with "long-wave (thermal)" in several parameters. Please see [ECC-1470] for details.

  • we will deprecate the following tools:
    • grib_merge
    • gg_sub_area_check
    • big2gribex
  • In the near future, the contents of the "definitions/grib2" directory will be grouped into sub-directories.
    This could affect users who have their own customised definitions.

New Features/Improvements

  • [ECC-1820] - Accessor hierarchy: Use C++ inheritance mechanism instead of hand-crafted virtual tables
  • [ECC-1802] - GRIB2: Relax sub-hourly unit specification
  • [ECC-1817] - Tools documentation: grib_compare/bufr_compare '-f' option
  • [ECC-1819] - GRIB: Keys iScansPositively and jScansNegatively should be read-only
  • [ECC-1706] - Definitions: Align WMO Common Code Table 11 with ecCodes c-11 table
  • [ECC-1806] - GRIB: Change of paramId in conversion from GRIB1 to GRIB2
  • [ECC-1829] - GRIB: Add MARS support for stream & type combinations required for AIFS ensemble
  • [ECC-1846] - GRIB2: Add optional modelName and modelVersion in section 4

  • [ECC-1705] - GRIB2 Templates for WMO Fast Track 2024-1 for probabilities with focal statistics
  • [ECC-1799] - GRIB2: Populate the ERA pseudo-centre with relevant encodings
  • [ECC-1804] - GRIB2: Removal of 192 encodings to avoid confusion with new time-mean parameters
  • [ECC-1810] - GRIB: Surface sea water velocity encodings
  • [ECC-1811] - GRIB: Practical salinity encodings
  • [ECC-1812] - GRIB2: Add time-mean version of 159; blh
  • [ECC-1821] - GRIB: Add mars directives in grib.mmsf.an.def for CERISE dataset
  • [ECC-1822] - GRIB2: Modification of sea ice thickness parameters
  • [ECC-1823] - GRIB2: Add climatological albedo local ECMWF parameter to pseudocentre ERA6
  • [ECC-1824] - GRIB2: Correct shortNames for recently added time-mean parameters
  • [ECC-1825] - GRIB2: Add remaining time-mean parameter encodings related to ERA pseudo-centre
  • [ECC-1826] - GRIB2: Add time-mean versions of hydro dis / swi parameters
  • [ECC-1827] - GRIB2: Add new FT2024-1 parameters from issue #227
  • [ECC-1828] - GRIB2: Add new FT2024-1 parameters from issue #221
  • [ECC-1831] - GRIB2: Remove the 'modelName' concept
  • [ECC-1834] - GRIB2: Add time-mean version of hydro parameters from WMO FT2024-1
  • [ECC-1835] - GRIB2: Time-mean parameters for ERA6 on pressure levels
  • [ECC-1836] - GRIB2: Add correct unit to paramId 43
  • [ECC-1837] - GRIB: Make code table units consistent
  • [ECC-1838] - GRIB2: Aerosol diagnostics parameters
  • [ECC-1839] - GRIB2: Add encoding for aerosol extinction coefficient
  • [ECC-1841] - GRIB2: Overload wind components / speed for ERA6 with heights for 100 and 200m above ground
  • [ECC-1842] - GRIB2: Modification of ocean parameter encodings to support multiple typeOfLevel entries
  • [ECC-1844] - MARS: Add new class 'ng' for nextGEMS
  • [ECC-1845] - GRIB2: Time processed parameters for volumetric soil moisture

Bug Fixes

  • [ECC-782] - Multi-field GRIB: crash in grib_handle_new_from_file_multi
  • [ECC-1800] - GRIB2: Failure setting stepUnits=s,paramId=210203
  • [ECC-1801] - GRIB2: Issue with post metadata hook for DestinE
  • [ECC-1805] - GRIB2: Sub-hourly: Fix race condition
  • [ECC-1813] - GRIB2: Sub-hourly: Set step units without step
  • [ECC-1818] - GRIB Geoiterator issues for Lambert azimuthal equal area
  • [ECC-1840] - BUFR: Problem with edition 3 typicalYear and typicalDate

Version 2.35.0 (April 2024)

Warning

Please note:

GRIB2 templates 4.51 and 4.91 had the keys "codeFigure" and "categoryType" in the wrong order (See ECC-1797).
This has been corrected to be in line with WMO Manual on Codes.
We apologise for any inconvenience caused.

New Features/Improvements

  • [ECC-1781] - GRIB Geoiterator: Support reduced Gaussian grid with rotation
  • [ECC-1784] - GRIB Geoiterator: Support HEALPix nested ordering
  • [ECC-1785] - BUFR: Allow encoding satelliteID when rdbType=30
  • [ECC-1780] - GRIB HEALPix: In the 'geography' namespace replace 'pointsOrdering' with 'orderingConvention'
  • [ECC-1777] - GRIB: Validate dataDate and dataTime on input
  • [ECC-1769] - GRIB: Rename keys FirstLatitude and SecondLatitude
  • [ECC-1767] - GRIB2: Add keys to properly compute wavelengths in section 4 optical templates
  • [ECC-1779] - GRIB2: Add keys to identify experimental and deprecated templates
  • [ECC-1762] - GRIB2: Add GRIB1 key name aliases to wave spectra template with explicit list
  • [ECC-1765] - GRIB2: Move upward sea water velocity encoding to correct typeOfLevel
  • [ECC-1766] - GRIB2: EERIE (European Eddy RIch Earth System Models) metadata support
  • [ECC-1775] - GRIB2: WMO conforming snowfall water equivalent parameters for DestinationEarth
  • [ECC-1776] - GRIB2: Additional activity and experiment table entries for DestinE ClimateDT
  • [ECC-1786] - GRIB2: Add local ECMWF parameters to pseudo-centre CERISE
  • [ECC-1787] - GRIB2: Add time-mean versions of existing parameters
  • [ECC-1788] - GRIB2: Add mean parameters for ECMWF and CERISE
  • [ECC-1789] - GRIB2: Add parameters 51/52 to pseudo-centre CERISE
  • [ECC-1791] - GRIB2: Modify and remove maximum individual wave parameters
  • [ECC-1794] - GRIB2: DestinE data does not have the MARS domain key
  • [ECC-1796] - GRIB2: Implement stepRange indexing for DestinE ExtremesDT and On-Demand ExtremesDT data
  • [ECC-1798] - GRIB2: New parameter encodings for DestinationEarth
  • [ECC-1772] - GRIB2: activate stepRange for levtype o2d/o3d under stream mmsf type fc
  • [ECC-1774] - GRIB2: Add MARS system keyword for class Cerise mmsf/fc and msmm.fcmean
  • [ECC-1782] - Repacking sample GRIB2.tmpl fails when ECCODES_GRIB_DATA_QUALITY_CHECKS=1

Bug Fixes

  • [ECC-1797] - GRIB2: Correct order of keys in templates 4.51 and 4.91 regarding the WMO Manual on Codes
  • [ECC-1364] - GRIB: Geoiterator for Lambert Conformal in the southern hemisphere
  • [ECC-1768] - GRIB2: Issue with setting PDTN 8, stepUnits and step at the same time
  • [ECC-1770] - GRIB2: Template 4.1101 has incorrect size and octet layout
  • [ECC-1771] - Build with -DBUILD_SHARED_LIBS=OFF on the Atos HPC doesn't work
  • [ECC-1778] - Crash: Decoding invalid BUFR file
  • [ECC-1783] - grib_to_netcdf: No error message when input file has invalid fields
  • [ECC-1792] - GRIB: headers_only cloning does not work as expected after changing geography
  • [ECC-1795] - Geoiterator for polar stereographic: Keys orientationOfTheGridInDegrees and LaDInDegrees decoded as integers

Version 2.34.1 (February 2024)

  • [ECC-1364] - GRIB: Geoiterator for Lambert Conformal in the southern hemisphere
  • [ECC-1768] - GRIB2: Issue with setting PDTN 8, stepUnits and step at the same time
  • [ECC-1771] - Build with -DBUILD_SHARED_LIBS=OFF on the Atos HPC doesn't work
  • [ECC-1772] - GRIB2: activate stepRange for levtype o2d/o3d under stream mmsf type fc
  • [ECC-1751] - GRIB2: Consolidate parameters with fixed statistical processing ranges
  • [ECC-1765] - GRIB2: Move upward sea water velocity encoding to correct typeOfLevel
  • [ECC-1685] - GRIB2: Correct local ECMWF table entries
  • [ECC-1774] - GRIB2: Add MARS system keyword for class Cerise mmsf/fc and msmm.fcmean

Version 2.34.0 (February 2024)

Warning

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

  • Support for sub-hourly data in GRIB edition 2. For more details, see here

New Features/Improvements

  • [ECC-1238] - GRIB: Support for sub-hourly steps
  • [ECC-1742] - Add function to clone only the meta-data of a message
  • [ECC-1750] - MARS: Add new class 'ai'
  • [ECC-1757] - MARS: Add stream 'rfsd'
  • [ECC-1713] - GRIB2: Add correct definition to discipline 192 parameter 228004; mean2t for DestinE ClimateDT
  • [ECC-1731] - GRIB2: Add additional paramIds to be used with CAMS chemIds
  • [ECC-1737] - GRIB2: Add wave and ocean parameters
  • [ECC-1740] - GRIB2: Addition to concept combinationOfAttributesOfTile
  • [ECC-1743] - GRIB2: New hydro and wave parameters
  • [ECC-1745] - GRIB2: Local ECMWF parameters for covariances
  • [ECC-1751] - GRIB2: Consolidate parameters with fixed statistical processing ranges
  • [ECC-1756] - GRIB2: Add mean parameters for CERISE project
  • [ECC-1758] - GRIB2: add local ECMWF parameters to pseudo-centre ERA6
  • [ECC-1748] - Tools: grib_dump on index file should print the key types
  • [ECC-1752] - Definitions: Harmonise cfVarName.def files
  • [ECC-1753] - Scripts: Update create_def.pl to work with the new Parameter Database design
  • [ECC-1754] - CMake: Remove deprecated 'FindPythonInterp' module
  • [ECC-1738] - BUFR: Better error message for invalid sequence

Bug Fixes

  • [ECC-786] - grib_get -i -p has a space missing in the output
  • [ECC-791] - grib tools with print of dummy:s puts a " 1" in the output
  • [ECC-1676] - Negative step conversion from hour to seconds fails
  • [ECC-1733] - GRIB2: codes_set_missing doesn't work for indicatorOfUnitOfTimeIncrement key
  • [ECC-1741] - Assertion failure: Encoding a large field in GRIB1
  • [ECC-1744] - Rounding errors in 2 tests with intel LLVM-based compilers 2023.2
  • [ECC-1746] - GRIB2 template 4.34: Incorrect values for 'time' namespace
  • [ECC-1749] - grib_dump: No gap between offsets and key name
  • [ECC-1739] - BUFR: Assertion failure decoding with invalid masterTablesVersionNumber

Version 2.33.0 (December 2023)

Warning

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.

 

Warning

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"

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

Version 2.32.1 (October 2023)

  • [ECC-1699] - BUFR: Bitmap problem for ERA5 data
  • [ECC-1702] - GRIB2: Add turbulent surface parameters
  • [ECC-1707] - GRIB2: Add support for two FESOM grids
  • [ECC-1691] - GRIB2: Destination Earth ClimateDT metadata support
  • [ECC-1700] - GRIB2: Add support for ecPoint

Version 2.32.0 (October 2023)

 

Warning

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

  • The tigge_* tools have been removed (tigge_check, tigge_split etc)
  • The grib1to2 script has been removed

New Features/Improvements

  • [ECC-1361] - Prototype HEALPix grid
  • [ECC-1674] - GRIB2: Add support for encoding template 5.200 (Run length packing with level values)
  • [ECC-1633] - Tools: Deprecate the tigge_* tools (tigge_check, tigge_split, etc)
  • [ECC-1640] - Tools: Remove the grib1to2 script
  • [ECC-1447] - Proposal for a template for parameters dependent on a reference period
  • [ECC-1648] - GRIB2: Update encodings of accumulated tendency parameters
  • [ECC-1649] - GRIB2: Add WMO encodings for wave parameters
  • [ECC-1650] - GRIB2: Update encoding for wave parameters with discipline=192
  • [ECC-1651] - GRIB2: Remove the encoding for wave parameters 3105 and 3106
  • [ECC-1653] - GRIB2: Add encoding for mean parameters
  • [ECC-1655] - GRIB2: Change of definition and new mars levtype concepts for ocean parameters
  • [ECC-1656] - GRIB: Add keys isGridded and isSpectral
  • [ECC-1658] - GRIB2: Add WMO encoding to parameters
  • [ECC-1659] - GRIB2: Update encodings with 192 discipline
  • [ECC-1660] - GRIB: Delete the GRIB2 representation of parameter 3037
  • [ECC-1661] - GRIB2: Add encoding for parameters with only uerra grib2
  • [ECC-1665] - GRIB2: Move parameters to pseudo-centre uerra
  • [ECC-1667] - GRIB: Add new key 'validityDateTime'
  • [ECC-1670] - GRIB: Add new key 'setPackingType'
  • [ECC-1672] - Tools: Add '-d' option for grib_compare
  • [ECC-1677] - GRIB2: Replace discipline 192 local encoding
  • [ECC-1678] - GRIB2: Add encoding for CAPES
  • [ECC-1679] - GRIB2: Replace discipline=192 encodings
  • [ECC-1688] - GRIB2: Update encoding for altimeter wave height parameters

  • [ECC-1693] - Python3 bindings: Update minimum recommended version
  • [ECC-1632] - Definitions: Deprecate GRIB2 template 3.130 and remove code table entries
  • [ECC-1634] - GRIB2: Correction of neutral wind parameters
  • [ECC-1636] - GRIB2: Add more values to the typeOfLevel key
  • [ECC-1637] - GRIB2: Remove template.5.6.def and template.7.6.def
  • [ECC-1645] - GRIB: Update parameter long names and move discipline 192 encoding to legacy
  • [ECC-1647] - GRIB2: Addition of missing fixed surfaces to recently updated parameters
  • [ECC-1662] - GRIB2: new ocean parameters for OCEAN6
  • [ECC-1663] - GRIB2: Revert paramId 26 to old encoding
  • [ECC-1664] - GRIB2: Add new CloudLayer concepts for 'typeOfLevel'
  • [ECC-1666] - GRIB2: Add new MARS class O6 for ORAS6
  • [ECC-1668] - GRIB2: Modification of name/shortName for sea ice temperature parameters
  • [ECC-1669] - GRIB2: New plain sea ice temperature parameters
  • [ECC-1673] - MARS: Add mars.number to the combination ocda/tpa
  • [ECC-1682] - GRIB2: New reflectance parameters
  • [ECC-1683] - GRIB2: Add new pseudo-centre for DestinE (Destination Earth)
  • [ECC-1692] - GRIB2: Add Carbon Dioxide parameter encoding to 210061 for pseudo-centre DestinationEarth

  • [ECC-633] - Fortran examples: looping over messages
  • [ECC-1642] - Geoiterator: No error for badly encoded regular grids
  • [ECC-1643] - GRIB2: Remove experimental templates 5.40010 and 7.40010
  • [ECC-1652] - Improve error message re stepUnits
  • [ECC-1675] - C internals: Add error argument to grib_nearest_factory function
  • [ECC-1684] - GRIB2: Rename wind gust parameters
  • [ECC-1685] - GRIB2: Correct local ECMWF table entries
  • [ECC-1694] - CMake: Add libaec_ROOT as search hint for FindAEC

Bug Fixes

  • [ECC-530] - GRIB2: Order of setting keys creates a failure
  • [ECC-1541] - Modifying the PDTN for GRIB2 changes keys for certain values of typeOfFirstFixedSurface
  • [ECC-1621] - Valgrind error: grib_compare -H
  • [ECC-1631] - Segmentation fault: Decode bufrdcExpandedDescriptors as string
  • [ECC-1638] - GRIB2: Error creating variable resolution latitude/longitude grid
  • [ECC-1639] - CRASH: Nearest neighbour on Gaussian grid with N=0
  • [ECC-1641] - Assertion failure in grib_to_netcdf for acetone product
  • [ECC-1644] - GRIB2: Changing the PDTN changes the scale factor and scaled value keys
  • [ECC-1646] - Error setting GRIB edition to 2 for parameters: sro, uvb, lsp, e, and pev
  • [ECC-1654] - Error setting key of type 'codetable' as a string
  • [ECC-1671] - GRIB: Issue in reading glofas data with eccodes since 2.27.0

Version 2.31.0 (July 2023)

Warning

Please note some important changes in the next release (v2.32.0) of ecCodes:

  • The tigge_* tools will be removed (tigge_check, tigge_split etc)

New Features/Improvements

  • Performance enhancements
    • [ECC-1602] - GRIB: CCSDS performance improvement (both decoding and encoding)
    • [ECC-1614] - Performance: Faster grib_count and bufr_count

  • [ECC-743] - Fully implement GRIB encoding with complex spatial differencing packing
  • [ECC-788] - Problem with the scale factor of Potential vorticity surface
  • [ECC-793] - Provide mechanism to reject EXPERIMENTAL parameters
  • [ECC-1312] - ecCodes does not support writing of grid_complex_spatial_differencing
  • [ECC-1552] - GRIB: return non empty proj string for unprojected gridded fields
  • [ECC-1568] - Update C++ standard from C++11 to C++17
  • [ECC-1607] - Move the version info from CMakeLists.txt to the VERSION file
  • [ECC-1600] - sourceSinkChemicalPhysicalProcess key for paramId 403000 Emission mass flux
  • [ECC-1580] - Make codes_get_native_type available in Fortran
  • [ECC-1585] - GRIB2: Update tables/templates with the latest WMO V31.0.0
  • [ECC-1599] - BUFR: Update tables with the latest WMO V40.0.0
  • [ECC-1584] - grib_dump: indicate which keys are 'read-only'
  • [ECC-1611] - C API: Add function to determine if a BUFR key is a coordinate descriptor
  • [ECC-1615] - Fortran API: Ability to read an array of double-precision integers
  • [ECC-1630] - Python3 bindings: Get API version as an integer
  • [ECC-1622] - Python3 bindings: Drop Python version 3.7
  • [ECC-1601] - Python3 bindings: Support GRIB data values array decoded in single-precision
  • [ECC-1610] - MARS: configure keywords mapping for ocda/tpa and oper/fc for ocean levtype o2d/o3d
  • [ECC-1569] - GRIB2: Add missing ocean parameter typeOfLevelConcept
  • [ECC-1577] - GRIB2: Add support for stepType when typeOfTimeIncrement=255
  • [ECC-1504] - GRIB2: Make deprecated WMO parameters legacy
  • [ECC-1564] - GRIB2: Support local product definition templates for different centres
  • [ECC-1625] - GRIB2: ERA6 parameters with constituentType regarding DGOV-357
  • [ECC-1626] - GRIB2: Mass and water budget parameters for ERA6
  • [ECC-1628] - GRIB2: Energy budget parameters for ERA6
  • [ECC-1629] - GRIB2: CAMS emission parameters for additional sink and sources
  • [ECC-1563] - GRIB2: Introduce new local section 4 templates for extra-large ensembles
  • [ECC-1570] - GRIB2: Accumulated mass emission of methane from Wetlands
  • [ECC-1571] - GRIB2: Allow new expver=0002 for class=ur and origin=lfpw
  • [ECC-1574] - GRIB2: Modifications to parameter long names (WMO conforming) for Destination Earth
  • [ECC-1575] - GRIB2: Modification of convective precipitation GRIB2 deprecated encoding
  • [ECC-1581] - GRIB2: Modification of total snowfall GRIB2 deprecated encoding
  • [ECC-1582] - GRIB2: Modification of snow melt GRIB2 deprecated encoding
  • [ECC-1583] - GRIB2: Modification of top net short-wave (solar) radiation GRIB2 deprecated encoding
  • [ECC-1587] - GRIB2: Updating climatological discipline 192 parameter encodings
  • [ECC-1588] - GRIB2: Modification of albedo parameters
  • [ECC-1589] - GRIB2: Change unit of 152; logarithm of surface pressure parameter
  • [ECC-1590] - GRIB2: Add correct GRIB2 definition to discipline 192 parameter 244; fsr
  • [ECC-1591] - GRIB2: New parameter encodings from WMO FT2023-1
  • [ECC-1592] - GRIB2: Add correct GRIB2 definitions to discipline 192 definitions from WMO FT2023-1
  • [ECC-1593] - GRIB2: Add GRIB2 encodings to current GRIB1-only parameters from WMO FT2023-1
  • [ECC-1594] - GRIB: Deletion of unused parameter definitions
  • [ECC-1596] - GRIB2: Deletion of unused parameter definitions
  • [ECC-1597] - GRIB2: Make several GRIB2 encodings legacy
  • [ECC-1598] - GRIB2: Modifications to sea-ice parameter long names
  • [ECC-1603] - GRIB2: New parameter encodings for ocean parameters
  • [ECC-1604] - GRIB2: Modification of sea water practical salinity units
  • [ECC-1616] - GRIB2: Modification of parameter encodings for ocean parameters
  • [ECC-1617] - GRIB2: Merging of GRIB2 encodings into pre-existing GRIB1 parameters
  • [ECC-1618] - GRIB: Fix minor typos in parameter names for consistency
  • [ECC-1619] - GRIB2: Remove trailing spaces from parameter names
  • [ECC-1627] - GRIB2: Add new pseudo-centre for ERA6
  • [ECC-1565] - Add centre abbreviation 'birk' for Reykjavik

Bug Fixes

  • [ECC-803] - Problem with encoding grid_complex_spatial_differencing packing
  • [ECC-1081] - "level" is not edition-independent for potential vorticity levels
  • [ECC-1433] - GRIB2 CCSDS: Very small values are not encoded correctly
  • [ECC-1472] - Complex packing: Incorrect missing values handling
  • [ECC-1560] - GRIB2: Changing from PDTN=8 to 11 changes the level from 1.5 to 2
  • [ECC-1572] - Fortran codes_get/grib_get fails to get array of 32-bit real numbers
  • [ECC-1573] - GRIB spectral_simple: Assertion failed: `ref == *val'
  • [ECC-1578] - codes_handle_new_from_index does not initialise its 'err' argument
  • [ECC-1586] - grib_get_data: Invalid latitude values printed
  • [ECC-1605] - GRIB: Overflow for key forecastTime
  • [ECC-1606] - GRIB2 CCSDS: Corrupted data after changing bitsPerValue
  • [ECC-1608] - GRIB: Increasing bitsPerValue produces different results (in some cases)
  • [ECC-1623] - BUFR: Assigning a single-element array to a string key fails with FunctionNotImplementedError

Version 2.30.2 (June 2023)

  • [ECC-1579] - Fortran: grib_get_real4_array (single-precision mode) not bit-identical
  • [ECC-1586] - grib_get_data: Invalid latitude values printed

Version 2.30.0 (April 2023)

Warning

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

  • 32-bit platforms are no longer supported

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

Version 2.29.0 (March 2023)

Warning

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

  • The Python2 interface has been removed
  • Users will require a C++ compiler to build ecCodes. It can no longer be built with a C compiler.
    Note: The C, Fortran and Python3 interfaces have not changed


Warning

Please note some important changes in the next release of ecCodes:

  • 32-bit platforms will no longer be supported
  • [ECC-1508] - Set project language to be C++
  • [ECC-1511] - Remove the Python2 interface

Version 2.28.0 (January 2023)

Warning

Please note some important changes in the next release of ecCodes:

  • The Python2 interface will be removed
  • Users will require a C++ compiler to build ecCodes. It can no longer be built with a C compiler


Warning
titleDeleted parameters and changes to encoding of existing ones

In preparation for the Migration to GRIB2, from 2.28.0 there has been a number of changes in the way a number of parameters are encoded in GRIB 2. There are also a number of new parameters, some existing ones have seen their names changed, and a small number of them have been removed. Check the corresponding links for the details of the parameters affected. If ecCodes 2.28.0 or later is used to encode those parameters that changed encoding, it will not be possible to correctly decode them for earlier versions. 

Info

Addition of GRIB2 parameters and GRIB2 encodings

[ECC-1464, ECC-1465, ECC-1466, ECC-1479, ECC-1481] Please note that several new parameters have been added with GRIB2 only encodings, and several parameters have been updated with their correct GRIB2 encodings, which either replaces a previous discipline=192 encoding or is new entirely. Please see the related tickets for more information

New Features/Improvements

...