Weather sources
WeatherRouting routes on forecasts that weather services publish openly. This page explains what those forecasts are, the formats they come in, which models the app can use, and how the data gets from the provider to your boat.
Forecast models
Section titled “Forecast models”What a model run is
Section titled “What a model run is”A numerical weather model divides the atmosphere (or the sea) into a grid of cells and steps the physics forward in time from a measured starting state. One such calculation is a run, named after the time of its starting state: “the 06 UTC run”. Most services start a new run every 3, 6 or 12 hours.
A run produces fields — wind, pressure, current and so on — for each forecast step: hourly near the start, often every 3 or 6 hours further out. The furthest step is the run’s forecast length, from about two days for the fine regional models to fifteen days for the global ones.
Global and regional models
Section titled “Global and regional models”- Global models (GFS, ECMWF, GEM) cover the whole earth on a grid of roughly 15–25 km. They see the large weather systems days ahead, but smooth out coastal and local effects.
- Regional models (ICON-EU, AROME, HARMONIE, UKV) cover a limited area on a much finer grid of 1–7 km. They resolve sea breezes, headlands and funnelling between islands, but only look one to five days ahead, and they take their boundaries from a global model.
No model is always right. Comparing two or three models over the same passage is one of the most useful things a router can do, which is why WeatherRouting lets you calculate and compare routes on several of them.
From the model to you
Section titled “From the model to you”A run takes a few hours to compute and publish, so the newest run you can download is always a few hours old. The services publish it in three ways:
- as files on a download server, one or more per forecast step;
- through an API that cuts out an area and a set of variables on request;
- as copies in cloud storage (Amazon, Microsoft, Google) that the services set up so many users can download without overloading their own servers.
File formats
Section titled “File formats”GRIB (GRIdded Binary) is the World Meteorological Organization’s format for gridded weather data, and what almost every model is published in. A GRIB file is a series of independent messages; each message holds one field — say, the east–west wind at 10 m for one forecast step — with a header that describes the grid, the variable, the run and the step, followed by the packed values.
- Edition 1 is the old form, still used by some services (KNMI’s HARMONIE files, for example).
- Edition 2 is the current form, more flexible about grids and better at compressing.
Because each message stands on its own, a program can download just the messages it needs from a large file, using an index of where each message starts. WeatherRouting does this wherever a provider allows it, to fetch only the 10 m wind.
The format is defined in the WMO Manual on Codes (WMO-No. 306), Volume I.2; see the WMO page on the Manual on Codes.
NetCDF
Section titled “NetCDF”NetCDF is a general format for scientific arrays, common in oceanography and climate science. A NetCDF file holds named variables (for example uo and vo, the eastward and northward current) with their dimensions — time, depth, latitude, longitude — and descriptive attributes, usually following the CF conventions. WeatherRouting reads NetCDF for the Copernicus currents and the Met Office UKV model. See Unidata’s NetCDF pages.
Wind as u and v
Section titled “Wind as u and v”Models store wind as two components — u towards the east and v towards the north — rather than as a speed and a direction, because components can be averaged and interpolated, and directions cannot (the average of 350° and 10° is not 180°). WeatherRouting works with u and v throughout and turns them into knots and degrees only to show them.
The models WeatherRouting uses
Section titled “The models WeatherRouting uses”The table summarises what the app downloads. The details per model follow.
| Model | Provider | Area | Grid | New run | Forecast in the app |
|---|---|---|---|---|---|
| GFS | NOAA (USA) | Global | 0.25° (~25 km) | every 6 h | up to 384 h |
| IFS | ECMWF | Global | 0.25° | every 6 h | up to 360 h |
| AIFS | ECMWF | Global | 0.25° | every 6 h | up to 360 h |
| GEM GDPS | ECCC (Canada) | Global | 0.15° (~15 km) | every 12 h | up to 240 h |
| ICON-EU | DWD (Germany) | Europe | 0.0625° (~7 km) | every 3 h | up to 120 h |
| ARPEGE | Météo-France | Europe | 0.1° | every 6 h | up to 102 h |
| AROME | Météo-France | France and surrounding seas | 0.025° | every 3 h | up to 51 h |
| AROME HD | Météo-France | the same | 0.01° (~1.3 km) | every 3 h | up to 51 h |
| UKV | Met Office (UK) | UK and Ireland | 2 km | hourly | up to 120 h |
| HARMONIE-AROME | KNMI (Netherlands) | Netherlands and surroundings | ~2 km | hourly | up to 60 h |
| NW Shelf currents | Copernicus Marine | NW European shelf | ~1.5 km | daily | up to 144 h |
GFS (NOAA)
Section titled “GFS (NOAA)”The Global Forecast System of the US National Weather Service, run four times a day (00, 06, 12, 18 UTC), on a 0.25° grid, hourly to 120 h and 3-hourly to 384 h.
- Where from: NOAA’s NOMADS server, whose grib filter cuts out an area and the variables you ask for, so a download for the Channel is a few megabytes. The same runs are copied to an open Amazon bucket under NOAA’s Open Data Dissemination programme; that copy holds whole-globe files only, from which WeatherRouting reads just the wind messages.
- When: a run is complete roughly 3½–5 hours after its run time.
- Limits: since April 2021 NOMADS allows each IP address at most 120 requests a minute, counted over NOMADS and NCEP’s FTP sites together (NWS Service Change Notice 21-32). WeatherRouting spaces its requests and backs off when a server says it is busy (see Being a polite client).
- Licence: public domain, free for any lawful use. The National Weather Service asks that its material is not presented as your own, not changed and then presented as official, and not used to suggest NOAA endorses you (NWS disclaimer).
ECMWF IFS and AIFS
Section titled “ECMWF IFS and AIFS”The European Centre for Medium-Range Weather Forecasts publishes part of its output as open data:
-
IFS is ECMWF’s physics model, the one usually meant by “the European model”. Open data at 0.25°: the 00 and 12 UTC runs go to 360 h (3-hourly to 144 h, then 6-hourly), the 06 and 18 UTC runs to 144 h.
-
AIFS is ECMWF’s machine-learning model, trained on decades of its own analyses. Open data at 0.25°, every 6 hours, 6-hourly steps to 360 h.
-
Where from: ECMWF’s own portal (data.ecmwf.int) and copies on Amazon, Microsoft and Google clouds. Each forecast step is one global GRIB 2 file with an index next to it; WeatherRouting reads the index and downloads only the 10 m wind messages with range requests (asking for a byte range of the file instead of the whole file).
-
Limits: the portal limits the number of simultaneous connections (ECMWF gives “between 500 and 2000”), and in practice answers busy periods with HTTP 429 too many requests. WeatherRouting therefore prefers the Amazon copy when it has the run, and keeps at least one second between requests to ECMWF’s own portal.
-
Licence: CC BY 4.0 with ECMWF’s terms of use; redistribution and commercial use are allowed with attribution.
ECMWF announced IFS open data at 0.1° from 20 October 2026, published about two hours after the 0.25° data. WeatherRouting does not use it yet.
GEM GDPS (Canada)
Section titled “GEM GDPS (Canada)”The Global Deterministic Prediction System of Environment and Climate Change Canada, from its MSC Datamart: 0.15° (about 15 km), runs at 00 and 12 UTC, to 240 h (hourly to 84 h, then 3-hourly). No key is needed. Every file holds one field for the whole globe, about 1.5 MB, and the server cannot cut out an area. Licence: the Environment and Climate Change Canada Data Servers End-use Licence, free of charge, with attribution.
ICON-EU (DWD)
Section titled “ICON-EU (DWD)”The European part of the German Weather Service’s ICON model, from DWD’s open data server: a 0.0625° output grid (6.5 km native), eight runs a day. The 00, 06, 12 and 18 UTC runs go to 120 h (hourly to 78 h, then 3-hourly); the 03, 09, 15 and 21 UTC runs to 30 h. Each field is a separate GRIB 2 file of the whole European domain, compressed with bzip2. No key is needed. Licence: CC BY 4.0, with a source note naming the Deutscher Wetterdienst.
Météo-France ARPEGE, AROME and AROME HD
Section titled “Météo-France ARPEGE, AROME and AROME HD”Météo-France’s models, from its API portal, which needs a free account and a key per model family:
- ARPEGE, the global model, here on its European 0.1° grid: every 6 hours, to 102 h — the furthest Météo-France publishes (Météo-France open data documentation).
- AROME, the fine regional model over France and its seas, on a 0.025° grid: every 3 hours, hourly to 51 h.
- AROME HD, the same model on its 0.01° grid (about 1.3 km), with the AROME key.
The portal serves the data through a Web Coverage Service (WCS): you ask for one variable, one run and one forecast time over an area, and get a small GRIB file back. That makes many small requests — two per forecast step — and the portal limits the calls per minute: 50 for the model APIs, raised to 100 from January 2026 as a trial (Météo-France). WeatherRouting keeps 1.3 s between calls, under the old limit as well.
The portal’s list of available runs is capped and sometimes leaves out the wind of a run that does exist. WeatherRouting therefore also tries the run times it expects, and asks for each run how far its forecast reaches: a run appears in the list as soon as its first hours exist, while it is still being computed.
Licence: the French government’s Licence Ouverte 2.0 (Etalab), as on Météo-France’s model datasets on data.gouv.fr; reuse is free with the source named.
Met Office UKV
Section titled “Met Office UKV”The Met Office’s UK model at 2 km, published as open data on Amazon under CC BY-SA 4.0. It runs every hour, with three run lengths:
- 03 and 15 UTC to 120 h;
- 00, 06, 09, 12, 18 and 21 UTC to 54 h;
- the other 16 hours (01, 02, 04, 05, 07, 08 UTC and so on) to 12 h, the “nowcast” runs.
Together that is a run every hour (Met Office on the AWS registry).
Data is typically available 3–6 hours after the run time. The files are NetCDF, one per parameter and step for the whole domain, on an equal-area map projection, with wind as speed and direction. WeatherRouting downloads both, turns them into u and v and regrids them onto an ordinary latitude/longitude grid of about 2 km. Which run WeatherRouting uses depends on how far ahead you ask: a 120 h forecast can only come from a 03 or 15 UTC run.
KNMI HARMONIE-AROME
Section titled “KNMI HARMONIE-AROME”The Royal Netherlands Meteorological Institute’s regional model over the Netherlands and its surroundings (49–56° N, 0–11.3° E), from the KNMI Data Platform under CC BY 4.0, with a free API key. The model computes on a grid of about 2 km; KNMI publishes the output interpolated onto a regular latitude/longitude grid.
- Runs: every hour, hourly output to 60 h. Each run is one archive of about 864 MB holding a GRIB 1 file per forecast hour. WeatherRouting uses every third run by default and reads only the 10 m wind out of the archive with range requests — about 0.6 MB per forecast hour instead of 14 MB.
- Limits: KNMI counts frequent polling for new files as abuse, and limits requests per key (a registered key: 1000 requests an hour).
- Notification service: instead of asking “is there a new run yet?”, WeatherRouting keeps one connection open to KNMI’s notification service, which announces every new file as it is published. The connection keeps a session, so files announced while the app was offline (up to a day) still arrive when it reconnects. Without a notification key, the app asks for the file list at most once every 30 minutes.
Copernicus Marine: NW Shelf currents
Section titled “Copernicus Marine: NW Shelf currents”Surface currents come from the Atlantic – European North West Shelf model of the Copernicus Marine Service, produced by the Met Office: about 1.5 km, hourly, tides included, a 7-day forecast updated once a day.
- Where from: Copernicus Marine’s own download tool (
copernicusmarine), which needs a free account and a one-time login on the computer that downloads. WeatherRouting asks it for the surface layer (uo,vo) over your area and time window, as NetCDF. - Runs: the product is updated as a whole rather than published as separate runs, so WeatherRouting treats the data as “the forecast as of this hour” and fetches it again when it is more than 6 hours old.
- Licence: free, including for derived products, with the credit “Generated using E.U. Copernicus Marine Service Information” and the product’s DOI, 10.48670/moi-00054 (licence).
Saildocs
Section titled “Saildocs”At sea with only an e-mail connection, the app can write the request lines for Saildocs, the free GRIB-by-e-mail service, for your area: GFS, ECMWF and ICON wind and pressure, and RTOFS currents. You send the mail, and import the GRIB file you get back.
How WeatherRouting handles the data
Section titled “How WeatherRouting handles the data”You don’t download “a model”; you download a model for an area — a rectangle on the map, such as the Channel or the southern North Sea. Per area you choose the models, how far ahead and at which step. The app downloads only that rectangle (or cuts it out on arrival when the provider only offers whole files), and keeps the newest runs per area, so older runs make room for new ones.
The latest run
Section titled “The latest run”“Latest run” means the newest run that is complete up to the forecast length you asked for. A provider often lists a run while it is still being computed — the first hours exist, the last ones don’t yet. WeatherRouting checks that the run reaches your last forecast step before it uses it, so you are never routing on a forecast that stops halfway.
Each model has a status light per area. It shows whether you have the newest complete run, are a run or more behind, or whether the provider could not be reached.
Being a polite client
Section titled “Being a polite client”Free data servers stay free when their users behave, so the app is careful how it asks:
- Spacing: at least 0.3 s between requests to the same server, 1 s for ECMWF’s portal and 1.3 s for Météo-France.
- Back-off: when a server answers too many requests (HTTP 429) or unavailable (503), or the connection fails, the app waits — as long as the server asks, or else 5, 10, 20, 40, then 60 seconds — and tries again, at most six times in total.
- Only what’s needed: range requests and area cut-outs instead of whole files wherever the provider allows it.
- Copies first where the provider’s own server is the bottleneck (ECMWF), the provider first where its cut-outs save the most (GFS).
The relay: downloads over a slow connection
Section titled “The relay: downloads over a slow connection”On board, the connection is often slow, metered or intermittent, and global files are large. WeatherRouting can therefore use a relay: a server ashore that does the heavy downloading for you.
- The relay watches each model’s timetable and downloads a new run as soon as it is published. It learns per model how late in practice a run appears, so it checks often around that time and rarely otherwise.
- It keeps one copy of each run and cuts out the areas its users ask for.
- It stores the cut-outs compactly: wind rounded to 0.05 m/s and current to 0.01 m/s (both well under 0.1 kn), then compressed. A Copernicus currents run for the British Isles shrinks from 362 MB to 77 MB this way.
- The app fetches the cut-out over an encrypted connection. A transfer that breaks off resumes where it stopped, and the file is checked before it is used.
- If the relay doesn’t have a run yet, the app waits while the relay fetches it, and shows how far it is. If the relay cannot help — not reachable, too busy, or a model it does not carry — the app downloads directly from the provider, as it would without a relay.
The relay also fetches and keeps the chart data for zones (traffic separation schemes and the like), so those don’t have to come over the boat’s connection in full either.
Credits
Section titled “Credits”The forecasts on this site and in the app come from the services below. Each publishes them openly under its own licence; the last column gives the credit the provider asks for. WeatherRouting cuts the data out to your area and converts it, so where a provider asks to say so, the credit marks the data as processed.
| Provider | Models | Licence | Credit |
|---|---|---|---|
| NOAA / National Weather Service (USA) | GFS | Public domain (NWS disclaimer) | Data: NOAA/NWS, GFS. Not official NWS material once processed; no endorsement by NOAA implied. |
| ECMWF | IFS, AIFS | CC BY 4.0 and the ECMWF terms of use | “This service is based on data and products of the European Centre for Medium-Range Weather Forecasts (ECMWF).” |
| Environment and Climate Change Canada | GEM GDPS | ECCC Data Servers End-use Licence | “Contains information licenced under the Data Server End-use Licence of Environment and Climate Change Canada.” |
| Deutscher Wetterdienst (Germany) | ICON-EU | CC BY 4.0 | Datenbasis: Deutscher Wetterdienst, eigene Bearbeitung (to verify against DWD’s template page) |
| Météo-France | ARPEGE, AROME, AROME HD | Licence Ouverte 2.0 (Etalab) | Source : Météo-France |
| Met Office (UK) | UKV | CC BY-SA 4.0 | British Crown copyright, the Met Office — Met Office UK Deterministic (UKV) 2km, via the Registry of Open Data on AWS |
| KNMI (Netherlands) | HARMONIE-AROME | CC BY 4.0 | Source: KNMI, HARMONIE-AROME Cy43 |
| Copernicus Marine Service (EU) | NW Shelf currents | Copernicus Marine licence | “Generated using E.U. Copernicus Marine Service Information”, doi:10.48670/moi-00054 |
The Met Office’s CC BY-SA licence is share-alike: data derived from UKV — such as the cut-outs the relay makes — may only be passed on under the same licence.
Free software under AGPL-3.0-or-later · Source code · Credits
Generated using E.U. Copernicus Marine Service Information; https://doi.org/10.48670/moi-00054