Downloadable from our Releases page.
Please note:
- The Python 2 interface will be removed in Q1 2023. Users are strongly advised to migrate to Python 3.
- We have added an experimental CMake option to allow compilation with a C++ compiler. To enable this, pass the following to the cmake command:
-D ENABLE_EXPERIMENTAL_BUILD_WITH_CXX=ON
This option is disabled by default.
Changes for Version 2.27.0:
New Features/Improvements
- Performance enhancements
- [ECC-1405] - Add new function: codes_handle_new_from_samples
- [ECC-1413] - GRIB2: add iteration key in the MARS namespace for stream=elda, type=4i
- [ECC-1212] - MARS key mapping for local time templates
- [ECC-1393] - CMake: Add option to build ecCodes with C++ (Experimental)
- [ECC-1399] - GRIB2: Add parameters for additional precipitation type severity and frequency
- [ECC-1400] - GRIB2: Change shortnames of 260318 - 260321
- [ECC-1411] - GRIB: Add CAMS physical quantities
- [ECC-1412] - BUFR: Code table 020063 is missing the option with value 12
- [ECC-1417] - GRIB2: Replace key aerosolType with constituentType
- [ECC-1423] - GRIB2: Add wet-bulb potential temperature
- [ECC-1425] - GRIB2: Add mars keyword FCMonth for C3S seasonal
- [ECC-1435] - GRIB2: Add correct MARS level mapping for sea ice and snow layer
- [ECC-1440] - GRIB2: ECMWF local definition 300 should be for decoding only (no encoding)
- [ECC-1419] - C API: codes_fieldset_new_from_files: The 'filenames' argument should be const
- [ECC-1424] - Allow accessor from_scale_factor_scaled_value to operate on an array of scaled values
- [ECC-1430] - GRIB2: Add extra values for stepType: 'severity' and 'mode'
- [ECC-1436] - GRIB2: Duplicated WMO/192 definitions in localConcepts/ecmf
- [ECC-1439] - GRIB2: concept "units" should be read-only as it does not make sense to set it explicitly
- [ECC-1441] - GRIB: Add support for OpenJPEG v2.5
- [ECC-1442] - BUFR: bufr_dump should insert a question mark instead of dot for non-printable characters
- [ECC-1404] - Python3 bindings: Add the grib_get_gaussian_latitudes() function
- [ECC-1405] - Python3 bindings: Add new function: codes_handle_new_from_samples
- [ECC-1415] - Python3 bindings: Implement a higher-level Python interface (Experimental)
- [ECC-1429] - Python3 bindings: Remove the file "eccodes/messages.py"
Bug Fixes
- [ECC-762] - GRIB2: find nearest functionality not working for MIR reduced grid sub-areas
- [ECC-1054] - bufr_dump error with unsupported operator 54
- [ECC-1388] - GRIB2 CCSDS: Unpacked values different from simple packing
- [ECC-1392] - Fortran interface: codes_open_file fails if the filename has spaces
- [ECC-1395] - BUFR: Encoding should fail if attempting to encode message with an undefined element descriptor
- [ECC-1396] - Clang -fsanitize=undefined: runtime errors during tests
- [ECC-1397] - Tools: grib_ls nearest neighbour with JSON output
- [ECC-1401] - BUFR: bufr_dump generates invalid JSON
- [ECC-1402] - GRIB1: Nearest point incorrect for second order boustrophedonic
- [ECC-1406] - GRIB: grib_ls -l reports last grid point is out of area
- [ECC-1407] - grib_set -r -s packingType=grid_simple does not preserve accuracy on input packingType=grid_ieee
- [ECC-1410] - GRIB: C API: keys iterator name is NULL
- [ECC-1414] - GRIB: Nearest neighbour does not work for PNG packing
- [ECC-1416] - GRIB: Setting computed key firstSize to 3e-8 sets wrong coded keys
- [ECC-1428] - GRIB2: No error when setting invalid marsType on S2S/TIGGE/UERRA
- [ECC-1431] - GRIB2: CCSDS encoding failure AEC_STREAM_ERROR
- [ECC-1432] - GRIB: Segmentation fault: nearest point on reduced Gaussian grid subarea
- [ECC-1434] - Testing: tests/grib_md5 does not execute on osx on conda-forge