NTSB finding · Aircraft › Aircraft oper/perf/capability › Aircraft capability

Cases
21
In the probable cause
19 (90%)
Fatal cases
3
NTSB code
01061015

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 Maximum crosswind component per year: 21 cases
20082
20091
20111
20122
20132
20141
20152
20161
20172
20181
20192
20201
20211
20221
20231
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\", '01061015') 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\", '01061015'))
  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\", '01061015') 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 · 21

NTSB ANC23LA037Accident · No injuriesClass 4 · LimitedFinal reportPiper PA-18-150 · Hunter Creek, AKThe pilot’s loss of directional control during takeoff roll in gusting wind conditions.May 20, 2023 · N4231Z · Substantial damageNTSB CEN23LA286Accident · No injuriesClass 4 · LimitedFinal reportHonda HA-420 · Holland, MIThe pilot’s failure to maintain directional control during the landing roll with gusty wind which exceeded the maximum crosswind of the airplane.Oct 12, 2022 · N704JT · Substantial damageNTSB CEN21FA207Accident · 1 fatalClass 3 · FieldFinal reportCessna T210M · Oxford, IAThe pilot’s loss of directional control during landing in gusting crosswind conditions that exceeded the airplane’s capability and his decision to attempt to takeoff from a field, which resulted in collision with a power pole/line and terrain.May 2, 2021 · N1215M · DestroyedNTSB ERA21LA092Accident · No injuriesClass 4 · LimitedFinal reportCessna 172S · Culpeper, VAThe pilot’s decision to land the airplane in crosswind conditions that exceeded the airplane’s maximum demonstrated crosswind velocity.Dec 22, 2020 · N505LP · Substantial damageNTSB DCA19CA170Accident · No injuriesData collectionFinal reportBoeing CV2 · Beeville, TXA higher than expected and accounted for crosswind which initiated a lateral deviation, and resulted in the aircraft reaching the limits of the geo-fence area triggering a contingency forced landing.Jun 21, 2019 · N243XT · Substantial damageNTSB GAA19CA192Accident · Minor injuriesData collectionFinal reportCessna 172 · Stephenville, TXThe student pilot's improper landing flare, which resulted in a hard landing, and his subsequent failure to maintain directional control in gusting crosswind conditions that exceeded the airplane’s demonstrated crosswind for landing, which resulted in a…Mar 31, 2019 · N902RA · Substantial damageNTSB GAA18CA135Accident · No injuriesData collectionFinal reportCessna 172 · Broomfield, COThe pilot’s failure to maintain directional control of the airplane during the landing roll in gusting wind conditions.Feb 17, 2018 · N13453 · Substantial damageNTSB GAA17CA174Accident · Minor injuriesData collectionFinal reportLancair Columbia 400 · Henderson, NVThe pilot’s improper decision to land the airplane with a gusting crosswind, which resulted in a loss of airplane control.Mar 5, 2017 · N2516K · Substantial damageNTSB GAA17CA123Accident · No injuriesData collectionFinal reportPiper PA 28R · Wichita, KSThe pilot's failure to maintain directional control while landing in gusting crosswind conditions.Jan 24, 2017 · N4792T · Substantial damageNTSB GAA17CA105Accident · No injuriesData collectionFinal reportPiper PA 46 · Nashville, TNThe pilot’s loss of directional control during the aborted landing in gusting crosswind conditions, which resulted in a runway excursion.Dec 29, 2016 · N301BK · Substantial damage
See all 21 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\", '01061015'))
  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.