Generated banner for Earth2studio Deterministic Forecast
Generated logo for Earth2studio Deterministic Forecast

Earth2studio Deterministic Forecast

NVIDIAOfficialCreated by NVIDIA Earth-2 Team

  • Skill
  • Tool integration
  • Science and research
  • Apache-2.0
  • Medium risk
  • Has scripts

From the author

Build deterministic forecast scripts with Earth2Studio (model, data source, IO, inference). Do NOT use for ensemble, diagnostics, data-only fetch, or install.
— the description by NVIDIA Earth-2 Team

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a structured approach to creating single-member deterministic weather forecast scripts using Earth2Studio. It guides users through the selection of prognostic models, compatible data sources, and appropriate IO backends, while ensuring correct calculation of forecast steps and output configuration. The skill focuses exclusively on inference workflows, ensuring users follow best practices for model loading and data handling within the Earth2Studio ecosystem.

What it does

  • Selects appropriate prognostic models based on time horizon and region.
  • Verifies compatibility between model input requirements and data source lexicons.
  • Calculates the required number of inference steps based on forecast duration and model resolution.
  • Configures IO backends for saving forecast results.
  • Generates Python scripts utilizing the earth2studio.run.deterministic interface.
  • Provides a manual loop implementation path for custom inference requirements.

When to use it

  • When you need to run a single-member deterministic weather forecast.
  • When integrating specific prognostic models with Earth2Studio data sources.
  • When you need to automate the generation of inference scripts for weather modeling.
  • When you need to select the correct IO backend for your forecast output storage.

Advantages

  • Ensures compatibility between models and data sources through lexicon verification.
  • Standardizes the script generation process for deterministic inference.
  • Provides clear guidance on IO backend selection for different storage needs.
  • Reduces errors in step calculation and coordinate filtering.

Usage examples

“Create a 3-day deterministic forecast script using the Pangu model and GFS data.”
The agent will generate a Python script using earth2studio.run.deterministic, selecting the Pangu model class, GFS data source, and configuring the nsteps for a 72-hour forecast.
“How do I save only temperature and wind data from my forecast?”
The agent will provide the code to configure the output_coords parameter in the deterministic run function to filter for specific variables, reducing output file size.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/nvidia/earth2studio-deterministic-forecast/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip earth2studio-deterministic-forecast.zip -d .agents/skills

Documentation by NVIDIA Earth-2 Team

Earth2Studio Deterministic Forecast Skill

Guide users through building deterministic (single-member) weather forecast inference scripts using earth2studio.run.deterministic.

Prerequisites

  • Earth2Studio installed with CUDA-capable GPU

  • Python 3.10+, network access for model weights and data

Live Doc References

Fetch relevant docs to verify current APIs before recommending components:

Workflow

1. Gather Requirements (skip what's already provided)
  • Time horizon (hours/days/weeks)

  • Variables of interest (t2m, wind, geopotential, etc.)

  • Region (global or specific like CONUS)

  • GPU/VRAM available

2. Select Model

Fetch prognostic models page. Filter by time horizon, region, VRAM. Note model's:

  • Input variables (input_coords["variable"])

  • Time step size (output_coords["lead_time"])

3. Select Data Source

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.

4. Select IO Backend

Default: ZarrBackend. Use NetCDF4Backend for legacy tools, XarrayBackend for in-memory/small runs.

5. Calculate nsteps

nsteps = forecast_hours / model_step_hours

Example: 5-day forecast with 6h step → nsteps = 120 / 6 = 20

6. Decide: output_coords Filtering
  • Filter variables (output_coords) when user requests specific variables (e.g., "t2m and wind") - reduces output size

  • Save all variables (omit output_coords) when user says "all variables" or doesn't specify - preserves full model output

7. Generate Script
from 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"),
)
8. Manual Loop Alternative

When user explicitly requests manual implementation (NOT using earth2studio.run.deterministic), follow this checklist in order:

  1. fetch_data - Get initial conditions: x, coords = fetch_data(data, time, model.input_coords, device)

  2. Setup total_coords - Build coordinate arrays for time and lead_time dimensions

  3. io.add_array - Initialize IO backend with total_coords before loop

  4. create_iterator - Create prognostic iterator: model_iter = model.create_iterator(x, coords)

  5. Loop through nsteps - for step, (x, coords) in enumerate(model_iter): if step >= nsteps: break

  6. map_coords - Filter output variables if needed: x_out, coords_out = map_coords(x, coords, output_coords)

  7. split_coords - Prepare for IO write: x_out, coords_out = split_coords(x_out, coords_out)

  8. io.write - Write each step to backend

9. Explain Next Steps
  • How to change forecast time or run multiple initializations

  • How to read output (xr.open_zarr(...))

  • Point to diagnostic workflow for post-processing

Ownership

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.

Troubleshooting

See references/troubleshooting.md for common errors and solutions.

Reminders

  • Always fetch live docs before recommending models or data sources - APIs change between releases

  • Verify lexicon compatibility - Model input variables must exist in data source's VOCAB

  • Use load_default_package() - This is the standard pattern for loading model weights

  • Time format is ISO 8601 - Use "YYYY-MM-DDTHH:MM:SS" format for the time argument

  • Wind speed needs both components - If user asks for "wind speed", include both u10m and v10m

  • nsteps is integer division - nsteps = total_hours // model_step_hours

  • ZarrBackend is the default - Only suggest alternatives if user has specific requirements

  • GPU is required - All prognostic models require CUDA; CPU inference is not supported

Files

BENCHMARK.md

Evaluation Report

Evaluation of the earth2studio-deterministic-forecast skill before publication through NVSkills-Eval.

This benchmark summarizes 3-Tier Evaluation from NVSkills-Eval results for the skill. The goal is to document whether the skill is safe, discoverable, effective, and useful for agents before it is published for broader workflow use.

Evaluation Summary

  • Skill: earth2studio-deterministic-forecast

  • Evaluation date: 2026-06-02

  • NVSkills-Eval profile: external

  • Overall verdict: PASS

  • Tier 3 live agent evaluation: not available in this report

Agents Used

  • Tier 3 agent details were not available in this report.

Metrics Used

Reported benchmark dimensions:

  • Security: checks whether skill-assisted execution avoids unsafe behavior such as secret leakage, destructive commands, or unauthorized access.

  • Correctness: checks whether the agent follows the expected workflow and produces the correct final output.

  • Discoverability: checks whether the agent loads the skill when relevant and avoids using it when irrelevant.

  • Effectiveness: checks whether the agent performs measurably better with the skill than without it.

  • Efficiency: checks whether the agent uses fewer tokens and avoids redundant work.

Underlying evaluation signals used in this run:

  • No Tier 3 evaluation signal details were available in this report.

Test Tasks

Tier 3 evaluation task details were not available in this report.

Results

Tier 3 dimension rollup was not available in this report.

Tier 1: Static Validation Summary

Tier 1 validation passed with observations. NVSkills-Eval ran 9 checks and found 7 total findings.

Top findings:

  • MEDIUM SCHEMA/body_recommended_section: Missing recommended section: '## Instructions' (skills/earth2studio-deterministic-forecast/SKILL.md)

  • MEDIUM SCHEMA/body_recommended_section: Missing recommended section: '## Examples' (skills/earth2studio-deterministic-forecast/SKILL.md)

  • MEDIUM SECURITY/Unknown (SDI-2): The script appends to /etc/environment without sanitizing the REPO_ROOT variable, which could allow path injection if RE (evals/environment/setup/bootstrap.sh:27)

  • MEDIUM SECURITY/Unknown (SQP-2): Writing to /etc/environment modifies system-wide environment configuration for all users and processes in the container (evals/environment/setup/bootstrap.sh:27)

  • LOW QUALITY/quality_discoverability: No '## Purpose' section (skills/earth2studio-deterministic-forecast/SKILL.md)

Tier 2: Deduplication Summary

Tier 2 validation passed. NVSkills-Eval ran 2 checks and found 0 total findings.

Notable observations:

  • Context Deduplication: Collected 2 file(s)

  • Inter-Skill Deduplication: Parsed skill 'earth2studio-deterministic-forecast': 158 char description

Publication Recommendation

The skill is suitable to proceed toward NVSkills-Eval publication based on this benchmark. Skill owners should keep this file with the skill and refresh it when the evaluation dataset, skill behavior, or target agents materially change.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Python

Security

What our scanner noticed· Medium risk

  • Large base64-encoded blobs
  • Instructions that use the network
  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
NVIDIA Earth-2 Team
Publisher
NVIDIA (Official)
Source
NVIDIA/skills · skills/earth2studio-deterministic-forecast · commit fce3cca
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE-APACHE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by NVIDIA Earth-2 Team or NVIDIA.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download earth2studio-deterministic-forecast.zip