NTSB investigations, CA
307 cases where the phase of flight was Uncontrolled descent.
Cases per year
| 1964 | 31 |
|---|---|
| 1965 | 17 |
| 1966 | 16 |
| 1967 | 19 |
| 1968 | 14 |
| 1969 | 21 |
| 1970 | 17 |
| 1971 | 20 |
| 1972 | 14 |
| 1973 | 17 |
| 1974 | 18 |
| 1975 | 15 |
| 1976 | 12 |
| 1977 | 13 |
| 1978 | 16 |
| 1979 | 13 |
| 1980 | 11 |
| 1981 | 4 |
| 1985 | 2 |
| 1987 | 1 |
| 1990 | 1 |
| 1991 | 1 |
| 1992 | 1 |
| 1993 | 3 |
| 1994 | 1 |
| 1998 | 1 |
| 2000 | 1 |
| 2006 | 2 |
| 2008 | 2 |
| 2011 | 2 |
| 2025 | 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\" = 'CA' 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" = 'CA' 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 WPR25FA147Accident · 2 fatalClass 3 · FieldPreliminary reportPaul Berkovitz Vans RV-10 · Simi Valley, CAOn May 3, 2025, about 1350 Pacific daylight time, an experimental amateur-built Van’s RV-10, N626PB, was destroyed when it was involved in an accident near Simi Valley, California. The pilot and passenger were fatally injured. The airplane was operated as a…NTSB WPR12FA044Accident · 1 fatalField investigationFinal reportMooney M20M · Pomona, CAThe pilot’s failure to maintain sufficient altitude to clear obstructions while maneuvering on the base leg of the traffic pattern for landing.NTSB WPR11FA155Accident · 1 fatalField investigationFinal reportMuse KR2 · Newberry Springs, CAThe airplane’s encounter with severe turbulence, which resulted in the in-flight breakup of the airplane. Contributing to the accident was the pilot’s inadequate preflight planning.NTSB WPR09LA032Accident · 1 fatalLimited investigationFinal reportUniversal Globe · Wallace, CAThe pilot's incapacitation during cruise for unknown reasons that resulted in a loss of aircraft control.NTSB LAX08FA047Accident · 1 fatalField investigationFinal reportBeechcraft V35B · Selma, CAThe pilot's failure to maintain control resulting in the in-flight break-up of the airplane due to aerodynamic overload. Contributing factors included the pilot's impairment due to multiple medical conditions and due to recent use of alcohol.NTSB SEA07FA035Accident · 3 fatalField investigationFinal reportBeech D95A · Gilroy, CAThe certified flight instructor's failure to maintain directional control of the airplane and inadequate supervision of the flight, which resulted in a stall/spin.NTSB LAX06TA234Accident · No injuriesFinal reportLet Super Blanik L-23 · Los Alamitos, CAfailure of the winch operator to maintain an adequate winch tow speed, resulting in a stall and hard landing.NTSB LAX00LA141Accident · 2 fatalLimited investigationFinal reportBirx Vans RV-6 · Taft, CAThe in-flight collision with the ground for undetermined reasons.NTSB LAX99LA049Accident · No injuriesLimited investigationFinal reportBell 47G-3B-1 · Winterhaven, CAThe failure of the pilot to maintain rotor rpm. A factor was his attempt to take off over gross weight.NTSB LAX94LA098Accident · 1 fatalLimited investigationFinal reportPiper PA-28-180 · Borrego Springs, CAThe pilot's intentional decision to abandon the airplane and allow it to fly unattended.NTSB LAX93LA336Accident · No injuriesLimited investigationFinal reportContinental Copters Mark 5 · San Juan Bautis, CAthe pilot's failure to maintain sufficient altitude to clear the crops. The pilot's diverted attention during the aerial application flight is a factor in this accident.NTSB LAX93LA201Accident · Minor injuriesLimited investigationFinal reportT.R. Bristol RV-6 · Trinity Center, CAThe pilot failure to obtain enough airspeed for takeoff which resulted in a loss of aircraft control, and his failure to compensate for the crosswind conditions.NTSB LAX93LA129Accident · No injuriesLimited investigationFinal reportCessna 182R · Warner Springs, CAThe pilots decision to attempt flight into known adverse weather conditions.NTSB LAX92LA379Accident · No injuriesLimited investigationFinal reportAyres S2R-600 · Tranquillity, CAThe pilot's improper inflight planning; his failure to attain the proper descent rate; and the excessive descent. Contributing to this accident was the landing gear collapse due to overload.NTSB LAX91FA108Accident · 1 fatalField investigationFinal reportCessna T210N · Kyburz, CAThe pilot's attempt to conduct his visual flight into instrument meteorological conditions and the loss of aircraft control by becoming spatial disoriented. The low ceilings and the dark night that existed in the area were factors in the accident.NTSB LAX90FA300Accident · 4 fatalField investigationFinal reportCessna T-210-M · Placerville, CAThe pilot's misidentification of the airport and his failure to select an adequate altitude above the terrain. Factors in the accident were the pilot's disregard for his night time medical limitation and lack of geographic familiarity with the area.NTSB LAX87FA167Accident · 2 fatalField investigationFinal reportChampion 7ECA · Upland, CAThe pilot took off from his home airport for a sight-seeing, local flight over nearby mountains. Although the rear seat passenger weighed 270 lbs and the aircraft's fuel tanks were assumed to be full, there is no evidence that the pilot calculated the…NTSB LAX86LA070Accident · Minor injuriesLimited investigationFinal reportBell 47G2 · Moss, CAAfter starting a left climbing turn at the end of a spray run the plt said he felt a 'shudder in the airframe' as the engine 'went to full RPM.' The plt stated that he thought 'the clutch had slipped' and added collective to compensate. The helicopter began…NTSB LAX85FA280Accident · No injuriesField investigationFinal reportRobinson R22 · Manhattan Beach, CAThe helicopter was to fly in formation with a banner towed by an acft 'to attract attention.' Numerous witnesses along a 20-mile stretch of Beach saw the helicopter 'flying erratically' & 'buzzing the Beach' just prior to the accident. Witnesses saw the…NTSB LAX82FA019Accident · 3 fatalClosedCessna 210 · Susanville, CANTSB LAX81FA125Accident · 2 fatalClosedCessna T310P · San Bernardino, CANTSB LAX81FA091Accident · 1 fatalClosedPiper PA-30 · Moreno, CANTSB LAX81FA072Accident · 4 fatalClosedPiper PA-28 · Truckee, CANTSB LAX81FUQ01Accident · 2 fatalClosedNo.American P-510 · Lancaster, CANTSB LAX80FA140Accident · 2 fatalClosedBeech 35 · Long Beach, CANTSB LAX80FA131Accident · 1 fatalClosedCessna T210N · Malibu, CANTSB LAX80FA112Accident · 1 fatalClosedBeech 35 · Weaverville, CANTSB LAX80FUJ52Accident · 2 fatalClosedPiper PA-32R · Needles, CANTSB LAX80FA091Accident · 8 fatalClosedPiper PA-23 · Bakersfield, CANTSB LAX80FA086Accident · 4 fatalClosedPiper PA-24 · Ngrapevine, CANTSB LAX80FA066Accident · 2 fatalClosedCessna 182P · San Andreas, CANTSB LAX80FA061Accident · 5 fatalClosedPiper PA-23 · So.Lake Tahoe, CANTSB LAX80FA055Accident · 2 fatalClosedPiper PA-28 · Palmdale, CANTSB LAX80FA049Accident · 1 fatalClosedRiley 421C · Escondido, CANTSB LAX80FA023Accident · 3 fatalClosedCessna 172M · Huntington Bch, CANTSB LAX80FA010Accident · 1 fatalClosedMooney M20E · Mammoth Lakes, CANTSB LAX79FA087Accident · 1 fatalClosedCessna 175 · Hollister, CANTSB LAX79FUG52Accident · 2 fatalClosedRand KR-2 · Thermal, CANTSB LAX79FA088Accident · 4 fatalClosedPiper PA-28 · Yreka, CANTSB OAK79FA029Accident · 4 fatalClosedCessna 172N · Livermore, CANTSB OAK79FA025Accident · 2 fatalClosedCessna T210M · Tahoe City, CANTSB OAK79FA024Accident · 6 fatalClosedCessna T210L · Dunsmuir, CANTSB LAX79FA042Accident · 2 fatalClosedCessna 182K · Shoshone, CANTSB LAX79FA036Accident · 4 fatalClosedBeech A36 · Perris, CANTSB OAK79FA019Accident · 2 fatalClosedCessna 182Q · Tuolumne, CANTSB LAX79FA026Accident · 1 fatalClosedCessna T210L · Long Beach, CANTSB LAX79FUG14Accident · 1 fatalClosedHeffron KR-2 · Corona, CANTSB LAX79FA014Accident · 2 fatalClosedGrum Amer AA1-G · Kernville, CANTSB LAX79FA010Accident · 2 fatalClosedPiper PA-32 · Mojave, CANTSB OAK78DA046Accident · 1 fatalClosedPiper PA-28 · Fort Ross, CA