Page tree

GRIB-API support is being discontinued at the end of 2018. Please consider upgrading to ecCodes

Skip to end of metadata
Go to start of metadata

Downloadable from our Releases page.

Changes for Version 1.15.0

New Features/Improvements
  • [GRIB-847] - Python module installs as "grib_api/" instead of "gribapi/"
    The Python installation now follows the standard way packages are installed by using the "" initialisation file

  • [GRIB-884] - OpenMP Support
    There is now the support for OpenMP as an alternative to POSIX Threads. This can be enabled at configuration time by:


    Thanks to Eric Millin for this contribution

  • [GRIB-747] - 4x performance improvement on grib_get_double_array and little endian
    Thanks to Heiko Klein of the Norwegian Meteorological Institute for this contribution

  • [GRIB-29] - GRIB2: Support for negative 'forecastTime'
    Several centres have a requirement to support negative forecast times in their GRIB2 data, for example models that run backwards in time.
    This change allows the forecast time octets (in the Product Definition Templates) to be interpreted as a signed value rather than unsigned
    i.e. allowing it to take on negative as well as positive values

  • [GRIB-796] - 'include' statement in definitions does not search GRIB_DEFINITION_PATH
    This change only affects users who have their own versions of the definition files (overriding the default definitions):
    The "include" statements now require the relative path from the top-level of the definitions directory so instead of
       include "template.4.statistical.def"

    We now have

       include "grib2/template.4.statistical.def"

  • [GRIB-767] - hl levtype for class="uerra"
  • [GRIB-788] - Add computed key modelName
  • [GRIB-797] - grib_compare: allow last argument to be a directory
  • [GRIB-824] - Change local GRIB2 mean rate parameter codes to WMO codes
  • [GRIB-869] - Adding 4 new surface parameters in GRIB1
  • [GRIB-960] - New parameter for Energy sector
  • [GRIB-238] - Grib iterator on rotated latlon representation
  • [GRIB-602] - tigge_check s2s update
  • [GRIB-786] - CMake run too slow copying definitions
  • [GRIB-798] - Visual Studio support: replace use of rint() for VS 2013
  • [GRIB-809] - Add check for compatibility between engine and definitions
  • [GRIB-822] - grib_api should export correct samples and definition paths for build and install trees
  • [GRIB-837] - Python: allow user to set data values using grib_set
  • [GRIB-838] - CMake: IFS sample files not copied to build directory
  • [GRIB-862] - GRIB1 Local definition 19: misleading key names
  • [GRIB-887] - Change the parameter name for 'magss'
  • [GRIB-896] - Add "turbulent" to the names of "magss" like parameters.
  • [GRIB-897] - Add the centre for Max Planck Institute for Meteorology
  • [GRIB-922] - grib_util_set_spec: if "global" is set, do not check lat/lon values
  • [GRIB-927] - Use Python distutils to build Python SWIG extension module
  • [GRIB-928] - Support for stream=enda type=4i
  • [GRIB-933] - GRIB 2 definitions for EFAS
  • [GRIB-966] - Assertion: grib_find_nearest on single point grid
  • [GRIB-756] - Update GRIB2 definitions with the latest WMO V15.0.0 templates/tables
  • [GRIB-784] - Add test for md5 keys
  • [GRIB-799] - Add grib_util_set_spec mark2 for octahedral support
  • [GRIB-802] - Provide mechanism to produce compact constant fields ignoring GRIB_API_LARGE_CONSTANT_FIELDS
  • [GRIB-810] - Update descriptions and units of wave parameters
  • [GRIB-828] - Deployment of PGI compiled versions on LXC
  • [GRIB-829] - tigge_check support for octahedral grid
  • [GRIB-850] - DWD delivering ECMWF-GRIB-API localConcepts
  • [GRIB-876] - Lightning parameters
  • [GRIB-882] - Update GRIB2 definitions with the latest WMO V16.0.0 templates/tables
  • [GRIB-885] - GRIB2 EFAS parameters in table 240 should use WMO codes
  • [GRIB-889] - Update titles for ERA class names in definition files and the Parameter Database
  • [GRIB-902] - Update copyright notices: 2015 -> 2016
  • [GRIB-921] - Update the local concepts for DWD (2016.02.03)
  • [GRIB-944] - Add Python example showing how to query the bitmap array
  • [GRIB-954] - "first day of the month" for class="j5" stream=moda
Bug Fixes
  • [GRIB-203] - grib_ls -l fails with 2nd order packed and boustrophedonic ordering
  • [GRIB-213] - grib_get -l does not respect land-sea mask when returning nearest grid point
  • [GRIB-318] - "grib_nearest_find" performance for reduced gaussian grids
  • [GRIB-384] - Using the "-Wp,-D_FORTIFY_SOURCE=2 -O2" gcc CFLAGS, "" test fails
  • [GRIB-573] - grib_compare: adding blacklist gives incorrect results for spectral_complex
  • [GRIB-591] - Crash with multithreaded grib_handle_new_from_samples()
  • [GRIB-660] - TimeRangeIndicator=132 is interpreted incorrectly for JRA-55 data
  • [GRIB-679] - "mconv" short name has two inconsistent definitions
  • [GRIB-787] - Assertion failure: decoding large grib2 file
  • [GRIB-795] - Remove generated Makefiles from distribution tarball
  • [GRIB-801] - Lat/lon iterator: Divide by zero when Ni==1
  • [GRIB-804] - grib_api does not enable JPEG code if only openjpeg is present and not jasper
  • [GRIB-805] - CMake: test fails if build configured without jpeg support
  • [GRIB-807] - grib_get (and grib_ls) does not process rotated-pole grids properly
  • [GRIB-808] - README file only mentions autotools (and not CMake)
  • [GRIB-812] - WMO parameters Haines Index and Apparent Temperature not recognized
  • [GRIB-813] - grib_nearest_find does not work on successive calls for Lambert grid
  • [GRIB-814] - grib_nearest on Lambert Conformal grid picks wrong point
  • [GRIB-815] - GRIB1 definition for Stretched Spherical Harmonics contains keys for rotated grids
  • [GRIB-816] - grib_get: using nearest function with multiple files gives incorrect results
  • [GRIB-819] - High-level Pythonic interface: indexing broken
  • [GRIB-846] - GRIB2 definition for parameter 10fg3
  • [GRIB-848] - GRIB2 definition for mx2t6 and mn2t6 lacks lengthOfTimeRange
  • [GRIB-853] - GRIB2 Tile-template examples from DWD
  • [GRIB-879] - Concepts for parameters defining a "lengthOfTimeRange" key MUST also define the "indicatorOfUnitForTimeRange" key
  • [GRIB-883] - Assert in grib_accessor_class_data_g1second_order_general_extended_packing
  • [GRIB-892] - stepUnits=M vs. stepUnits=m
  • [GRIB-894] - Compiler warnings on MacOSX 10.10 using clang
  • [GRIB-898] - Encoding a constant field with grid_second_order generates error
  • [GRIB-903] - Fortran test fails when using gfortran with option -frecursive
  • [GRIB-912] - Wrong parameter definitions for 131139 and 131151
  • [GRIB-915] - grib_compare excluding totalLength
  • [GRIB-932] - Crash: using keys iterator with skip duplicates
  • [GRIB-934] - grib_to_netcdf with -D NC_FLOAT does not preserve missing values
  • [GRIB-937] - review grib_util_spec rounding error
  • [GRIB-938] - grib_compare: argument to '-A' (absolute error) is not checked
  • [GRIB-941] - GRIB2 angles are not rounded
  • [GRIB-943] - GRIB2 uses the same originating centre table as GRIB1 (grib1/0.table)
  • [GRIB-951] - Assertion: set packingType grid_second_order (boustrophedonic) on constant field
  • [GRIB-952] - grib_set -r repacks values despite errors in setting the keys
  • [GRIB-953] - grib_to_netcdf should not use a missingValue of 9999
  • [GRIB-956] - resolutionAndComponentFlag vs resolutionAndComponentFlags
  • [GRIB-958] - Some lat/lon values are invalid for Polar stereographic grid
  • [GRIB-961] - Fix wrong exports of grib variables in bundle
  • [GRIB-962] - grib_get_data does not fail when it cannot decode the data
  • [GRIB-968] - grib_get_data fails with a GRIB containing only a single point
  • [GRIB-971] - grib_compare: Cannot specify real number for the '-T' switch argument
  • [GRIB-972] - grib_compare: Using -P and -R switches together (JPEG packing)