Skip to content

Conversation

isaaccorley
Copy link
Collaborator

@isaaccorley isaaccorley commented Jun 7, 2025

Adding the Aurora Atmospheric/Weather Forecasting models from https://github.com/microsoft/aurora!

See their docs and paper for more info!

cc: @wesselb @crisbodnar @megstanley

@github-actions github-actions bot added documentation Improvements or additions to documentation models Models and pretrained weights testing Continuous integration testing dependencies Packaging and dependencies labels Jun 7, 2025
@isaaccorley isaaccorley requested review from Copilot, adamjstewart and calebrob6 and removed request for Copilot and adamjstewart June 7, 2025 20:10
@isaaccorley isaaccorley removed the models Models and pretrained weights label Jun 7, 2025
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR introduces the Aurora Climate Models into TorchGeo, providing pre-trained weights and a new aurora_swin_unet model function. Key changes include:

  • A new file (torchgeo/models/aurora.py) defining Aurora_Weights and the aurora_swin_unet model with related metadata.
  • Integration of Aurora models into the API (torchgeo/models/api.py, init.py, hubconf.py) and documentation, along with updates to tests and project dependencies.
  • Addition of tests for the Aurora model in tests/models/test_aurora.py.

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
torchgeo/models/aurora.py New Aurora model and weights definitions with metadata and transforms.
torchgeo/models/api.py Included aurora_swin_unet and Aurora_Weights in model registries.
torchgeo/models/init.py Exported the new Aurora API components.
tests/models/test_aurora.py Added tests to validate the Aurora model functionality.
pyproject.toml Updated dependencies to include "microsoft-aurora".
hubconf.py Exposed aurora_swin_unet in the hub configuration.
docs/api/weights/climate.csv Documented Aurora weight configurations.
docs/api/models.rst Updated API documentation to include Aurora models.
Comments suppressed due to low confidence (1)

torchgeo/models/api.py:106

  • [nitpick] Consider adding a comment to clarify why 'aurora_swin_unet' is entered both as a function key and a string key in the _model_weights dictionary. This will help future maintainers understand the intent behind the dual mapping.
'aurora_swin_unet': Aurora_Weights,

@isaaccorley isaaccorley added the models Models and pretrained weights label Jun 7, 2025
@isaaccorley isaaccorley added this to the 0.8.0 milestone Jun 7, 2025
@adamjstewart
Copy link
Member

adamjstewart commented Jun 8, 2025

Last I knew, Aurora only supports medium-range weather forecasting (2 hrs–2 wks), not climate modeling (decadal scale). Would be good to confirm with the authors. We need to be very careful with naming here, as there is a huge distinction between data-driven stateful models and physics-driven statistical distribution models.

@isaaccorley isaaccorley changed the title Aurora Climate Models Aurora Atmospheric Models Jun 8, 2025
@isaaccorley
Copy link
Collaborator Author

Last I knew, Aurora only supports medium-range weather forecasting (2 hrs–2 wks), not climate modeling (decadal scale). Would be good to confirm with the authors. We need to be very careful with naming here, as there is a huge distinction between data-driven stateful models and physics-driven statistical distribution models.

You're correct, the paper specifically says "forecasting of weather and atmospheric processes". I'll make sure to not use the term "climate modeling".

@isaaccorley isaaccorley changed the title Aurora Atmospheric Models Aurora Atmospheric/Weather Forecasting Models Jun 8, 2025
@wesselb
Copy link

wesselb commented Jun 11, 2025

@adamjstewart, @isaaccorley, you're correct that Aurora only does medium-term forecasting (up to 10 days in 6 hour steps). Note, however, that it doesn't just do weather forecasting: we have models for ocean waves and air pollution too.

@adamjstewart adamjstewart mentioned this pull request Jun 11, 2025
67 tasks
@adamjstewart
Copy link
Member

@cnagda can you review?

Copy link

@cnagda cnagda left a comment

Choose a reason for hiding this comment

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

Looks good to me. For load_checkpoint , can we override to use commit hash / have our own version of it in this file?

@isaaccorley
Copy link
Collaborator Author

Looks good to me. For load_checkpoint , can we override to use commit hash / have our own version of it in this file?

Planning to upstream this fix directly to the aurora repo microsoft/aurora#114

@isaaccorley isaaccorley force-pushed the models/aurora-climate branch from ba9a06a to 9821bc1 Compare June 20, 2025 01:57
@isaaccorley isaaccorley force-pushed the models/aurora-climate branch from fae6c17 to 2345078 Compare August 6, 2025 21:27
@adamjstewart
Copy link
Member

Failing minimum tests due to huggingface/safetensors#641, for now maybe we can pin to older safetensors.

@isaaccorley
Copy link
Collaborator Author

isaaccorley commented Aug 7, 2025

Can we support older aurora? The aurora 1.6.0 version pins to a specific version of timm<1.0 which conflicts with our min version of timm being >1.0

@adamjstewart
Copy link
Member

I believe aurora 1.6 includes your PR

@adamjstewart
Copy link
Member

@isaaccorley I'll let you take over again. Now that the tests are actually running, there are a bunch of new errors.

isaaccorley and others added 17 commits August 9, 2025 15:12
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com>
Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com>
Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com>
Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com>
Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com>
Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com>
Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com>
Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com>
Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com>
@isaaccorley isaaccorley force-pushed the models/aurora-climate branch from 4b427e9 to d92efd9 Compare August 9, 2025 20:12

Verified

This commit was signed with the committer’s verified signature.
adamjstewart Adam J. Stewart
Signed-off-by: Adam J. Stewart <ajstewart426@gmail.com>
@adamjstewart adamjstewart enabled auto-merge (squash) August 10, 2025 16:25
@adamjstewart adamjstewart merged commit d31b356 into torchgeo:main Aug 10, 2025
17 checks passed
@isaaccorley isaaccorley deleted the models/aurora-climate branch August 10, 2025 22:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Packaging and dependencies documentation Improvements or additions to documentation models Models and pretrained weights testing Continuous integration testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants