-
Notifications
You must be signed in to change notification settings - Fork 65
feat(graphs): new edge attributes and faster graph cleaning #617
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…into feature/graph_clean_attributes
JPXKQX
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work on this Simon, I think the PR is almost ready! I’ve left just a few minor comments, and I’ll be happy to approve once those are addressed.
Also, special mention to the docstring of the edge attributes, it is really clear. It might be worth adding it under graphs/docs too
JPXKQX
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great contribution! Integration tests are passing
New edge attributes: Directional harmonics RadialBasisFeatures faster clean up of max number of neighbours (> 10x faster) allow for cutoff radius in km specification. <!-- readthedocs-preview anemoi-training start --> ---- 📚 Documentation preview 📚: https://anemoi-training--617.org.readthedocs.build/en/617/ <!-- readthedocs-preview anemoi-training end --> <!-- readthedocs-preview anemoi-graphs start --> ---- 📚 Documentation preview 📚: https://anemoi-graphs--617.org.readthedocs.build/en/617/ <!-- readthedocs-preview anemoi-graphs end --> <!-- readthedocs-preview anemoi-models start --> ---- 📚 Documentation preview 📚: https://anemoi-models--617.org.readthedocs.build/en/617/ <!-- readthedocs-preview anemoi-models end --> --------- Co-authored-by: Ana Prieto Nemesio <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
🤖 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: --- <details><summary>training: 0.7.0</summary> ## [0.7.0](training-0.6.7...training-0.7.0) (2025-11-17) ### ⚠ BREAKING CHANGES * **training:** remove support for EDA ([#651](#651)) ### Features * Callbacks for GraphEnsForecaster. ([#449](#449)) ([39c2bfc](39c2bfc)) * Mlflow azure ([#646](#646)) ([27bd3dd](27bd3dd)) * **training:** Remove support for EDA ([#651](#651)) ([921e108](921e108)) ### Bug Fixes * Anemoi-datasets import ([#626](#626)) ([65c8901](65c8901)) * Bug for mlflow offline logging ([#675](#675)) ([fdce0f6](fdce0f6)) * Bug in sample plots. ([#632](#632)) ([9e024f3](9e024f3)) * Incorrect test for variable mask scaler ([#649](#649)) ([d0f775e](d0f775e)) * Integration tests and drop missed reference for profiler ([#630](#630)) ([f352e17](f352e17)) * **training:** Provide more informative error when user specifies inexistent node attribute ([#663](#663)) ([dde3cb6](dde3cb6)) * Update readmes ([#655](#655)) ([a58aa64](a58aa64)) </details> <details><summary>graphs: 0.7.2</summary> ## [0.7.2](graphs-0.7.1...graphs-0.7.2) (2025-11-17) ### Features * **graphs:** Add LimitedAreaMask for stretched hidden nodes ([#671](#671)) ([f155f3c](f155f3c)) * **graphs:** New edge attributes and faster graph cleaning ([#617](#617)) ([8659de9](8659de9)) * New interactive graph visualization ([#609](#609)) ([5b5ede4](5b5ede4)) ### Bug Fixes * **graphs,normalisation:** Add assert when dividing by 0 ([#676](#676)) ([01b7034](01b7034)) * **graphs,schemas:** Missing type for mask_attr_name in schema ([#664](#664)) ([f021017](f021017)) * **graphs,tests:** New test and fix anemoi-graphs tests with gpu ([#637](#637)) ([ca1b542](ca1b542)) * **graphs:** Remove wrong argument from og.Figure ([#616](#616)) ([abd37eb](abd37eb)) * **graphs:** Unit-range normalisation ([#665](#665)) ([6de4778](6de4778)) * Update readmes ([#655](#655)) ([a58aa64](a58aa64)) </details> <details><summary>models: 0.10.0</summary> ## [0.10.0](models-0.9.7...models-0.10.0) (2025-11-17) ### ⚠ BREAKING CHANGES * **training:** remove support for EDA ([#651](#651)) ### Features * **training:** Remove support for EDA ([#651](#651)) ([921e108](921e108)) ### Bug Fixes * Basemodel.predict_step ([#672](#672)) ([0c830e9](0c830e9)) * **models:** Assert no dropout ([#638](#638)) ([c1bbcec](c1bbcec)) * Shard shape type hints ([#625](#625)) ([fb201fd](fb201fd)) * Update readmes ([#655](#655)) ([a58aa64](a58aa64)) </details> --- > [!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)
🤖 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: --- <details><summary>training: 0.7.0</summary> ## [0.7.0](training-0.6.7...training-0.7.0) (2025-11-17) ### ⚠ BREAKING CHANGES * **training:** remove support for EDA ([#651](#651)) ### Features * Callbacks for GraphEnsForecaster. ([#449](#449)) ([39c2bfc](39c2bfc)) * Mlflow azure ([#646](#646)) ([27bd3dd](27bd3dd)) * **training:** Remove support for EDA ([#651](#651)) ([921e108](921e108)) ### Bug Fixes * Anemoi-datasets import ([#626](#626)) ([65c8901](65c8901)) * Bug for mlflow offline logging ([#675](#675)) ([fdce0f6](fdce0f6)) * Bug in sample plots. ([#632](#632)) ([9e024f3](9e024f3)) * Incorrect test for variable mask scaler ([#649](#649)) ([d0f775e](d0f775e)) * Integration tests and drop missed reference for profiler ([#630](#630)) ([f352e17](f352e17)) * **training:** Provide more informative error when user specifies inexistent node attribute ([#663](#663)) ([dde3cb6](dde3cb6)) * Update readmes ([#655](#655)) ([a58aa64](a58aa64)) </details> <details><summary>graphs: 0.7.2</summary> ## [0.7.2](graphs-0.7.1...graphs-0.7.2) (2025-11-17) ### Features * **graphs:** Add LimitedAreaMask for stretched hidden nodes ([#671](#671)) ([f155f3c](f155f3c)) * **graphs:** New edge attributes and faster graph cleaning ([#617](#617)) ([8659de9](8659de9)) * New interactive graph visualization ([#609](#609)) ([5b5ede4](5b5ede4)) ### Bug Fixes * **graphs,normalisation:** Add assert when dividing by 0 ([#676](#676)) ([01b7034](01b7034)) * **graphs,schemas:** Missing type for mask_attr_name in schema ([#664](#664)) ([f021017](f021017)) * **graphs,tests:** New test and fix anemoi-graphs tests with gpu ([#637](#637)) ([ca1b542](ca1b542)) * **graphs:** Remove wrong argument from og.Figure ([#616](#616)) ([abd37eb](abd37eb)) * **graphs:** Unit-range normalisation ([#665](#665)) ([6de4778](6de4778)) * Update readmes ([#655](#655)) ([a58aa64](a58aa64)) </details> <details><summary>models: 0.10.0</summary> ## [0.10.0](models-0.9.7...models-0.10.0) (2025-11-17) ### ⚠ BREAKING CHANGES * **training:** remove support for EDA ([#651](#651)) ### Features * **training:** Remove support for EDA ([#651](#651)) ([921e108](921e108)) ### Bug Fixes * Basemodel.predict_step ([#672](#672)) ([0c830e9](0c830e9)) * **models:** Assert no dropout ([#638](#638)) ([c1bbcec](c1bbcec)) * Shard shape type hints ([#625](#625)) ([fb201fd](fb201fd)) * Update readmes ([#655](#655)) ([a58aa64](a58aa64)) </details> --- > [!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)
New edge attributes:
Directional harmonics
RadialBasisFeatures
faster clean up of max number of neighbours (> 10x faster)
allow for cutoff radius in km specification.
📚 Documentation preview 📚: https://anemoi-training--617.org.readthedocs.build/en/617/
📚 Documentation preview 📚: https://anemoi-graphs--617.org.readthedocs.build/en/617/
📚 Documentation preview 📚: https://anemoi-models--617.org.readthedocs.build/en/617/