Skip to content

Conversation

@b8raoult
Copy link
Collaborator

@b8raoult b8raoult commented Jul 9, 2025

Description

This is a rewrite of the code that parses the recipe and invoke the sources and filters in the right order. These changes are merely a simplification of the old version and are 100% backward compatible.
The input family of actions has been refactored such that all the standalone action files, e.g. concat are consolidated into a single action.py.

Additional related additions.

  • Add facility to have a source as a parameter of an other source if needed.
  • Changes are due to code moving to their own file (i.e repeated_dates).
  • A new CLI tool anemoi-datasets recipe was added to check the change. It can be use to format the YAML and validate it (against a simple JSON schema), and migrate older YAML files to new syntax. The later is experimental, and as been tested with very old recipe files. It can be a good starting point for future migrations, if ever needed.

What problem does this change solve?

This change is in preparation of adding support for observation in anemoi-dataset[create].

What issue or task does this change relate to?

Additional notes

As a contributor to the Anemoi framework, please ensure that your changes include unit tests, updates to any affected dependencies and documentation, and have been tested in a parallel setting (i.e., with multiple GPUs). As a reviewer, you are also responsible for verifying these aspects and requesting changes if they are not adequately addressed. For guidelines about those please refer to https://anemoi.readthedocs.io/en/latest/

By opening this pull request, I affirm that all authors agree to the Contributor License Agreement.

@github-actions github-actions bot added bug Something isn't working enhancement New feature or request labels Oct 1, 2025
b8raoult and others added 6 commits October 1, 2025 16:53
Co-authored-by: Matthew Chantry <matthew.chantry@ecmwf.int>
Co-authored-by: Matthew Chantry <matthew.chantry@ecmwf.int>
Co-authored-by: Matthew Chantry <matthew.chantry@ecmwf.int>
Co-authored-by: Matthew Chantry <matthew.chantry@ecmwf.int>
Co-authored-by: Matthew Chantry <matthew.chantry@ecmwf.int>
Copy link
Contributor

@aaron-hopkinson aaron-hopkinson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will approve once the comment on the copy command is resolved, because I think that will break something.

We need to either revert the change to the copy command or reopen PR #151 on anemoi-utils

Co-authored-by: Marek Jacob <MeraX@users.noreply.github.com>
MeraX
MeraX previously approved these changes Oct 6, 2025
Copy link
Contributor

@MeraX MeraX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your work and the consideration of my comments.

aaron-hopkinson
aaron-hopkinson previously approved these changes Oct 6, 2025
Co-authored-by: Aaron Hopkinson <197336788+aaron-hopkinson@users.noreply.github.com>
@b8raoult b8raoult dismissed stale reviews from aaron-hopkinson and MeraX via 5de2b08 October 6, 2025 10:28
Co-authored-by: Aaron Hopkinson <197336788+aaron-hopkinson@users.noreply.github.com>
@aaron-hopkinson aaron-hopkinson merged commit c5408da into main Oct 6, 2025
76 of 77 checks passed
@github-project-automation github-project-automation bot moved this from Under Review to Done in Anemoi-dev Oct 6, 2025
@aaron-hopkinson aaron-hopkinson deleted the feat/refactor-create branch October 6, 2025 12:15
b8raoult pushed a commit that referenced this pull request Oct 30, 2025
🤖 Automated Release PR

This PR was created by `release-please` to prepare the next release.
Once merged:

1. A new version tag will be created
2. A GitHub release will be published
3. The changelog will be updated

Changes to be included in the next release:
---


##
[0.5.28](0.5.27...0.5.28)
(2025-10-30)


### Features

* Added rolling average on read
([#448](#448))
([5cef720](5cef720))
* Fix repeat dates
([#458](#458))
([16b5c83](16b5c83))
* Refactor dataset create
([#379](#379))
([c5408da](c5408da))


### Bug Fixes

* Allow grib source to be used for constant data
([#428](#428))
([c1d7ff1](c1d7ff1))
* Broken source imports
([#450](#450))
([#454](#454))
([d6ed174](d6ed174))
* Ensure missing value indicator in not a valid value in accumulat…
([#316](#316))
([3541a1f](3541a1f))
* S3 access [#453](#453)
([#459](#459))
([2d810e3](2d810e3))
* Xarray-zarr filters
([#457](#457))
([5f2973f](5f2973f))


### Documentation

* Documentation updates
([#419](#419))
([4588175](4588175))

---
> [!IMPORTANT]
> Please do not change the PR title, manifest file, or any other
automatically generated content in this PR unless you understand the
implications. Changes here can break the release process.
> ⚠️ Merging this PR will:
> - Create a new release
> - Trigger deployment pipelines
> - Update package versions

 **Before merging:**
 - Ensure all tests pass
 - Review the changelog carefully
 - Get required approvals

[Release-please
documentation](https://github.com/googleapis/release-please)
CatdBD pushed a commit to CatdBD/anemoi-datasets that referenced this pull request Nov 14, 2025
🤖 Automated Release PR

This PR was created by `release-please` to prepare the next release.
Once merged:

1. A new version tag will be created
2. A GitHub release will be published
3. The changelog will be updated

Changes to be included in the next release:
---


##
[0.5.28](ecmwf/anemoi-datasets@0.5.27...0.5.28)
(2025-10-30)


### Features

* Added rolling average on read
([ecmwf#448](ecmwf#448))
([5cef720](ecmwf@5cef720))
* Fix repeat dates
([ecmwf#458](ecmwf#458))
([16b5c83](ecmwf@16b5c83))
* Refactor dataset create
([ecmwf#379](ecmwf#379))
([c5408da](ecmwf@c5408da))


### Bug Fixes

* Allow grib source to be used for constant data
([ecmwf#428](ecmwf#428))
([c1d7ff1](ecmwf@c1d7ff1))
* Broken source imports
([ecmwf#450](ecmwf#450))
([ecmwf#454](ecmwf#454))
([d6ed174](ecmwf@d6ed174))
* Ensure missing value indicator in not a valid value in accumulat…
([ecmwf#316](ecmwf#316))
([3541a1f](ecmwf@3541a1f))
* S3 access [ecmwf#453](ecmwf#453)
([ecmwf#459](ecmwf#459))
([2d810e3](ecmwf@2d810e3))
* Xarray-zarr filters
([ecmwf#457](ecmwf#457))
([5f2973f](ecmwf@5f2973f))


### Documentation

* Documentation updates
([ecmwf#419](ecmwf#419))
([4588175](ecmwf@4588175))

---
> [!IMPORTANT]
> Please do not change the PR title, manifest file, or any other
automatically generated content in this PR unless you understand the
implications. Changes here can break the release process.
> ⚠️ Merging this PR will:
> - Create a new release
> - Trigger deployment pipelines
> - Update package versions

 **Before merging:**
 - Ensure all tests pass
 - Review the changelog carefully
 - Get required approvals

[Release-please
documentation](https://github.com/googleapis/release-please)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ATS approved bug Something isn't working dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation enhancement New feature or request tests

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

7 participants