NTSB finding · Environmental issues › Operating environment › Airport facilities/design

Cases
52
In the probable cause
29 (56%)
Fatal cases
4
NTSB code
03017000

NTSB has coded findings and defining events since 2008. Earlier cases used its older occurrence and cause codes, so they aren’t counted here.

When and where

In green, cases where NTSB made it part of the probable cause; in gray, a factor or other finding. Findings are coded with the final report, often a year or more after the event, so the latest years are incomplete.

Cases per year

2008In the probable causeFactor only2026
Cases with Airport facilities/design, general per year: 52 cases
200834
20094
20102
20111
20121
20132
20142
20162
20192
20252
Query with SQL
duckdb -csv -c "SELECT year(c.\"eventDate\") AS year, count(DISTINCT f.case_mkey) AS cases,
    count(DISTINCT f.case_mkey) FILTER (WHERE f.\"inProbableCause\") AS in_probable_cause
  FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = f.case_mkey
  WHERE starts_with(f.\"findingCode\", '03017000') AND c.\"eventDate\" >= DATE '2000-01-01'
  GROUP BY 1
  ORDER BY 1"

Prints the counts as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.

In the same cases

Query with SQL
duckdb -csv -c "WITH matched AS (SELECT DISTINCT case_mkey, aircrafts_position FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' WHERE starts_with(\"findingCode\", '03017000'))
  SELECT * FROM (
  SELECT 'Defining event' AS kind, e.\"tier2Number\" AS code, max(e.\"eventTier2Name\") AS name, count(DISTINCT f.case_mkey) AS cases
  FROM matched f JOIN 'https://openairdocs.org/data/latest/ntsb_events.parquet' e ON e.case_mkey = f.case_mkey AND e.aircrafts_position = f.aircrafts_position AND e.\"isDefiningEvent\"
  WHERE e.\"tier2Number\" <> ''
  GROUP BY ALL
  UNION ALL
  SELECT 'Aircraft model', a.aircraft_model_code, any_value(concat_ws(' ', m.manufacturer, m.model)), count(DISTINCT f.case_mkey)
  FROM matched f JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = f.case_mkey AND a.position = f.aircrafts_position
  LEFT JOIN 'https://openairdocs.org/data/latest/faa_aircraft_model.parquet' m ON m.code = a.aircraft_model_code
  WHERE a.aircraft_model_code IS NOT NULL
  GROUP BY ALL
  UNION ALL
  SELECT 'Other finding', left(g.\"findingCode\", 8), max(g.\"tier4Name\"), count(DISTINCT g.case_mkey)
  FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' g
  WHERE g.case_mkey IN (SELECT case_mkey FROM matched) AND NOT starts_with(g.\"findingCode\", '03017000') AND g.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY ALL
  )
  QUALIFY row_number() OVER (PARTITION BY kind ORDER BY cases DESC) <= 10
  ORDER BY kind, cases DESC"

Prints the counts as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.

Newest cases · 52

NTSB DCA25LA117Accident · No injuriesClass 4 · LimitedFinal reportBoeing 737-832 · Seattle, WAThe Japan Airlines flight crew’s failure to maintain adequate clearance from the parked Delta Air Lines aircraft while taxiing in congested ramp conditions.Feb 5, 2025 · N3737C · 2 aircraft · Substantial damageNTSB ANC25LA016Accident · No injuriesClass 4 · LimitedFinal reportPiper PA-31-350 · Fairbanks, AKThe pilot’s failure to recognize that an automated taxiway gate was closing, and the pilot’s failure stop for the closing gate.Jan 10, 2025 · N59826 · Substantial damageNTSB DCA20MA002Accident · 1 fatalClass 1 · MajorFinal reportSaab 2000 · Unalaska, AKThe landing gear manufacturer’s incorrect wiring of the wheel speed transducer harnesses on the left main landing gear during overhaul. The incorrect wiring caused the antiskid system not to function as intended, resulting in the failure of the left outboard…Oct 18, 2019 · N686PA · Substantial damageNTSB CEN19TA196Accident · No injuriesFinal reportAeronca 65 C · Gilliam, LAThe pilot's failure to see and avoid a dark-colored utility pole while taxiing for takeoff.Jun 26, 2019 · N22173 · Substantial damageNTSB GAA16CA396Accident · Minor injuriesData collectionFinal reportCessna 150 · Williamsburg, VAAn evasive maneuver during the landing flare to avoid deer on the runway, which resulted in a collision with trees and terrain during a go-around. Contributing to the accident was the lack of an airport perimeter fence.Jul 27, 2016 · N18228 · Substantial damageNTSB GAA16CA304Accident · No injuriesData collectionFinal reportCessna 120 · Climax, NCAn evasive maneuver during the landing roll to avoid deer on the runway, which resulted in a runway excursion and a nose over. Contributing to the accident was the lack of an airport perimeter fence.Jun 10, 2016 · N77216 · Substantial damageNTSB CEN14FA396Accident · Serious injuriesField investigationFinal reportRender RV 9A · Oshkosh, WIThe pilot's failure to establish a stabilized approach and to maintain airspeed during final approach over obstacles resulting in a stall/mush.Jul 30, 2014 · N82PR · Substantial damageNTSB WPR14CA314Accident · No injuriesData collectionFinal reportCessna 182Q · Warren, IDThe pilot's attempt to depart on an unpaved road, which he mistook for the unpaved runway. Contributing to the accident was the fact that the road and the runway were conjoined for the first few hundred feet of the runway.Jul 26, 2014 · N624M · Substantial damageNTSB CEN13LA570Accident · No injuriesLimited investigationFinal reportPiper PA 28-181 · Algona, IAFuel exhaustion as a result of the pilot's failure to ensure he had sufficient fuel on board to complete the planned flight. Contributing to the accident was the incomplete information provided by the airport's AWOS.Sep 30, 2013 · N31688 · Substantial damageNTSB CEN13LA237Accident · 1 fatalLimited investigationFinal reportAlon A2 · Greenbrier, ARThe pilot's improper recovery from a bounced landing and porpoise. Contributing to the accident were the pilot's limited recent flying experience and proficiency and the challenging runway environment.Apr 22, 2013 · N6369V · Destroyed
See all 52 cases
Query with SQL
duckdb -csv -c "SELECT c.\"ntsbNumber\", c.\"eventDate\", c.\"eventType\", c.\"eventCity\", c.\"eventStateOrRegion\", a.n_number, a.\"aircraftMake\", a.\"aircraftModel\", c.\"highestInjuryLevel\", c.\"totalFatal\", c.\"completionStatus\", c.report_url
  FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c.\"mKey\" AND a.position = 1
  WHERE c.\"mKey\" IN (SELECT f.case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f WHERE starts_with(f.\"findingCode\", '03017000'))
  ORDER BY c.\"eventDate\" DESC, c.\"ntsbNumber\" DESC"

Prints the whole list as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.