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

Cases
8
In the probable cause
3 (38%)
Fatal cases
1
NTSB code
03017030

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 Runway markings/signage per year: 8 cases
20081
20101
20111
20121
20162
20171
20221
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\", '03017030') 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\", '03017030'))
  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\", '03017030') 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 · 8

NTSB ERA22LA433Accident · No injuriesClass 4 · LimitedFinal reportEaster William C M-1 · Okeechobee, FLThe premature placement of an airport runway closure marker short of the runway, which resulted in the airplane’s collision with the marker during the landing approach. Contributing was the pilot’s inability to see the marker due the nose-high attitude of the…Jul 16, 2022 · N150MM · Substantial damageNTSB GAA17CA185Accident · No injuriesData collectionFinal reportPipistrel Doo Ajdovscina Virus · Okmulgee, OKThe pilot’s failure to review the Federal Aviation Administration chart supplement before landing, which resulted in his landing on a closed runway and collision with a fence. Contributing to the accident was the airport’s failure to adequately mark the…Mar 11, 2017 · N345M · Substantial damageNTSB GAA17CA063Accident · Serious injuriesData collectionFinal reportSchempp-Hirth Flugzeugbau DUO Discus · Port Matilda, PAThe bystander's decision to walk onto the runway, which resulted in him being struck by the glider's left wing.Nov 5, 2016 · N484KS · No damageNTSB GAA16CA109Accident · Minor injuriesData collectionFinal reportCessna CE-208 · Hooper Bay, AKThe pilot's failure to identify the runway, resulting in the airplane touching down a few feet to the right of the runway.Jan 15, 2016 · N104AN · Substantial damageNTSB CEN12FA321Accident · 1 fatalField investigationFinal reportBell 206-L4 · (Gulf of Mexico)The pilot’s failure to maintain clearance from an obstacle while landing on an obstructed helipad, which resulted in a collision and loss of control. Contributing to the accident was the failure of the helipad owner to mark the helipad closed and the failure…May 28, 2012 · N7077F · Substantial damageNTSB ERA12CA043Accident · Minor injuriesData collectionFinal reportFehlner-Shelton Aerosport Scamp WTB1 · Grantham, NCThe pilot's inadequate clearance from unmarked power lines while on approach to land at a private airport.Oct 17, 2011 · N25WS · Substantial damageNTSB WPR10LA481Accident · No injuriesLimited investigationFinal reportEurocopter EC130 · Meadview, AZThe pilot's distraction with another departing helicopter while maneuvering in a hover for departure, which resulted in his failure to maintain clearance between the tail rotor and an umbrella.Oct 1, 2010 · N822MH · Substantial damageNTSB LAX08LA200Accident · Minor injuriesLimited investigationFinal reportSikorsky S-76A · Santa Maria, CAThe copilot's misjudged clearance from an object during a hovering turn for landing. Contributing to the accident were the inadequately marked heliport surface and the close proximity of an obstruction near the landing area.Jun 27, 2008 · N343AA · Substantial damage
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\", '03017030'))
  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.