NTSB investigations, 1965
314 cases where the phase of flight was Takeoff.
Cases per year
| 1962 | 4 |
|---|---|
| 1963 | 5 |
| 1964 | 352 |
| 1965 | 314 |
| 1966 | 410 |
| 1967 | 449 |
| 1968 | 327 |
| 1969 | 364 |
| 1970 | 345 |
| 1971 | 383 |
| 1972 | 265 |
| 1973 | 299 |
| 1974 | 343 |
| 1975 | 315 |
| 1976 | 281 |
| 1977 | 333 |
| 1978 | 344 |
| 1979 | 321 |
| 1980 | 251 |
| 1981 | 289 |
| 1982 | 254 |
| 1983 | 247 |
| 1984 | 238 |
| 1985 | 192 |
| 1986 | 182 |
| 1987 | 187 |
| 1988 | 168 |
| 1989 | 162 |
| 1990 | 185 |
| 1991 | 191 |
| 1992 | 146 |
| 1993 | 140 |
| 1994 | 175 |
| 1995 | 197 |
| 1996 | 145 |
| 1997 | 154 |
| 1998 | 153 |
| 1999 | 175 |
| 2000 | 162 |
| 2001 | 148 |
| 2002 | 153 |
| 2003 | 162 |
| 2004 | 129 |
| 2005 | 143 |
| 2006 | 127 |
| 2007 | 150 |
| 2008 | 170 |
| 2009 | 205 |
| 2010 | 198 |
| 2011 | 188 |
| 2012 | 184 |
| 2013 | 153 |
| 2014 | 188 |
| 2015 | 184 |
| 2016 | 191 |
| 2017 | 195 |
| 2018 | 172 |
| 2019 | 197 |
| 2020 | 193 |
| 2021 | 179 |
| 2022 | 176 |
| 2023 | 204 |
| 2024 | 216 |
| 2025 | 204 |
| 2026 | 179 |
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 = 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 year(c."eventDate") = 1965
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 SEA66A0039Accident · 1 fatalClosedCessna 170B · Pendleton, ORNTSB SEA66F0194Accident · Minor injuriesClosedStinson 108-1 · Springfield, ORNTSB SEA66D0201Accident · No injuriesClosedMooney M20B · Featherville, IDNTSB NYC66D0400Accident · No injuriesClosedBeechcraft 35 · Montauk, NYNTSB LAX66D0192Accident · No injuriesClosedCessna 180 · Big Bear, CANTSB DEN66D0192Accident · No injuriesClosedFairchild F24 · Tucson, AZNTSB CHI66F0500Accident · No injuriesClosedMooney M-20E · Indianapolis, INNTSB FTW66D0451Accident · No injuriesClosedCessna 310D · Thornwell, LANTSB CHI66F0492Accident · No injuriesClosedBeechcraft N35 · Mishawaka, INNTSB MIA66D0341Accident · No injuriesClosedCessna 210 · Opa Locka, FLNTSB MIA66A0064Accident · No injuriesClosedBoeing B-727 · Tampa, FLNTSB MKC66F0374Accident · No injuriesClosedCessna 120 · Grand Forks, NDNTSB CHI66F0462Accident · No injuriesClosedCessna 310 · Chicago, ILNTSB ANC66D0084Accident · No injuriesClosedCessna 180 · Bethel, AKNTSB MIA66D0368Accident · No injuriesClosedPiper PA-28 · Muscle Shoals, ALNTSB NYC66D0362Accident · No injuriesClosedPiper PA-28 · Langhorne, PANTSB DEN66F0162Accident · Minor injuriesClosedLuscombe T-8F · Greely, CONTSB FTW66D0433Accident · No injuriesClosedPiper PA-28 · Stigler, OKNTSB MIA66F0340Accident · No injuriesClosedCessna 172E · Lake Wales, FLNTSB FTW66F0422Accident · No injuriesClosedAero Cmdr 520 · Oklahoma City, OKNTSB MKC66F0309Accident · No injuriesClosedBeechcraft J35 · Salina, KSNTSB FTW66D0407Accident · No injuriesClosedPiper PA-18 · Timbalier Bay, LANTSB DEN66F0165Accident · No injuriesClosedBeechcraft E35 · Woods Cross, UTNTSB OAK66D0127Accident · No injuriesClosedCessna 150 · Porterville, CANTSB MKC66F0333Accident · No injuriesClosedPiper PA-22 · Cape Girardeau, MONTSB CHI66F0378Accident · No injuriesClosedPiper PA-30 · Muncie, INNTSB FTW66F0376Accident · No injuriesClosedPiper PA-28 · Lafayette, LANTSB FTW66F0363Accident · No injuriesClosedCessna 150 · El Paso, TXNTSB SEA66F0164Accident · Minor injuriesClosedCessna 172F · Springfield, ORNTSB NYC66D0350Accident · No injuriesClosedCessna 180 · Mariaville, MENTSB MKC66F0321Accident · No injuriesClosedPiper PA-18 · Hope, NDNTSB MKC66D0330Accident · Minor injuriesClosedCessna 172 · Waukon, IANTSB MKC66D0308Accident · No injuriesClosedCessna 172 · Maple Plain, MNNTSB LAX66D0153Accident · No injuriesClosedPiper PA-28 · Fallbrook, CANTSB FTW66D0419Accident · No injuriesClosedPiper PA-28 · Levelland, TXNTSB DEN66D0150Accident · No injuriesClosedPiper PA-20 · Casper, WYNTSB MKC66F0328Accident · Minor injuriesClosedCessna 185C · Fenton, MONTSB NYC66D0292Accident · No injuriesClosedCessna 150 · Hartford, CTNTSB MIA66D0302Accident · No injuriesClosedPiper PA-24 · Chattanooga, TNNTSB LAX66D0131Accident · No injuriesClosedBoeing B-75N1 · Shafter, CANTSB CHI66D0426Accident · No injuriesClosedPiper PA-28 · Avon, OHNTSB DEN66D0158Accident · No injuriesClosedCessna 140 · Yuma, AZNTSB FTW66D0355Accident · No injuriesClosedBeechcraft 35-C33 · Lubbock, TXNTSB ANC66A0018Accident · No injuriesClosedCessna 180 · Chefornak, AKNTSB MIA66A0044Accident · Minor injuriesClosedDouglas DC-6 · Huntsville, ALNTSB FTW66D0402Accident · No injuriesClosedPiper PA-28 · Harlingen, TXNTSB MIA66D0283Accident · No injuriesClosedPiper PA-24 · Opa Locka, FLNTSB UNK66X0103Accident · No injuriesClosedCessna 170B · Manzanillo, MexicoNTSB NYC66D0301Accident · No injuriesClosedMooney M20C · Danbury, CTNTSB NYC66F0282Accident · No injuriesClosedCessna 150D · Farmingdale, NJ