NTSB investigations, 2000, OR
13 cases where the phase of flight was Enroute.
Cases per year
| 1964 | 11 |
|---|---|
| 1965 | 14 |
| 1966 | 16 |
| 1967 | 21 |
| 1968 | 17 |
| 1969 | 16 |
| 1970 | 14 |
| 1971 | 18 |
| 1972 | 20 |
| 1973 | 20 |
| 1974 | 14 |
| 1975 | 15 |
| 1976 | 25 |
| 1977 | 21 |
| 1978 | 26 |
| 1979 | 28 |
| 1980 | 22 |
| 1981 | 20 |
| 1982 | 12 |
| 1983 | 12 |
| 1984 | 19 |
| 1985 | 12 |
| 1986 | 21 |
| 1987 | 12 |
| 1988 | 16 |
| 1989 | 8 |
| 1990 | 11 |
| 1991 | 11 |
| 1992 | 13 |
| 1993 | 8 |
| 1994 | 8 |
| 1995 | 8 |
| 1996 | 8 |
| 1997 | 12 |
| 1998 | 10 |
| 1999 | 6 |
| 2000 | 13 |
| 2001 | 9 |
| 2002 | 13 |
| 2003 | 7 |
| 2004 | 6 |
| 2005 | 9 |
| 2006 | 4 |
| 2007 | 7 |
| 2008 | 6 |
| 2009 | 4 |
| 2010 | 6 |
| 2011 | 10 |
| 2012 | 4 |
| 2013 | 5 |
| 2014 | 3 |
| 2015 | 4 |
| 2016 | 3 |
| 2017 | 6 |
| 2018 | 2 |
| 2019 | 5 |
| 2020 | 3 |
| 2021 | 4 |
| 2022 | 2 |
| 2023 | 6 |
| 2024 | 7 |
| 2025 | 2 |
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\") = 2000
AND c.\"eventStateOrRegion\" = 'OR' AND c.\"eventCountry\" = 'USA'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 400)
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") = 2000
AND c."eventStateOrRegion" = 'OR' AND c."eventCountry" = 'USA'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 400)
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 SEA01FA021Accident · 1 fatalField investigationFinal reportPiper PA-22-135 · Ontario, OROverstress loading to the left wing lift strut resulting in the left wing folding upward during the initial climb.NTSB SEA01FA015Accident · 2 fatalField investigationFinal reportCessna 152 · Corvallis, ORThe pilot's failure to maintain clearance from the terrain. Factors include a dark night, densely forested, hilly terrain near the planned route of flight, and low ceilings in the area of the accident.NTSB SEA01LA014Accident · Serious injuriesLimited investigationFinal reportBoeing 767-332ER · Portland, ORAn inflight encounter with turbulence that occurred before flight attendants could finish stowing a beverage cart and return to their seats.NTSB SEA00LA194Accident · No injuriesLimited investigationFinal reportCessna 172K · Burns, ORThe separation of a portion of one propeller blade as a result of a fatigue crack that initiated at the site of foreign object damage to the blade.NTSB SEA00LA166Accident · No injuriesLimited investigationFinal reportFairchild 24G · Cascade Locks, ORThe pilot's failure to apply carburetor heat after experiencing a partial power loss while flying under conditions conducive to the formation of carburetor ice. Factors include the presence of carburetor icing conditions and an expanse of water (Columbia…NTSB SEA00LA157Accident · No injuriesLimited investigationFinal reportHamer Lancair 235 · Chiloquin, ORLoss of engine power due to a fracture and separation of the engine's crankshaft. A factor was a vehicle on the roadway.NTSB SEA00LA150Accident · Minor injuriesLimited investigationFinal reportMooney M20E · Oregon City, ORA loss of engine power for undetermined reason(s). A factor was the rough/uneven terrain.NTSB SEA00LA146Accident · No injuriesLimited investigationFinal reportJonas Falcon XP · Pendleton, ORA loss of engine power for undetermined reasons. A factor was rough/uneven terrain in the forced landing area.NTSB SEA00LA143Accident · Serious injuriesLimited investigationFinal reportJim Weseman Challenger II · Chiloquin, ORLoss of engine power for undetermined reasons. Unsuitable terrain and the pilot's failure to maintain aircraft control were factors.NTSB SEA00FA127Accident · 1 fatalField investigationFinal reportCessna 175 · Molalla, ORFailure to maintain clearance from mountainous/hilly terrain.NTSB SEA00LA121Accident · Serious injuriesLimited investigationFinal reportFairchild Hiller FH-1100 · West Linn, ORImproper maintenance (excessive/improper sealant application) by an unknown person, and subsequent fracture of the spur adapter gearshaft resulting in a total loss of engine power. Factors included foreign material/substance in the engine oil, a blocked oil…NTSB SEA00LA102Accident · Minor injuriesLimited investigationFinal reportCessna 182H · Hillsboro, ORThe pilot's inability to maintain the correct approach airspeed (Vref) on final due to incorrect airspeed indications resulting from a partial blockage of the pitot line. Factors include a quartering tailwind, a wet runway, and the pilot's decision not to…NTSB SEA00LA075Accident · Serious injuriesLimited investigationFinal reportPiper PA-28-181 · Ashland, ORThe pilot's failure to refuel the airplane, which resulted in a loss of engine power due to fuel exhaustion. Unsuitable terrain for a landing was a contributing factor.