NTSB investigations, Mexico
58 cases where the phase of flight was Enroute.
Cases per year
| 1967 | 8 |
|---|---|
| 1968 | 6 |
| 1969 | 3 |
| 1970 | 8 |
| 1971 | 4 |
| 1972 | 6 |
| 1973 | 3 |
| 1974 | 6 |
| 1975 | 2 |
| 1976 | 3 |
| 1977 | 5 |
| 1978 | 3 |
| 1980 | 1 |
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\" = 'MX' AND c.\"eventCountry\" = 'USA'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 400)
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" = 'MX' AND c."eventCountry" = 'USA'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 400)
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 LAX81OA021Accident · 2 fatalClosedPiper PA-31 · Magdelena, MexicoNTSB UNK78X0116Accident · Serious injuriesClosedBeech 65 · Zamora, MexicoNTSB UNK78X0111Accident · Minor injuriesClosedBeech B35 · Martinez, MexicoNTSB UNK78X0109Accident · No injuriesClosedPiper PA-32 · Cerralvo, MexicoNTSB FTW77OA005Accident · No injuriesClosedCessna 182H · Chimaltit, MexicoNTSB FTW77OA004Accident · No injuriesClosedPiper PA-28R · Cautrocienega, MexicoNTSB LAX77OA007Accident · Serious injuriesClosedPiper PA-22 · Puertocitas, MexicoNTSB LAX77OA008Accident · No injuriesClosedCessna 172D · Hermisillo, MexicoNTSB MKC770A001Accident · No injuriesClosedCessna 177RG · Hermosillo, MexicoNTSB LAX770A002Accident · No injuriesClosedCessna 172 · Baja, MexicoNTSB FTW76O0010Accident · No injuriesClosedNavion B · Texistepec, MexicoNTSB FTW76DRG63Accident · 3 fatalClosedCessna 182 · Coahuila, MexicoNTSB LAX7600017Accident · Serious injuriesClosedPiper PA-32 · Bachiniva, MexicoNTSB LAX7600003Accident · Serious injuriesClosedCessna 195A · Mulege, MexicoNTSB LAX75OL009Accident · No injuriesClosedCessna 150 · Rosarito, MexicoNTSB LAX75OL001Accident · No injuriesClosedCessna 172E · Ensenada, MexicoNTSB UNK74X0112Accident · No injuriesClosedLockheed 12A · Q.Roo, MexicoNTSB OAK74DVG40Accident · No injuriesClosedPiper PA-28R · Mexicali, MexicoNTSB LAX74OL064Accident · No injuriesClosedCessna 150 · Mazatlan, MexicoNTSB FTW74DRG60Accident · Serious injuriesClosedBreezy TCD 11BR · Guerrero, MexicoNTSB OAK74DVD33Accident · 3 fatalClosedCessna 205 · Yecora, MexicoNTSB DEN74DQA15Accident · No injuriesClosedBellanca 17-30 · Chihuahua, MexicoNTSB LAX74OL009Accident · No injuriesClosedPiper PA-28 · Tiburon, MexicoNTSB LAX73OL002Accident · No injuriesClosedPiper PA-28 · Culiacan, MexicoNTSB LAX73DUM05Accident · Serious injuriesClosedMooney M-20A · Tijuana, MexicoNTSB LAX73OL004Accident · No injuriesClosedBeech B35 · Mazatlan, MexicoNTSB LAX73OL003Accident · Minor injuriesClosedBeech C-18S · Mazatlan, MexicoNTSB LAX73OL009Accident · No injuriesClosedCessna 182 · Mexicali, MexicoNTSB FTW72DRG59Accident · Serious injuriesClosedCessna 172 · Mexicali, MexicoNTSB FTW72DQD17Accident · No injuriesClosedCessna 172L · Hermosillo, MexicoNTSB FTW72DRG36Accident · No injuriesClosedCessna T-337 · Lapaz, MexicoNTSB FTW72DRG11Accident · Serious injuriesClosedPiper PA-32 · Navajoa, MexicoNTSB FTW71DRH15Accident · No injuriesClosedCessna 182G · Puertocitos, MexicoNTSB FTW71DRG61Accident · No injuriesClosedPiper PA-28 · Laredo, MexicoNTSB FTW71DRG42Accident · 3 fatalClosedCessna 172 · Tijuana, MexicoNTSB FTW71DRG24Accident · No injuriesClosedMooney M20A · Hermosillo, MexicoNTSB FTW71DRG19Accident · No injuriesClosedPiper PA-24 · Hermosillo, MexicoNTSB FTW71DRG12Accident · No injuriesClosedPiper PA-28 · Mexicali, MexicoNTSB LAX71DVA26Accident · No injuriesClosedPiper PA-32 · Caborca, MexicoNTSB FTW70DQG08Accident · No injuriesClosedMooney M20E · Chihuahua, MexicoNTSB LAX70DUJ16Accident · No injuriesClosedPiper PA-22 · Sonora, MexicoNTSB UNK70X0107Accident · Serious injuriesClosedCessna 310C · Matamoros, MexicoNTSB FTW70D0002Accident · No injuriesClosedCessna 172 · Chamal, MexicoNTSB LAX69O0333Accident · Minor injuriesClosedCessna 177 · Hermosillo, MexicoNTSB LAX69O0160Accident · No injuriesClosedCessna 337B · Mazatlan, MexicoNTSB FTW69O0003Accident · No injuriesClosedCessna 320D · Torreon, MexicoNTSB FTW69O0002Accident · No injuriesClosedCessna 182 · Torreon, MexicoNTSB OAK69O0013Accident · No injuriesClosedPiper PA-28 · Mexicali, MexicoNTSB UNK68X0140Accident · Minor injuriesClosedBeech A35 · Moctezuma, MexicoNTSB FTW68O0018Accident · Minor injuriesClosedWaco YKS-7 · Zaragoza, Mexico