NTSB investigations, 1965
555 cases where the phase of flight was Initial climb.
Cases per year
| 1962 | 3 |
|---|---|
| 1963 | 4 |
| 1964 | 505 |
| 1965 | 555 |
| 1966 | 582 |
| 1967 | 587 |
| 1968 | 577 |
| 1969 | 582 |
| 1970 | 552 |
| 1971 | 541 |
| 1972 | 507 |
| 1973 | 482 |
| 1974 | 556 |
| 1975 | 543 |
| 1976 | 521 |
| 1977 | 556 |
| 1978 | 566 |
| 1979 | 502 |
| 1980 | 505 |
| 1981 | 499 |
| 1982 | 490 |
| 1983 | 507 |
| 1984 | 466 |
| 1985 | 418 |
| 1986 | 394 |
| 1987 | 380 |
| 1988 | 368 |
| 1989 | 348 |
| 1990 | 351 |
| 1991 | 324 |
| 1992 | 306 |
| 1993 | 307 |
| 1994 | 292 |
| 1995 | 289 |
| 1996 | 244 |
| 1997 | 272 |
| 1998 | 266 |
| 1999 | 239 |
| 2000 | 221 |
| 2001 | 219 |
| 2002 | 200 |
| 2003 | 227 |
| 2004 | 210 |
| 2005 | 204 |
| 2006 | 180 |
| 2007 | 202 |
| 2008 | 212 |
| 2009 | 173 |
| 2010 | 162 |
| 2011 | 177 |
| 2012 | 193 |
| 2013 | 122 |
| 2014 | 130 |
| 2015 | 165 |
| 2016 | 141 |
| 2017 | 149 |
| 2018 | 155 |
| 2019 | 146 |
| 2020 | 112 |
| 2021 | 166 |
| 2022 | 161 |
| 2023 | 163 |
| 2024 | 143 |
| 2025 | 134 |
| 2026 | 106 |
Where
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 year(c.\"eventDate\") = 1965
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 year(c."eventDate") = 1965
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 MIA66F0393Accident · No injuriesClosedChampion 7FC · Kissimee, FLNTSB CHI66F0509Accident · No injuriesClosedMooney M20B · Springfield, ILNTSB ANC66A0047Accident · 3 fatalClosedPiper PA-14 · Anchorage, AKNTSB OAK66F0176Accident · No injuriesClosedPiper PA-23 · Reno, NVNTSB MIA66S0003Accident · 1 fatalClosedMooney M20E · Georgetwn, Burkina FasoNTSB MIA66F0394Accident · Serious injuriesClosedPiper PA-22 · Wilmington, NCNTSB MIA66F0350Accident · No injuriesClosedCessna 150 · Waynesboro, MSNTSB MIA66A0071Accident · No injuriesClosedPiper PA-23 · Huntsville, ALNTSB ANC66A0025Accident · No injuriesClosedCessna 180 · Bethel, AKNTSB ANC66A0024Accident · No injuriesClosedGrumman G-73 · Bethel, AKNTSB UNK66X0117Accident · No injuriesClosedBeech D18S · Ixcalak, MexicoNTSB NYC66F0429Accident · No injuriesClosedPiper PA-28 · Narrowsburg, NYNTSB LAX66D0199Accident · No injuriesClosedCessna 140 · San Diego, CANTSB FTW66F0460Accident · Serious injuriesClosedCessna 172A · College Sta, TXNTSB NYC66F0430Accident · Minor injuriesClosedPiper JC3-65 · Pepperell, MANTSB DEN66A0049Accident · Minor injuriesClosedHiller UH12L4 · Albuquerque, NMNTSB CHI66D0472Accident · No injuriesClosedLuscombe 8A · Waldo, OHNTSB NYC66D0453Accident · Minor injuriesClosedErcoupe 415-C · Londonderry Tp, PANTSB MKC66D0341Accident · No injuriesClosedCessna 150 · St Charles, MONTSB SEA66F0182Accident · Minor injuriesClosedTaylorcraft DC0-65 · Kent, WANTSB FTW66A0055Accident · No injuriesClosedDouglas A-26 · San Antonio, TXNTSB CHI66F0482Accident · No injuriesClosedPiper PA-28 · Lombard, ILNTSB OAK66A0026Accident · 1 fatalClosedMidget-Mstg MM-1 · Hollister, CANTSB MIA66F0387Accident · 1 fatalClosedAeronca 7AC · Claxton, GANTSB MIA66F0337Accident · Minor injuriesClosedLuscombe 8A · Orlando, FLNTSB OAK66F0147Accident · No injuriesClosedPiper PA-28 · Exeter, CANTSB CHI66F0505Accident · Minor injuriesClosedTaylorcraft DCO-65 · Waupaca, WINTSB OAK66F0153Accident · No injuriesClosedCessna 170 · Independence, CANTSB FTW66F0400Accident · No injuriesClosedBeechcraft D35 · Shreveport, LANTSB MKC66F0226Accident · Minor injuriesClosedRyan PT-22 · Valley City, NDNTSB FTW66F0398Accident · No injuriesClosedPiper PA-28 · Elpaso, TXNTSB MIA66F0311Accident · No injuriesClosedBeechcraft G-35 · Orlando, FLNTSB NYC66F0371Accident · No injuriesClosedPiper PA-32 · Tupper Lake, NYNTSB NYC66A0055Accident · 1 fatalClosedCessna 150 · Fairfield, NJNTSB MKC66F0303Accident · Minor injuriesClosedCessna 175 · Mullen, NENTSB SEA66D0162Accident · No injuriesClosedCessna 140A · Seattle, WANTSB MKC66F0318Accident · Minor injuriesClosedPiper PA-22 · Salina, KSNTSB LAX66F0181Accident · No injuriesClosedPiper PA-22 · 29 Palms, CANTSB CHI66F0401Accident · Serious injuriesClosedLuscombe 8A · Salem, MINTSB ANC66F0078Accident · Serious injuriesClosedPiper PA-18 · Wasilla, AKNTSB FTW66F0395Accident · No injuriesClosedBeech 35-33 · Tyler, TXNTSB LAX66F0165Accident · Serious injuriesClosedGreat Lakes 2T-1A · Tehachapi, CANTSB SEA66F0180Accident · Minor injuriesClosedPiper PA-18A · Huntley, MTNTSB FTW66F0394Accident · No injuriesClosedAero Cmdr 560 · Addison, TXNTSB NYC66F0326Accident · No injuriesClosedStearman Hamond · Honesdale, PANTSB FTW66F0391Accident · Serious injuriesClosedStinson V-77 · Lake Dallas, TXNTSB CHI66F0422Accident · No injuriesClosedPiper J-3 · Laurium, MINTSB DEN66D0152Accident · No injuriesClosedCessna 150 · Carlsbad, NMNTSB OAK66F0169Accident · No injuriesClosedPiper PA-28 · Honolulu, HINTSB SEA66F0151Accident · No injuriesClosedBeechcraft D-17S · Tacoma, WA