NTSB investigations, SD
44 cases where the phase of flight was Taxi.
Cases per year
| 1964 | 6 |
|---|---|
| 1965 | 1 |
| 1966 | 6 |
| 1967 | 4 |
| 1968 | 3 |
| 1969 | 2 |
| 1972 | 1 |
| 1974 | 1 |
| 1975 | 3 |
| 1976 | 2 |
| 1978 | 2 |
| 1979 | 1 |
| 1981 | 1 |
| 1982 | 1 |
| 1990 | 1 |
| 1993 | 1 |
| 1997 | 1 |
| 1998 | 1 |
| 2002 | 2 |
| 2003 | 1 |
| 2018 | 1 |
| 2020 | 1 |
| 2023 | 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\" = 'SD' AND c.\"eventCountry\" = 'USA'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 250)
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" = 'SD' AND c."eventCountry" = 'USA'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 250)
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 CEN23LA334Accident · No injuriesClass 3 · LimitedFinal reportAir Tractor AT802 · Aberdeen, SDThe pilot's failure to maintain directional control while taxiing with a quartering tailwind, which resulted in a ground loop.NTSB CEN21LA022Accident · No injuriesClass 3 · LimitedFinal reportCessna 182Q · Spearfish, SDThe snowplow driver’s failure to see the airplane which resulted in a collision with the airplane.NTSB CEN18LA164Accident · No injuriesLimited investigationFinal reportBeech 1900C · Sioux Falls, SDFailure of the right main landing gear drag brace bolt for reasons that could not be determined based on the available information.NTSB CHI03LA178Accident · No injuriesLimited investigationFinal reportChampion 7GCBC · Buffalo, SDThe instructor pilot's inadequate remedial action to the dual student's loss of aircraft control during high speed taxiing which lead to the inadvertent ground loop/swerve. A factor was the student not maintaining aircraft control.NTSB CHI03LA042Accident · No injuriesLimited investigationFinal reportChampion 7ECA · Faulkton, SDThe directional control not maintained during an after landing taxi on the runway by the student pilot. The student pilot's lack of experience and downhill terrain off the runway were contributing factors.NTSB CHI02LA125Accident · No injuriesLimited investigationFinal reportCessna 172 · Redfield, SDthe failure of the pilot to maintain directional control while taxing to takeoff in high and gusty wind conditions.NTSB CHI98LA117Accident · No injuriesLimited investigationFinal reportTaylorcraft BC12-65 · Vernillion, SDthe pilot's failure (or inability) to properly compensate for wind conditions, while taxiing. Factors associated with the accident were: the sandy terrain, and the gusty tailwind condition.NTSB CHI97LA109Accident · No injuriesLimited investigationFinal reportCessna 421C · Pierre, SDthe pilot's inadvertent activation of the number one throttle/power control. Factors were: the pilot left the cockpit unattended with the engines running and a wet ramp.NTSB CHI93LA221Accident · Minor injuriesLimited investigationFinal reportCessna 172 · Rapid City, SDThe pilot in command's inadequate compensation for wind conditions.NTSB DEN90LA038Accident · No injuriesLimited investigationFinal reportCessna 182M · Pierre, SDInadequate compensation for the wind conditions by the pilot. An on ground encounter with wind gusts is considered an additional cause.NTSB DEN82DA083Accident · No injuriesFinal reportCessna 172 · Sturgis, SDThe pilot landed in an open field to go to an auction. When he taxied back downwind to start his takeoff, the wind was gusting to 28 knots. The pilot estimated that he was moving about 15 mph as he turned to head back into the wind. As he started a right…NTSB DEN81FTK17Accident · No injuriesClosedHiller Acft FH1100 · Sioux Falls, SDNTSB MKC79FTK03Accident · No injuriesClosedAmer Avco AA-1A · Redfield, SDNTSB MKC78FTK33Accident · No injuriesClosedCessna A188B · Doland, SDNTSB MKC78FTK15Accident · Minor injuriesClosedCessna 150 · Sturgis, SDNTSB MKC77FTK02Accident · No injuriesClosedPiper PA-32 · Dell Rapids, SDNTSB MKC76DTK22Accident · No injuriesClosedCessna 172E · Sioux Falls, SDNTSB MKC76FTK06Accident · No injuriesClosedCessna 172M · Rapid City, SDNTSB MKC75DTK14Accident · No injuriesClosedBellanca 7ACA · Madison, SDNTSB MKC75DTK11Accident · No injuriesClosedPiper PA-28 · Iroquis, SDNTSB MKC74DTK10Accident · No injuriesClosedCessna 172F · Hot Springs, SDNTSB MKC72DTK17Accident · No injuriesClosedAeronca 7BCM · Huron, SDNTSB MKC70D0172Accident · No injuriesClosedChampion 7EC · Pierre, SDNTSB MKC69D0468Accident · No injuriesClosedCessna 172K · Martin, SDNTSB MKC69D0275Accident · No injuriesClosedCessna 210 · Watertown, SDNTSB MKC68D0576Accident · No injuriesClosedCessna 182 · Mitchell, SDNTSB MKC68F0491Accident · No injuriesClosedCessna 150G · Rapid City, SDNTSB MKC68F0148Accident · No injuriesClosedAero Comdr 500 · Watertown, SDNTSB MKC67F0609Accident · No injuriesClosedErco 415-C · Hot Springs, SDNTSB MKC67F0465Accident · No injuriesClosedMooney M20A · Huron, SDNTSB MKC67F0427Accident · No injuriesClosedCessna 180 · Newell, SDNTSB MKC67D0314Accident · No injuriesClosedCessna 172 · Rapid City, SDNTSB MKC67D0293Accident · No injuriesClosedPiper PA-22 · Spearfish, SDNTSB MKC67D0226Accident · No injuriesClosedMooney M20C · Pickstown, SDNTSB MKC67D0256Accident · No injuriesClosedPiper PA-22 · Ft.Thompson, SDNTSB MKC67D0100Accident · No injuriesClosedPiper PA-22 · Milesville, SDNTSB MKC66D0432Accident · No injuriesClosedPiper PA-18 · Summit, SDNTSB MKC66D0199Accident · No injuriesClosedPiper PA-18A · Redfield, SDNTSB UNK64X4114Accident · No injuriesClosedChampion 7FC · Sioux Falls, SDNTSB UNK64X4113Accident · No injuriesClosedPiper PA22 · Watertown, SDNTSB UNK64X2753Accident · No injuriesClosedCessna 182 · Chamberlain, SDNTSB UNK64X1508Accident · No injuriesClosedPiper PA12 · Sioux Falls, SDNTSB UNK64X1452Accident · No injuriesClosedAeronca 7AC · Clark, SDNTSB UNK64X1402Accident · No injuriesClosedCessna 180 · Ipswich, SD