NTSB finding · Personnel issues › Experience/knowledge › Knowledge

Cases
30
In the probable cause
14 (47%)
Fatal cases
6
NTSB code
02032020

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 Knowledge of meteorologic cond per year: 30 cases
20081
20091
20101
20142
20152
20171
20191
20211
20224
20236
20244
20254
20262
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\", '02032020') 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\", '02032020'))
  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\", '02032020') 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 · 30

NTSB DCA26LA167Accident · Serious injuriesClass 4 · LimitedFinal reportBoeing 787-9 · Pacific Ocean (Pacific Ocean)An unanticipated encounter with clear air turbulence while in cruise flight.Mar 29, 2026 · N23994 · No damageNTSB DCA26LA165Accident · Serious injuriesClass 4 · LimitedFinal reportAirbus A320-232 · Atlantic Ocean (Atlantic Ocean)The airplane’s encounter with turbulence resulted in serious injuries to a flight attendant who was not seated due to completion of arrival compliance checks.Mar 19, 2026 · N605JB · No damageNTSB DCA25LA272Accident · Serious injuriesClass 4 · LimitedFinal reportBombardier CL-600-2D24 · Germantown, KYAn inadvertent encounter with severe turbulence during descent.Jul 17, 2025 · N330PQ · No damageNTSB CEN25LA188Accident · Minor injuriesClass 4 · LimitedFinal reportPiper PA-18 · Vega, TXThe airplane’s inadvertent encounter with a localized low boundary layer, which caused a wind shift, and a gusting tailwind during final approach, that resulted in the pilot deciding to impact a wind cone and a subsequent impact with terrain. Contributing was…May 26, 2025 · N7175D · Substantial damageNTSB DCA25LA173Accident · Serious injuriesClass 4 · LimitedFinal reportBoeing 787 · Claveria, PhilippinesAn encounter with convective turbulence during cruise that was not detected in advance by cockpit weather radar or weather information services.Mar 27, 2025 · N27958 · No damageNTSB DCA25LA085Accident · No injuriesClass 4 · LimitedFinal reportBoeing 767 · San Bernardino, CAEncounter with windshear during landing which resulted in a tailstrike.Jan 10, 2025 · N324UP · Substantial damageNTSB ERA25FA037Accident · 1 fatalClass 3 · FieldFinal reportCessna 150F · Wilder, TNThe student pilot’s decision to continue the visual flight rules flight into instrument meteorological conditions at night, which resulted in controlled flight into terrain.Oct 31, 2024 · N8110S · DestroyedNTSB CEN24LA208Accident · No injuriesClass 4 · LimitedFinal reportPiper PA-38-112 · Dalhart, TXThe pilot’s improper decision to take off with the airplane over its maximum allowable gross weight at a high density altitude, which degraded its climb performance and led an off airport landing.Jun 1, 2024 · N9715T · Substantial damageNTSB DCA24LA097Accident · Serious injuriesClass 3 · LimitedFinal reportBoeing 777-222ER · Kelsey, NYThe airplane’s encounter with an unanticipated localized region of moderate-to-severe turbulence while in instrument meteorological conditions (IMC) associated with strong upper-level wind shear and convective cells. Contributing to the severity of the…Feb 10, 2024 · N788UA · No damageNTSB CEN24LA085Accident · No injuriesClass 3 · LimitedFinal reportLearjet 35 · San Marcos, TXThe captain’s failure to perform a go-around following an unstable approach while landing with a gusty tailwind, which resulted in the airplane touching down long on the wet runway with insufficient distance to stop. Contributing to the accident was the…Jan 2, 2024 · N46MF · Substantial damage
See all 30 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\", '02032020'))
  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.