Downloadable from our Releases page.


Changes for Version 2.1.0

Contributions

  • [ECC-157] - Add high-level Pythonic interface (experimental)
  • [ECC-369] - Differentiate exception types in Python interface
    Thanks to Daniel Lee (DWD)
    The high-level interface is currently experimental and may change in a future release. It is provided here to solicit feedback.

  • [ECC-261] - Reduce packing error by optimizing scaling factor
    Thanks to Philippe Marguinaud (MeteoFrance)

  • [ECC-409] - GNU Hurd support
    Thanks to Alastair McKinstry (The Irish Centre for High-End Computing)

New Features/Improvements

  • [ECC-414] - Create a sample BUFR file with the new Sentinel 1 descriptors

    We have included a sample BUFR file with the new Sentinel 1 descriptors approved in WMO tables 27 (released Nov 2016)
    You can find this file in the data tarball. It is also downloaded when running the tests (data/bufr/sentinel1.bufr)

  • [ECC-383] - Implement GRIB lat/lon iterator for 'space view'
  • [ECC-358] - Update GRIB2 definitions with the latest WMO V18.0.0 code tables/templates
  • [ECC-372] - Performance improvement of search by rank
  • [ECC-222] - Decode BUFR data section providing only values array
  • [ECC-363] - Update unbalanced component parameters with WMO GRIB2 codes
  • [ECC-370] - Python: setting keys should handle both scalars and arrays
  • [ECC-395] - Add a new MARS class for YOPP
  • [ECC-396] - Support for Jasper 2.0
  • [ECC-410] - Add GRIB2 Product Definition Template 4.58
  • [ECC-412] - Support for CAMS and CERA-SAT: streams mnth/edmm/wamo/ewmm
  • [ECC-357] - Implement codes_bufr_copy_data in C, Fortran and Python
  • [ECC-365] - add placeholder facility in the output filename of grib_filter (like it is done in grib_set/grib_copy)
  • [ECC-379] - BUFR encoding failing when value out of range
  • [ECC-382] - Provide API function to access the name of the package
  • [ECC-391] - Text fix for grib_index.c
  • [ECC-392] - bufr_compare: should print double value as MISSING rather than -1e+100
  • [ECC-397] - Rename parameter 260242 to '2 metre relative humidity'
  • [ECC-399] - Detecting NaN values when encoding grib
  • [ECC-413] - DWD local definitions: Remove superfluous tables

Bug Fixes

  • [ECC-325] - Memory leaks during BUFR unpack
  • [ECC-339] - Improve keys iterator for BUFR
  • [ECC-376] - BUFR tables version 27 to be added to ecCodes
  • [ECC-386] - GRIB: Slow-down of read routine
  • [ECC-272] - Flat JSON dump of some BUFR files doesn't contain the last element
  • [ECC-275] - errors.pl not creating ecCodes header files
  • [ECC-336] - ctest gts failures on minimac
  • [ECC-351] - grib_util_set_spec() returns a corrupted field
  • [ECC-353] - grib_util_spec() does not always generate jpeg
  • [ECC-355] - grib_compare: using relative comparison (-R) with "all" does not work
  • [ECC-361] - Test failure: bufr_copy_data F90 example with PGI compiler
  • [ECC-364] - BUFR extractSubsets wrong result when key is constant in the extracted range
  • [ECC-367] - BUFR extractSubsets for stationOrSiteName key
  • [ECC-368] - Last element of a BUFR message not found when using search expression
  • [ECC-373] - grib_api.h incorrectly wraps system headers in extern "C"
  • [ECC-378] - Reading a file of 0 bytes does not generate any error and eventually crashes
  • [ECC-380] - ecCodes attempts to link to openjpeg 1.X library if found
  • [ECC-387] - Thread safety for BUFR decoding
  • [ECC-388] - Missing bounds check in grib_trie.c leads to segfault
  • [ECC-389] - BUFR encoding 2 values as different should be one value
  • [ECC-393] - bufr_compare: cannot blacklist a key with given rank
  • [ECC-398] - untrapped error : No descriptors in section 3. Malformed message
  • [ECC-402] - codes_set does not set localLongitude in BUFR to correct values
  • [ECC-404] - JPEG-specific tests run and fail when ENABLE_JPG is off / JPEG headers are not available
  • [ECC-405] - Corrupt BUFR file: bufr_new_from_file crash
  • [ECC-408] - grib_handle_new_from_partial_message should take const data pointer