Final NTSB investigations, Outside the U.S.
90 cases where the phase of flight was Takeoff.
Cases per year
| 1962 | 1 |
|---|---|
| 1964 | 9 |
| 1965 | 8 |
| 1966 | 6 |
| 1967 | 5 |
| 1968 | 9 |
| 1969 | 6 |
| 1970 | 5 |
| 1971 | 4 |
| 1972 | 5 |
| 1973 | 4 |
| 1974 | 7 |
| 1975 | 5 |
| 1976 | 2 |
| 1977 | 2 |
| 1978 | 1 |
| 1979 | 2 |
| 1980 | 1 |
| 1996 | 1 |
| 2007 | 1 |
| 2008 | 2 |
| 2014 | 1 |
| 2015 | 1 |
| 2020 | 1 |
| 2024 | 1 |
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.\"eventCountry\" <> 'USA'
AND c.\"completionStatus\" = 'Completed'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 300)
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."eventCountry" <> 'USA'
AND c."completionStatus" = 'Completed'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 300)
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 ANC24LA065Accident · No injuriesClass 4 · LimitedFinal reportBeech 65-B80 · Woleai Atoll, MicronesiaThe pilot's selection of an unsuitable takeoff area, resulting in a loss of directional control. Contributing to the accident was a flooded runway.NTSB ERA20CA191Accident · Minor injuriesClass 4 · Data collectionFinal reportBell UH 1N · Baghdad, IraqThe flight crew's inadequate situational awareness and failure to maintain adequate clearance from a security barrier during a night takeoff.NTSB GAA16CA071Accident · No injuriesData collectionFinal reportBell 206 · Christmas Island, KiribatiThe pilot's inadequate preflight inspection and the maintenance crew's failure to remove the tie down.NTSB ENG14IA029Incident · No injuriesIncident investigationFinal reportBombardier CRJ700 · Hodeida, YemenThe probable cause of the undercowl engine fire was the burn-through of the combustion chamber inner liner from the accumulation of dust that became molten during operating and infiltrated the combustion chamber thermal barrier coating causing it to spall off…NTSB WPR09LA069Accident · 1 fatalLimited investigationFinal reportHughes 369 · Honiara, Solomon IslandsThe pilot's failure to remove the tail rotor pedal lock before attempting flight, resulting in a loss of control.NTSB NYC08IA290Incident · No injuriesIncident investigationFinal reportBoeing 747-209B · Bogota, ColombiaThe combination of fan blade edge contour, variable blade trim, and the high altitude, which resulted in an engine surge.NTSB ANC08TA028Accident · Minor injuriesFinal reportDouglas DC-3T · McMurdo Station, AYThe captain's decision to lift off before attaining a proper airspeed, resulting in a loss of control during takeoff.NTSB LAX96LA111Accident · 1 fatalLimited investigationFinal reportBell 47G-2A1 · Honiara, Solomon Islandsthe pilot and the ship crew's failure to assure the tie down strap was removed prior to liftoff.NTSB JKR81AA000Accident · Serious injuriesClosedDouglas DC-10 · London, United KingdomNTSB MIA79DA105Accident · No injuriesClosedCessna 185 · Jamaica, WNNTSB UNK79X0111Accident · No injuriesClosedBoeing 747 · Frankfurt, GeorgiaNTSB UNK78X0124Accident · 2 fatalClosedBellanca 14-19 · L Mrcds, NiueNTSB MIA78OKT01Accident · No injuriesClosedGrumman G44A · Cat Cay, Burkina FasoNTSB MIA770KT33Accident · No injuriesClosedCessna C150 · Acklins Isl, Burkina FasoNTSB OAK76O0002Accident · No injuriesClosedBeech 35 · Punta Pscadro, MexicoNTSB MKC76OK004Accident · No injuriesClosedCessna 210 · Manila, RPNTSB CHI76IC025Incident · No injuriesClosedBoeing 747 · London, United KingdomNTSB SEA76OS001Accident · No injuriesClosedBeech B23 · Mons Lake, CanadaNTSB LAX75O0030Accident · No injuriesClosedBeech V35A · Bahia Sl Gonz, MexicoNTSB LAX75O0029Accident · No injuriesClosedPiper PA-28 · San Felipe, MexicoNTSB LAX75O0019Accident · No injuriesClosedBeech G35 · Bay Of L.A., MexicoNTSB MIA75OKT40Accident · No injuriesClosedAero Comdr 500 · Walker Cay, Burkina FasoNTSB NYC75ON007Accident · Serious injuriesClosedBoeing 707 · Beirut, LENTSB LAX75OL012Accident · No injuriesClosedBeech 35-B33 · Bahia De L.A., MexicoNTSB FTW75OF005Accident · No injuriesClosedCessna 210E · Punta Chivato, MexicoNTSB LAX74OL080Accident · Minor injuriesClosedBeech E33A · Bahia De L.A., MexicoNTSB UNK74X0108Accident · No injuriesClosedRepublic RC-3-1 · Moon R, CanadaNTSB FTW74DRG61Accident · No injuriesClosedPiper PA-28 · Jaco, SerbiaNTSB FTW73DRG82Accident · No injuriesClosedLockheed 18 · Sota L.Marina, MexicoNTSB UNK73X0113Accident · No injuriesClosedPiper PA-31 · Chihuahua Cty, MexicoNTSB FTW73DRA23Accident · No injuriesClosedAero Comdr 520 · Stan C, HONTSB LAX73OL010Accident · Minor injuriesClosedBell 206B · Ban Xon, LaosNTSB MIA73RKT18Accident · No injuriesClosedCessna 180D · Nassau, Burkina FasoNTSB UNK72X0114Accident · Minor injuriesClosedHoward DGA-15 · Anhien Lk Bc, CanadaNTSB OAK73DJY04Accident · Serious injuriesClosedLockheed 18 · Cebu City, RPNTSB NYC72IN165Incident · No injuriesClosedBoeing 747 · Madrid, SPNTSB OAK72DJY19Accident · Minor injuriesClosedBell 204B · Bouam Long, LaosNTSB MIA72OKA10Accident · No injuriesClosedPiper PA-31 · Anguilla, WNNTSB OAK72OJA01Accident · No injuriesClosedDouglas DC-8 · Yokota Ab, JANTSB FTW72DRG26Accident · No injuriesClosedCessna 185D · Pueblo Of Sf, MexicoNTSB DCA71RZ007Accident · No injuriesClosedBoeing 747 · Tokyo, JANTSB EU170AYZ03Accident · No injuriesClosedBeech D18S · Benghazi, LibyaNTSB DCA71R0005Accident · Minor injuriesClosedBoeing 707 · Tel Aviv, IcelandNTSB FTW71DRG44Accident · Minor injuriesClosedCessna 177 · El Arco, MexicoNTSB UNK70X0112Accident · No injuriesClosedPiper PA-12 · Dawson Cty, CanadaNTSB FTW70DPD10Accident · Minor injuriesClosedBeech D18S · Los Moachis, MexicoNTSB MIA70D0298Accident · No injuriesClosedCessna 170B · Freeport, Burkina FasoNTSB UNK70X0106Accident · No injuriesClosedBoeing 707 · Sydney, American SamoaNTSB UNK69X0134Accident · No injuriesClosedAeronca L-3 · Taegu, KSNTSB CAN70AF541Accident · Minor injuriesClosedDouglas DC-3A · Malcolm Is, Canada