NTSB investigations, 2001, OR
16 cases where the phase of flight was Landing.
Cases per year
| 1964 | 23 |
|---|---|
| 1965 | 28 |
| 1966 | 39 |
| 1967 | 53 |
| 1968 | 37 |
| 1969 | 18 |
| 1970 | 23 |
| 1971 | 18 |
| 1972 | 15 |
| 1973 | 26 |
| 1974 | 21 |
| 1975 | 20 |
| 1976 | 24 |
| 1977 | 22 |
| 1978 | 19 |
| 1979 | 32 |
| 1980 | 23 |
| 1981 | 20 |
| 1982 | 22 |
| 1983 | 13 |
| 1984 | 10 |
| 1985 | 17 |
| 1986 | 9 |
| 1987 | 7 |
| 1988 | 7 |
| 1989 | 11 |
| 1990 | 16 |
| 1991 | 10 |
| 1992 | 11 |
| 1993 | 8 |
| 1994 | 12 |
| 1995 | 15 |
| 1996 | 18 |
| 1997 | 7 |
| 1998 | 12 |
| 1999 | 11 |
| 2000 | 22 |
| 2001 | 16 |
| 2002 | 15 |
| 2003 | 13 |
| 2004 | 10 |
| 2005 | 13 |
| 2006 | 8 |
| 2007 | 14 |
| 2008 | 19 |
| 2009 | 9 |
| 2010 | 12 |
| 2011 | 13 |
| 2012 | 14 |
| 2013 | 12 |
| 2014 | 8 |
| 2015 | 9 |
| 2016 | 12 |
| 2017 | 10 |
| 2018 | 19 |
| 2019 | 9 |
| 2020 | 7 |
| 2021 | 12 |
| 2022 | 13 |
| 2023 | 6 |
| 2024 | 14 |
| 2025 | 9 |
| 2026 | 14 |
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\") = 2001
AND c.\"eventStateOrRegion\" = 'OR' AND c.\"eventCountry\" = 'USA'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 550)
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") = 2001
AND c."eventStateOrRegion" = 'OR' AND c."eventCountry" = 'USA'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 550)
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 SEA02LA029Accident · No injuriesLimited investigationFinal reportPilatus PC-12 · Sunriver, ORThe pilot's failure to maintain directional control during the landing roll. An icy runway and a snow bank were factors.NTSB SEA02LA021Accident · No injuriesLimited investigationFinal reportKing Kitfox IV · Ashland, ORThe pilot's excessive use of brakes. A factor was the pilot's lack of recent experience in type of aircraft.NTSB SEA02LA020Accident · No injuriesLimited investigationFinal reportMaule M-7-235 · Halfway, ORA loss of aircraft control for undetermined reasons. A factor was a snow-covered landing surface.NTSB SEA02LA010Accident · No injuriesLimited investigationFinal reportFetherolf Hatz CB-1 · Ontario, ORAn improper weld in the landing gear, resulting in separation of the right main landing gear wheel during a normal landing.NTSB SEA01LA177Accident · No injuriesLimited investigationFinal reportCessna 172RG · Newberg, ORThe pilot's failure to lower the landing gear. A factor was the pilot's failure to follow checklist procedures.NTSB SEA01TA152Accident · Minor injuriesFinal reportWSK PZL Mielec M-18 Dromader · Ukiah, ORAn inadequate recovery from a bounced landing and directional control was not maintained during landing. A high flare and a fence were factors.NTSB SEA01LA137Accident · No injuriesLimited investigationFinal reportPiper PA-20-135 · Redmond, ORThe pilot's inadequate compensation for wind conditions during landing. A factor was variable winds.NTSB SEA01LA094Accident · No injuriesLimited investigationFinal reportCessna 172 · McMinnville, ORThe student pilot's failure to adequately compensate for wind conditions while doing a touch-and-go landing.NTSB SEA01LA092Accident · Minor injuriesLimited investigationFinal reportCessna 172P · Grants Pass, ORThe pilot's failure or inability to maintain proper runway alignment during landing. Factors included gusty crosswind conditions and the pilot's lack of experience in crosswind landings.NTSB SEA01LA086Accident · No injuriesLimited investigationFinal reportCessna U206 · Yamhill, ORthe pilot's failure to adequately compensate for gusty tailwind conditions, resulting in an excessive rate of descent at touchdown. Factors include gusty tailwinds during the landing sequence.NTSB SEA01LA084Accident · No injuriesLimited investigationFinal reportCessna U206F · Imnaha, ORThe pilot's inadequate compensation for the wind conditions. Wind gusts were a factor.NTSB SEA01LA079Accident · No injuriesLimited investigationFinal reportMaule M-7-235 · Summer Lake, ORthe pilot's decision to land on a dry lake bed without first taking action to determine the firmness of the surface. Factors include soft terrain at the location the pilot chose to land.NTSB SEA01LA068Accident · No injuriesLimited investigationFinal reportPiper PA-28 · Scapoose, ORthe pilot's failure to maintain a speed above minimum in-flight stall speed (Vs). Factors include gusty winds at the time of the attempted landing.NTSB SEA01LA062Accident · No injuriesLimited investigationFinal reportCessna 182M · Enterprise, ORInadvertent collision with a deer while landing. A contributing factor was night conditions.NTSB SEA01LA044Accident · No injuriesLimited investigationFinal reportBell 206B · McMinnville, ORThe pilot's failure to apply adequate power during a practice autorotation. A factor contributing to the accident was a rough/uneven area on the asphalt landing surface.NTSB SEA01LA038Accident · No injuriesLimited investigationFinal reportCessna 402B · Ontario, ORPilot's failure to maintain aircraft control while landing. Factors include a snow covered runway.