- Route thickness = traffic density
- Color = pressure tier
- Purple zones = upper-air stress
- Pulsing hubs = delay clusters
Width = density · Glow = pressure · Pulsing = delay · Grain = ADS-B positions
Width = density · Glow = pressure · Pulsing = delay · Grain = ADS-B positions
Purpose: GAPS is a situational-awareness prototype. It combines three independent inputs into one operational-pressure score: OpenSky aircraft density, Open-Meteo/AviationWeather hub weather, and Open-Meteo current-hour 250 hPa upper-air winds.
Limits: This is not an aviation safety system, accident predictor, or trained forecast. It shows when traffic, weather, and upper-air conditions are compounding at the same time.
GAPS is a public tool. It costs nothing to use and has no affiliation with any airline, government agency, or aviation authority.
GAPS watches the global commercial airline network and asks one question: is the system under unusual stress right now, and is that stress building? It does not track individual flights. It watches the whole network — the way you would watch traffic on a highway system from a helicopter, not from inside one car.
Traffic — We count every aircraft broadcasting its position via ADS-B right now. On a normal day there are roughly 14,000–16,000 aircraft airborne globally. If that number is unusually high for the time of day, the corridors are congested and the system has less room to absorb problems.
Weather — We check live weather reports from 12 major hub airports: JFK, LAX, London Heathrow, Chicago O'Hare, Singapore, Dubai, and others. Thunderstorms, heavy rain, low visibility, and strong winds all reduce how many flights an airport can handle per hour.
Upper-Air — At cruise altitude — roughly 35,000 feet — aircraft ride or fight the jet stream. When it is unusually strong, it compresses flight paths, forces reroutes, and adds time and fuel burn. We measure this using wind data at 250 hPa pressure level.
We combine those three readings into one number: the Sky Friction Index, or SFI, running from 0 to 100. Below 55 is normal. 55–70 is watch territory — pressure is building. Above 70 means the network is losing its ability to absorb shocks. The formula is transparent: SFI = 42% corridor congestion + 36% weather pressure + 22% upper-air jet stream.
Velocity — is the SFI rising or falling, and how fast?
Acceleration — is the rate of rise itself speeding up? This is the early warning signal. A system rising faster and faster is heading somewhere bad.
Systemic Fragility — when two or three inputs are high simultaneously, risk multiplies rather than adds. A crowded sky on a clear day is manageable. A crowded sky during a major storm with a powerful jet stream is a different situation entirely.
Emergency Squawk Monitoring — we watch for geographic clusters of Squawk 7700 emergency transponder codes from the live ADS-B feed.
SIGMET Alerts — official aviation hazard advisories for severe turbulence, volcanic ash, and major storms over key routes, pulled directly from AviationWeather.gov.
Space Weather — geomagnetic storms disrupt the radio communications that oceanic flights depend on. We monitor the NOAA planetary K-index every 15 minutes. A reading above 5 means North Atlantic and polar routes are under pressure you will not find in a weather report.
GAPS cannot predict accidents. It cannot tell you a specific flight will be delayed. It cannot see inside airline operations, crew scheduling, or maintenance. It works entirely with public data. What it can do is identify when physical conditions are compounding in ways that historically precede widespread disruption — before those events appear in the news.
Every time SFI exceeds 70 and then recovers, the system automatically records the event — when it peaked, how high, what was driving it, and how long it lasted. Over time that log can be compared against real disruption events to assess whether the signals are genuinely predictive. The model earns its credibility over time.