What this site counts, and how.
Many smaller airports have control towers that are staffed only part of the day, and some have no tower at all. Those hours, where they exist, were set when the airport had no passenger flights. They have not changed. The passenger flights have arrived. This site does not argue that from anecdote — it counts the flights.
- ADS-B — Automatic Dependent Surveillance–Broadcast. Nearly every aircraft carries a transponder that broadcasts its identity, position, altitude and speed about once a second, for anyone with a receiver to hear. It is how the FAA tracks aircraft today, and the source of every flight path on this site. The altitude it carries is measured against a standard air pressure, so we correct it to height above the field (AGL) using the airport's hourly weather reports; the raw figure is labelled "ADS-B altitude".
- FlightAware AeroAPI — arrival and departure records, and the ADS-B position signals each aircraft broadcast, collected by FlightAware's receiver network.
- FAA Chart Supplement and NASR data — the official published tower hours for each airport, and the FAA facility record that says which airports have a tower at all.
- Published airline schedules — to tell passenger flights apart from private ones.
- OpenStreetMap and CARTO — basemap tiles.
Collect every flight while the tower is closed
For each night we list every arrival and departure between the tower closing and reopening the next morning, in local time. Flights are grouped by the evening they belong to, so a 1 a.m. landing is filed under the night before.
Keep only the paths close to the airport
A flight counts once it comes within 10 nautical miles of the airport — about 11.5 road miles. Its path is then kept out to 20 nautical miles in both directions, so approaches, procedure turns and go-arounds are shown whole. Flights that never come inside 10 NM, or pass by while the tower was open, are dropped.
Measure how close aircraft came to each other
Positions are lined up to a common clock and every pair of aircraft is measured. When two aircraft are less than 3 nautical miles apart and less than 1,000 feet apart vertically at the same moment, we flag it as a close approach.
With a controller on duty, aircraft are kept at least 3 nautical miles apart, or 1,000 feet apart vertically. When the tower is closed, nothing enforces this safety margin.
What counts as a close approach
Every close approach on this site passed all of the following tests at one and the same moment. Nothing is flagged on judgement; the same rules are applied to every flight, and re-running them over the same data gives the same result.
- When
- The tower was closed. Flights are checked only between the published closing and reopening times for that night.
- Where
- Both aircraft were within 10 nautical miles of the airport — the point midway between them is inside the 10 NM ring.
- Side to side
- Less than 3.00 nautical miles apart, measured over the ground.
- Vertically
- Less than 1,000 feet apart, using the altitudes the aircraft reported. Both conditions must be true at the same instant; being inside one of them alone is normal and is not counted.
- Both flying
- Each aircraft was more than 150 feet above the field (after the pressure correction) and moving faster than 40 knots. An aircraft on the runway, taxiing, or rolling out after landing does not count.
- Two aircraft
- Two records of the same aircraft never count: the same tail number, or two tracks that ride on top of each other for most of their length (a callsign and a registration for one flight).
- Same clock
- Positions are reported a few seconds apart, at different moments for each aircraft. Each path is smoothed through its reported points and both are read at the same instant, every second, so the distance is between where the aircraft actually were, not between their nearest reports.
- Counted once
- Each pair of flights is counted at most once per night, at the moment they were closest. “Very close” means under 1 nautical mile and under 500 feet at that moment.
Not counted, for now: an aircraft sitting on the runway while another lands on it, and a small aircraft following closely behind a much larger one (wake turbulence). Those are governed by different rules than the 3 NM / 1,000 ft standard and need their own tests; see the project's open issues.
What a flagged event is, and what it is not
A flag means two aircraft were closer than a controller would have allowed. It is not a finding that either pilot did anything wrong, and it is not an official ruling of any kind. When the tower is closed, pilots flying by sight are legally permitted to fly closer than these distances as long as they see each other and keep clear. That is the point: a passenger airliner coming in to land and a training aircraft circling the field share the same air with nothing between them but a radio call and a pair of eyes.
Known limitations
- Aircraft that do not broadcast ADS-B, or whose signal no receiver picked up, do not appear at all, so these counts are a floor, not a total.
- ADS-B altitude is measured against a standard air pressure, not the day's actual pressure, and in steps of 100 feet. Heights above the field (AGL) are corrected using the airport's hourly weather reports (the altimeter setting), interpolated between reports; a night with no weather report is shown uncorrected and says so. Expect about ±100 feet. The difference between two aircraft is not affected by this correction, so separation figures use the altitudes exactly as reported.
- Landing and takeoff times are sometimes estimated rather than measured; where the measured time is missing, the estimate is used.
- Coverage close to the ground is uneven, so the lowest parts of some flight paths are missing.
- An aircraft on the runway does not count. Any moment when either aircraft was within 150 feet of the field (after the pressure correction), or moving slower than 40 knots, is left out — so a landing roll beneath a passing aircraft is not flagged.
A citizen project, built on public data.
Dark Towers is not run by the FAA, an airport, an airline, or any government body. It is the work of two residents who live under these flight paths. Everything on the site is drawn from publicly available ADS-B position data — the same signals aircraft broadcast for anyone to receive — and from published tower hours and airline schedules. Nothing here is confidential, and none of it required special access.
If you see something we have wrong, tell us. Corrections improve the record.