Version 0.11 Updates

Version 0.11.4

Fixes

  • Enforced the use of headers_only_clone=False when calling GribMetadata.override(). It was a necessary step to fix issues when writing ArrayFieldcontaining GribMetadata to disk. This is considered a temporary change until the issues with headers_only_clone are sorted out (#555).

Version 0.11.3

Fixes

  • Fixed issue when to_numpy() could not be called on a FieldList (#551).

  • Fixed issue when the list-of-dicts source did not raise an exception when the geography was not correctly specified (#549).

  • Increased the minimum version of multiurl to 0.3.3

Version 0.11.2

Fixes

  • Allowed encoding PL arrays for GribCoder (#546).

Version 0.11.1

Fixes

  • Now, dependencies for GeoTIFF support are not installed when earthkit-data is installed with pip install earthkit-data[all]. This step was necessary to make installation work when GDAL is not available. These dependencies need to be installed separately with pip install earthkit-data[geotiff]. See Installation.

Version 0.11.0

New Xarray engine

  • Added new Xarray engine called "earthkit". This is the new default when calling to_xarray(). The "cfgrib" engine is still available and can be used by passing engine="cfgrib" to to_xarray(). For details see:

API changes

  • No array backend is assigned to a Fieldlist any longer. Removed the array_backend property from FieldList, and the array_backend keyword from from_source(). Data accessing methods like to_array() and data() still accept the array_backend option. Now, each Field in a FieldList can have a different array backend reflecting the actual storage type of the values (#471).

    You can still create a SimpleFieldList with a single array backend by using the to_fieldlist() method. For example:

    # Old way
    fields = from_source("file", "my.grib", array_backend="pytorch").to_fieldlist()
    
    # New way
    ds = from_source("file", "my.grib").to_fieldlist(array_backend="pytorch")
    
  • Removed ArrayFieldList. Its functionality is covered by SimpleFieldList (#471).

  • from_array() and to_fieldlist() now return an SimpleFieldList

See GRIB: using array namespaces for more details.

Changes

  • Added the s3 source to access AWS S3 buckets (#484). See the notebook examples:

  • Added support for geotiff files (#503). See the notebook examples:

  • Added stream support for the file source (#500)

  • Allowed concatenation of stream sources (#500)

  • Added SimpleFieldList, which can store a list of arbitrary Fields (#471). See the notebook examples:

  • Added clone() and copy() to alter field metadata and values (#493, #496, #522). See the notebook examples:

    • /how-tos/legacy/grib_modification.ipynb

  • Reimplemented and documented the list-of-dicts source, which is now generating a SimpleFieldList and is not bound to GRIB specific metadata (#461, #511). See the notebook examples:

    • examples_lod

  • Added serialisation to GRIB fieldlists and Metadata (#463, #474)

  • Improved in-memory GRIB field implementation (#492)

  • Enabled to use forcings without providing a source (#495)

  • Implemented the repr to ArrayField by (#455)

  • Added remapping option to Field.metadata() (#488)

  • Added handle property to ArrayField (#464)

  • Added the Field.to_xarray(), Field.ls() and Field.describe() methods (#513)

  • Allowed logging control for mars source (#457)

  • Added support for “lambert_azimuthal_equal_area” metadata (#452)

Fixes

  • Use FileNotFoundError when no file found rather than FileExistsError (#479)