NTSB investigations, TX
176 cases where the phase of flight was Uncontrolled descent.
Cases per year
| 1964 | 5 |
|---|---|
| 1965 | 8 |
| 1966 | 10 |
| 1967 | 12 |
| 1968 | 10 |
| 1969 | 10 |
| 1970 | 8 |
| 1971 | 7 |
| 1972 | 9 |
| 1973 | 9 |
| 1974 | 16 |
| 1975 | 8 |
| 1976 | 7 |
| 1977 | 5 |
| 1978 | 8 |
| 1979 | 10 |
| 1980 | 7 |
| 1981 | 13 |
| 1984 | 2 |
| 1985 | 4 |
| 1986 | 1 |
| 1990 | 1 |
| 1991 | 1 |
| 1992 | 1 |
| 1993 | 1 |
| 1998 | 1 |
| 2011 | 1 |
| 2018 | 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\" = 'TX' 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" = 'TX' 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 WPR19LA027Accident · No injuriesClass 3 · LimitedFinal reportPiper PA28 · Presidio, TXThe student pilot’s loss of control at low altitude during a forced landing, which resulted in impact with terrain and substantial damage to the right wing. A contributing factor in the accident was the loss of engine power for undetermined reasons.NTSB CEN12FA108Accident · 5 fatalField investigationFinal reportPiper PA-32-260 · Bryan, TXThe pilot’s inadvertent encounter with severe weather, which resulted in the airplane’s left wing failing in positive overload. Contributing to the accident was the pilot’s reliance on outdated weather information that he received on his in-cockpit…NTSB FTW98LA098Accident · 1 fatalLimited investigationFinal reportPoling Keleher Lark KR1B · Georgetown, TXThe pilot's failure to maintain aircraft control. A contributing factor was the pilot's physical impairment due to drugs.NTSB FTW93FA137Accident · 2 fatalField investigationFinal reportBell 206B III · Austin, TXAircraft control not maintained by pilot in command. Factors were unfavorable winds and pilot's lack of recent experience.NTSB FTW92LA079Accident · No injuriesLimited investigationFinal reportBurkhart Grob G103 · Boerne, TXThe pilot in command inadvertently stalling the aircraft. Factors were the pilot not maintaining proper altitude during the approach and his abrupt aircraft handling.NTSB FTW91FA144Accident · 1 fatalField investigationFinal reportPiper PA-28RT-201T · Midland, TXThe pilot's inability to control the airplane due to his physiological incaapacitation. A factor was the pilot's impairment due to the usage of pain medications.NTSB FTW90DPA03Accident · No injuriesFinal reportBell-Moore 47G-2A · Sivell Bend, TXClearance was not maintained by the pilot-in-command.NTSB FTW86LRA04Accident · Minor injuriesFinal reportEagle DW-1 · Bremond, TXAccording to the pilot, the aircraft was being operated by thompson flyers of garwood, inc., rt 1, box 214, marlin, TX. In agricultural aircraft operations under FAA ag operation certificate no. SW-HOU-97-AG. The aircraft had completed its last swath run…NTSB FTW86FPA02Accident · Minor injuriesFinal reportHomebuilt Fokker DR-1 Replica · Denton, TXThe pilot stated he was making his fourth fly-by at 400 feet AGL when the aircraft developed a high sink rate. He then lowered the nose and gained airspeed for recovery. While leveling off he had to turn left to avoid impact with a small tree. At this time…NTSB FTW85LA210Accident · Serious injuriesLimited investigationFinal reportPiper J-3C · Fredericksburg, TXThe acft contacted trees after encountering a downdraft during final apch. The plt stated the apch into the 10-12 kt gusty wind resulted in a low, flat apch. A downdraft was encountered, the acft contacted trees and descended uncontrolled into the terrain.NTSB FTW85LA198Accident · Serious injuriesLimited investigationFinal reportPartenavia P68C · Tilden, TXAfter aprx 1.5 hrs of pipeline patrol flight at a planned altitude of 500 AGL the acft flew into the flat terrain in a landing attitude. The acft went through a wire fence, heavy brush and small trees before coming to rest 437 ft from initial ground contact…NTSB FTW85FA130Accident · Serious injuriesField investigationFinal reportHughes 269C · San Antonio, TXThe accident occurred during a zero ground speed practice autorotation. A high sink developed after an attempt to correct for decreasing rotor RPM, the helicopter contacted the ground tail first and rolled over after the main rotor severed the tail boom. An…NTSB FTW85FA055Accident · 1 fatalField investigationFinal reportBeech A36 · Waxahachie, TXThe acft was seen by witnesses in a dive from aprx 1000 ft AGL. It appeared to not change attitude nor waiver as it continued toward the grnd. Impact with the grnd occurred with the wings level in aprx 15 deg dive on a hdg of 118 degrees. A mark on the a/s…NTSB FTW85FA025Accident · 1 fatalField investigationFinal reportCessna 180 · Amarillo, TXLast radio contact was a clearence to descend to 5,000 ft MSL to which the plt responded 'two romeo delta.' Cloud tops were near 5,000 ft MSL. Acft impacted in a high speed dive aprx 10 deg past verticle. Plt received com/inst certificate on 12/14/84 and this…NTSB FTW82FRG19Accident · 1 fatalClosedCessna 152 · Christine, TXNTSB FTW82FA017Accident · Serious injuriesClosedBell 206L-1 · Ingleside, TXNTSB FTW82FA009Accident · 2 fatalClosedPiper PA-28R · Hale Center, TXNTSB FTW82FA001Accident · 3 fatalClosedCessna 210L · Clyde, TXNTSB FTW81FA089Accident · 2 fatalClosedCessna 337A · Evant, TXNTSB FTW81FA083Accident · 3 fatalClosedPiper PA-31 · Hammond, TXNTSB FTW81FA077Accident · 1 fatalClosedBeech A36 · Houston, TXNTSB FTW81FA073Accident · 4 fatalClosedCessna 172N · Yoakum, TXNTSB FTW81FQG22Accident · Serious injuriesClosedQuickie 01 · Abernathy, TXNTSB FTW81EA065Accident · 1 fatalClosedCessna 152 · Hempstead, TXNTSB FTW81FA040Accident · 2 fatalClosedBeech 58P · Ozona, TXNTSB FTW81FA027Accident · 2 fatalClosedPiper PA-23 · Odessa, TXNTSB FTW81FA021Accident · 2 fatalClosedBellanca 17-30A · Iraan, TXNTSB FTW81FA012Accident · 3 fatalClosedAerospatle AS350 · Waxahachie, TXNTSB FTW81FA011Accident · 2 fatalClosedAero Comdr 560 · Dell City, TXNTSB FTW81FA010Accident · 2 fatalClosedBeech A35 · Rock Springs, TXNTSB FTW80FA124Accident · 2 fatalClosedBeech T-34B · Giddings, TXNTSB FTW80AA064Accident · 2 fatalClosedLear Jet 25B · Conlon, TXNTSB FTW80FA060Accident · 4 fatalClosedCessna 310Q · Baytown, TXNTSB FTW80FA036Accident · 2 fatalClosedCessna A152 · Lomax, TXNTSB FTW80FA027Accident · 1 fatalClosedCessna 172H · Moshiem, TXNTSB FTW80FA021Accident · 2 fatalClosedPiper PA-28 · Sonora, TXNTSB FTW80FA019Accident · 1 fatalClosedMitsubishi MU-2B · Post Oak, TXNTSB FTW79DRA36Accident · No injuriesClosedGrum-Amer AA-5A · Brenham, TXNTSB FTW79FA068Accident · 3 fatalClosedPiper PA-28 · Bayside, TXNTSB FTW79FA062Accident · 1 fatalClosedCessna R172K · Uvalde, TXNTSB FTW79FRG21Accident · 2 fatalClosedVarieze 1 · Austin, TXNTSB FTW79FA056Accident · 1 fatalClosedCessna 182P · Weston, TXNTSB FTW79FA049Accident · 1 fatalClosedPiper PA-28 · Comanche, TXNTSB FTW79FA048Accident · 2 fatalClosedAerostar 601P · New Braunfels, TXNTSB FTW79FRG09Accident · Serious injuriesClosedBell 47G-2 · Premont, TXNTSB FTW79FA022Accident · 1 fatalClosedPiper PA-28 · Hempstead, TXNTSB FTW79FA015Accident · 1 fatalClosedBeech H18 · Brownsville, TXNTSB FTW79FA011Accident · 2 fatalClosedBell 206B · Sabine Pass, TXNTSB FTW79FA007Accident · 2 fatalClosedMooney M20E · Texarkana, TXNTSB FTW78FA085Accident · 7 fatalClosedAero Comdr 500 · Laredo, TX