NTSB investigations, Place not recorded
182 cases where the phase of flight was Unknown.
Cases per year
| 1965 | 12 |
|---|---|
| 1966 | 9 |
| 1967 | 12 |
| 1968 | 6 |
| 1969 | 16 |
| 1970 | 11 |
| 1971 | 7 |
| 1972 | 15 |
| 1973 | 10 |
| 1974 | 10 |
| 1975 | 13 |
| 1976 | 4 |
| 1977 | 5 |
| 1978 | 15 |
| 1979 | 17 |
| 1980 | 10 |
| 1981 | 10 |
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\" = 'UN' AND c.\"eventCountry\" = 'USA'
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 c."eventStateOrRegion" = 'UN' AND c."eventCountry" = 'USA'
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 CHI82DAMS1Accident · 3 fatalClosedCessna 182A · Missing AircraftNTSB ANC82DA005Accident · 1 fatalClosedCessna 170B · Missing AircraftNTSB ANC81DA113Accident · 4 fatalClosedCessna 180H · Missing AircraftNTSB ANC81DA107Accident · 1 fatalClosedMooney 20 · Missing AircraftNTSB ANC81FA101Accident · 4 fatalClosedCessna 180H · Missing AircraftNTSB CHI81DAMS5Accident · 4 fatalClosedCessna 180 · Missing AircraftNTSB ANC81DA073Accident · 4 fatalClosedCessna A185F · Missing AircraftNTSB SEA81FAMS2Accident · 1 fatalClosedBeech A36-TC · Missing AircraftNTSB LAX81DAMS2Accident · 2 fatalClosedPiper PA-24 · Missing AircraftNTSB MIA81DA035Accident · 4 fatalClosedBeech C35 · Missing AircraftNTSB LAX81FAMS1Accident · 1 fatalClosedCessna 152 · Missing AircraftNTSB ANC81FA007Accident · 1 fatalClosedCessna U206 · Missing AircraftNTSB SEA80FAMS4Accident · 1 fatalClosedPiper PA-24 · Missing AircraftNTSB MIA80DA079Accident · 2 fatalClosedErco 415-D · Missing AircraftNTSB SEA80FAMS3Accident · 3 fatalClosedCessna 182G · Missing AircraftNTSB LAX80FAMS2Accident · 2 fatalClosedBeech T-34B · Missing AircraftNTSB NYC80FAMS4Accident · 1 fatalClosedCessna 150 · Missing AircraftNTSB FTW80FAMS4Accident · 3 fatalClosedMooney 720E · Missing AircraftNTSB FTW80FAMS2Accident · 5 fatalClosedBeech A36 · Missing AircraftNTSB MIA80DA043Accident · 1 fatalClosedBeech 58 · Missing AircraftNTSB MIA80DA023Accident · 4 fatalClosedPiper PA-23 · Missing AircraftNTSB MIA80DA020Accident · 1 fatalClosedBeech D50B · Missing AircraftNTSB MIA80DA009Accident · 1 fatalClosedPiper PA-23 · Missing AircraftNTSB MIA80FA007Accident · No injuriesClosedCessna 411 · Missing AircraftNTSB MIA80DA002Accident · 1 fatalClosedAero Comdr 500 · Missing AircraftNTSB MIA79DA124Accident · 3 fatalClosedCessna 182 · Missing AircraftNTSB NYC80FAMS1Accident · 2 fatalClosedCessna 310 · Missing AircraftNTSB LAX79FAMS3Accident · 2 fatalClosedPiper PA-28 · Missing AircraftNTSB MIA79FA100Accident · 2 fatalClosedCessna 150J · Missing AircraftNTSB MIA79FAMS2Accident · 2 fatalClosedCessna 182 · Missing AircraftNTSB MIA79FA075Accident · 4 fatalClosedPiper PA-28R · Missing AircraftNTSB MIA79DA072Accident · 1 fatalClosedBeech E18S · Missing AircraftNTSB OAK79FAMS4Accident · 1 fatalClosedPiper PA-28 · Missing AircraftNTSB SEA79FAMS3Accident · 2 fatalClosedCessna 172M · Missing AircraftNTSB CHI79DEP29Accident · 1 fatalClosedPiccard AX-3 · Missing AircraftNTSB OAK79FAMS1Accident · 4 fatalClosedPiper PA-23 · Missing AircraftNTSB MIA79DA043Accident · 2 fatalClosedBeech A23A · Missing AircraftNTSB MIA79DA019Accident · 4 fatalClosedPiper PA-23 · Missing AircraftNTSB ANC79DA021Accident · 2 fatalClosedLake LA-4 · Missing AircraftNTSB ANC78DA081Accident · 3 fatalClosedCessna 411 · Missing AircraftNTSB ANC78DA083Accident · 3 fatalClosedCessna 185 · Missing AircraftNTSB ANC78FA067Accident · 12 fatalClosedGrumman G-21A · Laboucher BayNTSB SEA78AM001Accident · 2 fatalClosedPiper PA-28 · Missing AircraftNTSB MIA78DA119Accident · 2 fatalClosedPiper PA-31 · Missing AircraftNTSB MIA78DA117Accident · 2 fatalClosedBeech 65 · Missing AircraftNTSB MIA78DA089Accident · 4 fatalClosedPiper PA-28 · Missing AircraftNTSB MIA78DA083Accident · 1 fatalClosedCessna 172 · Missing AircraftNTSB MIA78DA074Accident · 1 fatalClosedTed Smith 601 · Missing AircraftNTSB ANC78DA031Accident · 3 fatalClosedCessna 170B · Missing AircraftNTSB LAX78DUQ22Accident · No injuriesClosedBeech E18S · Unknown/Nr