NTSB investigations, Outside the U.S.
565 cases where the phase of flight was Initial climb.
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.\"eventCountry\" <> 'USA'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 350)
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."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 350)
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 DCA25WA205IncidentClass 5 · ForeignBoeing 737-800 · Uberlândia, BrazilNTSB GAA25WA127AccidentClass 5 · ForeignCessna 152 · Antanhol, PortugalNTSB DCA25WA164Incident · No injuriesClass 5 · ForeignBoeing 767 · Managua, NicaraguaNTSB GAA25WA115AccidentClass 5 · ForeignJetstreaM 32 · Coxen Hole, HondurasNTSB ENG25WA034OccurrenceClass 5 · ForeignAirbus A321 · Ciudad de México, MexicoNTSB DCA25WA154Incident · No injuriesClass 5 · ForeignBoeing 737-400 · Bogotá, ColombiaNTSB ENG25WA024Incident · No injuriesClass 5 · ForeignAirbus A380 · Dubai, United Arab EmiratesNTSB GAA25WA073Accident · 3 fatalClass 3 · ForeignCessna 550 · Baruta, VenezuelaNTSB ENG25WA015IncidentClass 5 · ForeignBombardier BD100 1A10 · Nassau, BahamasNTSB GAA25WA068Accident · No injuriesClass 5 · ForeignThrush S2R · Uberaba, state of Minas Gerais, MG, BrazilNTSB GAA25WA049Accident · 1 fatalClass 5 · ForeignRockwell International 112TCA · Fife, United KingdomNTSB DCA25WA089Incident · No injuriesClass 5 · ForeignBoeing 737-832 · Belize City, BelizeNTSB DCA25WA087IncidentClass 5 · ForeignSikorsky S-92A · Hammerfest, NorwayNTSB DCA25WA024Incident · No injuriesClass 5 · ForeignBoeing 747 · Incheon, South KoreaNTSB ENG25WA022IncidentClass 5 · ForeignBoeing 737 · Karachi, PakistanNTSB DCA25WA246Incident · No injuriesForeign investigationEmbraer ERJ190 · Brisbane, AustraliaNTSB GAA24WA292Accident · No injuriesClass 5 · ForeignBell 206 · Arroyo Agua, Dominican RepublicNTSB DCA24WA311IncidentClass 5 · ForeignBoeing 737 · Hurghada, EgyptNTSB ENG24WA034IncidentClass 5 · ForeignAirbus A321 · Atyrau, KazakhstanNTSB ENG24WA033IncidentClass 5 · ForeignAirbus A321 · La Paz, MexicoNTSB ENG24WA032IncidentClass 5 · ForeignAirbus A350 · Hong Kong, Hong Kong SAR ChinaNTSB GAA24WA267Accident · No injuriesClass 5 · ForeignRobinson R66 · Poblacion, ChileNTSB GAA24WA252Accident · 1 fatalClass 5 · ForeignCessna 337 · Deer Lake, CanadaNTSB ENG24WA030OccurrenceClass 5 · ForeignBoeing 737-700 · Kigali, RwandaNTSB DCA24WA244Accident · 19 fatalClass 3 · ForeignBombardier CL600 2B19 · Kathmandu, NepalNTSB GAA24WA258Accident · 3 fatalClass 5 · ForeignCessna 421C · Tofino, CanadaNTSB DCA24WA220IncidentClass 5 · ForeignBoeing 737-8 · Seoul, South KoreaNTSB GAA24WA221Accident · 1 fatalClass 5 · ForeignDe Havilland DHC2 · Red Lake, CanadaNTSB GAA24WA175Accident · 1 fatalClass 5 · ForeignCessna 182 · Kerestinec, CroatiaNTSB GAA24WA176Accident · 1 fatalClass 5 · ForeignZenair Unknown · Caceres, SpainNTSB GAA24WA181Incident · No injuriesClass 3 · ForeignCessna 550 · Basseterre, St. Kitts & NevisNTSB ENG24LA014Incident · No injuriesClass 3 · LimitedFinal reportBoeing 787 · Singapore, SingaporeThe uncontained left engine failure was caused by the failure and liberation of the HPT stage 1 aft blade retainer as a result of a fatigue crack in the upper collet radius that originated from a surface connected cluster of Oxide/Carbonitride/Nitride/Carbide…NTSB GAA24WA162Accident · 3 fatalClass 5 · ForeignCessna 406 · Windhoek City, NamibiaNTSB GAA24WA147Accident · Minor injuriesClass 5 · ForeignBeech 200 · Goose Bay Newfoundland, CanadaNTSB GAA24WA130Incident · No injuriesClass 5 · ForeignCessna 172 · Grenchen, SwitzerlandNTSB GAA24WA128Accident · 1 fatalClass 5 · ForeignCirrus SR22 · Cambridgeshire, United KingdomNTSB GAA24WA121Accident · 1 fatalClass 5 · ForeignRans S12 · Tabacundo, EcuadorNTSB DCA24WA119IncidentClass 5 · ForeignEmbraer ERJ190 · Lungga, Solomon IslandsNTSB GAA24WA090Accident · No injuriesClass 5 · ForeignBritten Norman BN2A · Puerto Baquerizo Moreno, EcuadorNTSB GAA24WA092Accident · Minor injuriesClass 5 · ForeignCessna 560 · Tripoli, LibyaNTSB GAA24WA075Accident · No injuriesClass 5 · ForeignCessna 172 · Speck-Fehraltorf, SwitzerlandNTSB GAA24WA065Accident · 1 fatalClass 3 · ForeignCessna 421 · Valledupar, ColombiaNTSB GAA24WA066Accident · 4 fatalClass 3 · ForeignBellanca 17-30A · Bequia, St. Vincent & GrenadinesNTSB ENG24WA010Incident · No injuriesClass 5 · ForeignAirbus A321 · Kobenhavn, DenmarkNTSB GAA24WA039Accident · 1 fatalClass 5 · ForeignCessna 402B · Panama City, PanamaNTSB GAA24WA034Accident · 3 fatalClass 5 · ForeignCessna 421C · Sunshine Coast, AustraliaNTSB GAA24WA032Accident · 2 fatalClass 5 · ForeignCessna 150 · Ponte de Sor, PortugalNTSB ENG24WA008Incident · No injuriesClass 3 · ForeignAirbus A321 · Islamabad, PakistanNTSB GAA24WA022Accident · 12 fatalClass 5 · ForeignCessna 208 · Rio Branco, BrazilNTSB GAA24WA019Accident · Serious injuriesClass 5 · ForeignCessna 208 · Barwon Heads Geelong, Australia