Njord: A Probabilistic Graph Neural Network for Ensemble Ocean Forecasting
About
Ocean dynamics are inherently chaotic, yet existing machine learning ocean models produce only deterministic forecasts. We introduce Njord, a probabilistic data-driven model for ocean forecasting, applicable to both global and regional domains. Njord combines a deep latent variable framework with a graph neural network architecture, enabling sampling each forecast step in a single forward pass. We apply Njord globally at 0.25{\deg} resolution and regionally to the Baltic Sea at 2 km resolution. To scale to these large ocean grids we introduce K-means cluster meshes that adapt to irregular sea surface geometry. Experiments demonstrate strong performance on both domains compared to deterministic machine learning baselines, while also providing uncertainty estimates from the sampled ensemble forecasts. On the global OceanBench benchmark, Njord achieves the lowest errors on average across upper-ocean variables when evaluated against real-world observations, with the largest improvements in surface temperature prediction.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Zonal geostrophic current forecasting | GLO12 analysis track | RMSE (m/s)0.121 | 20 | |
| Meridional geostrophic current forecasting | GLO analysis track 12 | RMSE (m/s) at 1 day0.057 | 7 | |
| Sea surface height forecasting | GLO analysis track 12 | RMSE (m) at 1 day0.021 | 5 | |
| Salinity prediction | GLORYS12 reanalysis track | RMSE (PSU)0.089 | 2 | |
| Temperature Forecasting | GLO12 analysis track (Depth: 50m) | RMSE (1 day)0.274 | 2 | |
| Temperature Prediction | GLORYS12 reanalysis track | RMSE (°C)0.548 | 2 | |
| Zonal current prediction | GLORYS12 reanalysis track | RMSE (m/s)0.09 | 2 | |
| Salinity forecasting | GLO12 analysis track Depth: 0.49m | RMSE (PSU) - 1 Day Lead0.107 | 2 | |
| Temperature Forecasting | GLO12 analysis track Depth: 0.49m | RMSE (1 day)0.185 | 2 | |
| Temperature Forecasting | GLO12 analysis track (Depth: 100m) | RMSE (1 day)0.293 | 2 |