NTSB investigations, 1973
117 cases where the phase of flight was Uncontrolled descent.
Cases per year
| 1964 | 101 |
|---|---|
| 1965 | 119 |
| 1966 | 119 |
| 1967 | 125 |
| 1968 | 142 |
| 1969 | 127 |
| 1970 | 125 |
| 1971 | 136 |
| 1972 | 135 |
| 1973 | 117 |
| 1974 | 103 |
| 1975 | 99 |
| 1976 | 92 |
| 1977 | 118 |
| 1978 | 102 |
| 1979 | 93 |
| 1980 | 85 |
| 1981 | 97 |
| 1982 | 3 |
| 1983 | 5 |
| 1984 | 6 |
| 1985 | 14 |
| 1986 | 5 |
| 1987 | 9 |
| 1989 | 3 |
| 1990 | 6 |
| 1991 | 7 |
| 1992 | 9 |
| 1993 | 6 |
| 1994 | 2 |
| 1995 | 5 |
| 1997 | 2 |
| 1998 | 5 |
| 1999 | 4 |
| 2000 | 7 |
| 2001 | 5 |
| 2002 | 4 |
| 2003 | 3 |
| 2004 | 4 |
| 2005 | 3 |
| 2006 | 4 |
| 2007 | 1 |
| 2008 | 5 |
| 2009 | 1 |
| 2010 | 3 |
| 2011 | 4 |
| 2012 | 2 |
| 2013 | 2 |
| 2015 | 5 |
| 2016 | 1 |
| 2018 | 1 |
| 2019 | 2 |
| 2021 | 1 |
| 2022 | 1 |
| 2024 | 4 |
| 2025 | 2 |
| 2026 | 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 year(c.\"eventDate\") = 1973
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 year(c."eventDate") = 1973
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 IAD74AI037Accident · 1 fatalClosedBellanca 7KCAB · Munfordville, KYNTSB CHI74AC054Accident · 4 fatalClosedBeech A23A · Cabery, ILNTSB OAK74AP025Accident · 3 fatalClosedBeech C35 · Kings Ldg, CANTSB MKC74AK035Accident · 6 fatalClosedBeech 95-55 · New Salem, NDNTSB FTW74AF044Accident · 2 fatalClosedPiper PA-23 · Weatherford, OKNTSB OAK74DXQ17Accident · Minor injuriesClosedPiper PA-28R · Lake Tahoe, CANTSB MKC74AK032Accident · 1 fatalClosedBellanca 7GCBC · Lebanon, SDNTSB MKC74AK030Accident · 1 fatalClosedBeech A45 · Cabool, MONTSB SEA74FYE31Accident · Serious injuriesClosedCessna 337A · Maynard, WANTSB LAX74AL043Accident · 3 fatalClosedBeech 23 · Gorman, CANTSB FTW74AF037Accident · 1 fatalClosedCessna 180B · Enid, OKNTSB ANC74AA047Accident · 3 fatalClosedCessna 180C · Anchorage, AKNTSB FTW74AF036Accident · 1 fatalClosedPiper PA-28 · Slidell, LANTSB MKC74AK025Accident · 2 fatalClosedPiper PA-28R · Columbia, MONTSB LAX74AL038Accident · 1 fatalClosedBeech 95-C55 · Kayenta, AZNTSB MKC74AK023Accident · 1 fatalClosedTaylorcraft BC12-D · Fairbury, NENTSB MKC74AK022Accident · 2 fatalClosedMaule M4-220 · Independence, IANTSB DEN74AD022Accident · 1 fatalClosedPiper PA-24 · Roswell, NMNTSB MIA74AM040Accident · 1 fatalClosedPiper PA-28 · Columbus, MSNTSB FTW74AF028Accident · 1 fatalClosedN.American AT-6G · Paris, TXNTSB IAD74AI025Accident · 2 fatalClosedMooney M20C · Cromwell, KYNTSB FTW74AF035Accident · 2 fatalClosedCessna 172K · Cherokee, TXNTSB CHI74AC038Accident · 2 fatalClosedAerostar 601 · Raymond, OHNTSB LAX74AL029Accident · 5 fatalClosedRyan Navion F · Signal Hill, CANTSB MIA74AM039Accident · 4 fatalClosedCessna 172K · Kissimmee, FLNTSB MIA74AM034Accident · 2 fatalClosedPiper PA-28R · Fort Pierce, FLNTSB IAD74AI021Accident · 1 fatalClosedCessna 172 · Lewisburg, TNNTSB LAX74OL033Accident · 9 fatalClosedSikorsky S-62A · Requena, PeruNTSB FTW74AF021Accident · 1 fatalClosedCessna 182A · Quail, TXNTSB CHI74AC035Accident · 1 fatalClosedMooney M20A · Summitville, OHNTSB MKC74AK017Accident · 1 fatalClosedMooney M20E · Cassoday, KSNTSB CHI74AC032Accident · 1 fatalClosedCessna 150F · Columbiana, OHNTSB DEN74AD014Accident · 4 fatalClosedCessna 182 · Artesia, NMNTSB CHI74AC029Accident · 1 fatalClosedAerostar 601 · Chicago, ILNTSB MKC74AK014Accident · 1 fatalClosedTaylorcraft BC12-D · Slayton, MNNTSB LAX74AL024Accident · 1 fatalClosedPiper PA-22 · Grover City, CANTSB MKC74AK013Accident · 1 fatalClosedPiper PA-24 · Council Bluf, IANTSB OAK74FVD07Accident · 1 fatalClosedW.Marra Driftr · Fremont, CANTSB CHI74AC025Accident · 4 fatalClosedCessna 411 · Delavan, WINTSB ANC74AA035Accident · 2 fatalClosedCessna 150L · Birchwood, AKNTSB ANC74AA032Accident · 2 fatalClosedGlobe GC-1B · Eureka Lodge, AKNTSB MIA74AM022Accident · 4 fatalClosedCessna TU206C · Laurel, MSNTSB MKC74AK011Accident · 1 fatalClosedCessna 180 · Wessington, SDNTSB MKC74AK010Accident · 4 fatalClosedCessna 182B · Leawood, KSNTSB LAX74DUJ16Accident · No injuriesClosedGrumman G-164A · Arlington, AZNTSB NYC74AN014Accident · 1 fatalClosedCessna 172K · Huntingdon Vly, PANTSB MIA74AM014Accident · 4 fatalClosedPiper PA-24 · Gulfport, MSNTSB ANC74AA020Accident · 2 fatalClosedPiper PA-18 · Anaktuvuk Ps, AKNTSB CHI74AC012Accident · 1 fatalClosedCessna 182J · Chicago, ILNTSB LAX74AL008Accident · 1 fatalClosedLuscombe 8A · Ventura, CA