NTSB investigations, NY
43 cases where the phase of flight was Uncontrolled descent.
Cases per year
| 1964 | 1 |
|---|---|
| 1965 | 2 |
| 1966 | 2 |
| 1967 | 3 |
| 1968 | 2 |
| 1969 | 7 |
| 1970 | 3 |
| 1971 | 3 |
| 1972 | 6 |
| 1973 | 2 |
| 1974 | 3 |
| 1977 | 1 |
| 1979 | 1 |
| 1980 | 3 |
| 1981 | 2 |
| 1984 | 1 |
| 2000 | 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\" = 'NY' 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" = 'NY' 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 IAD00LA074Accident · Serious injuriesLimited investigationFinal reportUnknown Bensen Gyrocopter · Macedon, NYpilot's failure to maintain control of the gyrocopter. Factors in the accident were the pilot's lack of total flight experience and familiarity with the gyrocopter.NTSB NYC84FA234Accident · 2 fatalField investigationFinal reportBeech 95 · Shelter Island, NYAcft level abt 3000 ft. engines sputtered. Acft descended in uncontrolled attitude. Tach 6.9 hrs since last fueling. Acft did not have shoulder harness or metal to metal seat belt buckle for pilot and copilot seats. Pilot biennial and medical not currentNTSB NYC82FA014Accident · 1 fatalClosedPiper PA-23 · Owego, NYNTSB NYC81FA040Accident · 1 fatalClosedPiper PA-28R · Hartford, NYNTSB NYC81DFA09Accident · No injuriesClosedPiper PA-28 · Palenville, NYNTSB NYC81FA007Accident · 1 fatalClosedBeech 95-C55 · Canisteo, NYNTSB NYC80FA061Accident · 1 fatalClosedSchweizer SGS126 · Wurtsboro, NYNTSB NYC79FA049Accident · 3 fatalClosedPiper PA-28 · Flushing, NYNTSB NYC77FA087Accident · 1 fatalClosedPiper PA-24 · New Lebanon, NYNTSB NYC75AN051Accident · 1 fatalClosedPiper PA-22 · Westville, NYNTSB NYC75AN042Accident · 2 fatalClosedCessna P206A · Fonda, NYNTSB NYC74AN115Accident · 1 fatalClosedBeech B95 · Tahawus, NYNTSB NYC73FHJ22Accident · Serious injuriesClosedEnstrom F-28A · Briarcliff Mnr, NYNTSB NYC73FHM21Accident · Serious injuriesClosedPiper PA-28 · Middletown, NYNTSB NYC73AN091Accident · 2 fatalClosedBeech C35 · Malone, NYNTSB NYC73AN063Accident · 1 fatalClosedPiper PA-28R · Mariaville, NYNTSB NYC73AN031Accident · 1 fatalClosedCessna 150F · Smithtown, NYNTSB NYC73AN027Accident · 2 fatalClosedLake LA-4 · Cairo, NYNTSB NYC72AN130Accident · 3 fatalClosedBell 47J-2 · New York, NYNTSB NYC72DFJ33Accident · Serious injuriesClosedAeronca 7AC · North Collins, NYNTSB NYC72AN054Accident · 2 fatalClosedMooney M20F · Akron, NYNTSB NYC72AN023Accident · 1 fatalClosedCessna 172E · Greene, NYNTSB NYC71AN097Accident · 1 fatalClosedBeech 35-B33 · Forestville, NYNTSB FTW71AN037Accident · 1 fatalClosedPiper PA-28 · Montgomery, NYNTSB NYC70AN113Accident · 1 fatalClosedChampion 7ECA · Ashford, NYNTSB NYC70AN094Accident · 2 fatalClosedBell 206A · Floral Park, NYNTSB DCA70A0005Accident · 14 fatalClosedFairchild FH227B · Glens Falls, NYNTSB NYC70A0033Accident · 2 fatalClosedCessna 172G · Germantown, NYNTSB NYC70D0144Accident · Serious injuriesClosedPiper PA-28 · Lake Placid, NYNTSB NYC70F0074Accident · No injuriesClosedBell 206A · Spring Valley, NYNTSB NYC70A0003Accident · 6 fatalClosedBeech D55 · Cortland, NYNTSB NYC69A0106Accident · Minor injuriesClosedCessna 195 · Morehouseville, NYNTSB NYC70F0013Accident · Serious injuriesClosedStinson 108-1 · Babylon, NYNTSB NYC69D0158Accident · Minor injuriesClosedHiller FH1100 · Breezy Point, NYNTSB NYC69A0003Accident · 5 fatalClosedPiper PA-30 · Gasport, NYNTSB NYC68A0082Accident · 2 fatalClosedBell 47J-2 · New York City, NYNTSB NYC68F0286Accident · Serious injuriesClosedPiper J-3 · Schuylerville, NYNTSB NYC67A0182Accident · 3 fatalClosedBeech A35 · Summitville, NYNTSB NYC67A0090Accident · 2 fatalClosedPiper PA-23 · Copenhagen, NYNTSB NYC67A0036Accident · 2 fatalClosedBeech G35 · Farmersvll Sta., NYNTSB NYC66A0026Accident · 2 fatalClosedCessna 310 · Livingstn Manr, NYNTSB NYC65A0144Accident · 1 fatalClosedTaylorcraft BC12D1 · Amherst, NYNTSB UNK64X3187Accident · Minor injuriesClosedHughes 269A · Buffalo, NY