NTSB finding · Aircraft › Aircraft structures › Windows-windshield system

Cases
13
In the probable cause
11 (85%)
Fatal cases
1
NTSB code
01035600

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 Windows-windshield system, general per year: 13 cases
20081
20102
20112
20121
20131
20141
20193
20211
20251
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\", '01035600') 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\", '01035600'))
  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\", '01035600') 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 · 13

NTSB ERA25LA102Accident · No injuriesClass 4 · LimitedFinal reportDaniel A Robinson High 6 Berkut 540 · Orlando, FLThe pilot’s failure to verify the canopy latches were in the locked position prior to takeoff.Jan 20, 2025 · N976DR · Substantial damageNTSB ERA21LA396Accident · No injuriesClass 4 · LimitedFinal reportSonex Waiex · Doylestown, PAThe pilot’s failure to maintain a proper glidepath during landing. Contributing to the accident was his failure to ensure the canopy locks were properly configured prior to flight.Mar 22, 2021 · N220JD · Substantial damageNTSB GAA20CA092Accident · No injuriesData collectionFinal reportCzech Aircraft Works Spol Sro Sportscruiser · Lamar, COThe pilot's distraction due to an open canopy during final approach, which resulted in a loss of altitude and ground impact short of the runway.Nov 23, 2019 · N595SC · Substantial damageNTSB GAA20CA027Accident · Minor injuriesData collectionFinal reportZenith Zenith 601XLB · Gastonia, NCThe pilot's failure to latch the canopy before departure, which resulted in the canopy opening and the subsequent loss of airplane control.Oct 11, 2019 · N235JH · Substantial damageNTSB WPR19LA088Accident · No injuriesClass 3 · LimitedFinal reportLancair IV · Laramie, WYAn environmental stress cracking failure of the acrylic windshield, which resulted in a rapid decompression during cruise flight.Feb 10, 2019 · N549CJ · Substantial damageNTSB CEN14CA246Accident · No injuriesData collectionFinal reportNorth American SNJ 6 · Santa Fe, NMThe pilot's loss of directional control during landing and subsequent go around attempt.May 18, 2014 · N5485V · Substantial damageNTSB WPR13CA142Accident · Minor injuriesData collectionFinal reportEvektor-Aerotechnik Sportstar · San Jose, CAThe pilot's failure to maintain directional control during the landing roll. Contributing to the accident was the pilot’s failure to adequately latch the canopy before takeoff.Mar 10, 2013 · N811EV · Substantial damageNTSB CEN12CA221Accident · No injuriesData collectionFinal reportAir Tractor AT-402A · Ganado, TXThe improper positioning of the hopper vent, which allowed chemicals to escape and cover the airplane's windshield.Apr 2, 2012 · N4544S · Substantial damageNTSB ERA11FA287Accident · 1 fatalField investigationFinal reportCzech Sport Piper Sport · Spring Hill, FLThe pilot's inadvertent application of control inputs that resulted in rapid, right-rolling, negative g-forces during night cruise flight and his subsequent ejection from the airplane. Contributing to the accident was the pilot's decision to fly at night in…May 7, 2011 · N420PS · Substantial damageNTSB CEN11CA242Accident · No injuriesData collectionFinal reportDarrow Stephen A Aventura · Ferris, TXThe pilot’s loss of aircraft control during landing.Mar 21, 2011 · N1317L · Substantial damage
See all 13 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\", '01035600'))
  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.