Defining event in
202 cases
In the sequence of
225 cases
Fatal cases
29
NTSB code
193

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 it was the defining event; in gray, cases where it came elsewhere in the sequence. The map shows the cases where it was the defining event. Events are coded with the final report, so the latest years are incomplete.

Cases per year

2008Defining eventElsewhere in the sequence2026
Cases with Fuel contamination per year: 225 cases
200817
200914
201018
201112
201210
201313
20148
201522
201611
201715
201810
201913
202011
202110
202212
202314
202411
20254
Query with SQL
duckdb -csv -c "SELECT year(c.\"eventDate\") AS year, count(DISTINCT e.case_mkey) AS cases,
    count(DISTINCT e.case_mkey) FILTER (WHERE e.\"isDefiningEvent\") AS defining
  FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = e.case_mkey
  WHERE e.\"tier2Number\" = '193' AND e.case_mkey IN (SELECT case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' WHERE \"isDefiningEvent\")
  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 these cases

Query with SQL
duckdb -csv -c "WITH defining AS (SELECT * FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' WHERE \"tier2Number\" = '193' AND \"isDefiningEvent\")
  SELECT * FROM (
  SELECT 'Phase of flight' AS kind, e.\"tier1Number\" AS code, max(e.\"eventTier1Name\") AS name, count(DISTINCT e.case_mkey) AS cases
  FROM defining e
  GROUP BY ALL
  UNION ALL
  SELECT 'Finding in the probable cause', left(f.\"findingCode\", 8), max(f.\"tier4Name\"), count(DISTINCT f.case_mkey)
  FROM defining e JOIN 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f ON f.case_mkey = e.case_mkey AND f.aircrafts_position = e.aircrafts_position AND f.\"inProbableCause\"
  WHERE f.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY ALL
  UNION ALL
  SELECT 'Aircraft model', a.aircraft_model_code, any_value(concat_ws(' ', m.manufacturer, m.model)), count(DISTINCT e.case_mkey)
  FROM defining e JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = e.case_mkey AND a.position = e.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
  )
  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 · 202

NTSB CEN26LA084Accident · No injuriesClass 3 · LimitedFinal reportCessna 172 · Taylor, TXThe pilot’s inadequate preflight inspection that resulted in a loss of engine power due to water contamination.Dec 26, 2025 · N172BX · Substantial damageNTSB ERA25LA315Accident · Serious injuriesClass 4 · LimitedFinal reportPatriot CX1900A · Centreville, ALThe pilot’s failure to detect and remove water contamination from the airplane’s fuel system before the flight, which resulted in a total loss of engine power during initial climb.Aug 20, 2025 · N150SP · Substantial damageNTSB WPR25LA004Accident · No injuriesClass 3 · LimitedFinal reportCessna 172L · El Monte, CAA total loss of engine power due to contaminated fuel.Oct 7, 2024 · N7869G · Substantial damageNTSB ANC24FA102Accident · 1 fatalClass 3 · FieldFinal reportCessna 206 · Chalkyitsik, AKA loss of engine power due to water-contaminated fuel as a result of the pilot’s inadequate preflight inspection. Contributing to the accident was the operator’s failure to ensure replacement filters were available for use during refueling operations.Sep 24, 2024 · N8255Q · Substantial damageNTSB CEN24LA316Accident · No injuriesClass 3 · LimitedFinal reportCessna A185E · Eveleth, MNWater contamination of the fuel system which resulted in a total loss of engine power. Contributing was the pilot’s inadequate preflight.Aug 14, 2024 · N2248T · Substantial damageNTSB CEN24LA291Accident · No injuriesClass 3 · LimitedFinal reportAyres S2R-G6 · Antioch, NEA total loss of engine power due to fuel contamination from an undetermined source.Jul 26, 2024 · N6136Z · Substantial damageNTSB ERA24LA257Accident · No injuriesClass 3 · LimitedFinal reportPiper PA28 · Zephyrhills, FLA partial loss of engine power during initial climb due to fuel contamination that resulted from corrosion and loose corrosion debris in the carburetor, which restricted fuel flow to the engine.Jun 8, 2024 · N15363 · Substantial damageNTSB WPR24LA174Accident · No injuriesClass 3 · LimitedFinal reportBeech 35-C33A · San Diego, CAA partial loss of engine power due to water contamination of the fuel system.Jun 1, 2024 · N1259M · Substantial damageNTSB CEN24LA184Accident · Minor injuriesClass 3 · LimitedFinal reportPiper PA-22 · Enderlin, NDThe pilot’s failure to properly inspect and sump the fuel system before the flight and the maintenance personnel’s inadequate maintenance of the fuel system which resulted in fuel starvation and the subsequent loss of engine power due to the contamination of…May 13, 2024 · N669A · Substantial damageNTSB ERA24LA179Accident · No injuriesClass 3 · LimitedFinal reportCessna R172 · Rocky Mount, NCThe pilot and mechanic’s failure to identify and completely eliminate the water and debris contamination present in the airplane’s fuel system before embarking on the flight, which resulted in a total loss of engine power.Apr 15, 2024 · N3FR · Substantial damage
See all 202 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 e.case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e WHERE e.\"isDefiningEvent\" AND e.\"tier2Number\" = '193')
  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.