NTSB investigations, 2001
18 cases where the phase of flight was Unknown.
Cases per year
| 1962 | 1 |
|---|---|
| 1963 | 1 |
| 1964 | 29 |
| 1965 | 26 |
| 1966 | 36 |
| 1967 | 48 |
| 1968 | 59 |
| 1969 | 31 |
| 1970 | 33 |
| 1971 | 22 |
| 1972 | 30 |
| 1973 | 28 |
| 1974 | 27 |
| 1975 | 40 |
| 1976 | 15 |
| 1977 | 30 |
| 1978 | 38 |
| 1979 | 41 |
| 1980 | 30 |
| 1981 | 27 |
| 1982 | 51 |
| 1983 | 46 |
| 1984 | 47 |
| 1985 | 41 |
| 1986 | 18 |
| 1987 | 23 |
| 1988 | 24 |
| 1989 | 20 |
| 1990 | 25 |
| 1991 | 15 |
| 1992 | 22 |
| 1993 | 22 |
| 1994 | 12 |
| 1995 | 13 |
| 1996 | 19 |
| 1997 | 16 |
| 1998 | 20 |
| 1999 | 23 |
| 2000 | 13 |
| 2001 | 18 |
| 2002 | 9 |
| 2003 | 12 |
| 2004 | 6 |
| 2005 | 11 |
| 2006 | 7 |
| 2007 | 10 |
| 2008 | 7 |
| 2009 | 10 |
| 2010 | 20 |
| 2011 | 16 |
| 2012 | 19 |
| 2013 | 14 |
| 2014 | 25 |
| 2015 | 27 |
| 2016 | 35 |
| 2017 | 37 |
| 2018 | 45 |
| 2019 | 26 |
| 2020 | 39 |
| 2021 | 60 |
| 2022 | 72 |
| 2023 | 40 |
| 2024 | 60 |
| 2025 | 73 |
| 2026 | 216 |
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\") = 2001
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 990)
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") = 2001
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 990)
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 SEA02LA037Accident · 2 fatalLimited investigationFinal reportMooney M20C · Netarts, ORReason for occurrence undetermined.NTSB LAX02LA027Accident · No injuriesLimited investigationFinal reportCessna 210K · North Las Vegas, NVThe failure of maintenance personnel to properly diagnose the cause of a reported maintenance discrepancy resulting in the airplane being released from an annual inspection with a worn hydraulic pump which lacked sufficient output to operate the landing gear.…NTSB SEA02FA011Accident · 1 fatalField investigationFinal reportCessna A185F · Lucile, IDThe pilot's failure to maintain adequate altitude above, and/or clearance with, mountainous terrain during night visual flight rules flight. Factors included mountainous terrain and dark night light conditions.NTSB NYC02LA019Accident · 2 fatalLimited investigationFinal reportNorton/Cloeren Titan Tornado II · New Windsor, MDLoss of power for an undetermined reason.NTSB MIA02FAMS1Accident · 1 fatalMissing aircraftFinal reportAyres S2RHG-T65The airplane and pilot are missing.NTSB FTW01LA180Accident · No injuriesLimited investigationFinal reportCessna 210 · Fort Smith, ARthe overload fracture of the left main landing gear actuator which resulted in the loss of all hydraulic fluid and led to a wheels up landing.NTSB CHI01FA257Accident · 2 fatalField investigationFinal reportSchweizer 269C · Waterloo, INAircraft control not maintained for undetermined reasons.NTSB ANC01LA097Accident · No injuriesLimited investigationFinal reportPiper PA-12 · Anchorage, AKThe loss of left brake pressure due to a missing hydraulic brake fitting.NTSB SEA01LA141Accident · No injuriesLimited investigationFinal reportTaylor Smith Mini DSA-1 · Sultan, WAThe separation/loss of the bolt and castle nut which connected the elevator bellcrank to the control stick pushrod resulting in a disconnect between the cockpit and the control surface and ultimately, the pilot's total loss of pitch control.NTSB CHI01LA236Accident · Serious injuriesLimited investigationFinal reportChampion 7KCAB · Brooklyn, MIThe forced landing for undetermined reasons. A factor to the accident was the corn crop.NTSB ANC01FA084Accident · 4 fatalField investigationFinal reportMaule M-5-235C · Bettles, AKThe pilot's inadvertent stall of the airplane during an unknown phase of flight.NTSB SEA01LA131Accident · 1 fatalLimited investigationFinal reportRockwell International S-2R · Nez Perce, IDThe pilot's failure to maintain terrain clearance for undetermined reasons.NTSB FTW01FA151Accident · 1 fatalField investigationFinal reportErcoupe 415-CD · McAlester, OKthe inadvertent stall by the pilot-in-command.NTSB SEA01LA102Accident · 1 fatalLimited investigationFinal reportPiper PA-18-105 Special · Wilbur, WAA collision with terrain for undetermined reasons.NTSB SEA01FA085Accident · No injuriesField investigationFinal reportMBB BO-105C · Medford, ORA leaking engine oil outlet line fitting in the #1 engine compartment, resulting in an oil fire in the engine compartment.NTSB SEA01FA070Accident · 2 fatalField investigationFinal reportCessna 182P · Fairfield, WAThe pilot's failure to maintain altitude and/or clearance over trees, resulting in a collision with trees, separation of a wing and uncontrolled collision with terrain. Factors included the pilot's inadequate preflight planning and preparation, dark night…NTSB SEA01LA042Accident · No injuriesLimited investigationFinal reportCessna 182R · Renton, WAThe worn condition of the hydraulic pump gears which resulted in a continuous running pump, subsequent pump motor overheat and eventually the tripping of the pump motor circuit breaker. An additional cause was the pilot's failure to verify that the landing…NTSB LAX01FAMS1Accident · 1 fatalMissing aircraftFinal reportCessna 172N · Monterey, CAUndetermined.