> Build deterministic forecast scripts with Earth2Studio (model, data source, IO, inference). Do NOT use for ensemble, diagnostics, data-only fetch, or install.
npx skills add https://github.com/NVIDIA/skills --skill earth2studio-deterministic-forecast
Guide users through building deterministic (single-member) weather forecast
inference scripts using earth2studio.run.deterministic.
Fetch relevant docs to verify current APIs before recommending components:
| Component | URL |
|-----------|-----|
| Prognostic models | <https://nvidia.github.io/earth2studio/modules/models_px.html> |
| Data sources (analysis) | <https://nvidia.github.io/earth2studio/modules/datasources_analysis.html> |
| Data sources (forecast) | <https://nvidia.github.io/earth2studio/modules/datasources_forecast.html> |
| IO backends | <https://nvidia.github.io/earth2studio/modules/io.html> |
| run.deterministic | <https://github.com/NVIDIA/earth2studio/blob/main/earth2studio/run.py> |
Fetch prognostic models page. Filter by time horizon, region, VRAM. Note model's:
input_coords["variable"])output_coords["lead_time"])Data source must provide all model input variables. Verify via lexicon at
earth2studio/lexicon/<source>.py. Common pairings: Global models → GFS/ARCO/IFS;
Regional → HRRR.
Default: ZarrBackend. Use NetCDF4Backend for legacy tools, XarrayBackend
for in-memory/small runs.
nsteps = forecast_hours / model_step_hours
Example: 5-day forecast with 6h step → nsteps = 120 / 6 = 20
output_coords) when user requests specific variables (e.g., "t2m and wind") - reduces output sizeoutput_coords) when user says "all variables" or doesn't specify - preserves full model outputfrom collections import OrderedDict
import numpy as np
import torch
from earth2studio.models.px import <ModelClass>
from earth2studio.data import <DataSourceClass>
from earth2studio.io import <IOBackendClass>
from earth2studio.run import deterministic
model = <ModelClass>.load_model(<ModelClass>.load_default_package())
data = <DataSourceClass>()
io = <IOBackendClass>("<output_path>")
# Include output_coords ONLY if user requested specific variables
output_coords = OrderedDict({"variable": np.array(["t2m", "u10m"])})
io = deterministic(
time=["YYYY-MM-DDTHH:MM:SS"],
nsteps=<N>,
prognostic=model,
data=data,
io=io,
output_coords=output_coords, # omit if saving all variables
device=torch.device("cuda"),
)
When user explicitly requests manual implementation (NOT using earth2studio.run.deterministic), follow this checklist in order:
x, coords = fetch_data(data, time, model.input_coords, device)model_iter = model.create_iterator(x, coords)for step, (x, coords) in enumerate(model_iter): if step >= nsteps: breakx_out, coords_out = map_coords(x, coords, output_coords)x_out, coords_out = split_coords(x_out, coords_out)xr.open_zarr(...))Owns: Model selection, data source compatibility, IO backend selection,
nsteps calculation, generating earth2studio.run.deterministic scripts.
Does not own: Ensemble workflows, diagnostics, data-only fetch, installation,
model training.
See references/troubleshooting.md for common errors and solutions.
load_default_package() - This is the standard pattern for loading model weights"YYYY-MM-DDTHH:MM:SS" format for the time argumentu10m and v10mnsteps = total_hours // model_step_hoursCreate new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Access NCBI GEO for gene expression/genomics data. Search/download microarray and RNA-seq datasets (GSE, GSM, GPL), retrieve SOFT/Matrix files, for transcriptomics and expression analysis.
Bayesian modeling with PyMC. Build hierarchical models, MCMC (NUTS), variational inference, LOO/WAIC comparison, posterior checks, for probabilistic programming and inference.
Multi-objective optimization framework. NSGA-II, NSGA-III, MOEA/D, Pareto fronts, constraint handling, benchmarks (ZDT, DTLZ), for engineering design and optimization problems.
Statistical modeling toolkit. OLS, GLM, logistic, ARIMA, time series, hypothesis tests, diagnostics, AIC/BIC, for rigorous statistical inference and econometric analysis.
Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.
Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.
Write docstrings for PyTorch functions and methods following PyTorch conventions. Use when writing or updating docstrings in PyTorch code.
Take nvidia/earth2studio-deterministic-forecast from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.