Skip to content

Feature/merge develop 1rc into main#1043

Merged
sandorkertesz merged 219 commits into
mainfrom
feature/merge-develop-1rc-into-main
Jun 28, 2026
Merged

Feature/merge develop 1rc into main#1043
sandorkertesz merged 219 commits into
mainfrom
feature/merge-develop-1rc-into-main

Conversation

@sandorkertesz

@sandorkertesz sandorkertesz commented Jun 28, 2026

Copy link
Copy Markdown
Collaborator

Description

Preliminary step for the 1.0.0 release

Contributor Declaration

By opening this pull request, I affirm the following:

  • All authors agree to the Contributor License Agreement.
  • The code follows the project's coding standards.
  • I have performed self-review and added comments where needed.
  • I have added or updated tests to verify that my changes are effective and functional.
  • I have run all existing tests and confirmed they pass.

pawel-wolff and others added 30 commits January 6, 2026 17:26
* several fixes in xr-engine dims; dims_as_attrs does not override ensure_dims; some tests corrected

* VariableBuilder.collect_attrs(): a size-one dimension can now be both an attribute and kept as a dimension if included both in `dims_as_attrs` and `ensure_dims`
from now on, extra_dims is to declare extra dims while ensure_dims is to declare which size-one dimensions to keep regardless squeezing or dims_as_attrs

* several fixes in xr-engine dims; dims_as_attrs does not override ensure_dims; some tests corrected

* VariableBuilder.collect_attrs(): a size-one dimension can now be both an attribute and kept as a dimension if included both in `dims_as_attrs` and `ensure_dims`
from now on, extra_dims is to declare extra dims while ensure_dims is to declare which size-one dimensions to keep regardless squeezing or dims_as_attrs

* LevelPerTypeDim.name changed from "_level_per_type" to "<level_per_type>"
fix in xr-engine builder in the case allow_holes=True
#877)

Avoid recomputing per-field data by caching/precomputing:
- Cache reference lat/lon when fetch_coords_from_fdb=True to avoid re-reading
  the reference field's geography per retrieved field.
- Pre-convert index lists to ranges once to avoid repeated calls to ExtractionRequest.from_indices.
Fix using grid_spec in GRIB geography depending on eckit-geo
Fix 0.19 release notes (#898)
* Semantics of xr-engine decode_timedelta kwarg fixed

* Several tests adjusted accordingly

* Unused import removed
* Refactor fields


---------

Co-authored-by: Pawel Wolff <97901989+pawel-wolff@users.noreply.github.com>
Co-authored-by: Pawel Wolff <pawel.wolff@ecmwf.int>
* Top level data object
sandorkertesz and others added 28 commits June 8, 2026 09:32
* Add sync kwarg to field set

* Add sync kwarg to field set
* Support hybrid level coefficients
* "wavelength" and "chem_long_name" keys added to Parameter component of Field

For GRIB data, "chem_variable" key maps to the GRIB-key "parameter.chemShortName" which does not use "unknown" value, contrary to "chemShortName"

* "wave_direction" and "wave_frequency" keys added to Parameter component of Field

* Four dimensions and dim roles added: chem_varialbe, wavelength, wave_direction, wave_frequency

* "standard_name" attr for "chem_variable" and "wavelength" coordinate variables added

Docs on xr_engine dimensions updated and how-to notebooks on chem/optical/2d wave spectra dimensions added.

* sorting logic for coordinate of Xarray dimensions fixed in XarrayInputFieldList.unique_values: it now applies the plain `sorted()` whenever all items are either:
* int/float, or
* datetime.date (which includes datetime.datetime), or
* datetime.time, or
* datetime.timedelta.
Otherwise, it falls back to `sorted(*, key=str)`

* New how-to notebooks updated

Tests added

`chem_variable` attributes updated

* Docstring for `Parameter` class updated

How-to notebook on extra_dims updated

xr_engine tests for new dimensions added

* Cleanup

* chem_variable -> chem

* Vertical: __print__() -> __str__()

* Parameter is subclassed

* Inspection of the `__init__()` signature of `ParameterBase` subclasses moved from `create_parameter()` to `SimpleFieldComponent.__init_subclass__()` hook

Validation of keys for a component `__init__()` factored out into `SimpleFieldComponent._create_component()`

TODO: use the above pattern for other components

* New metadata keys added to the parameter component of Field: wavelength_bounds, wave_direction_index, wave_direction_bounds, wave_frequency_index, wave_frequency_bounds

* Docstrings for set() and from_dict() for parameter component updated with 5 new metadata keys

* The keys added: wavelength_units, wave_direction_units, wave_frequency_units

Tests updated

* wavelength, wave_direction, wave_frequency and their bounds accept optional argument `units`

earthkit-utils>=1.0.0rc2

Tests updated

* docstrings fixed

* _normalise_create_kwargs fixed when called with `allow_keys=None`

* Mapping the following parameter metadata keys to GRIB: variable, chem, wavelength, wavelength_bounds, wave_direction_index, wave_frequency_index

Tests added

* Notebooks and docs updated

* Final fixes
* Encoding and decoding layer for "_earthkit" attribute

* Related doc and notebook updated

* `.to_target()` behaviour for "to NetCDF" and "to Zarr" changed: `"_earthkit"` attribute is added by default by the xarray engine

Doc fixed to that respect and the related notebook re-run

* non-local imports of earthkit removed from the engine module
* Fix fdb lazy loading
* Add new level types
* chemId==-1 -> chemical undefined

* obvious fix

* `vertical.positive=""` instead of `None` for auto-registered new level types

LevelCoords reuses vertical.cf()
* Add more level types
* common source for ek-packages

* QA for docs

* source_branch

* common ek pakages file
…1035)

* feat: add overloads for file, file-pattern and url for from_source

* feat: overloads for all sources
* handle optional dependencies in tests

* include codc check

Co-authored-by: Oisin-M <60450429+Oisin-M@users.noreply.github.com>

---------

Co-authored-by: Oisin-M <60450429+Oisin-M@users.noreply.github.com>
* level types definitions changed

* LevelTypes vs LevelType fix

* Tests adapted to level types changes
@sandorkertesz
sandorkertesz merged commit d5de40c into main Jun 28, 2026
111 of 117 checks passed
@sandorkertesz
sandorkertesz deleted the feature/merge-develop-1rc-into-main branch June 28, 2026 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.