We shipped three additions this week: new forecast models, a new region for high-frequency observations, and a REST API for historical data.New: three additional forecast models
metar.forecast.basic.<icao> now includes ECMWF IFS as a second global center alongside GFS, through ECMWF’s open-data feed — 0.25° resolution on a 3-hourly step (6-hourly past forecast hour 144). The 9 km hourly HRES product remains a paid feed and isn’t published here.metar.forecast.hires.<icao> gains two models: NOAA NBM, which extends hourly-resolution coverage through D+1 and D+2 where HRRR itself stops at hour 18, and runs Toronto (CYYZ) on its native 1.4 km grid; and Météo-France ARPEGE Europe, the channel’s first regional model outside HRRR/ICON-D2/JMA MSM coverage, now serving LEMD, LLBG, LTAC, LTFM, OEJN and UUWW. See Model Forecasts for the full model table.New: France 6-minute observationsmetar.obs10.<icao> now covers France. Météo-France’s RADOME network publishes 6-minute reports for Paris’s two long-range airports, LFPB (Le Bourget) and LFPG (Roissy/Charles de Gaulle), alongside existing Netherlands (10-minute) and US (5-minute, HF-METAR) coverage. See Frequent Observations.New: Historical METAR/SPECI REST APIArchived METAR and SPECI reports are now available over a plain REST endpoint at GET https://api.metar.ws/v1/history/observations, going back to 2005-01-01 wherever the underlying archive covers a station. Historical queries are available starting on the Sandbox plan, throttled to 1 request/second, authenticated with the same API key as the WebSocket stream. See Historical METAR/SPECI for query parameters and rate limits.We added a new observation namespace:
metar.obs10.<icao>, publishing measured weather far more often than the official METAR cycle.New: Frequent ObservationsCoverage starts with two regions. Stations in the Netherlands publish an update every 10 minutes; US stations publish every 5 minutes under a feed known locally as HF-METAR. See Frequent Observations for the full field reference.The channel requires a Starter plan or higher, the same minimum as metar.obs.<icao>.We shipped a few fixes over the past couple of days aimed squarely at connection reliability — the kind of thing that matters most if you’re running a bot against the stream.Duplicate deliveries fixedSome reports were reaching clients twice when they arrived through two ingestion paths at once. Each observation now reaches you exactly once.Stale connection slots fixedA half-dead connection could silently hold onto a connection slot indefinitely, which showed up as random-looking per-station staleness on Starter plans until you reconnected from scratch. The server now detects and reaps dead connections on its own, so a slot frees up the moment a connection actually drops.
report_time accuracy fixedIn some cases, the reported time drifted from the actual observation time. It’s now derived directly from the raw METAR body, so it always matches what you’d parse yourself.Protocol addition: cached replay flagWhen you reconnect, we replay the last known value for each channel so you’re never starting from nothing; see Heartbeats & Reconnection. Those replayed observations are now explicitly flagged with "cached": true in the payload.If your bot measures latency (time from observation to receipt), filter these out. A cached replay isn’t a fresh push, and counting it as one will throw your latency numbers off. Live pushes remain unflagged, same as always.