NTSB finding · Aircraft › Aircraft structures › Wing structure

Cases
48
In the probable cause
36 (75%)
Fatal cases
33
NTSB code
01035700

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 Wing structure, general per year: 48 cases
20086
20095
20105
20111
20125
20134
20141
20153
20162
20171
20183
20191
20202
20211
20223
20233
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\", '01035700') 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\", '01035700'))
  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\", '01035700') 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 · 48

NTSB ERA25LA087Accident · No injuriesClass 4 · LimitedFinal reportCessna 172K · Southport, NCThe pilot’s loss of aircraft control due to spatial disorientation, and the flight instructor’s inadequate supervision, which resulted in the subsequent overstress of the airplane during recovery.Dec 19, 2024 · N7085G · Substantial damageNTSB CEN24FA160Accident · 1 fatalClass 3 · FieldFinal reportPiper PA 46-350P · Hartsburg, MOThe pilot’s encounter with convective weather conditions, which resulted in a loss of airplane control, the exceedance of the airplane’s never exceed speed, and the resulting overload failure of the horizontal stabilizer and subsequent failure of the…Apr 16, 2024 · N451MA · DestroyedNTSB CEN23FA204Accident · 2 fatalClass 3 · FieldFinal reportLuce Buttercup · Lyndonville, NYAn in-flight breakup due to structural overload of the airplane for undetermined reasons.May 28, 2023 · N18263 · DestroyedNTSB WPR23LA112Accident · 1 fatalClass 3 · LimitedFinal reportStar Lite SL1 · Corning, CAThe student pilot’s loss of airplane control during an intentional aerobatic maneuver, which resulted in an inflight separation of the left wing and subsequent impact with the terrain.Feb 16, 2023 · UNREG · DestroyedNTSB WPR23FA080Accident · 1 fatalClass 3 · FieldFinal reportEmbraer Executive EMB-505 · Provo, UTThe pilot’s failure to deice the airplane before takeoff in weather conditions conducive to ice accumulation, which resulted in an ice-contaminated wing and subsequent stall during takeoff.Jan 2, 2023 · N555NR · Substantial damageNTSB ERA22LA427Accident · 1 fatalClass 3 · LimitedFinal reportNorthwing Design Apache Sport · Southern Shores, NCA loss of aircraft control due to movement of the outer portion of the right wing fabric and displacement of wing ribs for reasons that could not be determined based on the available information.Sep 21, 2022 · N3283N · Substantial damageNTSB WPR22FA169Accident · 2 fatalClass 3 · FieldFinal reportBearhawk LSA · Kalispell, MTAn excessive pitch control input for undetermined reasons while the airplane was operating above maneuvering speed, which led to a structural failure of the right wing during cruise flight. Contributing to the accident was the poor construction quality of the…Apr 30, 2022 · N1908A · Substantial damageNTSB ERA22LA124Accident · No injuriesClass 4 · LimitedFinal reportCessna 172RG · Rocky Mount, NCAn inflight collision with a bird, which resulted in substantial damage to the left wing.Feb 6, 2022 · N9382D · Substantial damageNTSB WPR21LA204Accident · Serious injuriesClass 3 · LimitedFinal reportMcclure B J Glasair III · Eugene, ORThe pilot’s loss of airplane control during the approach to landing due to an asymmetrical flap deployment for reasons that could not be determined based on the available evidence.May 20, 2021 · N54CB · DestroyedNTSB ERA21LA014Accident · No injuriesClass 4 · LimitedFinal reportPipistrel Alpha Trainer · Rural Hall, NCThe pilot’s failure to maintain airplane control and improper recovery from an unusual attitude, which resulted in an in-flight breakup.Oct 8, 2020 · N227PF · Substantial damage
See all 48 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\", '01035700'))
  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.