NTSB finding section · Aircraft › Aircraft handling/service

Cases
21
In the probable cause
16 (76%)
Fatal cases
3
NTSB code
010100

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 Aircraft handling/service, general per year: 21 cases
20084
20094
20111
20122
20132
20141
20151
20161
20171
20191
20221
20241
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\", '010100') 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.

Subsections · 1

Query with SQL
duckdb -csv -c "SELECT left(f.\"findingCode\", 8) AS code, max(f.\"tier4Name\") AS name,
    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
  WHERE starts_with(f.\"findingCode\", '010100') AND f.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY 1
  ORDER BY cases DESC, code"

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\", '010100'))
  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\", '010100') 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 · 21

NTSB CEN26LA260Accident · No injuriesClass 4 · LimitedFinal reportRobinson Helicopter R44 · Emerson, IAThe failure of the pilot to verify the loading hose had been disconnected before taking off and the failure of the loader to disconnect the fuel hose from the helicopter.Jul 20, 2026 · N224RH · Substantial damageNTSB CEN24LA187Accident · Serious injuriesClass 4 · LimitedFinal reportAviat A1 · Poole, NEThe non-certificated pilot’s failure to configure the airplane for takeoff, which resulted in a runway excursion.Feb 11, 2024 · N122HU · Substantial damageNTSB WPR22FA094Accident · Minor injuriesClass 3 · FieldFinal reportDassault Mirage F1 CR · Glendale, AZA loss of engine power due to fuel exhaustion as result of the failure of maintenance personnel to ensure the airplane was serviced with the correct amount of fuel, the failure of maintenance personnel and the pilot to adequately check the airplane’s…Feb 10, 2022 · N633AX · DestroyedNTSB CEN19LA244Accident · No injuriesClass 3 · LimitedFinal reportAir Tractor AT 602 · Walls, MSThe improper fuel servicing of the airplane, which resulted in water contamination of the airplane's fuel supply and a subsequent loss of engine power.Jul 24, 2019 · N50634 · Substantial damageNTSB ANC17CA044Accident · No injuriesData collectionFinal reportBrantly B2 · St. Michael, AKThe pilot’s inadequate supervision of the refueling process, which resulted in a loss of engine power due to water contamination in the helicopter’s fuel system from the fuel drum and subsequent impact with terrain.Jun 25, 2017 · N5955X · Substantial damageNTSB CEN16LA112Accident · Minor injuriesLimited investigationFinal reportCirrus Design SR22 · Laguna Pueblo, NMA total loss of engine power due to fuel exhaustion. Contributing to the accident was the pilot's inadequate oversight of the airplane's refueling and her subsequent failure to verify and monitor the fuel quantity before and during the flight.Feb 29, 2016 · N2711M · Substantial damageNTSB CEN15LA199Accident · Serious injuriesLimited investigationFinal reportCessna 421B · Diboll, TXThe total loss of engine power due to the use of an improper fuel type. Contributing to the accident were the servicing of the airplane with the improper fuel, noncompliance with an airworthiness directive, and the fuel nozzle installed on the fueling truck.Apr 17, 2015 · N421PK · Substantial damageNTSB CEN14LA349Accident · Minor injuriesLimited investigationFinal reportAir Tractor AT-502 · Carthage, ILThe airplane’s inability to climb out of ground effect, which resulted from the pilot using a lower power setting than needed for takeoff due to the mechanic’s installation of the wrong engine torque gauge.Jul 7, 2014 · N9185G · Substantial damageNTSB CEN13LA421Accident · No injuriesLimited investigationFinal reportCessna 208B · Chicago, ILThe gate agent’s premature removal of the tailstand without confirming with the flight crew that it was safe to remove, which allowed the airplane to tilt backward when a passenger stood up and stepped toward the back of the airplane.Jul 17, 2013 · N732MD · Substantial damageNTSB ERA13CA182Accident · No injuriesData collectionFinal reportPiper PA-46-310P · Venice, FLThe pilot’s failure to secure the airplane before moving the propeller to assist the engine start.Feb 23, 2013 · C-GNEW · Substantial damage
See all 21 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\", '010100'))
  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.