Observed Weather for Every US Flight, 2019 to 2025

recent 24 mo rows
14M+
recent 24 mo columns
211
airport weather rows
22.2M+
airport weather columns
28

Every US domestic flight from January 2019 to July 2025 joined to the weather actually observed at both the origin and the destination airport at the correct UTC hour. This is a complete historical panel with a fixed end date, not a live feed: the window closes at July 2025 because NOAA stopped ingesting global hourly data on August 27, 2025. The flagship flights table carries 42.8M+ flight rows, partitioned by year; a recent 24 month table and an hourly airport weather table ship alongside it.

Grouped bar chart comparing predicted delay probability with the actual late rate across VFR, MVFR, IFR, and LIFR origin conditions on 2025 test data. Both rise as conditions worsen, from about 0.21 under VFR to about 0.31 under LIFR.
Predicted probability of delay against the actual late rate by origin flight category, 2025 test year. Both rise as observed conditions worsen.

Why observed weather

The airline reported weather delay column is unreliable: a DOT Office of Inspector General audit in October 2024 found BTS cannot verify carrier reporting, and among flights arriving 30 or more minutes late out of IFR or LIFR conditions at the origin, only 17 percent report any carrier weather delay at all. The observed conditions tell the real story. Mean arrival delay climbs from 4.26 minutes under clear VFR conditions to 16.28 minutes under LIFR, and cancellations rise from 1.9 to 5.7 percent. This dataset ships the carrier reported columns labeled as what they are, and the measured weather as the intended signal.

Leakage safety as a schema contract

Weather columns come in two families with different rules. The wx_ columns are observed at or before each flight's information cutoff and are safe for prediction. The oracle_ columns are event hour weather, labeled as leaking by default, for retrospective analysis only. A shipped select_safe_features() helper drops every oracle_ column mechanically, keeping 120 of the 211 columns, and the rules are enforced by tests on the full table. A baseline LightGBM model using only safe features lands in the published pre departure performance band, with the gated prior leg signal dominant and observed weather additive.

Bar chart of the top 20 features by LightGBM gain using leakage safe features only. Prior leg arrival delay and turnaround lead, followed by airport and carrier identity, with observed weather features such as temperature, snow, and thunderstorm flags contributing below.
Top features by gain in the baseline model, safe features only. Prior leg status leads; observed weather is additive.

Inside the data

Four tables ship together. The flagship joins every operated flight to weather at both airports, with core variables, visibility, ceiling, present weather booleans, aviation flight categories from VFR to LIFR, calendar and holiday features, scheduled congestion counts, and gated prior leg features. The recent 24 month table carries the same schema in a single file for lighter weight work. The airport hourly weather table stands on its own: station hours on a complete UTC grid with missing hours flagged, never imputed. An airports reference table documents the airport to weather station crosswalk, 386 airports with a median station distance of 0.704 km, each with its match method and quality flags.

Limits, documented

The fixed end date is a source condition, not a limit of the build: NOAA ISD stopped ingesting global hourly data on August 27, 2025, and the dataset ends at the last complete weather month so no shipped flight has null weather. If that ingest resumes, or an equivalent observed station source is adopted, the panel extends from where it ends. Coverage is BTS reporting carriers, US domestic flights only. 2020 is a COVID regime break, documented rather than smoothed. Weather comes from the nearest NOAA station, almost always the airport's own, and nothing is imputed anywhere in the panel.

Attribution

This dataset is published by Arimancy LLC under CC BY 4.0.

Flight data: Source: Bureau of Transportation Statistics, On-Time Performance data, a US Government work in the public domain.

Weather data: Source: NOAA Integrated Surface Database observations, a US Government work in the public domain.

Airport coordinates: OurAirports.

BTS and NOAA do not endorse Arimancy or this dataset, and any errors introduced in cleaning or joining are Arimancy's alone.