Why multi-model
Every weather model is a different best-guess at the same atmosphere. They differ in grid resolution, in the physics they parametrise, in the data they assimilate, and in how often they run. On a flat Atlantic afternoon they all agree. On a marginal day with three convective cells building on the coast, they don't.
Most consumer weather apps blend models behind the scenes — average them, or pick a single global one and never tell you. The number you see is plausible but unfalsifiable. WAVOA refuses to blend. Each NOW card and each meteogram in the app is one model end-to-end; if you want a different model, switch the picker and watch the curve change. When two models say different things, you should know.
Below is every operational model we ingest, with its native resolution, update cadence, coverage region, lead time, and license. The default model per spot is region-aware (ICON-D2 for the Alps, HRRR for Hatteras, ECMWF for the Pacific) — but every spot lets you override.
ECMWF · IFS / HRES
Run by the European Centre for Medium-Range Weather Forecasts (Reading, UK / Bologna, IT). ECMWF's operational deterministic forecast (called IFS-HRES) is widely accepted as the most accurate global model in the medium range — three to ten days out, almost nothing beats it.
- Native resolution — 0.25° (~9 km horizontal) on the Open Data tier we ingest. The full 0.1° tier is paywalled by ECMWF for member-state met offices.
- Vertical levels — 137, sigma-pressure hybrid coordinates.
- Run cadence — four times a day at 00z, 06z, 12z, 18z UTC. Open Data lags the operational cycle by ~2 hours.
- Lead time — out to 240 hours (10 days) on the deterministic stream.
- Coverage — global, lat/lon grid with no polar exclusions worth mentioning.
- License — ECMWF Open Data, CC BY 4.0.
Where it wins.Open ocean forecasts (Pacific, Atlantic, Indian), Mediterranean basins, anywhere outside Europe and the continental US that doesn't have a high-res mesoscale model of its own. ECMWF is the WAVOA default for ~70 % of the tracked spots worldwide.
Where it doesn't. Convective-scale weather under 9 km. ECMWF parametrises convection rather than resolving it, so afternoon thunderstorm windshifts in the Alps, lake breezes on Garda, or sea-breeze fronts on the French Atlantic coast read smoother than they actually are. ICON-D2 and AROME catch those.
GFS · NOAA Global Forecast System
NOAA's flagship global model — the workhorse most consumer weather sites are quietly running. Less accurate than ECMWF on aggregate, but free, fresh, and the longest lead time in the stack.
- Native resolution — 0.25° (~13 km horizontal) on the GFS-pgrb2 product we ingest.
- Vertical levels — 127, sigma-pressure hybrid.
- Run cadence — 4×/day at 00z, 06z, 12z, 18z UTC.
- Lead time — 384 hours (16 days). Hour 0–120 are the trusted window; 121–384 is “directional only”.
- Coverage — global.
- License — public domain (US federal works under 17 USC § 105).
Where it wins.US Atlantic tropical-storm tracking — the GFDL hurricane module that NOAA pipes into the GFS forecasts cyclone tracks well. Long-range planning (day 8–14) when ECMWF's deterministic stream has already ended. Any spot where you want a fresh model run before ECMWF's Open Data tier catches up.
Where it doesn't. Day 4–7 mid-latitude forecasts where ECMWF is still ahead by a measurable margin in operational verification. Coastal fronts in Europe — both ICON and AROME outperform GFS at sub-15 km scales.
ICON-D2 · DWD
Germany's national weather service (DWD) operates the ICON family on a globally uniform icosahedral grid that nests down to a 2 km kid for central Europe. ICON-D2 is that kid — the convection-resolving DACH (Deutschland-Austria-Schweiz) regional model.
- Native resolution — 2 km horizontal, 65 vertical levels. Convection-resolving, no parametrisation.
- Run cadence — every 3 hours, 00z / 03z / 06z / 09z / 12z / 15z / 18z / 21z UTC.
- Lead time — 48 hours.
- Coverage — Germany, Austria, Switzerland, plus a buffer region covering Czechia, Poland up to Warsaw, the Netherlands, Belgium, Luxembourg, eastern France, northern Italy down to Venice, Slovenia, Croatia's Istria, Liechtenstein.
- License — CC BY 4.0 via DWD Open Data.
Where it wins.Alpine thermal valleys, Lake Garda's wind cycle, Lake Constance, the North-Sea coastline, foehn-effect spots (Mont Ventoux, the eastern Alps), the Czech and Polish low-altitude windsurf scenes. Resolves the sea-breeze front on the Italian Adriatic.
Where it doesn't. Outside its 2 km nest. The moment you cross out of Bavaria into central France, you fall back to ICON-EU or AROME.
ICON-EU · DWD
ICON-D2's bigger sibling — the European nest of the same DWD ICON family. Coarser than D2 but covers all of Europe and the entire North Atlantic margin.
- Native resolution — 6.5 km horizontal, 60 vertical levels.
- Run cadence — every 3 hours, same UTC slots as ICON-D2.
- Lead time — 120 hours (5 days).
- Coverage — Europe + the eastern North Atlantic, from Iceland to the Canary Islands, from Portugal to the Black Sea. Includes Iceland, the British Isles, Scandinavia, the Iberian Peninsula, Italy, the Balkans, Turkey, North Africa as far south as the Atlas Mountains.
- License — CC BY 4.0 via DWD Open Data.
Where it wins.European coastal spots outside the D2 footprint — Tarifa, Pozo Izquierdo, the entire Portuguese coast, Brittany, the Outer Hebrides, the Aegean, the Black Sea windsurf scene. Best-in-class for Iceland and the Faroes where AROME and HRRR don't reach.
Where it doesn't. The transitional belt where ICON-D2 (2 km) is the better choice — central Europe and the Alps. WAVOA prefers the higher-res sibling inside that footprint.
HRRR · NOAA / NCEP
High-Resolution Rapid Refresh — NOAA's convection-allowing model for the continental US. Updated every hour, runs from radar-data-assimilation initial conditions, and is the model US local TV meteorologists actually open at the desk.
- Native resolution — 3 km horizontal, 50 vertical levels. Convection-allowing.
- Run cadence — hourly, every UTC hour. Each cycle ingests new radar before forward integration.
- Lead time — 18 hours on the standard cycle, 48 hours on the four extended cycles per day (00z, 06z, 12z, 18z).
- Coverage — continental US (CONUS) plus a strip into southern Canada and northern Mexico. Alaska + Hawaii are covered by separate HRRR-AK and HRRR-HI nests we don't currently ingest.
- License — public domain.
Where it wins.Anywhere in CONUS for the next 18 hours. Outer Banks (Hatteras, Avon), the Columbia River Gorge, Maui's North Shore (when HRRR-HI is wired in), San Francisco Bay, the Texas Gulf Coast, the Great Lakes, Cape Cod. HRRR is WAVOA's default for every US-domestic spot inside its nest.
Where it doesn't.Outside CONUS — the model literally doesn't exist there. Beyond the 18 / 48 h horizon, GFS or ECMWF take over. For pure ocean swell propagation (where the convective-allowing detail isn't the point), ECMWF's global wave model still wins.
AROME · Météo-France
Météo-France's convection-resolving model for metropolitan France and overseas territories. The closest European analogue to HRRR for the French coastline and the mountainous interior.
- Native resolution — 1.3 km horizontal on the metropolitan-France nest, 90 vertical levels.
- Run cadence — every 3 hours.
- Lead time — 48 hours on metropolitan France; 42 hours on the overseas nests (Antilles, Réunion, French Polynesia).
- Coverage — metropolitan France + ~150 km buffer over neighbouring countries; separate nests for Guadeloupe + Martinique, Réunion, French Polynesia, New Caledonia.
- License — open data via meteo.data.gouv.fr under Etalab Open License 2.0 (CC BY-equivalent).
Where it wins.The entire French coastline — Brittany, the Côte Sauvage, the Atlantic from La Rochelle south to Hossegor, Languedoc-Roussillon, Provence, the Côte d'Azur. The Mistral and Tramontane events are AROME's home turf. Also the French overseas territories where the Antilles and Réunion nests give resolution no global model can match.
Where it doesn't.Outside its nests. Spain's Mediterranean falls to ICON-EU; the Bay of Biscay's western edge is ICON-EU territory once you cross the AROME boundary.
Coverage matrix
WAVOA's recommended default per region. You can always override per spot in the app under Spot detail → Model picker.
| Region | Default | Backup | Hourly available |
|---|---|---|---|
| Continental Europe (DACH + buffer) | ICON-D2 | ICON-EU / ECMWF | 3-hourly |
| Coastal Europe (Iberia, UK/IE, Italy, Greece, Scandinavia) | ICON-EU | ECMWF | 3-hourly |
| Metropolitan France + Antilles + Réunion | AROME | ICON-EU / ECMWF | 3-hourly |
| Continental US | HRRR | GFS | Hourly |
| Hawaii / Alaska | GFS | ECMWF | 6-hourly |
| Tropical Atlantic / Caribbean | GFS | ECMWF | 6-hourly |
| Pacific (Maui, Tahiti, Tonga, NZ) | ECMWF | GFS | 6-hourly |
| South America (Jericoacoara, Patagonia) | ECMWF | GFS | 6-hourly |
| Australia + Indian Ocean | ECMWF | GFS | 6-hourly |
| Worldwide fallback | ECMWF | GFS | 6-hourly |
Model agreement
Every spot card in the app shows a spread / confidence indicator computed across the models active in that region. The maths is deliberately simple — no neural net, no proprietary weights:
- Wind speed. Standard deviation of the 10 m wind across all available models for the same forecast hour, expressed as a percentage of the mean. Below 10 % we call it “tight”; 10 – 25 % is “split”; above 25 % is “blown apart”.
- Direction. Angular standard deviation of the 10 m wind direction across all available models. Anything above 30° is flagged.
- Wave. Same standard deviation calculation on significant wave height and peak period.
Confidence is a tier — green / yellow / red — derived from the worst of those three metrics. You can dial the thresholds per sport in Profile → Confidence. We never auto-blend; the underlying models are still independently visible in the meteogram.
Update cadence
Each model gets ingested by a GitHub Actions cron — one workflow per model — that polls the upstream provider on a schedule keyed to that provider's release time:
- HRRR — every hour at HH:50 UTC (NCEP releases at HH:30; we wait 20 min for the GRIB transfer to settle).
- ICON-D2 + ICON-EU — every 3 h at HH:35 UTC.
- AROME — every 3 h at HH:25 UTC (Météo-France releases on a slightly earlier slot than DWD).
- ECMWF Open Data — 4×/day at 02:50, 08:50, 14:50, 20:50 UTC (ECMWF's 6-hour cycle plus 2 h 50 min for the Open Data lag).
- GFS — 4×/day at 04:30, 10:30, 16:30, 22:30 UTC.
Failures retry with exponential backoff for up to 30 minutes; if a cycle is genuinely unavailable upstream, the previous cycle's data stays in spot_statusuntil the next successful cron — your forecast doesn't go blank. The age of each model's freshest cycle is shown next to the model picker in the app.
Providers & licenses
Full attribution for every model lives in /license. The short version:
- ECMWF Open Data— © European Centre for Medium-Range Weather Forecasts. CC BY 4.0. Attribution shown on every meteogram's footer.
- NOAA / NCEP (GFS, HRRR) — public domain (US federal works). No attribution required, but we credit anyway.
- DWD (ICON-D2, ICON-EU) — © Deutscher Wetterdienst. CC BY 4.0 via opendata.dwd.de.
- Météo-France (AROME) — © Météo-France. Open Etalab License 2.0 via meteo.data.gouv.fr.
None of the providers above license their data for redistribution as a forecast product (e.g., reselling raw GRIB files). WAVOA processes the data and surfaces forecasts; we don't serve raw model output through our API. If you're researching a different use case, contact each provider directly.