NTSB finding · Aircraft › Aircraft systems › Fuel system

Cases
30
In the probable cause
22 (73%)
Fatal cases
2
NTSB code
01022840

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 Fuel indication system per year: 30 cases
20082
20093
20101
20114
20121
20142
20151
20163
20173
20181
20193
20202
20211
20231
20242
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\", '01022840') 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\", '01022840'))
  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\", '01022840') 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 · 30

NTSB ERA24LA331Accident · Minor injuriesClass 3 · LimitedFinal reportAero Commander 200 · Valdosta, GAAn insect nest in the right main fuel tank’s vent line, which resulted in an inaccurate fuel level reading, fuel starvation, and a total loss of engine power.Jul 26, 2024 · N326WR · Substantial damageNTSB WPR24LA218Accident · Minor injuriesClass 3 · LimitedFinal reportTL Ultralight Sting RG · Rio Linda, CAA loss of engine power due to fuel exhaustion. Contributing to the accident was a fuel quantity indication that was inconsistent with the actual fuel state of the airplane, which likely led the pilot to overestimate the amount of fuel remaining onboard.Jun 26, 2024 · N912RG · Substantial damageNTSB CEN24LA033Accident · No injuriesClass 3 · LimitedFinal reportAero Commander 500-B · Jackson, MIA loss of engine power to both engines as a result of the pilot’s improper fuel management. Contributing was the inoperative fuel quantity sending unit.Nov 7, 2023 · N118PW · Substantial damageNTSB CEN21LA419Accident · Minor injuriesClass 4 · LimitedFinal reportThatcher CX4 · Marshalltown, IAThe pilot’s failure to properly determine the correct fuel quantity during preflight inspection that resulted in a loss of engine power during approach due to fuel exhaustion.Sep 9, 2021 · N306TA · Substantial damageNTSB CEN20LA290Accident · No injuriesClass 3 · LimitedFinal reportPiper PA22 · Loveland, OHThe loss of engine power due to fuel starvationJul 18, 2020 · N4816A · Substantial damageNTSB ERA20LA197Accident · 1 fatalClass 3 · LimitedFinal reportSchweizer 269C-1 · Ozark, ALA total loss of engine power due to fuel exhaustion. Contributing to the accident was the flight school’s inadequate maintenance of the helicopter’s fuel quantity and caution systems.May 30, 2020 · N9421P · DestroyedNTSB WPR20LA038Accident · Minor injuriesClass 3 · LimitedFinal reportPiper PA-34-200T · Phoenix, AZThe pilot’s mismanagement of the fuel onboard, which resulted in a loss of engine power due to fuel starvation. Contributing to the fuel starvation was the erroneous indications on the fuel gauges.Dec 11, 2019 · N2822F · Substantial damageNTSB WPR19LA243Accident · Serious injuriesClass 3 · LimitedFinal reportMooney M20C · Reno, NVThe pilot's improper inflight fuel management, which resulted in fuel starvation and a total loss of engine power.Aug 26, 2019 · N78988 · Substantial damageNTSB GAA19CA344Accident · No injuriesData collectionFinal reportBell UH 1H · Bethel, AKThe pilot's improper fuel planning, which resulted in fuel exhaustion and a total loss of engine power, and his improper landing flare during a forced autorotation, which resulted in a hard landing. Contributing to the accident were the inoperative fuel…Jun 6, 2019 · N4085L · Substantial damageNTSB GAA18CA184Accident · No injuriesData collectionFinal reportPiper PA32 · Camas, WAThe pilot’s inadequate inflight fuel management and his failure to switch to a fuel tank with adequate fuel, which resulted in fuel starvation.Mar 4, 2018 · N3756W · Substantial damage
See all 30 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\", '01022840'))
  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.