NTSB investigations, 1973
482 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\") = 1973
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") = 1973
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 CHI74FEE44Accident · No injuriesClosedPiper PA-24 · Princeton, ILNTSB CHI74FEC24Accident · Minor injuriesClosedBeech G18S · Ann Arbor, MINTSB LAX74AL047Accident · 5 fatalClosedCessna 210-5 · Hesperia, CANTSB CHI74FET16Accident · Serious injuriesClosedPiper PA-24 · Fort Wayne, INNTSB DEN74FTM10Accident · No injuriesClosedCessna 205 · Bountiful, UTNTSB LAX74FUQ25Accident · No injuriesClosedLuscombe 8A · Pacoima, CANTSB OAK74AP024Accident · 3 fatalClosedCessna 150C · Stockton, CANTSB CHI74FEE42Accident · No injuriesClosedAmer Avco AA1 · Woodstock, ILNTSB NYC74FHA23Accident · No injuriesClosedCessna 177B · Manville, NJNTSB LAX74IL046Incident · No injuriesClosedCessna 310P · Riverside, CANTSB MIA74DKJ37Accident · No injuriesClosedCessna 182 · Hazel Green, ALNTSB MKC74DER27Accident · No injuriesClosedPiper J-3 · Aitkin, MNNTSB ANC74FAA24Accident · No injuriesClosedConvair L-13 · Fairbanks, AKNTSB OAK74AP023Accident · 2 fatalClosedPiper PA-22 · Concord, CANTSB MIA74FKA06Accident · Minor injuriesClosedCessna 177 · St Thomas, VINTSB CHI74AC051Accident · 2 fatalClosedBeech 95-C55 · Rochester, INNTSB DCA74AZ013Accident · 3 fatalClosedLockheed 1049H · Miami, FLNTSB MIA74FKG47Accident · Serious injuriesClosedAeronca 7AC · Dalton, GANTSB CHI74FEM29Accident · No injuriesClosedCessna 411 · Lansing, MINTSB CHI74FEE36Accident · No injuriesClosedPiper PA-28 · Chicago, ILNTSB FTW74DQG33Accident · No injuriesClosedPiper PA-25 · Floydada, TXNTSB LAX74DUG34Accident · No injuriesClosedBeech A35 · Boron, CANTSB OAK74DVD19Accident · Minor injuriesClosedBeech A35 · Stockton, CANTSB OAK74FVG20Accident · 1 fatalClosedSemco T · Chico, CANTSB NYC74FHD28Accident · 1 fatalClosedTaylor Mono · Millville, NJNTSB CHI74FEI17Accident · No injuriesClosedMooney M20B · Elyria, OHNTSB NYC74AN051Accident · 2 fatalClosedBeech E18S · Corapolis, PANTSB MIA74DLA27Accident · No injuriesClosedCessna 175 · Cherry Lake, FLNTSB LAX74DUJ35Accident · Minor injuriesClosedCessna 210 · Sedona, AZNTSB SEA74DYG21Accident · No injuriesClosedCessna 150 · Priest River, IDNTSB NYC74FHJ16Accident · No injuriesClosedBeech V35B · White Plains, NYNTSB MIA74DLD44Accident · Minor injuriesClosedRepublic RC-3 · Umatilla, FLNTSB MKC74AK029Accident · 1 fatalClosedPiper PA-28 · Cuba, MONTSB SEA74AYE28Accident · Serious injuriesClosedBeech A23-19 · Everett, WANTSB FTW74FPJ13Accident · Minor injuriesClosedAeronca 7AC · Wynnewood, OKNTSB DEN74DTC21Accident · No injuriesClosedMaule M4220C · Gillette, WYNTSB LAX74FUM13Accident · Minor injuriesClosedRyan ST-3KR · Ramona, CANTSB IAD74DKM29Accident · No injuriesClosedCessna 150 · Gastonia, NCNTSB CHI74DEP22Accident · Minor injuriesClosedCessna 172G · Elkhorn, WINTSB MKC74FCQ17Accident · No injuriesClosedPiper PA-24 · Larned, KSNTSB SEA74DYI09Accident · No injuriesClosedCessna 177 · North Bend, ORNTSB MIA74FLA22Accident · Minor injuriesClosedStinson 108 · Baker, FLNTSB FTW74AF033Accident · 1 fatalClosedCessna 150F · Plano, TXNTSB LAX74AL037Accident · 1 fatalClosedPiper PA-24 · San Dimas, CANTSB FTW74FQG28Accident · Minor injuriesClosedN.American AT-6 · Shallowater, TXNTSB FTW74AF031Accident · 2 fatalClosedCessna 150D · Melville, LANTSB ANC74AA045Accident · 3 fatalClosedCessna 170 · Anchorage, AKNTSB DEN74FQA26Accident · No injuriesClosedCessna 310P · Albuquerque, NMNTSB CHI74FEA20Accident · No injuriesClosedPiper PA-22 · Monroe City, INNTSB ANC74AA044Accident · Serious injuriesClosedPiper PA-18 · Anchorage, AK