Downloadable from our Releases page.

In this release new parameters have been added which reflect a statistical processing in time of an existing parameter. This is to streamline and unify statistically processed parameters, as well as prevent accidental misuse of the instantaneous paramId for parameters which are statistically processed in time and hence require more metadata in the GRIB message.
The addition of new parameters follows the following structure where possible:


inst

mean

accum

max

min

std

atm

XXX

235YYY

236YYY

237YYY

238YYY

239YYY

wave

140XXX

141XXX

142XXX

143XXX

144XXX

145XXX

ocean

262XXX

263XXX

264XXX

265XXX

266XXX

267XXX

Please note that existing parameters will not fit into this structure, e.g. accumulated water and radiation parameters.
A pre-existing example can be found in, for example, mucape as below:


inst

mean

accum

max

min

std

most-unstable CAPE
(shortName, paramId)

mucape

228235

avg_mucape

235117

max_mucape

237117

min_mucape

238117

std_mucape

239117

Due to clashes with current ECMWF operational output, we will delay the addition of the following parameters until further developments have been implemented:

  • 235288; Time-mean total cloud cover (base parameter 228164)
  • 235326; Time-mean total lightning flash density (base parameter 228050)
  • 237287; Time-maximum convective available potential energy (base parameter 59)
  • 237167; Time-maximum 2 metre temperature (base parameter 167, already have generic encoding 201)
  • 237318; Time-maximum 10 metre wind gust (base parameter 228029, already have generic encoding 49)
  • 237321; Time-maximum convective available potential energy shear (base parameter 228044)
  • 237055; Time-maximum total precipitation rate (base parameter 260048, already have generic encoding 228226)
  • 238167; Time-minimum 2 metre temperature (base parameter 167, already have generic encoding 202)
  • 238055; Time-minimum total precipitation rate (base parameter 260048, already have generic encoding 228227)

The following C API functions are deprecated and will be removed in the next release:

  • codes_context_set_memory_proc
  • codes_context_set_persistent_memory_proc
  • codes_context_set_buffer_memory_proc


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-1972] - Python bindings: Support Windows with binary wheel
  • [ECC-1974] - GRIB2: Update tables with the latest WMO V34.0.0
  • [ECC-1975] - BUFR: Update tables with the latest WMO V43.0.0
  • [ECC-1947] - Performance: Pre-compute most common Gaussian latitudes
  • [ECC-1909] - GRIB2: Extend the model name and model version concept for On-Demand DT
  • [ECC-1922] - GRIB: Add support to intermediate fesom grid DART
  • [ECC-1939] - BUFR: Definition of new mucape descriptor for 49r1
  • [ECC-1940] - GRIB: Add MARS namespace configuration for stream=olda, type=tpa
  • [ECC-1942] - GRIB2: reorganise template.4.horizontal.def to avoid unaliasing mars.levelist
  • [ECC-1900] - ecCodes modernisation: Simplification of the accessors
  • [ECC-1948] - Geoiterator hierarchy: Use C++ inheritance mechanism instead of hand-crafted virtual tables
  • [ECC-1960] - Nearest hierarchy: Use C++ inheritance mechanism instead of hand-crafted virtual tables
  • [ECC-1959] - GRIB2: Add key forecastMonth for local definitions 12 and 16
  • [ECC-1832] - GRIB2: Destination Earth On-Demand ExtremesDT metadata support
  • [ECC-1890] - GRIB2: Additions & modifications of time-mean parameters for generalised time processing approach
  • [ECC-1891] - GRIB2: Additions & modifications of time-maximum parameters for generalised time processing approach
  • [ECC-1892] - GRIB2: Additions & modifications of time-minimum parameters for generalised time processing approach
  • [ECC-1893] - GRIB2: Additions & modifications of time-standard-deviation parameters for generalised time processing approach
  • [ECC-1924] - GRIB2: Reintroduce WMO deprecated parameters to legacy for NOAA
  • [ECC-1928] - GRIB2 DestinE: Switch of paramId for 100m and 200m wind components on height levels
  • [ECC-1935] - GRIB2: mars namespace for mars.quantile
  • [ECC-1937] - GRIB2: add stepRange for class ai / stream oper / type ep
  • [ECC-1943] - GRIB1: Add an entry for 10fg6 in stepTypeForConversion concept
  • [ECC-1953] - GRIB2: step in stream mmsf/an mars namespace
  • [ECC-1955] - GRIB2: Extend modelName and modelVersion concepts to future IFS cycles
  • [ECC-1956] - GRIB2: Additional activity and experiment table entries for DestinE ClimateDT
  • [ECC-1957] - GRIB2: Time-processed parameters without corresponding WMO templates
  • [ECC-1961] - GRIB2: add peak period / direction and other wave parameters
  • [ECC-1962] - GRIB2: Add Wet-bulb temperature
  • [ECC-1964] - GRIB2: Time processed variants of wave parameters
  • [ECC-1965] - GRIB1: Add 100 metre wind speed anomaly
  • [ECC-1966] - GRIB2: New parameters for NEMO
  • [ECC-1967] - GRIB2: Ocean parameters needed in ERA6 with ECMWF local units
  • [ECC-1969] - GRIB2: On-Demand ExtremesDT - remove alias of paramtype to MARS namespace for tile template
  • [ECC-1971] - GRIB2: Add support for pseudocentre NextGEMS, support for 100m and 200m winds on levtype hl and support for ECMWF local parameters
  • [ECC-1973] - GRIB2: Slight tweaks to newly modified shortNames for consistency
  • [ECC-1977] - GRIB2: Change of postProcessing concept for GFAS/EFAS
  • [ECC-1980] - GRIB2: Add time-mean cloud cover for DestinE and ERA6 pseudocentre
  • [ECC-1920] - Concepts: Allow passing a key as the basename
  • [ECC-1929] - Definitions: Ability to use the print statement

Bug Fixes

  • [ECC-1696] - GRIB: cannot set shortName to tp in GRIB2 message
  • [ECC-1926] - GRIB2: Incorrect decoding of data values when packingType=grid_complex_spatial_differencing
  • [ECC-1927] - GRIB: grid_second_order hanging when encoding fields with infinite values
  • [ECC-1932] - GRIB: Version 2.38 does not recognise t2m from UK Met Office seasonal forecast data
  • [ECC-1933] - GRIB1 definitions: Cannot use the 'edition' key in mars config files
  • [ECC-1941] - GRIB: Setting paramId=131060 fails if typeOfFirstFixedSurface=255
  • [ECC-1954] - GRIB: GRIB1 to GRIB2 conversion does not preserve ensemble product template for some statistically processed GRIB1 fields
  • [ECC-1976] - GRIB2: ECMWF local definition 300 levtype should be 'layer' not 0
  • [ECC-1968] - GRIB2 grid_complex_spatial_differencing: Encoding with bitsPerValue=24 fails
  • [ECC-1936] - Compilation error: identifier 'strcasestr' is undefined with nec compilers
  • [ECC-1930] - Potential undefined behaviour in eccodes
  • [ECC-1921] - grib_util_set_spec: Failure with input spectral_ieee and bitsPerValue=64
  • [ECC-1958] - BUFR encoding: Delayed replication: Too many elements
  • [ECC-1951] - BUFR: A memory leak occurs when pack=1 fails