Roll over

NTSB defining event · CICTT: Abnormal Runway Contact

Defining event in
37 cases
In the sequence of
261 cases
Fatal cases
0
NTSB code
097

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 it was the defining event; in gray, cases where it came elsewhere in the sequence. The map shows the cases where it was the defining event. Events are coded with the final report, so the latest years are incomplete.

Cases per year

2008Defining eventElsewhere in the sequence2026
Cases with Roll over per year: 261 cases
200820
200915
201014
201113
201218
201312
201419
201519
201613
201717
201834
201920
20207
20218
20224
20238
20246
20256
20268
Query with SQL
duckdb -csv -c "SELECT year(c.\"eventDate\") AS year, count(DISTINCT e.case_mkey) AS cases,
    count(DISTINCT e.case_mkey) FILTER (WHERE e.\"isDefiningEvent\") AS defining
  FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = e.case_mkey
  WHERE e.\"tier2Number\" = '097' AND e.case_mkey IN (SELECT case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' WHERE \"isDefiningEvent\")
  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 these cases

Query with SQL
duckdb -csv -c "WITH defining AS (SELECT * FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' WHERE \"tier2Number\" = '097' AND \"isDefiningEvent\")
  SELECT * FROM (
  SELECT 'Phase of flight' AS kind, e.\"tier1Number\" AS code, max(e.\"eventTier1Name\") AS name, count(DISTINCT e.case_mkey) AS cases
  FROM defining e
  GROUP BY ALL
  UNION ALL
  SELECT 'Finding in the probable cause', left(f.\"findingCode\", 8), max(f.\"tier4Name\"), count(DISTINCT f.case_mkey)
  FROM defining e JOIN 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f ON f.case_mkey = e.case_mkey AND f.aircrafts_position = e.aircrafts_position AND f.\"inProbableCause\"
  WHERE f.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY ALL
  UNION ALL
  SELECT 'Aircraft model', a.aircraft_model_code, any_value(concat_ws(' ', m.manufacturer, m.model)), count(DISTINCT e.case_mkey)
  FROM defining e JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = e.case_mkey AND a.position = e.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
  )
  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 · 37

NTSB CEN27LA026Accident · No injuriesClass 4 · LimitedInvestigation openPiper J3C-65 · Eagle Harbor, MIOct 17, 2026 · N3368NNTSB CEN26LA119Accident · No injuriesClass 4 · LimitedFinal reportRobinson Helicopter R66 · Graford, TXThe pilot’s failure to maintain sufficient rotor speed during a practice autorotation to soft terrain which resulted in a loss of control and roll over.Feb 19, 2026 · N940BH · Substantial damageNTSB ANC25LA034Accident · Minor injuriesClass 4 · LimitedFinal reportCessna 182B · Girdwood, AKThe pilot's decision to land on an unsuitable landing surface, which resulted in a nose-over.Apr 12, 2025 · N916GG · Substantial damageNTSB ENG25WA033Accident · Serious injuriesClass 5 · ForeignBell 505 · Petersgrat Mountain, SwitzerlandApr 10, 2025 · HB-ZWF · DestroyedNTSB GAA25WA019Accident · No injuriesClass 5 · ForeignViking Air DHC-2 MK 1 · Whitehaven, AustraliaOct 26, 2024 · VH-OHU · Substantial damageNTSB ERA24LA236Accident · No injuriesClass 4 · LimitedFinal reportRobinson R44 · Gilbertsville, KYThe pilot's failure to maintain control of the helicopter while attempting to take off from sloping terrain.Jun 2, 2024 · N220SW · Substantial damageNTSB WPR23LA147Accident · No injuriesClass 4 · LimitedFinal reportRobinson Helicopter R22 Beta · Midway, UTThe pilot’s failure to maintain aircraft control during a pinnacle landing that resulted in a hard landing and subsequent roll over.Apr 8, 2023 · N7530D · Substantial damageNTSB ERA23LA021Accident · Minor injuriesClass 4 · LimitedFinal reportRobinson Helicopter R44 · Daytona Beach, FLThe pilot’s misjudged landing point which resulted in a loss of control and collision with terrain.Oct 14, 2022 · N306MB · Substantial damageNTSB ANC21LA083Accident · Minor injuriesClass 4 · LimitedFinal reportMcdonnell Douglas Helicopter 369E · Delta Junction, AKThe pilot’s inability to maintain lateral control during the takeoff, which resulted in dynamic rollover. Contributing to the accident was the pilot’s decision to utilize an unsuitable landing area for flight operations.Sep 7, 2021 · N125KW · Substantial damageNTSB ANC21LA080Accident · No injuriesClass 4 · LimitedFinal reportRobinson Helicopter R44 II · Pelican, AKThe pilot’s loss of control while landing on a remote helipad.Aug 31, 2021 · N779DZ · Substantial damage
See all 37 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 e.case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e WHERE e.\"isDefiningEvent\" AND e.\"tier2Number\" = '097')
  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.