Downloadable from our Releases page.

Changes for Version 2.14.0:


  • [ECC-969] - GitHub contribution: codes_split_file option to split individual messages
    Thanks to the Bureau of Meteorology

New Features/Improvements

  • Performance enhancements
    • [ECC-604] - Improve multi-threaded performance of GRIB decoding/encoding
    • [ECC-985] - BUFR decoding performance: reduce number of strdup and atol calls
    • [ECC-965] - BUFR decoding performance: tune initial sizes of dynamic arrays

  • [ECC-401] - Request for grib_ls output in JSON format
    The option "-j" will now output in JSON. This applies to bufr_ls too.

  • [ECC-543] - Feature request: -w for grib_histogram
  • [ECC-954] - GRIB: Add fire related parameters for CEMS-Fire
  • [ECC-961] - grib_dump: ability to dump specific keys
  • [ECC-987] - MARS: new class for CARRA/CERRA
  • [ECC-947] - MARS: add new streams WFAS and WFCL (GLOFAS) matching the existing EFAS and EFCL (EFAS)
  • [ECC-948] - MARS: Amend type 'sfo'
  • [ECC-963] - Update parameters shortnames/names
  • [ECC-964] - Update parameter 171207 with correct shortname
  • [ECC-972] - Add WMO GRIB2 definition to CERRA/CARRA parameters
  • [ECC-994] - New parameter for S2S ocean "Mean sea water potential temperature in the upper 300 m"
  • [ECC-827] - grib_to_netcdf should not ignore the HDATE key
  • [ECC-958] - grib_compare: show bit values for codeflag keys
  • [ECC-962] - grib_to_netcdf: Set date to 'hdate' for hindcast fields
  • [ECC-967] - GRIB2: Fallback if tables version is bigger than the latest installed version
  • [ECC-975] - Add new error code: 'Functionality not enabled'
  • [ECC-976] - More user-friendly error when key cannot be decoded as double or long
  • [ECC-979] - grib_util_set_spec: Allow encoding of double values on scaledValueOf/scaleFactorOf keys

Bug Fixes

  • [ECC-136] - grib_compare ignores difference in indicatorOfTypeOfLevel
  • [ECC-428] - Inconsistent number of values when decoding compressed BUFR data
  • [ECC-673] - bufr_filter: Arguments not parsed correctly on CLI
  • [ECC-778] - Valgrind error when GRIB_IEEE_PACKING=1 (Invalid read)
  • [ECC-941] - Crash: simple packed GRIB with invalid data section size/bits per value
  • [ECC-945] - Error converting GRIB1 to GRIB2: total precipitation
  • [ECC-949] - grib_merge fails to merge grib1 tiles
  • [ECC-960] - grib_util_set_spec: Interpolation fails on GRIB message with no levelType key
  • [ECC-966] - Crash: setting shapeOfTheEarth=1 but scale factor missing
  • [ECC-973] - Assertion: BUFR encoding error should return exit code not assert
  • [ECC-974] - Valgrind error: GRIB2: setting gridType=regular_gg on reduced gaussian grid
  • [ECC-977] - GRIB2 encoding of scaledValueOfEarthMinorAxis with out-of-bounds value
  • [ECC-978] - BUFR key section1Padding: bufr_dump -O gives erroneous length=4 instead of 5, the first character is skipped
  • [ECC-981] - grib_util_set_spec: Fails to set gridType of lambert_azimuthal_equal_area
  • [ECC-982] - BUFR decode memory leak: associatedFieldSignificance accessors not freed
  • [ECC-983] - BUFR decoding: Crash in case of invalid delayed replication
  • [ECC-984] - grib_get_data: GRIB2 file with missing jDirectionIncrement produces huge values
  • [ECC-986] - GRIB2: setting shortName=10fgg10 produces 'gust' and not '10fgg10'
  • [ECC-990] - Crash: grib_copy -r on packingType of grid_second_order_general_grib1