Version 0.2 Updates

Version 0.2.0

New features

  • added new source ecmwf-open-data to retrieve ECMWF open data. See the Retrieving ECMWF open data notebook example.

  • added new method from_object() to use a objects like numpy arrays or xarray datasets as an input. See the Reading data from objects notebook example.

  • redesigned bufr handling. bufr data is now represented by a BUFRList made up of BUFRMessage objects. In many aspects it behaves similarly to a FieldList offering iteration, slicing, selection and message dump. For details see here and also check the notebook examples:

  • added the group_by option to fdb stream source. With this option we can read data in groups from a stream. See the Retrieving data from FDB notebook example.

  • changed how the field geography can be accessed. On a Field object we can now call the following methods:

    • projection(): returns an object describing the projection. See the Projections notebook example.

    • to_latlon(): returns the latitudes and longitudes for all the gridpoints

    • to_points(): returns the geographical coordinates of all the gridpoints in the data’s original Coordinate Reference System (CRS)

    The same methods can also be called on a FieldList:

    • when all the fields have the same grid geometry in the FieldList they return the value of the same function called on the first field

    • otherwise an exception is raised

  • added new settings option reader-type-check-bytes to control the number of bytes read from the beginning of a source to identify its type. The default value is 64 and the allowed value range is [8, 4096]. (#126)

  • changed the return type of FieldList.bounding_box(), which now returns a list of bounding boxes (one per field). (#122)

  • removed options print and html from methods FieldList.ls(), FieldList.describe() and GribField.dump(). Printing the resulting object can be simply done by using the Python print() method. (#118)

Fixes

  • fixed issue when grib, bufr or odb data contained extra bytes at the beginning from_source() could not identify their type. (#123)

  • fixed issue when not specifying the filter option in to_pandas() on bufr data caused a crash