Final NTSB investigations, ND
113 cases where the phase of flight was Takeoff.
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\" = 'ND' AND c.\"eventCountry\" = 'USA'
AND c.\"completionStatus\" = 'Completed'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 300)
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" = 'ND' AND c."eventCountry" = 'USA'
AND c."completionStatus" = 'Completed'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 300)
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 DEN89LA073Accident · No injuriesLimited investigationFinal reportCessna 152 · Grand Forks, NDThe failure of the pilot to correct a ground loop swerve. A lack of total flight experience is considered to be a contributing factor.NTSB DEN88LA038Accident · No injuriesLimited investigationFinal reportCessna T210R · Bismarck, NDThe plt was attempting to takeoff at dusk on a gravel road. The acft veered off of road and hit a ditch.NTSB DEN87LA071Accident · No injuriesLimited investigationFinal reportCessna 172H · Larimore, NDThe plt was practicing stop and go landings at an arpt near his home. His passenger was a rated plt. On takeoff the aircraft swerved to the right. The right main gear struck a snow bank and the acft nosed over.NTSB DEN87FA007Accident · 4 fatalField investigationFinal reportPiper PA-24-250 · Crosby, NDCrosby municipal arpt was notam'd closed due to rwy construction and resurfacing. The plt and paxs were employees of the engineering company participating in the arpt construction. The plt of N8271P had landed on the closed rwy earlier in the day. The rwy was…NTSB DEN86LA205Accident · No injuriesLimited investigationFinal reportSchweizer G164A · Grandin, NDPlt was attempting to take off from 2600 ft x 50 ft sod strip with full fuel (36 gal) and 160 gal of M22, a fungicide. Center of rwy was soft from recent rains. Plt began takeoff roll on right side of rwy. Right wing and spray boom contacted tall grain stalks…NTSB DEN86LA062Accident · No injuriesLimited investigationFinal reportBellanca 7ECA · Hope, NDThe plt stated the citabria he was piloting failed to obtain flying speed before reaching the end of the snow covered private airstrip. According to the pilot, he aborted the takeoff too late. The acft contacted a snowbank and nosed over. The plt said that…NTSB DEN85LTG07Accident · No injuriesFinal reportAeronca 058B · Mott, NDWhile departing a stubble field, the aircraft's tire ran into a soft spot in the ground and the aircraft turned and struck the shoulder of a road. The right gear broke and the right wing tip struck the ground, the right strut broke, the tail wheel and rudder…NTSB DEN85LA061Accident · No injuriesLimited investigationFinal reportBellanca 8GCBC · Newburg, NDPlt attempted takeoff on a slippery, snow covered field with a 45 degree x-wind. Acft veered during the takeoff ground run and left main gear sheared off after contacting a snowbank.NTSB DEN84LA206Accident · No injuriesLimited investigationFinal reportGrumman G-164A · Wyndmere, NDSod was worn from the middle of the strip & the strip was wet. Therefore, the plt elected to use the left side of the sod strip for takeoff. During the takeoff roll, the left spray boom dragged into wheat that was growing beside the rwy & the acft veered…NTSB DEN84LA101Accident · No injuriesLimited investigationFinal reportMaule M-5-210C · Fortuna, NDThe plt made an off arpt landing on upward sloping terrain which was covered with aprx 4 inches of snow. About 1/2 hr later, he initiated a takeoff on a different section of the field on downward sloping terrain. The snow in that area was initially 4 inches…NTSB DEN82DA109Accident · No injuriesFinal reportCessna 152 · Grand Forks, NDThe student pilot was practicing takeoffs and landings on his third supervised solo flight with a left quartering wind at 10 KTS. Upon landing, the student began his takeoff roll. Subsequently, the aircraft veered off the runway, traveled about 600 ft, and…NTSB DEN81FTG01Accident · No injuriesClosedHiller UH12E · Argusville, NDNTSB MKC80FTG06Accident · No injuriesClosedCessna 152 · New Rockford, NDNTSB MKC79DTG15Accident · Minor injuriesClosedCommonwlth 185 · Bottineau, NDNTSB MKC79FTG12Accident · No injuriesClosedHiller UH-12D · Minot, NDNTSB MKC79FTG09Accident · No injuriesClosedPiper PA-30 · Minot, NDNTSB MKC79DTG07Accident · No injuriesClosedCessna 140 · Bowman, NDNTSB MKC79FTG06Accident · No injuriesClosedPiper PA-28 · Fargo, NDNTSB MKC79FTG03Accident · No injuriesClosedPiper PA-30 · Bowman, NDNTSB MKC78DTG15Accident · No injuriesClosedCessna A188B · Brocket, NDNTSB MKC77FTG11Accident · No injuriesClosedLuscombe 8A · Reynolds, NDNTSB MKC77DTG03Accident · No injuriesClosedCessna 150 · Wahpeton, NDNTSB MKC76FTG07Accident · No injuriesClosedCessna 172 · Turtle Lake, NDNTSB MKC75FTG12Accident · No injuriesClosedPiper PA-23 · Bowman, NDNTSB MKC75FTG06Accident · No injuriesClosedCessna 188 · Cummings, NDNTSB MKC74FTG18Accident · Serious injuriesClosedPiper PA-25 · Ayr, NDNTSB MKC74DTG12Accident · No injuriesClosedAmer Avco AA1-B · Cooperstown, NDNTSB MKC74FTG07Accident · No injuriesClosedPiper PA-28 · Fargo, NDNTSB MKC74DTG02Accident · No injuriesClosedCessna 170 · Jamestown, NDNTSB MKC73DTG13Accident · No injuriesClosedCessna 172 · Grace City, NDNTSB MKC73FTG07Accident · No injuriesClosedPiper PA-20 · Nekoma, NDNTSB MKC72FTG21Accident · Serious injuriesClosedStinson 108-1 · Williston, NDNTSB MKC72FTG20Accident · No injuriesClosedWaco VKS-6 · Lisbon, NDNTSB MKC72FTG18Accident · No injuriesClosedBeech A23-19 · Fargo, NDNTSB MKC72DTG14Accident · No injuriesClosedPiper J-3 · Colgan, NDNTSB MKC72FTG13Accident · No injuriesClosedErco 415-C · Buxton, NDNTSB MKC71FTG34Accident · No injuriesClosedPiper PA-18 · Langdon, NDNTSB MKC71FDD21Accident · No injuriesClosedMooney M20C · Mcclusky, NDNTSB MKC71FDD04Accident · No injuriesClosedCessna 172 · Garrison, NDNTSB MKC70DDD22Accident · No injuriesClosedFairchild M-62 · Warwick, NDNTSB MKC70FDD07Accident · No injuriesClosedCessna 172I · Lamoure, NDNTSB MKC70D0195Accident · No injuriesClosedPiper PA-28R · Bartlett, NDNTSB MKC70F0034Accident · No injuriesClosedCessna 170A · Fargo, NDNTSB MKC69D0350Accident · No injuriesClosedCessna 172 · Harvey, NDNTSB MKC69F0292Accident · No injuriesClosedBeech A45 · Valley City, NDNTSB MKC69F0124Accident · No injuriesClosedSchweizer SGS233 · Dunseith, NDNTSB MKC67D0573Accident · No injuriesClosedCessna 170 · Larimore, NDNTSB MKC67D0516Accident · No injuriesClosedPiper PA-28 · Cooperstown, NDNTSB MKC67D0459Accident · No injuriesClosedPiper PA-22 · Grand Forks, NDNTSB MKC67F0442Accident · No injuriesClosedPiper PA-20 · Wimbledon, ND