NTSB investigations
18,851 cases where the phase of flight was Maneuvering.
Cases, newest first
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.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 450)
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."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 450)
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 DEN73DTE37Accident · No injuriesClosedGrumman G-164 · Joes, CONTSB NYC73FHJ09Accident · Minor injuriesClosedScorpion 1 · Crotn On Hudsn, NYNTSB MKC73DCQ18Accident · No injuriesClosedMini-Ace CA-61 · Garden City, KSNTSB MIA73FKG43Accident · 1 fatalClosedPiper J3C-65 · Lagrange, GANTSB MKC73FCD33Accident · 1 fatalClosedPiper PA-18 · Guthrie Ctr, IANTSB MIA73AM039Accident · 1 fatalClosedCessna 172L · Deerfield Bch, FLNTSB FTW73DQG20Accident · No injuriesClosedCallair A-9A · Turkey, TXNTSB NYC73FNA22Accident · No injuriesClosedCessna 150 · Bedford, MANTSB FTW73FPG28Accident · 1 fatalClosedSnow S2A · Chatfield, ARNTSB FTW73DRG35Accident · No injuriesClosedPiper PA-28 · Cypress Mill, TXNTSB MKC73AK024Accident · 1 fatalClosedAeronca 7AC · Ulysses, KSNTSB MIA73FKJ24Accident · No injuriesClosedPiper PA-18 · Tuscaloosa, ALNTSB MIA73FLT08Accident · 1 fatalClosedPiper PA-25 · Newbern, TNNTSB MIA73FKQ17Accident · 1 fatalClosedCessna A188B · Alligator, MSNTSB DEN73FTE29Accident · Serious injuriesClosedBeech C23 · Larkspur, CONTSB SEA73FYG13Accident · 1 fatalClosedBell 47-G2A · Selah, WANTSB SEA73DYI04Accident · No injuriesClosedPiper PA-25 · Glide, ORNTSB SEA73FYE15Accident · Serious injuriesClosedHughes 269A · Elma, WANTSB LAX73DUJ22Accident · No injuriesClosedCessna A188 · Yuma, AZNTSB FTW73FRJ15Accident · Minor injuriesClosedBoeing E75N1 · Mcdade, LANTSB DEN73FTM08Accident · Serious injuriesClosedLuscombe 8C · Ogden, UTNTSB NYC73FHM12Accident · No injuriesClosedBell 47G-4A · Cranbury, NJNTSB OAK73DVAI8Accident · Minor injuriesClosedPiper PA-25 · Laton, CANTSB FTW73FPA11Accident · Serious injuriesClosedPiper PA-32 · Dallas, TXNTSB FTW73FRJ17Accident · 1 fatalClosedAero Comdr A-9 · Garland City, ARNTSB MIA73DLD15Accident · No injuriesClosedPiper PA-28 · Seminole, FLNTSB CHI73FEP10Accident · Serious injuriesClosedPiper PA-25 · Suring, WINTSB FTW73FPG19Accident · Minor injuriesClosedBoeing E75 · Elaine, ARNTSB SEA73DYA12Accident · No injuriesClosedPiper PA-25 · Amer Falls, IDNTSB CHI73AC031Accident · 1 fatalClosedBeech V35B · Newberry, MINTSB SEA73FYA11Accident · 1 fatalClosedPiper PA-25 · St. Anthony, IDNTSB SEA73FYA10Accident · No injuriesClosedPiper PA-25 · Ontario, ORNTSB OAK73DVD16Accident · No injuriesClosedWeatherly 201B · Holt, CANTSB NYC73FIG12Accident · Serious injuriesClosedBoeing A75 · Vienna, MDNTSB MIA73FKQ12Accident · No injuriesClosedCessna A188A · Calhoun City, MSNTSB MIA73FKG33Accident · Serious injuriesClosedHughes 269A · Elberton, GANTSB MIA73DKQ14Accident · Serious injuriesClosedCessna A188A · Rulville, MSNTSB MIA73DKQ13Accident · Minor injuriesClosedCallair A-9 · Edwards, MSNTSB MIA73DLG18Accident · No injuriesClosedPiper PA-18A · Mccoll, SCNTSB CHI73DEV13Accident · No injuriesClosedAero Comdr A-9B · Jacksonville, ILNTSB MIA73DKQ11Accident · No injuriesClosedGrumman G-164A · Woodville, MSNTSB LAX73FUQ09Accident · Serious injuriesClosedPiper PA-25 · Lompoc, CANTSB CHI73AC029Accident · 2 fatalClosedCessna 150 · Geneva, OHNTSB FTW73FQD08Accident · Serious injuriesClosedPiper PA-18 · Canutillo, TXNTSB MIA73DKQ10Accident · No injuriesClosedPiper PA-25 · Bobo, MSNTSB FTW73DRG15Accident · Serious injuriesClosedPiper PA-25 · Port Lavaca, TXNTSB ANC73AAO16Accident · No injuriesClosedHiller Acft FH1100 · Juneau, AKNTSB NYC73FLJ09Accident · Serious injuriesClosedAero Comdr A-9 · Whitakers, NCNTSB MIA73FKJ17Accident · Minor injuriesClosedCallair A-9B · Samson, ALNTSB MIA73DKQ08Accident · Serious injuriesClosedBoeing E75 · Greenwood, MS