NTSB investigations, FL
132 cases where the phase of flight was Uncontrolled descent.
Cases per year
| 1964 | 4 |
|---|---|
| 1965 | 5 |
| 1966 | 9 |
| 1967 | 6 |
| 1968 | 6 |
| 1969 | 6 |
| 1970 | 10 |
| 1971 | 11 |
| 1972 | 6 |
| 1973 | 5 |
| 1974 | 7 |
| 1975 | 10 |
| 1976 | 5 |
| 1977 | 7 |
| 1978 | 6 |
| 1979 | 5 |
| 1980 | 8 |
| 1981 | 5 |
| 1983 | 1 |
| 1985 | 1 |
| 1987 | 1 |
| 1995 | 1 |
| 1999 | 2 |
| 2000 | 1 |
| 2001 | 1 |
| 2008 | 1 |
| 2012 | 1 |
| 2024 | 1 |
Where
Latest cases
Query with SQL
duckdb -csv -c "WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e.\"tier1Number\" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e.\"isDefiningEvent\", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e.\"tier1Number\" GLOB '[1-9][0-9]*'
AND (e.\"isDefiningEvent\" OR e.case_mkey IN (SELECT \"mKey\" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE \"isPre1982\"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o.\"phaseOfFlightCode\", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o.\"phaseOfFlightCode\"
WHERE o.aircrafts_position = 1 AND o.\"occurrenceNumber\" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c.\"eventDate\", c.\"highestInjuryLevel\" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c.\"eventDate\" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
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.\"eventStateOrRegion\" = 'FL' AND c.\"eventCountry\" = 'USA'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 650)
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.
WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e."tier1Number" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e."isDefiningEvent", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e."tier1Number" GLOB '[1-9][0-9]*'
AND (e."isDefiningEvent" OR e.case_mkey IN (SELECT "mKey" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE "isPre1982"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o."phaseOfFlightCode", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o."phaseOfFlightCode"
WHERE o.aircrafts_position = 1 AND o."occurrenceNumber" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c."eventDate", c."highestInjuryLevel" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c."mKey" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c."eventDate" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
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."eventStateOrRegion" = 'FL' AND c."eventCountry" = 'USA'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 650)
ORDER BY c."eventDate" DESC, c."ntsbNumber" DESCRun it at the DuckDB prompt, or in any tool that reads Parquet over HTTPS. More ways to query the release are on Use the data.
NTSB DCA24LA200Accident · No injuriesClass 4 · LimitedFinal reportAergility Atlis 1 · Dunnellon, FLAn intermittent electrical failure that switched two motor controllers off, resulting in a loss of hover capability and impact with the ground.NTSB ERA12CA137Accident · No injuriesData collectionFinal reportRobinson Helicopter R22 Beta · St Petersburg, FLThe flight instructor's delayed remedial action during the pilot-receiving-instruction's practice autorotation that developed a high rate of descent. Contributing to the accident was the pilot-receiving-instruction's improper control inputs during the…NTSB NYC08LA264Accident · Minor injuriesLimited investigationFinal reportPiper PA-32RT-300T · Palakta, FLThe partial loss of engine power for undetermined reasons.NTSB MIA01LA181Accident · 1 fatalLimited investigationFinal reportFloback Lancair 4 · Kissimmee, FLthe failure of the pilot to maintain airspeed, which resulted in an inadvertent stall/spin, and subsequent impact with the terrain.NTSB MIA00FA118Accident · 1 fatalField investigationFinal reportPiper PA-24-260 · Panama City, FLThe pilot experiencing spatial disorientation while reversing course during a dark night while over water which resul;ted in an in-flight collision with water. A factor was the dark night lighting conditions.NTSB ATL00LA003Accident · Minor injuriesLimited investigationFinal reportRobinson R-22-MARINER · West Boca Raton, FLThe flight instructor's delayed response in taking remedial action during a practice autorotation. Factors were his inadequate planned approach and his improper use of powerplant controls.NTSB MIA99FA095Accident · 2 fatalField investigationFinal reportBeech AT11/18 · Tampa, FLthe pilot's failure to maintain control of the airplane resulting in an inadvertent stall at too low an altitude to allow for recovery.NTSB MIA95LA084Accident · No injuriesLimited investigationFinal reportBell 206L · Miami, FLThe failure of the pilot-in-command to maintain adequate engine power while maneuvering, his failure to take remedial action to recover from the resulting descent, and his decision to make a precautionary landing on the water.NTSB MIA87LA180Accident · No injuriesLimited investigationFinal reportTaylorcraft BL-65 · Deland, FLThe plt stated that just after take-off, the rt wing was lifted by a x-wind & the acft stalled & crashed into the trees. The plt stated that the accident could have been prevented if he had decreased the angle of attack after take-off & had made 'a turn into…NTSB MIA85LA151Accident · No injuriesLimited investigationFinal reportPiper PA-23-250 · Miami, FLThe plt stated that he permitted a non-plt pax to close the cabin door & he, the plt did not check it. Shortly after liftoff the landing gear was retracted & the door popped open. The pax turned in his seat to close the door & bumped the yoke forcing the acft…NTSB MIA84FA038Accident · 1 fatalField investigationFinal reportCessna 172RG · Cross City, FLWhile in the vicinity of Cross City the plt requested VFR flt following from jacksonville ARTCC. While he was in radio &radar contact, the controller suddenly lost radar contact with the flt. Radar indicated that the acft made a rapid descent from the cruise…NTSB MIA82FA112Accident · 2 fatalClosedMitsubishi MU-2B · Jacksonville, FLNTSB ATL81FA117Accident · 1 fatalClosedCessna 150 · Homestead, FLNTSB MIA81FA096Accident · 3 fatalClosedBeech B95 · Titusville, FLNTSB MIA81FLD53Accident · Serious injuriesClosedCessna 172 · Tampa, FLNTSB MIA81FA094Accident · 3 fatalClosedPiper PA-32R · Naples, FLNTSB MIA81FA021Accident · 3 fatalClosedCessna 182 · Oak Hill, FLNTSB MIA81FA010Accident · 3 fatalClosedPiper PA-28R · Jacksonville, FLNTSB MIA81FA007Accident · 2 fatalClosedPiper 601P · Wilma, FLNTSB ATL81FA003Accident · 1 fatalClosedCessna R182 · Treasure Is, FLNTSB MIA80FA054Accident · 1 fatalClosedCessna 150F · Hollywood, FLNTSB MIA80FA045Accident · 1 fatalClosedPiper PA-23 · Bradley Jct, FLNTSB MIA80FA038Accident · 2 fatalClosedCessna 140 · Homestead, FLNTSB MIA80FA032Accident · 2 fatalClosedAero Comdr 680FL · Sebring, FLNTSB MIA79FA131Accident · 1 fatalClosedPiper PA-28 · Orlando, FLNTSB MIA79FA125Accident · 1 fatalClosedHughes 369HS · Jacksonville, FLNTSB MIA79FLD55Accident · 1 fatalClosedSchleicher ASW-17 · Oviedo, FLNTSB MIA79FA066Accident · 3 fatalClosedBeech 35A33 · St Petersburg, FLNTSB MIA79FA053Accident · 2 fatalClosedPiper PA-23 · St Petersburg, FLNTSB MIA79FA032Accident · 2 fatalClosedBeech E33 · Arcadia, FLNTSB MIA79FA024Accident · 1 fatalClosedGrumman AA-5B · Marianna, FLNTSB MIA79FA015Accident · 3 fatalClosedCessna 172N · Ormond Beach, FLNTSB MIA78FA102Accident · 2 fatalClosedBellanca 17-31A · Lake City, FLNTSB MIA78FA092Accident · 2 fatalClosedPiper PA-28R · Hernando Beach, FLNTSB MIA78FA054Accident · 1 fatalClosedPiper PA-31 · Leesburg, FLNTSB MIA78FA020Accident · 2 fatalClosedCessna 150 · Plantation, FLNTSB MIA78FA017Accident · 1 fatalClosedPiper PA-28 · Lakeport, FLNTSB MIA77FA088Accident · 4 fatalClosedCessna 172 · Lauderhill, FLNTSB MIA77FLA36Accident · 1 fatalClosedBensen B-8-MG · St Augustine, FLNTSB MIA77FKT41Accident · Minor injuriesClosedNaval Fcty N3N-3 · Immokalee, FLNTSB MIA77FA043Accident · 1 fatalClosedCessna 150F · Ormond Beach, FLNTSB MIA77FA040Accident · 2 fatalClosedBeech 35-C33 · Fort Myers, FLNTSB MIA77FA020Accident · 3 fatalClosedBeech B95A · Panacea, FLNTSB MIA77FA016Accident · 5 fatalClosedPiper PA-23 · Clewiston, FLNTSB MIA77DA015Accident · 2 fatalClosedCessna 337G · Summer Haven, FLNTSB MIA77FA013Accident · 2 fatalClosedPiper PA-28R · Tallahassee, FLNTSB MIA76FA008Accident · 1 fatalClosedCessna 150L · Orlando, FLNTSB MIA76AM053Accident · 5 fatalClosedNavion B · Cross City, FLNTSB MIA76AM049Accident · 3 fatalClosedMooney M20C · Cross City, FLNTSB MIA76AM040Accident · 3 fatalClosedPiper PA-28R · Lake Hamilton, FL