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.

README.md

NVIDIA Earth2Studio

python version
license
coverage
mypy
format
ruff
uv

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

Earth2Studio README hero

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

Earth2Studio 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.

Earth2Studio agentic setup

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.

Earth2Studio model zoo
Earth2Studio data sources

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.

Earth2Studio composable pipelines

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


GitHub Events

Total
Last Year

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 Email 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:


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

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/nvidia/earth2studio

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

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

nixpkgs-unstable: python313Packages.earth2studio

Open-source deep-learning framework for exploring, building and deploying AI weather/climate workflows


Dependencies

.github/actions/build-docs-section/action.yml actions
  • actions/cache/restore caa296126883cff596d87d8935842f9db880ef25 composite
  • actions/cache/save caa296126883cff596d87d8935842f9db880ef25 composite
pyproject.toml pypi
  • 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
setup.py pypi
.github/workflows/e2s-ci-test-main.yml actions
.github/workflows/e2s-docs-light.yml actions
.github/workflows/request-nvskills-ci.yml actions
recipes/tc_tracking/Dockerfile docker
  • nvcr.io/nvidia/physicsnemo/physicsnemo 26.03 build
test/Dockerfile docker
  • nvcr.io/nvidia/cuda-dl-base 26.03-cuda13.2-devel-ubuntu24.04 build
serve/client/requirements.txt pypi
  • aiohttp >=3.8.0
  • requests >=2.25.0
  • urllib3 >=1.26.0
recipes/hens/pyproject.toml pypi
  • cartopy >=0.24.1
  • earth2studio [cyclone,sfno]>=0.9.0
  • hydra-core >=1.3.0
  • omegaconf *
  • termcolor >=3.0.1
uv.lock pypi
  • 443 dependencies
recipes/s2s/pyproject.toml pypi
  • 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
.github/workflows/util-clear-cache.yml actions
.github/actions/build-light-docs/action.yml actions
  • actions/cache/restore caa296126883cff596d87d8935842f9db880ef25 composite
  • actions/cache/save caa296126883cff596d87d8935842f9db880ef25 composite
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
.github/actions/detect-ci-changes/action.yml actions
recipes/template/pyproject.toml pypi
  • earth2studio >=0.9.0
  • omegaconf *
.github/actions/run-ci-test/action.yml actions
  • actions/cache/restore caa296126883cff596d87d8935842f9db880ef25 composite
  • actions/cache/save caa296126883cff596d87d8935842f9db880ef25 composite
  • actions/upload-artifact ea165f8d65b6e75b540449e92b4886f43607fa02 composite
.github/workflows/e2s-ci-test-pr.yml actions
.github/workflows/e2s-docs-full.yml actions
.github/workflows/util-build-docker-ci-lite.yml actions
  • actions/checkout fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 composite
  • docker/build-push-action 10e90e3645eae34f1e60eeb005ba3a3d33f178e8 composite
  • docker/login-action c94ce9fb468520275223c153574b00df6fe4bcc9 composite
  • docker/setup-buildx-action 8d2750c68a42422c14e847fe6c8ac0403b4cbd6f composite
.github/workflows/zizmor.yml actions
  • actions/checkout fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 composite
  • github/codeql-action/upload-sarif 5595ccaf912efad79be6eef63a5619ff05969be3 composite
skills/earth2studio-create-prognostic/evals/environment/Dockerfile docker
  • ghcr.io/astral-sh/uv python3.13-bookworm-slim build
serve/Dockerfile docker
  • nvcr.io/nvidia/pytorch 26.01-py3 build
recipes/tc_tracking/pyproject.toml pypi
requirements.txt pypi
  • 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
serve/client/pyproject.toml pypi
  • 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
skills/earth2studio-create-diagnostic/evals/environment/Dockerfile docker
  • ghcr.io/astral-sh/uv python3.13-bookworm-slim build
skills/earth2studio-deterministic-forecast/evals/environment/Dockerfile docker
  • ghcr.io/astral-sh/uv python3.13-bookworm-slim build
recipes/eval/pyproject.toml pypi
  • 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
recipes/eval/uv.lock pypi
  • 250 dependencies
serve/server/requirements.txt pypi
  • 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