NTSB finding · Environmental issues › Conditions/weather/phenomena › Turbulence

Cases
78
In the probable cause
72 (92%)
Fatal cases
4
NTSB code
03032015

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 Clear air turbulence per year: 78 cases
20086
20093
20106
20115
20127
20133
20155
20167
20172
20184
20196
20201
20215
20225
20235
20245
20252
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\", '03032015') 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\", '03032015'))
  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\", '03032015') 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 · 78

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 DCA25LA341Accident · Serious injuriesClass 4 · LimitedFinal reportAirbus A321 · Las Vegas, NVThe airplane’s encounter with turbulence during descent resulting in a serious injury to a flight attendant who was standing at the time of the encounter.Sep 30, 2025 · N670NK · No damageNTSB DCA25LA156Accident · Serious injuriesClass 4 · LimitedFinal reportBoeing 737-8 · San Diego, CAAn encounter with an area of moderate clear air turbulence associated with the jet stream during cruise.Mar 2, 2025 · N8776L · No damageNTSB DCA25LA091Accident · Serious injuriesClass 4 · LimitedFinal reportBoeing 767-322 · Gulf of America (Gulf of Mexico)An encounter with an area of clear air turbulence during cruise, which resulted in a serious injury to a flight attendant.Dec 29, 2024 · N647UA · No damageNTSB DCA25LA047Accident · Serious injuriesClass 4 · LimitedFinal reportBoeing 777-223 · Brasilia, BrazilThe airplane’s encounter with unanticipated turbulence during cruise flight, which resulted in serious injury to one passenger who was not seated.Nov 24, 2024 · N753AN · No damageNTSB CEN24LA247Accident · No injuriesClass 4 · LimitedFinal reportAmerican Air Racing Lancair IVP · Midland, TXThe pilot’s failure to extend and verify landing gear extension which resulted in a wheels-up landing. Contributing was the increased workload due to several airplane issues that occurred during the descent in severe turbulence.Jun 29, 2024 · N451M · Substantial damageNTSB DCA24LA144Accident · Serious injuriesClass 4 · LimitedFinal reportBoeing 717-200 · Cecil, NCAn encounter with clear air turbulence.Apr 3, 2024 · N899AT · No damageNTSB DCA24LA124Accident · Serious injuriesClass 4 · LimitedFinal reportBoeing 737 · Aylett, VAAn encounter with clear air turbulence during descent.Mar 9, 2024 · N411WN · No damageNTSB CEN24FA049Accident · 2 fatalClass 3 · FieldFinal reportMD Helicopters 600 · Sterling City, TXThe pilot’s failure to maintain clearance from a power line pole’s static arm during forecasted gusting wind conditions, un-forecasted light turbulence, and un-forecasted low-level wind shear conditions, resulting in main rotor blade contact with the static…Nov 29, 2023 · N745MB · Substantial damageNTSB DCA23LA421Accident · Serious injuriesClass 4 · LimitedFinal reportBoeing 777-222 · Over the (Atlantic Ocean)An inadvertent encounter with clear air turbulence during cruise flight.Aug 18, 2023 · N209UA · No damage
See all 78 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\", '03032015'))
  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.