NTSB investigations, 1964
346 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\") = 1964
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") = 1964
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 UNK65X1179Accident · No injuriesClosedDehaviland DH104 · Nashua, NHNTSB UNK65X1174Accident · No injuriesClosedAeronca 7FC · Oswego, ILNTSB UNK65X1162Accident · No injuriesClosedCessna 195 · Miami, FLNTSB UNK65X1153Accident · No injuriesClosedCessna 182 · Wichita, KSNTSB UNK65X1133Accident · No injuriesClosedPiper J3 · Pensacola, FLNTSB UNK65X1113Accident · No injuriesClosedCessna 182 · Mason, TXNTSB UNK65X1103Accident · No injuriesClosedAero Cmdr 680E · Jacksonville, FLNTSB UNK65X1076Accident · No injuriesClosedBell 47H1 · Washington, DCNTSB UNK65X1056Accident · No injuriesClosedCessna 150 · San Carlos, CANTSB UNK65X1045Accident · Minor injuriesClosedBrantly B2B · Hawthorn, PANTSB UNK65X1024Accident · No injuriesClosedPiper PA22 · Sanford, TXNTSB UNK65X1018Accident · No injuriesClosedCessna 172 · Teterboro, NJNTSB UNK65X1011Accident · No injuriesClosedBeechraft N35 · Centerville, IANTSB UNK65X0989Accident · Minor injuriesClosedPiper PA-22 · Blythe, CANTSB UNK65X0980Incident · No injuriesClosedCessna 185 · Homer, AKNTSB UNK65X0947Accident · No injuriesClosedCessna 172 · Riverside, CANTSB UNK65X0924Accident · No injuriesClosedAeronca 7AC · Rialto, CANTSB UNK65X0903Accident · No injuriesClosedCessna 172 · Inyokern, CANTSB UNK65X0902Accident · No injuriesClosedCessna 182 · Houston, TXNTSB UNK65X0899Accident · No injuriesClosedBeechraft AT11 · Pacoima, CANTSB UNK65X0888Accident · No injuriesClosedCessna 310B · Tucson, AZNTSB UNK65X0886Accident · No injuriesClosedCessna 172 · Las Vegas, NVNTSB UNK65X0883Accident · No injuriesClosedCessna 182 · March Afb, CANTSB UNK65X0849Accident · No injuriesClosedPiper PA12 · Anchorage, AKNTSB UNK65X0845Accident · No injuriesClosedLuscombe 8E · Lancaster, CANTSB NYC65I0079Incident · No injuriesClosedDouglas DC-6 · Newyork, NYNTSB UNK65X0814Accident · No injuriesClosedDouglas DC-3 · Vandalia, OHNTSB UNK65X0798Accident · No injuriesClosedCessna 150 · Agawam, MANTSB UNK65X0792Accident · No injuriesClosedStinson 108 · Emporia, KSNTSB UNK65X0771Incident · No injuriesClosedPila Porter PC-6A · Anaik, AKNTSB UNK65X0760Incident · No injuriesClosedMartin M-404 · San Francisco, CANTSB UNK65X0758Accident · No injuriesClosedPiper PA-30 · Miles City, MTNTSB UNK65X0756Accident · No injuriesClosedDouglas DC-4 · Norfolk, VANTSB UNK65X0747Accident · No injuriesClosedCessna 150 · Detroit, MINTSB UNK65X0746Accident · No injuriesClosedDouglas DC-4 · Tangra, GreenlandNTSB UNK65X0739Accident · No injuriesClosedCessna 175A · Santa Rosa, CANTSB UNK65X0734Accident · No injuriesClosedCessna 310 · Tabruk, Saudi ArabiaNTSB UNK65X0716Accident · No injuriesClosedCessna 172 · Saco, MTNTSB UNK65X0715Accident · No injuriesClosedPiper PA24 · Ashland, NJNTSB UNK65X0697Accident · Minor injuriesClosedBeechcraft B35 · Long Beach, CANTSB UNK65X0678Accident · No injuriesClosedBoeing 707 123B · Nashville, TNNTSB UNK65X0676Accident · No injuriesClosedCessna 172E · Detroit, MINTSB UNK65X0668Accident · No injuriesClosedPiper PA24 · Ft Lauderdale, FLNTSB UNK65X0660Incident · 1 fatalClosedBoeing 707 · Jamaica, NYNTSB UNK65X0658Accident · No injuriesClosedCessna 150 · Minneapolis, MNNTSB UNK65X0657Accident · Minor injuriesClosedCessna 170B · Childress, TXNTSB UNK65X0640Accident · No injuriesClosedCessna 172 · Gualala, CANTSB UNK65X0628Accident · No injuriesClosedNavion B · Oakland, CANTSB UNK65X0619Accident · No injuriesClosedCessna 150 · San Carlos, CANTSB UNK65X0615Accident · No injuriesClosedPiper PA22 · Alice, TX