Version 0.19 Updates

Version 0.19.3

Dependencies

  • Removed earthkit-meteo dependency (#893)

  • Limited the version of earthkit-geo and earthkit-utils to be less than 0.99 to avoid compatibility issues with the upcoming major releases of these packages

  • Limited the version of pyfdb to be less than 1.0 to avoid compatibility issues with the upcoming major release of pyfdb (#940).

Version 0.19.2

Fixes

  • Fixed a bug in the cache when files were not deleted if cache size exceeded the limit when cache-policy was set to “user” or “temporary” (#937).

Version 0.19.1

Fixes

  • Fixed a bug in the CDS source when could load not cached data when no network connection was available (#907).

Version 0.19.0

Deprecations

Refactored array backends

Note

The array backend implementation in earthkit-utils has been refactored. The minimum required version of earthkit-utils is now 0.2.0 (#842).

The API for the array backends has been slightly modified to accommodate new features and improvements in earthkit-utils:

  • the array_backend kwarg is now deprecated and array_namespace should be used instead. This affects the following methods: Field.to_array(), Field.copy(), Field.clone(), FieldList.to_array(), FieldList.to_fieldlist(), to_xarray().

  • the Field.array_backend attribute is now deprecated and Field.array_namespace should be used instead

  • as an experimental feature the device kwarg is now supported in most of the above methods to specify the device where the array should be created (e.g. "cpu", "cuda:0")

New features

Changes

  • Xarray/NetCDF data on an unstructured grid is now parsed into a fieldlist. For example, NetCDF data with the following structure:

    Dimensions: ... point=200
    Coordinates:
    * point    (point) int64 0 1 2 3 4 ... 196 197 198 199
    * latitudes  (point) float32 34.5 34.6 ... 36.7 36.8
    * longitudes  (point) float32 -120.0 -119.9 ...
    Data variables:
    * temperature  (point) float32 ...
    * humidity  (point) float32 ...
    

    is now parsed into a fieldlist with two fields:

    >>> import earthkit.data as ekd
    >>> ds = ekd.from_source("file", "data.nc")
    >>> len(ds)
    2
    

    Previously, this data would have been parsed into an XarrayDatasetWrapper.

  • Added support to convert GRIB “stepRange” values to timedelta (#837).

  • Use the “order” key instead of “ordering” in gridspecs generated for HEALPix grids (#853).

  • earthkit.data.utils.humanize.did_you_mean() now raises a ValueError if no vocabulary is provided (#855).

Fixes

  • Fixed cloning of Xarray fields (#841).

Installation

  • The minimum required version of Python is now 3.10