Version 1.0.0 Release Candidate Updates

Version 1.0.0rc3

Version 1.0.0rc2

Version 1.0.0rc1

Deprecations

Removed

The following functions have been removed:

  • earthkit.meteo.thermo.kelvin_to_celsius()

  • earthkit.meteo.thermo.celsius_to_kelvin()

They can be both replaced by using the newly added T_C2K (273.15 K) constant.

High level interface

Added a high-level interface to most of the functions to support both array-based and Xarray-based inputs (#119). This offers automatic dispatching to the appropriate implementation based on the input type. This allows users to use the same function names and parameters regardless of the input type, while still benefiting from the optimized implementations for each type.

from earthkit.meteo.wind import wind_speed

# For array-based inputs
speed = wind_speed(u_array, v_array)

# For Xarray-based inputs
speed = wind_speed(u_xarray, v_xarray)

The actual implementations are now available in the array and xarray submodules and can also be directly accessed bypassing the high level dispatch mechanism.

from earthkit.meteo.wind.array import wind_speed as array_wind_speed
from earthkit.meteo.wind.xarray import wind_speed as xarray_wind_speed

# For array-based inputs
speed = array_wind_speed(u_array, v_array)

# For Xarray-based inputs
speed = xarray_wind_speed(u_xarray, v_xarray)

Array-based vertical coordinate functions

Added the following array-based functions to earthkit.meteo.vertical.array to compute vertical coordinate parameters:

See the notebook examples:

  • /how-tos/hybrid_levels.ipynb

Array-based vertical interpolations

Added the following array-based vertical interpolation functions to earthkit.meteo.vertical.array:

See the notebook examples:

  • /how-tos/interpolate_hybrid_to_hl.ipynb

  • /how-tos/interpolate_hybrid_to_pl.ipynb

  • /how-tos/interpolate_pl_to_hl.ipynb

  • /how-tos/interpolate_pl_to_pl.ipynb

Xarray-based vertical interpolation functions

Added the following Xarray-based interpolation functions to earthkit.meteo.vertical.xarray:

Regimes

Added new submodule earthkit.meteo.regimes with classes to define a weather regime classification based on patterns and functions to project anomaly fields onto these patterns to compute a regime index, following the approach of Michel and Rivière (2011).

See the notebook example: /how-tos/seven_weather_regimes.ipynb