NTSB defining event · CICTT: Unintended Flight Into IMC

Defining event in
247 cases
In the sequence of
392 cases
Fatal cases
204
NTSB code
401

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 VFR encounter with IMC per year: 392 cases
200828
200931
201033
201131
201223
201323
201422
201524
201618
201729
201815
201924
202013
202120
202216
202317
202418
20257
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\" = '401' 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\" = '401' 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 · 247

NTSB WPR25FA257Accident · 1 fatalClass 3 · FieldPreliminary reportCessna 140 · Shelter Cove, CAOn August 17, 2025 about 1521 Pacific daylight time, a Cessna 140, N89447, was involved in an accident near Shelter Cove, California. The student pilot was fatally injured, and the passenger sustained serious injuries. The airplane was operated as a Title 14…Aug 17, 2025 · N89447NTSB ERA25FA195Accident · 1 fatalClass 3 · FieldPreliminary reportFFF Express 2000 FT · Polk, OHOn May 5, 2025, about 1940 eastern daylight time, an experimental, amateur-built FFF LLC Express 2000 FT airplane, N519EA, was substantially damaged when it was involved in an accident near Polk, Ohio. The pilot was fatally injured. The airplane was operated…May 5, 2025 · N519EA · Substantial damageNTSB CEN25FA124Accident · 1 fatalClass 3 · FieldPreliminary reportRobinson Helicopter R44 · Danville, VAOn March 15, 2025, about 1500 eastern daylight time, a Robinson R44 helicopter, N331ES, was destroyed when it was involved in an accident near Danville, Virginia. The pilot was fatally injured. The helicopter was operated as a Title 14 Code of Federal…Mar 15, 2025 · N331ES · DestroyedNTSB ERA25LA130Accident · Serious injuriesClass 4 · LimitedFinal reportPiper PA-28-235 · Manchester, VTThe pilot’s improper decision to continue the visual flight rules flight into instrument meteorological conditions, which resulted in the accumulation of airframe icing and a subsequent aerodynamic stall/spin.Feb 26, 2025 · N43DN · Substantial damageNTSB ERA25FA119Accident · 1 fatalClass 3 · FieldFinal reportCessna 208 · Pierson, FLThe non-instrument-rated pilot’s continued visual flight into instrument meteorological conditions, which resulted in spatial disorientation and a subsequent loss of control.Feb 14, 2025 · N40EA · Substantial damageNTSB GAA25WA066Occurrence · No injuriesClass 5 · ForeignPiper 28 · Banktown, AustraliaJan 15, 2025 · VH-BTN · No damageNTSB GAA25WA036Accident · Serious injuriesClass 5 · ForeignCessna 340A · Magny-lès-Villers, FranceDec 2, 2024 · N340GJ · DestroyedNTSB GAA25WA007Accident · 2 fatalClass 5 · ForeignCirrus Design SR22 · La Bretonnière la Claye, FranceOct 7, 2024 · N456AR · DestroyedNTSB ANC24FA089Accident · 1 fatalClass 3 · FieldFinal reportBell 206B · King Salmon, AKThe pilot’s decision to initiate the visual flight into instrument meteorological conditions, which resulted in his spatial disorientation, failure to maintain helicopter control and subsequent impact with water.Sep 7, 2024 · N306FW · Substantial damageNTSB CEN24FA327Accident · 1 fatalClass 3 · FieldFinal reportPiper PA-28-140 · Wayne, NEThe non-instrument-rated pilot’s encounter with instrument meteorological conditions, which resulted in spatial disorientation and a loss of control.Aug 26, 2024 · N9626K · Destroyed
See all 247 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\" = '401')
  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.