Loading...
Loading...
Build deterministic forecast scripts with Earth2Studio (model, data source, IO, inference). Do NOT use for ensemble, diagnostics, data-only fetch, or install.
npx skill4agent add promptingcompany/nv-skills earth2studio-deterministic-forecastearth2studio.run.deterministic| 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 |
| https://github.com/NVIDIA/earth2studio/blob/main/earth2studio/run.py |
input_coords["variable"]output_coords["lead_time"]earth2studio/lexicon/<source>.pyZarrBackendNetCDF4BackendXarrayBackendnsteps = forecast_hours / model_step_hoursnsteps = 120 / 6 = 20output_coordsoutput_coordsfrom 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"),
)earth2studio.run.deterministicx, 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(...)earth2studio.run.deterministicreferences/troubleshooting.mdload_default_package()"YYYY-MM-DDTHH:MM:SS"timeu10mv10mnsteps = total_hours // model_step_hours