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

Cases
61
In the probable cause
35 (57%)
Fatal cases
3
NTSB code
03017035

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/landing area condition per year: 61 cases
200820
20103
20113
20122
20134
20144
20154
20164
20172
20181
20191
20201
20213
20222
20232
20241
20253
20261
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\", '03017035') 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\", '03017035'))
  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\", '03017035') 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 · 61

NTSB ANC26LA031Accident · No injuriesClass 4 · LimitedFinal reportPiper PA-28-151 · Lapeer, MIThe flight instructor’s failure to maintain airplane control during a takeoff attempt, which resulted in an aerodynamic stall, runway excursion, and on ground collision with an object. Contributing to the accident was the flight instructor’s decision to…Apr 23, 2026 · N44690 · Substantial damageNTSB CEN25LA331Accident · Minor injuriesClass 4 · LimitedFinal reportElmwood Christavia · South Saint Paul, MNThe pilot’s failure to maintain airplane control during the landing roll. Contributing to the accident was the pilot’s decision to land the airplane on a non-approved landing surface.Aug 20, 2025 · N383JA · Substantial damageNTSB ERA25LA251Accident · Minor injuriesClass 4 · LimitedFinal reportPiper PA-22-135 · Elberta, ALPilot’s decision to take off from a wet and unmaintained field that was unsuitable for airplane operations, resulting in a loss of control and subsequent nose over. Contributing was the pilot’s self-induced pressure to complete the flight.Jun 27, 2025 · N3228B · Substantial damageNTSB ANC25LA029Accident · No injuriesClass 4 · LimitedFinal reportCessna 172N · Manley Hot Springs, AKThe student pilot’s failure to maintain directional control during the landing roll on a snow and ice-covered runway, which resulted in a runway excursion and subsequent nose over.Mar 29, 2025 · N733KV · Substantial damageNTSB ERA25LA064Accident · Serious injuriesClass 3 · LimitedFinal reportAMS Flight D O O Carat A · Centralhatchee, GAMaintenance personnel’s failure to comply with the engine manufacturer’s guidance, which resulted in improper valvetrain clearances, unseating of the intake valve keepers, and a total loss of engine power.Nov 20, 2024 · N17GF · Substantial damageNTSB ERA24FA050Accident · 1 fatalClass 3 · FieldFinal reportPiper PA32R · Attalla, ALThe undetected wear of both pawl retaining rivets of the left magneto impulse coupling and fatigue failure of one pawl retaining rivet, which led to cascading fractures of the second pawl retaining rivet, left gear retainer assembly, and gear teeth of…Nov 27, 2023 · N4187Q · DestroyedNTSB ERA23LA215Accident · No injuriesClass 4 · LimitedFinal reportAir Tractor AT-402A · Good Hope, ALThe pilot’s decision to land on a runway where there was insufficient clearance from obstructions (wheat crop) to operate safely.Apr 24, 2023 · N623LA · Substantial damageNTSB CEN22LA310Accident · No injuriesClass 4 · LimitedFinal reportAir Tractor AT-502B · Wyoming, ILThe pilot’s improper landing flare, which resulted in a hard, bounced landing.Jul 10, 2022 · N205SK · Substantial damageNTSB CEN22LA126Accident · No injuriesClass 4 · LimitedFinal reportEmbraer Executive EMB-500 · Detroit, MIThe pilot’s decision to land on the contaminated runway with previous reports of unfavorable braking action.Feb 18, 2022 · N68NH · Substantial damageNTSB WPR21LA292Accident · Minor injuriesClass 3 · LimitedFinal reportCessna 180K · Mt. Hood, ORThe total loss of engine power while in cruise flight for reasons that could not be determined based on available evidence. Contributing to the accident was the presentation of an abandoned airport as available for use in the Federal Aviation Administration…Jul 24, 2021 · N8884 · Substantial damage
See all 61 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\", '03017035'))
  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.