NTSB investigations, VT
157 cases where the phase of flight was Landing.
Cases, newest first
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\" = 'VT' AND c.\"eventCountry\" = 'USA'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 550)
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" = 'VT' AND c."eventCountry" = 'USA'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 550)
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 NYC86LA003Accident · Serious injuriesLimited investigationFinal reportCessna C206 · West Dover, VTCessna aircraft, N9861Z overran runway 1, at West Dover, Vermont and landed on a golf course. The pilot stated that when the flight was about 50 feet above the runway and about 100 ft down the runway windshear was encountered, pulling the aircraft to the left…NTSB NYC85LA232Accident · Serious injuriesLimited investigationFinal reportCessna 152A · Post Mills, VTAfter reviewing air maneuvers, a normal apch was made to land on rwy 22. The acft landed on all 3 wheels & bounced into the air, then it went to the left of the rwy. While the plt was turning right to avoid trees & to recover from the bounced landing, the…NTSB NYC85LA220Accident · No injuriesLimited investigationFinal reportCessna 170B · Morrisville, VTAccording to the plt, a post maintenance test flt was performed about 45 mins before the landing occurred. The plt stated that he allowed the right seat passenger a student plt and owner of the Cessna 170, to fly and land the acft. Upon landing the plt…NTSB NYC85LA050Accident · No injuriesLimited investigationFinal reportBeech P35 · Morrisville, VTPlt noted accumulation of rime ice in flt. On NDB approach, VFR conditions reached about 7 miles from runway, IFR flt plan cancelled and straight-in visual approach performed. Crossing threshold at about 2O ft AGL, plt reduced throttle and acft immediately…NTSB NYC85LA046Accident · No injuriesLimited investigationFinal reportCessna 140 · Burlington, VTThe acft skidded & veered left during the landing roll, & subsequently, it nosed over on the rwy.NTSB NYC84LA207Accident · No injuriesLimited investigationFinal reportHelio 295 · So. Burlington, VTThe left main gear collapsed during landing roll-out. The plt/owner had been practicing touch and go landings.NTSB NYC84LA156Accident · No injuriesLimited investigationFinal reportConsolidated Aeronautics Vultee L-13A · Dummerston, VTDuring arrival, the plt landed to the south on a turf rwy. He stated that after a normal apch & touchdown, the acft encountered a gust of wind, presumably from the northwest & the acft nosed over. Also, in an accident report, he reported the wind was from the…NTSB NYC84IA002Incident · No injuriesIncident investigationFinal reportBeech C99 · Burlington, VTThe plt stated that after a smooth touchdown on the main gear, a loud bang was heard, accompanied with a gear unsafe horn. A go-around was made, & after completing emerg gear extension procedure the acft returned for landing. During landing the left gear…NTSB NYC83FNC09Accident · Serious injuriesFinal reportCessna 172 · Enosburg Falls, VTThe plt reported that when he was on final to land on a dark night, the acft had electrical failure & he had no lights. He reported that this occurred when he had started his flare & that was all he could remember until after he had regained consciousness…NTSB NYC83LA181Accident · No injuriesLimited investigationFinal reportCessna 140 · Londonderry, VTThe plt reported that during a landing on rwy 23, the acft difted off the rwy when he did not allow for a x-wind. A go-around was initiated. However, the landing gear contacted a mound of dirt & the acft nosed over while it was at full throttle. Reportedly,…NTSB NYC83LA179Accident · No injuriesLimited investigationFinal reportSportavia-Putzer RF5B Sperber · Warren, VTThe glider wing encountered high grass during landing in gusty wind. This was a motor glider and the landing was made to the right side of the rwy to allow room for the soaring club landing on a parallel grass strip to the left of the main rwy. During the…NTSB NYC82DA146Accident · No injuriesFinal reportCessna 305A · Morrisville, VTThe pilot reported that he landed on runway 19 with a wind from 250 deg at 15, gusting 20 knots. He reported that as the aircraft rolled out, a severe gust of wind was encountered that put the plane on the left gear only. Subsequently, the left gear failed…NTSB NYC82DA129Accident · No injuriesFinal reportI.C.A. Brasov IS-28B2 · Warren, VTThe pilot had little or no previous flight time in this romanian built glider. He reported departing from an airport located on the lee side of the sugarbush mountains. He stated that a strong west wind produced a turbulent rotor near the airport and the…NTSB NYC82FNC07Accident · No injuriesFinal reportAerotek-Pitts S-2A · Warren, VTThe pilot reported that before landing, he noticed heavy wind shear while on downwind and base. Reportedly, he encountered a severe sink after turning from base to final approach. He added full power, but was unable to stop the descent before contacting the…NTSB NYC81DNC15Accident · No injuriesClosedGlasflugel ST-LIB · Graniteville, VTNTSB NYC80DNC17Accident · No injuriesClosedCessna 150 · Burlington, VTNTSB NYC80DNC07Accident · No injuriesClosedCessna 150G · Lemington, VTNTSB NYC79FNC46Accident · Minor injuriesClosedBellanca 17-30 · Panton, VTNTSB NYC79FNC42Accident · No injuriesClosedEnstrom F28A · West Hartford, VTNTSB NYC79FNC22Accident · No injuriesClosedBell 47G · Swanton, VTNTSB NYC79DNC20Accident · No injuriesClosedHelio Acft H-295 · Burlington, VTNTSB NYC79DNC10Accident · No injuriesClosedBergfalke 2 · Newport, VTNTSB NYC79FNC03Accident · Serious injuriesClosedLet-Np-K L-13 · Warren, VTNTSB NYC79FNC02Accident · No injuriesClosedCessna 195 · Morrisville, VTNTSB NYC78FNC28Accident · No injuriesClosedPiper PA-22 · Warren, VTNTSB NYC78DNC08Accident · No injuriesClosedSchweizer SGS232 · Warren, VTNTSB NYC78DNC10Accident · No injuriesClosedPiper PA-28 · West Dover, VTNTSB NYC77DNC36Accident · No injuriesClosedBeech 18G · Burlington, VTNTSB NYC77FNC30Accident · Serious injuriesClosedPiper PA-28 · Post Mills, VTNTSB NYC76FNC54Accident · No injuriesClosedMooney M20C · Benson, VTNTSB NYC76AN083Accident · Serious injuriesClosedGrumman G-1159 · Burlington, VTNTSB NYC76DNC42Accident · Minor injuriesClosedBeech A36 · Stowe, VTNTSB NYC76DNC40Accident · No injuriesClosedCessna 150 · Fairhaven, VTNTSB NYC76AN070Accident · No injuriesClosedPiper PA-32 · Wilmington, VTNTSB NYC76DNC33Accident · No injuriesClosedCessna 182 · Rutland, VTNTSB NYC76AN054Accident · No injuriesClosedBeech E18S · N Springfield, VTNTSB NYC75FNC28Accident · No injuriesClosedBeech B24R · Morrisville, VTNTSB NYC75DNC26Accident · No injuriesClosedBeech 35C33A · Morrisville, VTNTSB NYC75DNC23Accident · No injuriesClosedCessna 150 · West Dover, VTNTSB NYC75DNC12Accident · No injuriesClosedGrumman AA1-B · N Springfield, VTNTSB NYC75DNC07Accident · No injuriesClosedSmith Mini · Post Mills, VTNTSB NYC74DNC48Accident · No injuriesClosedAero Comdr 100 · Benson, VTNTSB NYC74FNC37Accident · No injuriesClosedPiper PA-31 · Wilmington, VTNTSB NYC74DNC27Accident · No injuriesClosedCessna 150 · W.Wardsboro, VTNTSB NYC74DNC18Accident · No injuriesClosedCessna 150 · Burlington, VTNTSB NYC74FNC15Accident · No injuriesClosedChampion 7GCBC · Springfield, VTNTSB NYC74DNC04Accident · No injuriesClosedCessna 177 · St.Johnsbury, VTNTSB NYC73FNC62Accident · No injuriesClosedCessna 310B · Burlington, VTNTSB NYC73FNC59Accident · No injuriesClosedPiper PA-23 · Newport, VTNTSB NYC73FNC56Accident · Serious injuriesClosedBeech K35 · West Dover, VT