WeatherGraph brings Graph Neural Network weather forecasting to standard research hardware — from a laptop GPU to a cloud workstation — with a production-ready C++ inference core and a Python scientific API researchers already know.
Every component is designed to run on hardware already available in research labs and field offices — without sacrificing scientific rigor.
Direct memory mapping between Python numpy/xarray and the C++ ONNX core via pybind11 Buffer Protocol — no redundant data copies on the critical path.
CUDA, TensorRT, ROCm, and OpenVINO execution providers supported out of the box. Switch between CPU and GPU with a single parameter.
Graph-aware tiling via bundle manifests enables 0.1° global inference on machines that cannot hold the full graph in memory. Mathematically exact — no approximations.
Built-in adapters for ERA5, ECMWF Open Data, Copernicus CDS, NOAA GFS, and Open-Meteo. Pluggable architecture for custom sources.
Step-by-step export to NetCDF4, Zarr, and NPZ. Long multi-day rollouts write directly to disk without materializing the full trajectory in RAM.
Verified against reference JAX/PyTorch implementations at atol=10⁻⁵. Deterministic NaN/Inf handling, validated against historical extreme events.
Native Dask integration for processing multi-gigabyte ERA5 archives on memory-constrained machines with controlled footprint.
weathergraph forecast, inspect, visualize, build-tile-bundle — a complete workflow from initial conditions to interactive map.
Performance-critical inference is handled in C++; scientific orchestration stays in Python where researchers can iterate quickly.
10-step (60-hour) autoregressive forecast at three resolutions. Based on preliminary internal testing; active work is underway to broaden hardware coverage.
| Resolution | Grid Size | RTX 3060 (6 GB) | RTX 4060 (8 GB) | RTX 4070 (8 GB) |
|---|---|---|---|---|
| 1.0° | 181 × 360 | ~4 s | ~2.5 s | ~2 s |
| 0.25° | 721 × 1440 | ~45 s | ~28 s | ~22 s |
| 0.1° | 1801 × 3600 | ~18 min (tiled) | ~12 min (tiled) | ~9 min (tiled) |
| Resolution | Grid Size | i7-12700H (14C) | Ryzen 7 7840HS (8C) | Apple M2 Pro (12C) |
|---|---|---|---|---|
| 1.0° | 181 × 360 | ~18 s | ~22 s | ~15 s |
| 0.25° | 721 × 1440 | ~8 min | ~10 min | ~6 min |
| 0.1° | 1801 × 3600 | ~55 min (tiled) | ~70 min (tiled) | ~45 min (tiled) |
⚡ These are preliminary estimates from internal development testing. Actual performance depends on the model variant, thermal headroom, background system load, and ONNX Runtime version. Tiled mode is required at 0.1° and carries additional tile-stitching overhead. Active engineering work is focused on stabilising 0.1° inference across a broader range of consumer hardware released in the last 5 years.
Install from source, point the model at an ERA5 initial state, and run a 10-day global forecast.
INSTALL
CLI FORECAST
PYTHON API
Built-in adapters normalise data from major providers into the WeatherGraph input contract. No preprocessing scripts needed.
Local ERA5 reanalysis from NetCDF archive (Copernicus CDS or ECMWF download)
No authECMWF Open Data — real-time global forecast, updated twice daily
No authCopernicus CDS ERA5 reanalysis via API — full historical record from 1940
Free registrationNOAA GFS global forecast via AWS Open Data S3 — 6-hourly, worldwide
No authOpen-Meteo multi-model NWP aggregator (ECMWF IFS, GFS, ICON)
No authMap any file format (NetCDF, GRIB2, Zarr, HDF5) or NumPy array via configurable variable mapping
No authWeatherGraph is in active development. Core inference and the operational 0.25° profile are stable; the 0.1° tier is the current engineering focus.