NTSB finding · Environmental issues › Conditions/weather/phenomena › Temp/humidity/pressure

Cases
103
In the probable cause
78 (76%)
Fatal cases
51
NTSB code
03031025

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 Conducive to structural icing per year: 103 cases
20087
20099
201010
201113
20126
201311
20145
20154
20165
20173
20189
20194
20202
20213
20223
20232
20245
20251
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\", '03031025') 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\", '03031025'))
  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\", '03031025') 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 · 103

NTSB WPR26LA126Accident · Minor injuriesClass 4 · LimitedFinal reportCirrus Design SR20 · Redington, AZThe pilot’s improper decision to continue the flight into icing conditions, which resulted in the accumulation of airframe icing and a subsequent aerodynamic stall.Mar 10, 2026 · N619AV · Substantial damageNTSB 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 CEN25LA053Accident · No injuriesClass 3 · LimitedFinal reportPiper PA-28R-200 · Boscobel, WIThe ice obstruction of the engine oil breather tube and alternate air outlet, which resulted in a failure of the crankcase oil seal and loss of engine oil. Contributing to the accident was the incorrect engine oil breather tube installed in the airplane by…Dec 2, 2024 · N41997 · Substantial damageNTSB ERA24FA209Accident · 2 fatalClass 3 · FieldFinal reportRockwell International 690A · Palmyra, VAThe pilot’s loss of control following an encounter with structural icing, which resulted in an inflight breakup of the airplane.May 5, 2024 · N690BM · DestroyedNTSB WPR24FA124Accident · 1 fatalClass 3 · FieldFinal reportGulfstream 695A · San Bernardino, CAThe pilot’s continued use of the airplane’s autopilot after flight into moderate to severe icing conditions, which resulted in an exceedance of the airplane’s critical angle of attack and an aerodynamic stall.Apr 14, 2024 · N965BC · DestroyedNTSB WPR24FA083Accident · 2 fatalClass 2 · FieldFinal reportHawker Beechcraft Hawker 900XP · Westwater, UTThe flight crew’s decision to conduct a post-maintenance stall test in an area of icing conditions, which resulted in wing contamination that significantly decreased the airplane’s critical angle of attack. Also causal was the airplane manufacturer’s lack of…Feb 7, 2024 · N900VA · DestroyedNTSB ERA24LA094Incident · No injuriesClass 3 · LimitedFinal reportCessna 208 · Dulles, VAThe pilot-in-command’s approach to the critical angle of attack during initial climb, which resulted in a vibration the flight crew improperly identified as an engine issue and resulted in the subsequent off-airport landing. Contributing to the accident was…Jan 19, 2024 · N1983X · Minor damageNTSB WPR23FA188Accident · 2 fatalClass 3 · FieldFinal reportCessna T182T · Albany, WYThe pilot’s decision to conduct flight into an area of icing in an airplane that was prohibited from such conditions, which resulted in exceedance of the airplane’s critical angle of attack, an aerodynamic stall/spin, and the pilot’s spatial disorientation…May 14, 2023 · N665B · DestroyedNTSB WPR23FA141Accident · 2 fatalClass 3 · FieldFinal reportCirrus Design SR22 · Oxbow, ORThe pilot’s continued visual flight into instrument meteorological conditions, resulting in airframe ice accretion and a subsequent loss of airplane control.Apr 2, 2023 · N424SW · DestroyedNTSB WPR22FA173Accident · 2 fatalClass 3 · FieldFinal reportBlue Side UP Comp AIR 8 SS52 · Grasmere, IDThe pilot’s failure to maintain proper airspeed and his exceedance of the airplane’s critical angle of attack, which resulted in an aerodynamic stall.May 8, 2022 · N801DT · Substantial damage
See all 103 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\", '03031025'))
  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.