NTSB investigations, KS
60 cases where the phase of flight was Uncontrolled descent.
Cases per year
| 1965 | 4 |
|---|---|
| 1966 | 5 |
| 1967 | 4 |
| 1968 | 3 |
| 1970 | 3 |
| 1971 | 7 |
| 1972 | 3 |
| 1973 | 6 |
| 1974 | 2 |
| 1975 | 1 |
| 1976 | 2 |
| 1977 | 3 |
| 1978 | 2 |
| 1979 | 3 |
| 1981 | 5 |
| 1984 | 1 |
| 1986 | 1 |
| 1987 | 1 |
| 1989 | 1 |
| 1993 | 1 |
| 1995 | 1 |
| 2005 | 1 |
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 c.\"eventStateOrRegion\" = 'KS' AND c.\"eventCountry\" = 'USA'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 650)
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 c."eventStateOrRegion" = 'KS' AND c."eventCountry" = 'USA'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 650)
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 DEN06LA016Accident · Serious injuriesLimited investigationFinal reportAbruzzo Grom-1 · Kendall, KSthe downdraft forcing the balloon into the power lines. A contrbuting factor was the clear air turbulence and the power lines.NTSB CHI95LA122Accident · Minor injuriesLimited investigationFinal reportCessna 188 · Meade, KSthe pilot taking off the airplane at a low liftoff speed (Vlo). A factor associated with the accident was a stall/mush encountered by the pilot.NTSB CHI93LA114Accident · Serious injuriesLimited investigationFinal reportBeech F33A · Park, KSThe pilot-in-command's physical incapacitation for reason or reasons undetermined.NTSB MKC89LA137Accident · Minor injuriesLimited investigationFinal reportPiper PA-25-235 · Clayton, KSThe failure of the pilot to compensate for the unfavorable wind conditions.NTSB MKC88FA018Accident · 1 fatalField investigationFinal reportCessna 310Q · Augusta, KSThe airplane departed to the south and made a left turn. Approximately 1/4 of a mile east of the airport, the airplane impacted straight down with gear down and flaps at 15 degrees. No preimpact problems were found with airframe or powerplants. No indication…NTSB MKC87FA002Accident · 2 fatalField investigationFinal reportCessna 150 · Fort Scott, KSThe purpose of the flt was to observe and photograph the effects of a flood which had inundated a part of the city of Fort Scott. The acft was observed flying low and slow over the city. Witnesses said the acft was flying from west to east and made a turn…NTSB MKC85FA030Accident · 1 fatalField investigationFinal reportCessna 150 · Colby, KSOn a heading of 065 deg the acft impacted in a slightly rising open field in a wings level 15 deg nose down attitude. Investigators found the acft in a landing configuration with the wing flaps fully extended and the throttle secured by the throttle friction…NTSB MKC82FA012Accident · 2 fatalClosedCessna 172N · Hillsboro, KSNTSB MKC82FA009Accident · 5 fatalClosedCessna 177A · Ellinwood, KSNTSB MKC81FA043Accident · 4 fatalClosedBeech 58TC · Kansas City, KSNTSB MKC81FA040Accident · 1 fatalClosedCessna 404 · Belton, KSNTSB MKC81FA036Accident · 2 fatalClosedCessna 172 · Carbondale, KSNTSB MKC80FA017Accident · 1 fatalClosedCessna 175 · Shawnee, KSNTSB MKC80FA016Accident · 1 fatalClosedCessna 150G · Anthony, KSNTSB MKC79FA014Accident · 1 fatalClosedCessna 210L · Junction City, KSNTSB MKC79FA001Accident · 4 fatalClosedBeech A23-24 · Lyndon, KSNTSB MKC78FA031Accident · 1 fatalClosedBeech A23-24 · Wichita, KSNTSB MKC78FA001Accident · 2 fatalClosedNavion A · Caldwell, KSNTSB MKC77FA039Accident · 2 fatalClosedCessna 177 · Coldwater, KSNTSB MKC77FA013Accident · 6 fatalClosedPiper PA-31 · Anthony, KSNTSB MKC76FCG87Accident · Minor injuriesClosedAero Comdr 500B · Topeka, KSNTSB MKC76AK048Accident · 2 fatalClosedGrum Amer AA1-B · Medicine Lodge, KSNTSB MKC76AK029Accident · 1 fatalClosedCessna 182A · Rush Center, KSNTSB MKC74DCQ25Accident · No injuriesClosedHughes 269A · Scott City, KSNTSB MKC74AK045Accident · 1 fatalClosedPiper PA-24 · Lawrence, KSNTSB MKC74AK017Accident · 1 fatalClosedMooney M20E · Cassoday, KSNTSB MKC74AK010Accident · 4 fatalClosedCessna 182B · Leawood, KSNTSB MKC73AK069Accident · 1 fatalClosedBeech B35 · Mulvane, KSNTSB MKC73AK061Accident · 1 fatalClosedBeech E35 · Junction Cty, KSNTSB MKC73AK050Accident · 1 fatalClosedPiper PA-22 · Washington, KSNTSB MKC73AK047Accident · 1 fatalClosedCessna 172K · Wichita, KSNTSB MKC73AK042Accident · 2 fatalClosedCessna 172 · Concordia, KSNTSB MKC73AK035Accident · 2 fatalClosedCessna 320F · Ashland, KSNTSB MKC73AK012Accident · 4 fatalClosedPiper PA-30 · Overbrook, KSNTSB MKC72AK037Accident · 3 fatalClosedCessna 175 · Clyde, KSNTSB MKC72AK028Accident · 3 fatalClosedCessna 182J · Longton, KSNTSB MKC72AK020Accident · 2 fatalClosedAmer Avco AA1 · Potwin, KSNTSB MKC72AK016Accident · 1 fatalClosedCessna 150B · Victoria, KSNTSB MKC72AK015Accident · 2 fatalClosedAeronca 11AC · Admire, KSNTSB MKC72FCQ05Accident · 1 fatalClosedSpinks 10 · Rose Hill, KSNTSB MKC71AK058Accident · 1 fatalClosedPiper PA-28R · Medicine Lge, KSNTSB MKC71AK033Accident · 3 fatalClosedCessna 172 · Garden City, KSNTSB MKC71AK005Accident · 2 fatalClosedPiper PA-30 · St John, KSNTSB MKC70AK052Accident · 1 fatalClosedCessna 340 · Kingman, KSNTSB MKC69A0031Accident · 2 fatalClosedCessna 180 · Victoria, KSNTSB MKC69A0025Accident · 1 fatalClosedPiper PA-23 · Colby, KSNTSB MKC68A0062Accident · 4 fatalClosedBeech 35-C33 · Clearwater, KSNTSB FTW68A0006Accident · 1 fatalClosedCessna 170A · Burrton, KSNTSB MKC67A0089Accident · 1 fatalClosedCessna 188 · Sharon Sprgs, KSNTSB MKC67F0580Accident · Minor injuriesClosedCessna 140 · Lakin, KS