# NTSB investigations, 2015: Uncontrolled descent

NTSB aviation accident and incident investigations since 1962: the probable cause, findings, aircraft, crew, weather and docket of each, linked to the FAA registry and the FAA’s own reports.

## Latest cases

- [NTSB ERA16FA001](https://openairdocs.org/ntsb/ERA16FA001.md): Piper PA32R · Westminster, SC · Accident · 4 fatal · Field investigation · Final report · Oct 2, 2015 · N782TM · Destroyed
  > The pilot's loss of airplane control for reasons that could not be determined based on the available information.
- [NTSB ENG15WA040](https://openairdocs.org/ntsb/ENG15WA040.md): Bell 407 · Morobe Province, Papua New Guinea · Incident · No injuries · Foreign investigation · May 2, 2015 · P2-HSL · No damage
  > On May 2, 2015, a Bell Helicopters 407 powered by a Roll-Royce M250-C47B turboshaft experienced an unexpected uncommanded high rate of descent while on approach to the helipad with an external load of two diesel fuel drums. The pilot jettisoned his load and…
- [NTSB GAA15CA053](https://openairdocs.org/ntsb/GAA15CA053.md): Aero SP Z O O AT 4 LSA · Colorado Springs, CO · Accident · Minor injuries · Data collection · Final report · Apr 30, 2015 · N344UA · Substantial damage
  > The pilot's decision to perform aerobatic maneuvers in an airplane not certified for aerobatic flight, which resulted in a loss of control and collision with terrain.
- [NTSB CEN15WA152](https://openairdocs.org/ntsb/CEN15WA152.md): Avions Robin Robin DR 400/140 B · Yverdon LSGY, Switzerland · Accident · 2 fatal · Foreign investigation · Feb 23, 2015 · HB-KDD · Destroyed
- [NTSB CEN15FA141](https://openairdocs.org/ntsb/CEN15FA141.md): Richard Lacourse Wheeler Express · Kersey, CO · Accident · 2 fatal · Field investigation · Final report · Feb 11, 2015 · N564ER · Destroyed
  > The pilot's failure to maintain airplane control during an off-airport forced landing following a total loss of engine power for reasons that could not be determined during postaccident examination of the engine. Contributing to the accident was the pilots'…

## The whole list in SQL

Runs in DuckDB 1.2 or later on the release's Parquet files over HTTPS:

```sql
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") = 2015
  AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 650)
ORDER BY c."eventDate" DESC, c."ntsbNumber" DESC
```

This list as a web page: https://openairdocs.org/ntsb-phases/650/cases?year=2015

---
OpenAirDocs.org is an independent research project of [Contrail Labs](https://contraillabs.com/). It is not affiliated with the FAA or the NTSB. Source documents are U.S. government works in the public domain.
