NTSB investigations, 1975
179 cases where the phase of flight was Taxi.
Cases per year
| 1962 | 6 |
|---|---|
| 1963 | 6 |
| 1964 | 346 |
| 1965 | 306 |
| 1966 | 372 |
| 1967 | 381 |
| 1968 | 215 |
| 1969 | 200 |
| 1970 | 212 |
| 1971 | 189 |
| 1972 | 181 |
| 1973 | 177 |
| 1974 | 169 |
| 1975 | 179 |
| 1976 | 151 |
| 1977 | 156 |
| 1978 | 184 |
| 1979 | 134 |
| 1980 | 132 |
| 1981 | 113 |
| 1982 | 127 |
| 1983 | 104 |
| 1984 | 96 |
| 1985 | 73 |
| 1986 | 70 |
| 1987 | 87 |
| 1988 | 83 |
| 1989 | 73 |
| 1990 | 74 |
| 1991 | 49 |
| 1992 | 55 |
| 1993 | 60 |
| 1994 | 51 |
| 1995 | 56 |
| 1996 | 59 |
| 1997 | 64 |
| 1998 | 65 |
| 1999 | 55 |
| 2000 | 57 |
| 2001 | 57 |
| 2002 | 62 |
| 2003 | 49 |
| 2004 | 48 |
| 2005 | 52 |
| 2006 | 51 |
| 2007 | 49 |
| 2008 | 64 |
| 2009 | 45 |
| 2010 | 41 |
| 2011 | 45 |
| 2012 | 41 |
| 2013 | 44 |
| 2014 | 33 |
| 2015 | 43 |
| 2016 | 38 |
| 2017 | 45 |
| 2018 | 50 |
| 2019 | 51 |
| 2020 | 25 |
| 2021 | 47 |
| 2022 | 52 |
| 2023 | 48 |
| 2024 | 45 |
| 2025 | 58 |
| 2026 | 48 |
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\") = 1975
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 250)
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") = 1975
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 250)
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 DEN76FQA32Accident · No injuriesClosedPiper PA-34 · Albuquerque, NMNTSB NYC76IN058Incident · No injuriesClosedPiper PA-23 · Boston, MANTSB MIA76DLD35Accident · No injuriesClosedGrumman G-164A · Zellwood, FLNTSB NYC76AN057Accident · No injuriesClosedDouglas DC-8 · Jamaica, NYNTSB CHI76DEA21Accident · No injuriesClosedPiper PA-28 · Zionsville, INNTSB FTW76FRD26Accident · Serious injuriesClosedCessna 185A · Delcambre, LANTSB MIA76DKJ38Accident · No injuriesClosedPiper PA-28 · Anniston, ALNTSB OAK76DVG36Accident · No injuriesClosedCessna 175A · Fair Oaks, CANTSB CHI76FEI16Accident · No injuriesClosedCessna 150 · Elyria, OHNTSB ANC76AA056Accident · Serious injuriesClosedBoeing 747 · Anchorage, AKNTSB LAX75DUG28Accident · No injuriesClosedPiper PA-22 · Chino, CANTSB OAK76DVA32Accident · No injuriesClosedCessna 182P · Visalia, CANTSB MIA76FLD31Accident · No injuriesClosedGrumman G-164A · Zellwood, FLNTSB FTW76AF049Accident · No injuriesClosedBeech D18S · Mineral Wells, TXNTSB IAD76DKM21Accident · Serious injuriesClosedCessna 182 · Mooresville, NCNTSB DEN76FTC21Accident · No injuriesClosedCessna 172C · Casper, WYNTSB MIA76FKG37Accident · No injuriesClosedPiper PA-28R · Brunswick, GANTSB OAK76O0003Accident · No injuriesClosedTwin Engine D-16 · Bahia Concpcn, MexicoNTSB CHI76FEE35Accident · No injuriesClosedPiper PA-28R · Chicago, ILNTSB DEN76FQA29Accident · No injuriesClosedTaylorcraft BC12-D · Farmington, NMNTSB IAD76AI025Accident · No injuriesClosedBeech E18S · Lexington, KYNTSB LAX76DUG26Accident · No injuriesClosedCessna 150 · Apple Valley, CANTSB MKC76FCA14Accident · No injuriesClosedTed Smith 610P · Chesterfield, MONTSB ANC76AA049Accident · No injuriesClosedDouglas DC-3 · Kenai, AKNTSB LAX76DUM12Accident · Minor injuriesClosedCessna 177 · San Diego, CANTSB MKC76DER37Accident · No injuriesClosedCessna 210G · St Cloud, MNNTSB MKC76DCJ17Accident · No injuriesClosedPiper PA-28R · Lincoln, NENTSB OAK76DXQ24Accident · No injuriesClosedCessna 195 · Elko, NVNTSB MIA76FLA20Incident · No injuriesClosedPiper PA-32 · Jacksonville, FLNTSB NYC76DHJ09Accident · No injuriesClosedCessna 150 · Amityville, NYNTSB FTW76DPJ14Accident · No injuriesClosedCessna 180B · Blackwell, OKNTSB CHI76FEM18Accident · No injuriesClosedCessna 172 · Kalamazoo, MINTSB MKC76FCA13Accident · No injuriesClosedCessna 150L · Fenton, MONTSB FTW76FPD16Accident · No injuriesClosedAeronca 7FC · Ft Worth, TXNTSB SEA76AS021Accident · Serious injuriesClosedDouglas DC-10 · Seattle, WANTSB DEN76DTC18Accident · No injuriesClosedCessna 180 · Kaycee, WYNTSB MIA76IM031Incident · No injuriesClosedDouglas DC-3 · Jacksonville, FLNTSB FTW76DPD14Accident · Minor injuriesClosedBellanca 14-19 · Ft Worth, TXNTSB MIA76IM029Incident · No injuriesClosedDouglas DC-9 · Atlanta, GANTSB ANC76AA045Accident · No injuriesClosedCessna 170 · Bethel, AKNTSB OAK76DVA13Accident · No injuriesClosedBoeing A75 · Los Banos, CANTSB MKC76DER29Accident · No injuriesClosedSikorsky S-55B · Eden Prairie, MNNTSB MKC76FER28Accident · No injuriesClosedVolmer VJ-22 · Minneapolis, MNNTSB SEA76DYC21Accident · No injuriesClosedPiper PA-28 · Albany, ORNTSB FTW76DRG22Accident · No injuriesClosedPiper PA-18 · New Braunfels, TXNTSB LAX76FUM07Accident · No injuriesClosedBellanca 17-31A · Carlsbad, CANTSB MKC76FTK06Accident · No injuriesClosedCessna 172M · Rapid City, SDNTSB ANC76DAG46Accident · No injuriesClosedCessna 185 · Cordova, AKNTSB DEN7LDTE26Accident · No injuriesClosedCessna 172M · Ft.Carson, CONTSB FTW76DRD08Accident · No injuriesClosedCessna 180F · Houma, LA