| # | Model | Score | Steps | In tok | Out tok | Avg cost | Avg time |
|---|---|---|---|---|---|---|---|
| 1 | Gemini 3.7 Flash | 0.5473 ±0.018 | 243 | 42.3M | 152k | $15.28 | 8.5h |
| 2 | Grok 4.6 | 0.5101 ±0.072 | 539 | 124.2M | 498k | $140.51 | 19.6h |
| 3 | GLM-5.3 | 0.4968 ±0.051 | 323 | 68.3M | 243k | $23.54 | 18.8h |
| 4 | Claude Fable 5.1 | 0.4873 ±0.273 | 195 | 24.2M | 122k | $15.05 | 16.4h |
| 5 | Qwen3.8-Max | 0.3674 ±0.031 | 292 | 32.6M | 254k | $9.98 | 19.1h |
| 6 | Muse Spark 1.2 | 0.3081 ±0.027 | 237 | 71.8M | 242k | $13.53 | 1.5h |
| 7 | Inkling | 0.1566 ±0.099 | 119 | 4.5M | 43k | $4.47 | 1.5h |
| 8 | GPT-5.6 | 0.1187 ±0.265 | 413 | 90.0M | 156k | $75.26 | 16.3h |
| 9 | DeepSeek V4 Flash Exp | 0.0928 ±0.207 | 428 | 92.3M | 257k | $1.68 | 19.0h |
| 10 | Kimi K3 | 0.0000 ±0.000 | 284 | 40.2M | 191k | $15.94 | 19.4h |
Medium-range weather forecasting — predicting the global atmosphere out to ten days — was long the exclusive domain of physics-based numerical models running on supercomputers. ML-based forecasting has recently become competitive, but building such a model from scratch is genuinely hard: the atmosphere is chaotic, so skill decays rapidly with lead time; the model must stay physically coherent across a full latitude–longitude grid; and small errors compound when a model is rolled forward through many autoregressive steps.
This task distills the problem into the WeatherBench-2 evaluation conventions on ERA5 reanalysis data: from one gridded initial state, forecast nine standard channels — geopotential and temperature at pressure levels, surface temperature and winds, sea-level pressure, and humidity — at twenty lead times from 12 to 240 hours, on a single mid-range GPU and a fixed time budget.
Build a deterministic global weather model that forecasts all required atmospheric channels and lead times from a gridded initial state, and package it as a replayable deliverable at /app/weather_model/ containing predict.py, model.py, run_summary.json, and exactly one checkpoint file under checkpoint/.
predict.py is invoked with --data-dir, --checkpoint, and --output-path, and must write one NPZ archive with exactly four arrays: init_times, lead_hours, channels, and finite float32 predictions of shape (N, 20, 9, lat, lon).z500, z850, t500, t850, t2m, u10, v10, msl, q700) and the twenty 12-hourly lead times from 12 to 240 hours are fixed by the contract.weather_model directory must be smaller than 2.5 GB and contain no symbolic links./app/validate_forecast.py checks an archive against the output contract locally.ERA5-derived reanalysis data under /data in training and validation splits: each split has an init_index.parquet of initialization times, an init_states.zarr of gridded atmospheric states with axis order (channel, lat, lon), and targets.npz with the matching future states; metadata.json defines the grid and channel metadata. A starter scaffold lives at /app/weather_model/ alongside the contract documentation and the local forecast validator. The preinstalled pinned stack includes torch 2.6.0 (CUDA), numpy, pandas, zarr, xarray, scipy, and pyarrow, with one L4 GPU for training. The machine is offline; a sandbox-timer CLI reports the remaining budget.
A root-only clean-room verifier evaluates the submission on sealed, held-out ERA5 campaigns — multiple later temporal blocks never seen by the agent, integrity-checked file-by-file against a signed manifest. It freezes the deliverable read-only, revokes the agent user's access to the visible labeled data, and runs predict.pyas the unprivileged agent user three times: a primary full batch (30-minute cap), a deterministic replay of a sealed probe subset (10-minute cap) that must match the primary forecasts within a strict float32 tolerance, and a physically perturbed probe whose forecasts must actually change — defeating lookup tables and input-ignoring models.
| Base image | nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04 |
| Tools available | CUDA, PyTorch, Python 3 |
| Compute | 8 CPUs · 32 GB RAM |
| GPU | 1× L4 |
| Time limit | 20h |