NTSB investigations
2,085 cases where the phase of flight was Standing.
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 = 150)
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 = 150)
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 MIA70AM077Incident · No injuriesClosedBoeing 727 · Miami, FLNTSB MIA70FKG21Accident · No injuriesClosedCessna 172 · Atlanta, GANTSB MIA70FKA05Accident · No injuriesClosedHiller Acft FH1100 · San Juan, PRNTSB FTW70DRG24Accident · Serious injuriesClosedCessna 172 · San Benito, TXNTSB CHI70DGG12Accident · No injuriesClosedAero Comdr 680W · Van Wert, OHNTSB MKC70DCD22Accident · Serious injuriesClosedCessna 182F · Davenport, IANTSB NYC70AN096Accident · No injuriesClosedDehavilland DHC-6 · Windsor Lock, CTNTSB NYC70AN095Accident · No injuriesClosedSikorsky S-61L · Flushing, NYNTSB CHI70AC059Accident · Serious injuriesClosedBoeing 720 · Chicago, ILNTSB CHI70AC071Accident · Serious injuriesClosedBritish AC 1-11 · Cleveland, OHNTSB LAX70FUA13Accident · No injuriesClosedCessna 150 · Long Beach, CANTSB OAK70FJA03Accident · No injuriesClosedHiller Acft FH1100 · Waimea, HINTSB NYC70FHD04Accident · No injuriesClosedCessna 150 · Philadelphia, PANTSB CHI70DBJ09Accident · No injuriesClosedCessna 172 · Marshall, MINTSB ANC70AA060Accident · No injuriesClosedCessna 180F · Tok, AKNTSB CHI70AC045Accident · No injuriesClosedBeech 95-C55 · Columbus, OHNTSB NYC70AN070Accident · 1 fatalClosedCessna 337 · Apalachin, NYNTSB MIA70DKT01Accident · No injuriesClosedChampion 7BCM · Ft Lauderdale, FLNTSB DEN70D0153Accident · No injuriesClosedCessna 172 · Gallup, NMNTSB ANC70A0045Accident · Serious injuriesClosedHiller Acft FH1100 · Arctic Vil, AKNTSB FTW70D0312Accident · No injuriesClosedCessna 172 · Pryor, OKNTSB CHI70F0341Accident · No injuriesClosedCessna 150 · Waukesha, WINTSB SEA70D0132Accident · No injuriesClosedCessna 195A · Vernonia, ORNTSB LAX70D0155Accident · No injuriesClosedSchempp-H Cirrus · Pearblossom, CANTSB MKC70A0020Accident · Serious injuriesClosedCessna 402A · Decorah, IANTSB MIA70F0165Accident · No injuriesClosedPiper PA-22 · Arecibo, PRNTSB OAK70D0146Accident · No injuriesClosedPiper PA-28 · Carml Vally, CANTSB MKC70F0153Accident · No injuriesClosedRose A-M A-1 · Ottumwa, IANTSB NYC70A0029Accident · Serious injuriesClosedBoeing 707 · Damascus, SyriaNTSB ANC70A0022Accident · No injuriesClosedBell 47G-2 · Point Barrow, AKNTSB LAX70F0216Accident · Minor injuriesClosedCessna 172D · Los Angeles, CANTSB LAX70F0132Accident · No injuriesClosedCessna 150 · Huntingtn Bch, CANTSB ANC70A0016Accident · No injuriesClosedBell 204-B · Barrow, AKNTSB ANC70A0014Accident · Serious injuriesClosedPiper PA-18 · Sparrevohn, AKNTSB MIA70A0011Accident · 1 fatalClosedPiper J-3 · Lafayette, TNNTSB CHI70D0161Accident · No injuriesClosedPiper J-3 · Plymouth, MINTSB ANC70A0008Accident · No injuriesClosedHiller Acft FH1100 · Prudhoe Bay, AKNTSB MIA70D0294Accident · No injuriesClosedPiper PA-18 · Rebecca, GANTSB ANC70A0002Accident · No injuriesClosedHiller Acft FH1100 · Mcgrath, AKNTSB ANC69A0065Accident · Serious injuriesClosedCessna 185 · Kipnuk, AKNTSB ANC69A0061Accident · Minor injuriesClosedBell 47G-4A · Kenai, AKNTSB LAX70F0061Accident · No injuriesClosedHughes 269B · Irvine, CANTSB DIA69A0064Accident · No injuriesClosedBoeing 727 · Wash Natl Apt, DCNTSB NYC69F0464Accident · No injuriesClosedPiper J-3 · Lindenhurst, NYNTSB CHI69F0638Accident · Serious injuriesClosedCessna 150 · Lansing, MINTSB NYC69A0094Accident · No injuriesClosedPiper PA-23 · Portland, MENTSB NYC69D0410Accident · Serious injuriesClosedHughes 269B · New York, NYNTSB NYC69A0100Accident · Serious injuriesClosedDouglas DC-8 · E Boston, MANTSB DIA69I0054Incident · No injuriesClosedBoeing 727 · Raleigh, NCNTSB LAX69I0055Incident · Serious injuriesClosedDouglas DC-8 · Los Angeles, CA