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 | 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 encoding201
) - 237318; Time-maximum 10 metre wind gust (base parameter
228029
, already have generic encoding49
) - 237321; Time-maximum convective available potential energy shear (base parameter
228044
) - 237055; Time-maximum total precipitation rate (base parameter
260048
, already have generic encoding228226
) - 238167; Time-minimum 2 metre temperature (base parameter
167
, already have generic encoding202
) - 238055; Time-minimum total precipitation rate (base parameter
260048
, already have generic encoding228227
)
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