{"id":15012191,"url":"https://github.com/microsoft/aurora","last_synced_at":"2025-05-15T08:02:38.204Z","repository":{"id":254094616,"uuid":"828987595","full_name":"microsoft/aurora","owner":"microsoft","description":"Implementation of the Aurora model for Earth system forecasting","archived":false,"fork":false,"pushed_at":"2025-04-03T09:40:23.000Z","size":11112,"stargazers_count":326,"open_issues_count":18,"forks_count":51,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-04-14T18:06:03.583Z","etag":null,"topics":["atmospheric-chemistry","aurora-model","deep-learning","foundation-models","ocean-waves","tropical-cyclone-tracking","weather-prediction"],"latest_commit_sha":null,"homepage":"https://microsoft.github.io/aurora","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-15T14:23:39.000Z","updated_at":"2025-04-14T12:44:41.000Z","dependencies_parsed_at":"2024-10-15T17:00:40.425Z","dependency_job_id":"8660b5e5-ee45-47c2-924f-1969471ded15","html_url":"https://github.com/microsoft/aurora","commit_stats":{"total_commits":34,"total_committers":8,"mean_commits":4.25,"dds":"0.23529411764705888","last_synced_commit":"060ffbeab44e362ba4ea85708c6d7ee0fe4c5e6e"},"previous_names":["microsoft/aurora"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Faurora","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Faurora/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Faurora/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Faurora/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/aurora/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248933339,"owners_count":21185460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atmospheric-chemistry","aurora-model","deep-learning","foundation-models","ocean-waves","tropical-cyclone-tracking","weather-prediction"],"created_at":"2024-09-24T19:42:14.031Z","updated_at":"2025-05-15T08:02:38.184Z","avatar_url":"https://github.com/microsoft.png","language":"Python","funding_links":[],"categories":["AI/ML for Simulation","Python","🔬 Domain-Specific Applications","Atmosphere"],"sub_categories":["Verified vs declared","🌍 Earth \u0026 Climate Science","Atmospheric Composition and Dynamics"],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"docs/aurora.jpg\" alt=\"Aurora logo\" width=\"200\"/\u003e\n\u003c/p\u003e\n\n# Aurora: A Foundation Model for the Earth System\n\n[![CI](https://github.com/microsoft/Aurora/actions/workflows/ci.yaml/badge.svg)](https://github.com/microsoft/Aurora/actions/workflows/ci.yaml)\n[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://microsoft.github.io/aurora)\n[![Paper](https://img.shields.io/badge/arXiv-2405.13063-blue)](https://arxiv.org/abs/2405.13063)\n[![DOI](https://zenodo.org/badge/828987595.svg)](https://doi.org/10.5281/zenodo.14983583)\n\nImplementation of the Aurora model for Earth system forecasting.\n\n_The package currently includes the pretrained model and the fine-tuned version for high-resolution weather forecasting._\n_We are working on the fine-tuned versions for air pollution and ocean wave forecasting, which will be included in due time._\n\n[Link to the paper on arXiv.](https://arxiv.org/abs/2405.13063)\n\n[Please see the documentation for detailed instructions and more examples.](https://microsoft.github.io/aurora)\nYou can also directly go to [a full-fledged example that runs the model on ERA5](https://microsoft.github.io/aurora/example_era5.html).\n\nCite us as follows:\n\n```\n@misc{bodnar2024aurora,\n    title = {Aurora: A Foundation Model for the Earth System},\n    author = {Cristian Bodnar and Wessel P. Bruinsma and Ana Lucic and Megan Stanley and Anna Allen and Johannes Brandstetter and Patrick Garvan and Maik Riechert and Jonathan A. Weyn and Haiyu Dong and Jayesh K. Gupta and Kit Thambiratnam and Alexander T. Archibald and Chun-Chieh Wu and Elizabeth Heider and Max Welling and Richard E. Turner and Paris Perdikaris},\n    year = {2024},\n    url = {https://arxiv.org/abs/2405.13063},\n    eprint = {2405.13063},\n    archivePrefix = {arXiv},\n    primaryClass = {physics.ao-ph},\n}\n```\n\nContents:\n\n- [What is Aurora?](#what-is-aurora)\n- [Getting Started](#getting-started)\n- [Contributing](#contributing)\n- [License](#license)\n- [Security](#security)\n- [Responsible AI Transparency Documentation](#responsible-ai-transparency-documentation)\n- [Trademarks](#trademarks)\n- [FAQ](#faq)\n\n## What is Aurora?\n\nAurora is a machine learning model that can predict atmospheric variables, such as temperature.\nIt is a _foundation model_, which means that it was first generally trained on a lot of data,\nand then can be adapted to specialised atmospheric forecasting tasks with relatively little data.\nWe provide four such specialised versions:\none for medium-resolution weather prediction,\none for high-resolution weather prediction,\none for air pollution prediction,\nand one for ocean wave prediction.\n\n## Getting Started\n\nInstall with `pip`:\n\n```bash\npip install microsoft-aurora\n```\n\nOr with `conda` / `mamba`:\n\n```bash\nmamba install microsoft-aurora -c conda-forge\n```\n\nRun the pretrained small model on random data:\n\n```python\nfrom datetime import datetime\n\nimport torch\n\nfrom aurora import AuroraSmall, Batch, Metadata\n\nmodel = AuroraSmall()\n\nmodel.load_checkpoint(\"microsoft/aurora\", \"aurora-0.25-small-pretrained.ckpt\")\n\nbatch = Batch(\n    surf_vars={k: torch.randn(1, 2, 17, 32) for k in (\"2t\", \"10u\", \"10v\", \"msl\")},\n    static_vars={k: torch.randn(17, 32) for k in (\"lsm\", \"z\", \"slt\")},\n    atmos_vars={k: torch.randn(1, 2, 4, 17, 32) for k in (\"z\", \"u\", \"v\", \"t\", \"q\")},\n    metadata=Metadata(\n        lat=torch.linspace(90, -90, 17),\n        lon=torch.linspace(0, 360, 32 + 1)[:-1],\n        time=(datetime(2020, 6, 1, 12, 0),),\n        atmos_levels=(100, 250, 500, 850),\n    ),\n)\n\nprediction = model.forward(batch)\n\nprint(prediction.surf_vars[\"2t\"])\n```\n\nNote that this will incur a 500 MB download.\n\nPlease read the [documentation](https://microsoft.github.io/aurora) for more detailed instructions and for which models are available.\n\n## Contributing\n\nSee [`CONTRIBUTING.md`](CONTRIBUTING.md).\n\n## License\n\nSee [`LICENSE.txt`](LICENSE.txt).\n\nWe would like to point out that the code here has a different licence than the\n[weights on HuggingFace](https://huggingface.co/microsoft/aurora).\nSpecifically,\nwhereas the code here is under the MIT licence (see [`LICENSE.txt`](LICENSE.txt)),\nthe [weights on HuggingFace](https://huggingface.co/microsoft/aurora) are under a non-commerical\nlicence.\n\n## Security\n\nSee [`SECURITY.md`](SECURITY.md).\n\n## Responsible AI Transparency Documentation\n\nAn AI system includes not only the technology, but also the people who will use it, the people who will be affected by it, and the environment in which it is deployed.\nCreating a system that is fit for its intended purpose requires an understanding of how the technology works, its capabilities and limitations, and how to achieve the best performance.\nMicrosoft has a broad effort to put our AI principles into practice.\nTo find out more, see [Responsible AI principles from Microsoft](https://www.microsoft.com/en-us/ai/responsible-ai).\n\n### Use of this code\nOur goal in publishing this code is\n(1) to facilitate reproducibility of our paper and\n(2) to support and accelerate further research into foundation model for atmospheric forecasting.\nThis code has not been developed nor tested for non-academic purposes and hence should not be used as such.\n\n### Limitations\nAlthough Aurora was trained to accurately predict future weather, air pollution, and ocean waves,\nAurora is based on neural networks, which means that there are no strict guarantees that predictions will always be accurate.\nAltering the inputs, providing a sample that was not in the training set,\nor even providing a sample that was in the training set but is simply unlucky may result in arbitrarily poor predictions.\nIn addition, even though Aurora was trained on a wide variety of data sets,\nit is possible that Aurora inherits biases present in any one of those data sets.\nA forecasting system like Aurora is only one piece of the puzzle in a weather prediction pipeline,\nand its outputs are not meant to be directly used by people or businesses to plan their operations.\nA series of additional verification tests are needed before it can become operationally useful.\n\n### Data\nThe models included in the code have been trained on a variety of publicly available data.\nA description of all data, including download links, can be found in [Supplementary C of the paper](https://arxiv.org/pdf/2405.13063).\nThe checkpoints include data from ERA5, CMCC, IFS-HR, HRES T0, GFS T0 analysis, and GFS forecasts.\n\n### Evaluations\nAll versions of Aurora were extensively evaluated by evaluating predictions on data not seen during training.\nThese evaluations not only compare measures of accuracy, such as the root mean square error and anomaly correlation coefficient,\nbut also look at the behaviour in extreme situations, like extreme heat and cold, and rare events, like Storm Ciarán in 2023.\nThese evaluations are the main topic of [the paper](https://arxiv.org/pdf/2405.13063).\n\n*Note: The documentation included in this file is for informational purposes only and is not intended to supersede the applicable license terms.*\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services.\nAuthorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark \u0026 Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\nAny use of third-party trademarks or logos are subject to those third-party's policies.\n\n## FAQ\n\n### How do I setup the repo for local development?\n\nFirst, install the repository in editable mode and setup `pre-commit`:\n\n```bash\nmake install\n```\n\nTo run the tests and print coverage, run\n\n```bash\nmake test\n```\n\nYou can then explore the coverage in the browser by opening `htmlcov/index.html`.\n\nTo locally build the documentation, run\n\n```bash\nmake docs\n```\n\nTo locally view the documentation, open `docs/_build/index.html` in your browser.\n\n### Why are the fine-tuned versions of Aurora for air quality and ocean wave forecasting missing?\n\nThe package currently includes the pretrained model and the fine-tuned version for high-resolution weather forecasting.\nWe are working on the fine-tuned versions for air pollution and ocean wave forecasting, which will be included in due time.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Faurora","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Faurora","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Faurora/lists"}