Earth2Studio
A Python-based package designed to get users up and running with AI weather and climate models fast. Our mission is to enable everyone to build, research and explore AI driven meteorology.
https://github.com/nvidia/earth2studio
Category: Climate Change
Sub Category: Earth and Climate Modeling
Keywords
ai climate-science deep-learning weather
Keywords from Contributors
climate climate-modeling zarr meteorology
Last synced: about 22 hours ago
JSON representation
Repository metadata
Open-source deep-learning framework for exploring, building and deploying AI weather/climate workflows.
- Host: GitHub
- URL: https://github.com/nvidia/earth2studio
- Owner: NVIDIA
- License: apache-2.0
- Created: 2024-04-05T17:39:51.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-10-20T02:44:32.000Z (1 day ago)
- Last Synced: 2026-10-20T02:58:21.390Z (1 day ago)
- Topics: ai, climate-science, deep-learning, weather
- Language: Python
- Homepage: https://nvidia.github.io/earth2studio/
- Size: 456 MB
- Stars: 1,205
- Watchers: 15
- Forks: 283
- Open Issues: 63
- Releases: 21
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Citation: CITATION.cff
- Security: SECURITY.md
- Agents: AGENTS.md
- Claude: CLAUDE.md
README.md
NVIDIA Earth2Studio
Earth2Studio is a Python-based package designed to get users up and running
with AI Earth system models fast.
Our mission is to enable everyone to build, research and explore AI driven weather and
climate science.
- Earth2Studio Documentation -
Install | User-Guide |
Examples | API

Quick start
Running AI weather prediction can be done with just a few lines of code.
- For detailed installation steps, including model-specific installations, see the
install guide. - See the examples gallery providing different inference
workflow samples. - Swap out data sources or models depending on
your use case!
Tutorial
Agent-assisted setup
Automate setup with your preferred coding agent using NVIDIA Earth2Studio skills.
Install the Earth2Studio skill set, then ask your favorite agent (Claude, Codex, OpenCode, etc) to
recommend a model, configure an environment, or run a first deterministic forecast.
Find more Earth2Studio skills in the NVIDIA Skills catalog.

npx skills add NVIDIA/skills --skill earth2studio-install
npx skills add NVIDIA/skills --skill earth2studio-discover
npx skills add NVIDIA/skills --skill earth2studio-data-fetch
npx skills add NVIDIA/skills --skill earth2studio-deterministic-forecast
Example agent prompts:
Use the Earth2Studio discover skill to recommend a starter forecast workflow.
Use the Earth2Studio install skill to set up my environment for FourCastNet3 inference.
Create a script to fetch ERA5 surface winds data for March 2024.
Create a deterministic forecast workflow with GFS, FourCastNet3, and a Zarr output store.
NVIDIA FourCastNet3
from earth2studio.models.px import FCN3
from earth2studio.data import GFS
from earth2studio.io import ZarrBackend
from earth2studio.run import deterministic as run
model = FCN3.load_model(FCN3.load_default_package())
data = GFS()
io = ZarrBackend("outputs/fcn3_forecast.zarr")
run(["2025-01-01T00:00:00"], 10, model, data, io)
ECMWF AIFS
from earth2studio.models.px import AIFS
from earth2studio.data import IFS
from earth2studio.io import ZarrBackend
from earth2studio.run import deterministic as run
model = AIFS.load_model(AIFS.load_default_package())
data = IFS()
io = ZarrBackend("outputs/aifs_forecast.zarr")
run(["2025-01-01T00:00:00"], 10, model, data, io)
Google Graphcast
from earth2studio.models.px import GraphCastOperational
from earth2studio.data import GFS
from earth2studio.io import ZarrBackend
from earth2studio.run import deterministic as run
package = GraphCastOperational.load_default_package()
model = GraphCastOperational.load_model(package)
data = GFS()
io = ZarrBackend("outputs/graphcast_operational_forecast.zarr")
run(["2025-01-01T00:00:00"], 4, model, data, io)
[!IMPORTANT]
Earth2Studio is an interface to third‑party models, checkpoints, and datasets.
Licenses for these assets are owned by their providers.
Ensure you have the rights to download, use, and (if applicable) redistribute each
model and dataset.
Links to the original license and source are often provided in the API docs for each
model/data source.
Latest News
- WeatherNext 2 Cyclones,
operational and Mini prognostic model wrappers. - CAMulator,
NSF NCAR CAM6 climate emulator with prescribed forcing data and conservation fixers. - FuXi-S2S,
global daily prognostic model for subseasonal-to-seasonal forecasting. - CorrDiff ERA5-HRRR,
generative downscaling from ERA5 to HRRR over the contiguous United States.
For a complete list of latest features and improvements see the changelog.
Overview
Earth2Studio is an AI inference pipeline toolkit focused on weather and climate
applications that is designed to ride on top of different AI frameworks, model
architectures, data sources and SciML tooling while providing a unified API.


The composability of the different core components in Earth2Studio easily allows the
development and deployment of increasingly complex pipelines that may chain multiple
data sources, AI models and other modules together.

The unified ecosystem of Earth2Studio provides users the opportunity to rapidly
swap out components for alternatives.
In addition to the largest model zoo of weather/climate AI models, Earth2Studio is
packed with useful functionality such as optimized data access to cloud data stores,
statistical operations and more to accelerate your pipelines.
Earth-2 Open Models
Access state of the art Nvidia open models for climate and weather: Earth-2 Open Models.
For training recipes for these models, see the PhysicsNeMo repository.
Contributors
Check out the contributing document for details about the technical
requirements and the user guide for higher level philosophy, structure, and design.
License
Earth2Studio is provided under the Apache License 2.0, refer to the
LICENSE file for full license text.
Citation (CITATION.cff)
cff-version: 1.2.0 message: If you use this software, please cite it as below. title: NVIDIA Earth2Studio authors: - name: "Earth2Studio Contributors" url: https://github.com/NVIDIA/earth2studio repository-code: https://github.com/NVIDIA/earth2studio date-released: 2024-04-22
Owner metadata
- Name: NVIDIA Corporation
- Login: NVIDIA
- Email:
- Kind: organization
- Description:
- Website: https://nvidia.com
- Location: 2788 San Tomas Expressway, Santa Clara, CA, 95051
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1728152?v=4
- Repositories: 342
- Last ynced at: 2026-10-20T04:49:57.680Z
- Profile URL: https://github.com/NVIDIA
GitHub Events
Total
- Create event: 70
- Delete event: 42
- Discussion event: 2
- Fork event: 56
- Issue comment event: 1161
- Issues event: 254
- Member event: 7
- Pull request event: 487
- Pull request review comment event: 730
- Pull request review event: 808
- Push event: 538
- Release event: 9
- Watch event: 267
Last Year
- Create event: 49
- Delete event: 29
- Discussion event: 2
- Fork event: 28
- Issue comment event: 419
- Issues event: 94
- Member event: 1
- Pull request event: 175
- Pull request review comment event: 383
- Pull request review event: 409
- Push event: 289
- Release event: 3
- Watch event: 143
Committers metadata
Last synced: 2 days ago
Total Commits: 761
Total Committers: 62
Avg Commits per committer: 12.274
Development Distribution Score (DDS): 0.442
Commits in past year: 433
Committers in past year: 51
Avg Commits per committer in past year: 8.49
Development Distribution Score (DDS) in past year: 0.538
| Name | Commits | |
|---|---|---|
| Nicholas Geneva | 5****a | 425 |
| Peter Harrington | 4****n | 46 |
| Dallas Foster | d****f@n****m | 31 |
| Negin Sobhani | n****3@g****m | 26 |
| gertln | g****l@n****m | 25 |
| dependabot[bot] | 4****] | 22 |
| Stefan Weissenberger | s****g@n****m | 20 |
| Marius | 2****s | 18 |
| Oliver Hennigh | l****1@g****m | 18 |
| ssjoshi | 1****r | 17 |
| Dibyajyoti Chakraborty | 1****y | 12 |
| Jussi Leinonen | j****n@n****m | 12 |
| megnvidia | m****a@n****m | 11 |
| Aayush Gupta | 1****5 | 10 |
| Alberto Carpentieri | 5****i | 5 |
| Rodrigo Almeida | r****4@o****t | 3 |
| Jerry Lin | j****5@g****m | 3 |
| Aaron Spring | 1****g | 2 |
| Akshay Subramaniam | 6****r | 2 |
| Charlelie Laurent | 8****t | 2 |
| Emmanuel Ferdman | e****n@g****m | 2 |
| Linnea Wolniewicz | 6****z | 2 |
| Minh Vu | v****7@g****m | 2 |
| Peter Manshausen | p****n@g****m | 2 |
| Ramu Ramamurthy | r****y@n****m | 2 |
| Sai Krishnan Chandrasekar | 1****v | 2 |
| Shaurya Singh | s****4@g****m | 2 |
| irlyngaas | i****s@g****m | 2 |
| pre-commit-ci[bot] | 6****] | 2 |
| Ayush Raj | a****7@g****m | 1 |
| and 32 more... | ||
Committer domains:
- nvidia.com: 7
- ucar.edu: 1
- me.com: 1
- posteo.net: 1
- mrshll.com: 1
- vitstudent.ac.in: 1
- outlook.pt: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 246
Total pull requests: 938
Average time to close issues: 20 days
Average time to close pull requests: 4 days
Total issue authors: 70
Total pull request authors: 69
Average comments per issue: 1.22
Average comments per pull request: 3.62
Merged pull request: 684
Bot issues: 0
Bot pull requests: 40
Past year issues: 81
Past year pull requests: 379
Past year average time to close issues: 26 days
Past year average time to close pull requests: 5 days
Past year issue authors: 40
Past year pull request authors: 56
Past year average comments per issue: 1.3
Past year average comments per pull request: 4.47
Past year merged pull request: 249
Past year bot issues: 0
Past year bot pull requests: 17
Top Issue Authors
- NickGeneva (90)
- gertln (18)
- swbg (14)
- mariusaurus (11)
- jleinonen (10)
- mike-scchen (8)
- dallasfoster (5)
- nbren12 (4)
- sylvesterkaczmarek (4)
- rodrigoalmeida94 (4)
- aayushg55 (3)
- jerrylin96 (3)
- luke-conibear (3)
- david5010 (2)
- ManshaP (2)
Top Pull Request Authors
- NickGeneva (504)
- pzharrington (48)
- dallasfoster (40)
- gertln (40)
- negin513 (37)
- loliverhennigh (36)
- dependabot[bot] (30)
- mariusaurus (23)
- swbg (20)
- jleinonen (19)
- aayushg55 (13)
- Dibyajyoti-Chakraborty (11)
- pre-commit-ci[bot] (10)
- gh0st-ryder (8)
- shrek (7)
Top Issue Labels
- bug (129)
- enhancement (76)
- ? - Needs Triage (60)
- documentation (25)
- 2 - In Progress (10)
- question (7)
- 1 - On Deck (6)
- 0 - Backlog (5)
- dependencies (2)
- wontfix (1)
- good first issue (1)
- invalid (1)
- 4 - In Review (1)
- chore (1)
- ! - Release (1)
Top Pull Request Labels
- dependencies (30)
- 1.0.0 (29)
- ! - Release (29)
- 4 - In Review (26)
- python (24)
- 2 - In Progress (19)
- 3 - Ready for Review (17)
- external (15)
- 1 - On Deck (11)
- python:uv (6)
- bug (3)
- 5 - DO NOT MERGE (1)
- enhancement (1)
Package metadata
- Total packages: 5
-
Total downloads:
- pypi: 2,977 last-month
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 25
- Total maintainers: 2
proxy.golang.org: github.com/NVIDIA/earth2studio
- Homepage:
- Status: removed
- Documentation: https://pkg.go.dev/github.com/NVIDIA/earth2studio#section-documentation
- Licenses: apache-2.0
- Latest release: v0.0.0-20260811172359-f6996708ee6f (published 2 months ago)
- Last Synced: 2026-10-19T05:34:56.290Z (2 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 4.494%
- Average: 4.645%
- Dependent repos count: 4.796%
proxy.golang.org: github.com/nvidia/earth2studio
- Homepage:
- Status: removed
- Documentation: https://pkg.go.dev/github.com/nvidia/earth2studio#section-documentation
- Licenses: apache-2.0
- Latest release: v0.0.0-20260811172359-f6996708ee6f (published 2 months ago)
- Last Synced: 2026-10-19T05:34:55.398Z (2 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 4.494%
- Average: 4.645%
- Dependent repos count: 4.796%
pypi.org: earth2studio
Open-source deep-learning framework for exploring, building and deploying AI weather/climate workflows.
- Homepage: https://github.com/NVIDIA/earth2studio
- Documentation: https://nvidia.github.io/earth2studio
- Licenses: Apache-2.0
- Latest release: 0.19.0 (published 20 days ago)
- Last Synced: 2026-10-19T05:34:56.069Z (2 days ago)
- Versions: 21
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 2,977 Last month
-
Rankings:
- Dependent packages count: 9.459%
- Average: 35.931%
- Dependent repos count: 62.403%
- Maintainers (1)
nixpkgs-unstable: python314Packages.earth2studio
Open-source deep-learning framework for exploring, building and deploying AI weather/climate workflows
- Homepage: https://github.com/NVIDIA/earth2studio
- Documentation: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/earth2studio/default.nix#L156
- Licenses: Apache-2.0
- Latest release: 0.18.0 (published about 2 months ago)
- Last Synced: 2026-09-04T00:01:30.839Z (about 2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
- Maintainers (1)
nixpkgs-unstable: python313Packages.earth2studio
Open-source deep-learning framework for exploring, building and deploying AI weather/climate workflows
- Homepage: https://github.com/NVIDIA/earth2studio
- Documentation: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/earth2studio/default.nix#L156
- Licenses: Apache-2.0
- Latest release: 0.18.0 (published about 2 months ago)
- Last Synced: 2026-09-04T00:01:29.318Z (about 2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
- Maintainers (1)
Dependencies
- actions/cache/restore caa296126883cff596d87d8935842f9db880ef25 composite
- actions/cache/save caa296126883cff596d87d8935842f9db880ef25 composite
- boto3 >=1.34.50
- cdsapi >= 0.6.1
- cfgrib >= 0.9.10.3
- cftime *
- eccodes >=1.4.0
- ecmwf-opendata >=0.2.0
- ecmwflibs >=0.5.2
- fsspec >=2023.1.0
- gcsfs *
- h5netcdf >=1.0.0
- h5py >=3.2.0
- herbie-data *
- huggingface-hub >=0.4.0
- importlib_metadata *
- loguru *
- netCDF4 >=1.6.4
- numpy *
- nvidia-modulus >= 0.4.0
- python-dotenv *
- s3fs >=2023.5.0
- setuptools >=67.6.0
- torch >=2.0.0
- torch_harmonics >=0.5.0
- tqdm >=4.65.0
- xarray >=2023.1.0
- zarr >=2.14.2
- nvcr.io/nvidia/physicsnemo/physicsnemo 26.03 build
- nvcr.io/nvidia/cuda-dl-base 26.03-cuda13.2-devel-ubuntu24.04 build
- aiohttp >=3.8.0
- requests >=2.25.0
- urllib3 >=1.26.0
- cartopy >=0.24.1
- earth2studio [cyclone,sfno]>=0.9.0
- hydra-core >=1.3.0
- omegaconf *
- termcolor >=3.0.1
- 443 dependencies
- ai-wq-package *
- earth2studio [dlesym,sfno,data,precip-afno]>=0.9.0
- hydra-core >=1.3.0
- omegaconf *
- termcolor >=3.0.1
- zarr >=3.0.0
- actions/cache/restore caa296126883cff596d87d8935842f9db880ef25 composite
- actions/cache/save caa296126883cff596d87d8935842f9db880ef25 composite
- actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
- earth2studio >=0.9.0
- omegaconf *
- actions/cache/restore caa296126883cff596d87d8935842f9db880ef25 composite
- actions/cache/save caa296126883cff596d87d8935842f9db880ef25 composite
- actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
- actions/checkout fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 composite
- docker/build-push-action 10e90e3645eae34f1e60eeb005ba3a3d33f178e8 composite
- docker/login-action c94ce9fb468520275223c153574b00df6fe4bcc9 composite
- docker/setup-buildx-action 8d2750c68a42422c14e847fe6c8ac0403b4cbd6f composite
- actions/checkout fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 composite
- github/codeql-action/upload-sarif 5595ccaf912efad79be6eef63a5619ff05969be3 composite
- ghcr.io/astral-sh/uv python3.13-bookworm-slim build
- nvcr.io/nvidia/pytorch 26.01-py3 build
- aiobotocore ==3.1.1
- aiohappyeyeballs ==2.6.1
- aiohttp ==3.14.3
- aioitertools ==0.13.0
- aiosignal ==1.4.0
- anyio ==4.12.1
- attrs ==25.4.0
- bokeh ==3.8.2
- botocore ==1.42.30
- certifi ==2026.1.4
- cftime ==1.6.5
- charset-normalizer ==3.4.4
- click ==8.3.1
- cloudpickle ==3.1.2
- colorama ==0.4.6
- contourpy ==1.3.3
- dask ==2026.1.1
- decorator ==5.2.1
- distributed ==2026.1.1
- donfig ==0.8.1.post1
- filelock ==3.20.3
- frozenlist ==1.8.0
- fsspec ==2026.1.0
- gcsfs ==2026.1.0
- google-api-core ==2.29.0
- google-auth ==2.47.0
- google-auth-oauthlib ==1.2.4
- google-cloud-core ==2.5.0
- google-cloud-storage ==3.8.0
- google-cloud-storage-control ==1.9.0
- google-crc32c ==1.8.0
- google-resumable-media ==2.8.0
- googleapis-common-protos ==1.72.0
- grpc-google-iam-v1 ==0.14.3
- grpcio ==1.76.0
- grpcio-status ==1.76.0
- h11 ==0.16.0
- h5netcdf ==1.8.0
- h5py ==3.14.0
- hatchling ==1.28.0
- hf-xet ==1.2.0
- httpcore ==1.0.9
- httpx ==0.28.1
- huggingface-hub ==1.3.2
- idna ==3.11
- importlib-metadata ==8.7.1
- jinja2 ==3.1.6
- jmespath ==1.0.1
- locket ==1.0.0
- loguru ==0.7.3
- lz4 ==4.4.5
- markdown-it-py ==4.0.0
- markupsafe ==3.0.3
- mdurl ==0.1.2
- mpmath ==1.3.0
- msgpack ==1.2.1
- multidict ==6.7.0
- narwhals ==2.15.0
- nest-asyncio ==1.6.0
- netcdf4 ==1.7.2
- networkx ==3.6.1
- ninja ==1.13.0
- numcodecs ==0.16.5
- numpy ==2.3.5
- oauthlib ==3.3.1
- packaging ==26.0
- pandas ==3.0.0
- partd ==1.4.2
- pathspec ==1.0.3
- pillow ==12.3.0
- pluggy ==1.6.0
- propcache ==0.4.1
- proto-plus ==1.27.0
- protobuf ==6.33.5
- psutil ==7.2.1
- pyarrow ==23.0.0
- pyasn1 ==0.6.4
- pyasn1-modules ==0.4.2
- pygments ==2.20.0
- pygrib ==2.1.8
- pyproj ==3.7.2
- python-dateutil ==2.9.0.post0
- python-dotenv ==1.2.1
- pyyaml ==6.0.3
- requests ==2.32.5
- requests-oauthlib ==2.0.0
- rich ==14.2.0
- rsa ==4.9.1
- s3fs ==2026.1.0
- setuptools ==80.10.1
- shellingham ==1.5.4
- six ==1.17.0
- sortedcontainers ==2.4.0
- sympy ==1.14.0
- tblib ==3.2.2
- toolz ==1.1.0
- torch ==2.10.0
- tornado ==6.5.7
- tqdm ==4.67.1
- triton ==3.4.0
- trove-classifiers ==2026.1.14.14
- typer-slim ==0.21.1
- typing-extensions ==4.15.0
- tzdata ==2025.3
- urllib3 ==2.7.0
- win32-setctime ==1.2.0
- wrapt ==2.0.1
- xarray ==2025.12.0
- xyzservices ==2025.11.0
- yarl ==1.22.0
- zarr ==3.1.5
- zict ==3.0.0
- zipp ==3.23.0
- aiohttp >=3.8.0
- earth2studio >=0.9.0
- fsspec >=2021.6.0
- numpy >=1.21.0
- requests >=2.25.0
- urllib3 >=1.26.0
- xarray >=0.19.0
- ghcr.io/astral-sh/uv python3.13-bookworm-slim build
- ghcr.io/astral-sh/uv python3.13-bookworm-slim build
- cartopy *
- earth2studio [data,dlwp,fcn3,perturbation,statistics,stormscope,utils,da-healda]
- hydra-core >=1.3.0
- matplotlib *
- nvidia-physicsnemo >=2.0
- omegaconf *
- zarr >=3.0.0
- 250 dependencies
- aiofiles >=23.0.0
- azure-identity >=1.15.0
- azure-storage-blob >=12.19.0
- cryptography >=41.0.0
- fastapi >=0.104.0
- hiredis >=2.0.0
- httpx >=0.25.0
- hydra-core >=1.3.0
- multi-storage-client >=0.44.0
- prometheus_client >=0.17.0
- pydantic >=2.0.0
- pytest >=7.0.0
- pytest-asyncio >=0.21.0
- python-dotenv >=1.0.0
- python-multipart >=0.0.6
- redis >=5.0.0
- rq >=1.15.0
- uvicorn >=0.24.0
Score: 19.271673472755545
