Frankfurt Airport Operating Direction Forecast
At Frankfurt Airport the wind mainly determines in which direction aircraft take off and land. Shifting winds force an airport-wide change of operating direction; strong northerly wind (e.g. from the Taunus) closes Runway 18. The mission: an ML model that forecasts (1) whether departures on RWY 18 are possible and (2) which operating direction is in use.
Everything at Frankfurt follows the wind — so the real task is a weather problem. From a plain weather forecast, the model has to predict the two things that decide how the airport runs, hour by hour: which way it takes off, and when Runway 18 has to close.
A working forecast, built in a day
In one afternoon we shipped a live tool that forecasts Frankfurt's operating direction and Runway 18 usability, hour by hour. Here it is, running:
Our forecast product — operating direction, Runway 18 and the next likely change, live.
smaller wind-speed error than the raw ICON-EU model behind consumer weather apps — built in an afternoon.
Beating the baseline
The real test: beat the challenge's rule book — the same rules on a plain weather forecast — at calling the operating direction. Out-of-time, on unseen days, 1 h to 48 h ahead, against the direction Frankfurt actually flew.
The biggest lead is in the short term (1 h: +6.6 points) — exactly where planners act. Level with the rules at 24 h, just behind at 6 h.
Tested out-of-time on unseen days, using only data available at forecast time.
Our corrected forecast lands at 1.6 kt — about 38% below the best raw global model (GFS) and 58% below the raw ICON-EU it builds on. An afternoon's work beats even the raw ECMWF and GFS feeds.
Raw models: reference verification against METAR EDDF, ~4,100 hours in 2025 (Open-Meteo). Our 1.6 kt is from our own out-of-time test.
lower Brier score on the 07/25 probabilities — 0.188 vs 0.253 (lower is better)
The probabilities aren't just right more often — they're better calibrated, closer to what actually happens.
smaller gust error than the raw weather model
Gusts drive the crosswind and tailwind limits that close a runway, so getting them right matters.
Direction was already good enough
Frankfurt's switches hinge on wind speed crossing thresholds — that's where we corrected. Direction the raw model already gets accurate enough to tell 07 from 25 (≈20°); our forecast stays essentially level (22°). We deliberately left direction alone rather than risk the speed gains.
The whole difference: 2° For the choice between 07 and 25 — directions 180° apart — 2° is utterly irrelevant. On direction we're all but indistinguishable from the best models; our gains come from speed.
Data, features, and the model
In plain terms: we turn weather into the few physical numbers that decide Frankfurt's direction, let a model learn the rest, and output an hourly forecast anyone can act on.
Six months of Frankfurt weather
Everything the model sees comes from one open source — Germany's national weather service, the DWD. We pulled several of its data streams onto a single, shared hourly timeline.
The inputs were the easy part. The hard one was the target: which way Frankfurt actually operated each hour exists in no clean feed. So we reverse-engineered it from the airport's aircraft-noise monitoring network — which stations fire on departures and arrivals reveals the active operating direction — and rebuilt an hourly history of the real direction. That let us check whether a given weather situation truly triggered a runway switch.
A windshielded microphone on a mast, wired to a weatherproof cabinet. Dozens ring the airport, logging every overflight second by second.
Illustrative — how the direction is reconstructed.
We split the six months by time, never at random. The model learns and is tuned on the earlier weather, then has to prove itself on the most recent stretch it has never seen — like revising from past exam papers and then sitting a brand-new one. That way its accuracy is only ever earned on real future weather, exactly what it faces live.
Illustrative · chronological split.
How the model corrects the wind
On the training split the model learns not the wind itself but the error the forecast makes — and subtracts it. The same for each wind component and the gusts.
We work with the wind as east/north components (u/v) — as a vector. The learned error then adds on cleanly, and angles are never averaged across the 0°/360° seam.
For each hour we keep the u-, v- and gust-error together and compare against past hours that looked the same (conformal calibration). Only hours with enough comparable history get a probability — the rest are flagged, not faked.
Real-time measurement (green) vs. our forecast (blue). Every measurement flows back into the reinforcement-learning model.
A model that learns from every forecast
The model doesn't stop at training. As live weather and the airport's actual operating direction come in, it compares every forecast against what really happened, scores its own error and updates itself — so it gets sharper the longer it runs. That's what the chart shows: green is the real-time measurement, blue is our forecast — and every gap between them feeds the next update.
- 01
Live data in — new weather and the direction actually flown.
- 02
Compare & score — every forecast is checked against reality and the error measured.
- 03
The model improves — it learns from each miss and sharpens the next forecast.
A forecast you can read
The result isn't a black-box score but a clear forecast: per hour the operating direction, the probability for Runway 18, a certainty score and the next probable change time — ready to use for planning.
The live dashboard — operating direction on the map, Runway 18's status and the tailwind forecast in one view.
Which way the airport is operating — on the real map.
Runway 18: within limits, tailwind & gust crosswind, next change.
Tailwind forecast against the 15 kt departure limit, 6–48 h.
- A map view that shows exactly which runway is affected — with the wind forecast overlaid for 12, 24 and 48 hours.
- An operations dashboard with current, max and average wind, a live wind field and the 15-kt departure limit drawn right on the timeline.
- A plain-language assistant that answers the one question that matters on the day: do we have to close Runway 18?
The pitch to the jury
At the end of the day we presented the case, the model and the results to the jury — and won the FraAlliance case.
The pitch on stage — the live tool in front of the jury and the room.
AI Week 2026 — the whole cohort.
This is exactly how we build — for you, too.
One day for the airport, weeks for your product: custom software and deep automation that takes real work off your plate.
Meet pencilrec →








