NTSB investigations, 1967
410 cases where the phase of flight was Maneuvering.
Cases per year
| 1964 | 415 |
|---|---|
| 1965 | 419 |
| 1966 | 366 |
| 1967 | 410 |
| 1968 | 394 |
| 1969 | 360 |
| 1970 | 330 |
| 1971 | 384 |
| 1972 | 359 |
| 1973 | 407 |
| 1974 | 410 |
| 1975 | 407 |
| 1976 | 480 |
| 1977 | 443 |
| 1978 | 433 |
| 1979 | 384 |
| 1980 | 377 |
| 1981 | 374 |
| 1982 | 416 |
| 1983 | 476 |
| 1984 | 462 |
| 1985 | 402 |
| 1986 | 357 |
| 1987 | 357 |
| 1988 | 349 |
| 1989 | 313 |
| 1990 | 307 |
| 1991 | 350 |
| 1992 | 309 |
| 1993 | 315 |
| 1994 | 322 |
| 1995 | 320 |
| 1996 | 279 |
| 1997 | 262 |
| 1998 | 259 |
| 1999 | 267 |
| 2000 | 281 |
| 2001 | 257 |
| 2002 | 241 |
| 2003 | 263 |
| 2004 | 224 |
| 2005 | 212 |
| 2006 | 203 |
| 2007 | 222 |
| 2008 | 234 |
| 2009 | 208 |
| 2010 | 222 |
| 2011 | 250 |
| 2012 | 236 |
| 2013 | 216 |
| 2014 | 199 |
| 2015 | 217 |
| 2016 | 177 |
| 2017 | 201 |
| 2018 | 187 |
| 2019 | 197 |
| 2020 | 165 |
| 2021 | 186 |
| 2022 | 186 |
| 2023 | 191 |
| 2024 | 165 |
| 2025 | 145 |
| 2026 | 90 |
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\") = 1967
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 450)
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") = 1967
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 450)
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 MIA69D0033Accident · No injuriesClosedPiper PA-22 · Gainesville, GANTSB MKC68A0039Accident · 1 fatalClosedCessna 150D · Hillsboro, KSNTSB MKC68F0430Accident · Minor injuriesClosedAeronca 11AC · Rockville, NENTSB LAX68F0251Accident · Serious injuriesClosedBeech A45 · Corona, CANTSB DIA68F0138Accident · Serious injuriesClosedFairchild M-62A · Roaring River, NCNTSB CHI68F0513Accident · Minor injuriesClosedPorterfield LP-65 · Taylor Ridge, ILNTSB MIA68D0506Accident · Minor injuriesClosedAero Comdr 100 · Brunswick, GANTSB MIA68D0369Accident · No injuriesClosedCessna 150 · Pell City, ALNTSB LAX68A0060Accident · 2 fatalClosedChampion 7GCAA · Lucerne Vly, CANTSB FTW68A0060Accident · Serious injuriesClosedHughes 300 · Fayetteville, ARNTSB LAX68A0058Accident · 1 fatalClosedHome-Built Burro · Jamul, CANTSB LAX68A0057Accident · 2 fatalClosedPiper PA-28 · Castaic, CANTSB LAX68D0263Accident · No injuriesClosedLockheed 286 · Santa Paula, CANTSB MKC68F0362Accident · Minor injuriesClosedPiper PA-22 · Ralston, IANTSB FTW68A0053Accident · 2 fatalClosedCessna 182D · Rayville, LANTSB FTW68F0339Accident · Minor injuriesClosedCessna 172G · Hornbeck, LANTSB LAX68D0233Accident · No injuriesClosedPiper PA-25 · Litchfield, AZNTSB CHI68F0473Accident · Serious injuriesClosedPiper J3C-65 · Coldwater, MINTSB MIA68F0295Accident · No injuriesClosedCessna 172 · Yazoo City, MSNTSB MIA68A0048Accident · Minor injuriesClosedAeronca 11AC · Athens, ALNTSB FTW68A0049Accident · 1 fatalClosedPiper J-3 · New Gulf, TXNTSB MIA68F0360Accident · Serious injuriesClosedBoeing E75 · Mobile, ALNTSB FTW68D0332Accident · No injuriesClosedNaval Fcty N3N · Frederick, OKNTSB CHI68F0472Accident · Minor injuriesClosedPiper PA-28 · Munising, MINTSB DEN68D0146Accident · Minor injuriesClosedCessna 172 · Richfield, UTNTSB CHI68A0044Accident · 1 fatalClosedPiper PA-25 · Sullivan, INNTSB OAK68D0342Accident · No injuriesClosedCessna 182 · Nicolaus, CANTSB LAX68F0196Accident · Minor injuriesClosedPiper PA-25 · El Centro, CANTSB FTW68F0322Accident · Serious injuriesClosedPiper PA-25 · Epps, LANTSB MKC68F0325Accident · 1 fatalClosedCessna 172 · Lexington, NENTSB FTW68A0046Accident · 1 fatalClosedBeech C-18S · Brownsville, TXNTSB UNK68X0105Accident · 1 fatalClosedGrumman TBM-3 · Agrinion, GreeceNTSB LAX68A0043Accident · No injuriesClosedBell 204-B · Calabasas, CANTSB FTW68F0310Accident · Serious injuriesClosedBoeing B75N1 · Gilliam, LANTSB NYC68F0239Accident · Serious injuriesClosedNavion A · Carlstadt, NJNTSB FTW68A0044Accident · 1 fatalClosedEaa Biplane ESL · Texas City, TXNTSB CHI68A0035Accident · 2 fatalClosedChampion 7ECA · Bloomer, WINTSB MIA68F0259Accident · No injuriesClosedBoeing A75N1 · Tchula, MSNTSB MKC68D0294Accident · No injuriesClosedPiper PA-22 · Tribune, KSNTSB FTW68A0039Accident · 1 fatalClosedSnow S2A · Bryan, TXNTSB LAX68F0169Accident · No injuriesClosedBoeing A75N1 · El Centro, CANTSB MIA68F0272Accident · Minor injuriesClosedAero Comdr 200-D · Marietta, GANTSB NYC68F0240Accident · No injuriesClosedPiper PA-18A · Canaseraga, NYNTSB MKC68F0229Accident · Minor injuriesClosedPiper PA-18 · Henderson, IANTSB MIA68F0254Accident · No injuriesClosedGrumman G-164 · South Bay, FLNTSB SEA68A0028Accident · No injuriesClosedHiller UH-12E · Priest River, IDNTSB CHI68A0031Accident · No injuriesClosedBell 47G-2 · Bedford, OHNTSB MIA68F0199Accident · No injuriesClosedPiper PA-18 · Inverness, MSNTSB LAX68D0168Accident · Minor injuriesClosedPiper PA-22 · Needles, CANTSB MKC68A0025Accident · 2 fatalClosedChampion 7ECA · Minot, ND