Version 1.0.0 Release Candidate Updates

Version 1.0.0rc12

Xarray engine changes

Other changes

  • Added more keys to the parameter component of a Field and replaced the existing chem_variable key with chem (#1008). The following keys were added:

    chem: Optional[str] (replaces chem_variable)
    chem_long_name : Optional[str]
    wavelength: Optional[Union[int, float]]
    wavelength_bounds: Optional[Union[tuple[int, int], tuple[float, float]]]
    wavelength_units: Optional["Units"]
    wave_direction: Optional[float]
    wave_direction_index: Optional[int]
    wave_direction_bounds: Optional[tuple[float, float]]
    wave_direction_units: Optional["Units"]
    wave_frequency: Optional[float]
    wave_frequency_index: Optional[int]
    wave_frequency_bounds: Optional[tuple[float, float]]
    wave_frequency_units: Optional["Units"]
    
  • Added support for hybrid level coefficients in the vertical component of Field (#1016). The following keys were added:

    • number_of_levels

    • coefficients

    • coefficient_names

    • parametric

Version 1.0.0rc11

Xarray engine changes

  • Added the reference_field property to the Xarray earthkit accessor to allow getting the reference field of the dataarray. Also added the set method to allow setting the reference field of the dataarray using a Field or any args/kwargs accepted by set(). #990

  • Allowed using null values in datetime related objects #999

  • Fixed missing coordinate variable attributes in Xarray engine #1001

  • Fixed grid consistency check in Xarray engine #1003

  • Cleaned up within Xarray engine profiles and docs #1006

Other changes

  • Allowed using high level field metadata keys in the GribEncoder #997

  • Ensured values returns a copy #1009

  • Ensured Field.geometry.grid_spec() returns a copy #1010

  • Added sync=False keyword argument to set() #1011

  • Allowed using raw metadata keys in set() #1012

Version 1.0.0rc10

  • Previously, when using the mars source via the standalone MARS client the MARS_AUTO_SPLIT_BY_DATES="1" environment variable was set to enable splitting of MARS requests by date when needed. However, this approach has been removed and now users must set this environment variable themselves when needed. This change was made to give users more control over the behavior of MARS requests and to avoid potential issues with unintended splitting of requests. (#992)

Version 1.0.0rc7

  • Fixed issue when could not set data/metadata on fields created from other data than GRIB (#981).

Version 1.0.0rc6

  • Changed the earthkit grid spec attribute in the Xarray generated by the Xarray engine from “ek_grid_spec” to “earthkit_grid_spec” (#979).

Version 1.0.0rc5

  • Ensured that the GRIB encoder sets single metadata keys with set() instead of set_multi() when there is only one metadata key to set (#977).

Version 1.0.0rc4

  • Replaced the time_dim_mode keyword argument with time dims in the Xarray engine (#967).

  • Added the aux_coords keyword argument in the Xarray engine to specify 1- or multi-dimensional auxiliary coordinate variables whose values are derived from any metadata key (#969).

  • Changed how GRIB data is handled in fields created from GRIB data when the field metadata (related to the field components) is modified (#968). GRIB related metadata keys are now not available on the modified field. Added the sync() method to adjust the low level GRIB data to the field metadata. Having called this method the GRIB data is updated to be consistent with the field metadata, and the GRIB related metadata keys are available again on the field.

  • Added the standard_name and long_name metadata keys to the field parameter component (#971).

Version 1.0.0rc3

  • Fixed issue when setting time on a Field failed

Version 1.0.0rc2

Changes

  • Changed the default value for the Field ensemble.member metadata from “0” to None. It is used when the Field does not contain any ensemble member information. (#960).

Fixes

  • Fixed issue when the geography for GRIB data on ORCA and ICON grids was not correctly handled (#961).

Version 1.0.0rc0

This version is a release candidate for the upcoming 1.0.0 release. It includes a very large number of changes, including new and removed features. Please see the Migration guide for 1.0.0 for more details on the changes and how to update your code to be compatible with 1.0.0.