Obscuration

NTSB finding · Environmental issues › Conditions/weather/phenomena › Ceiling/visibility/precip

Cases
45
In the probable cause
24 (53%)
Fatal cases
35
NTSB code
03035030

NTSB has coded findings and defining events since 2008. Earlier cases used its older occurrence and cause codes, so they aren’t counted here.

When and where

In green, cases where NTSB made it part of the probable cause; in gray, a factor or other finding. Findings are coded with the final report, often a year or more after the event, so the latest years are incomplete.

Cases per year

2008In the probable causeFactor only2026
Cases with Obscuration per year: 45 cases
20082
20091
20105
20114
20127
20133
20142
20153
20161
20173
20181
20194
20201
20213
20221
20244
Query with SQL
duckdb -csv -c "SELECT year(c.\"eventDate\") AS year, count(DISTINCT f.case_mkey) AS cases,
    count(DISTINCT f.case_mkey) FILTER (WHERE f.\"inProbableCause\") AS in_probable_cause
  FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = f.case_mkey
  WHERE starts_with(f.\"findingCode\", '03035030') AND c.\"eventDate\" >= DATE '2000-01-01'
  GROUP BY 1
  ORDER BY 1"

Prints the counts as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.

In the same cases

Query with SQL
duckdb -csv -c "WITH matched AS (SELECT DISTINCT case_mkey, aircrafts_position FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' WHERE starts_with(\"findingCode\", '03035030'))
  SELECT * FROM (
  SELECT 'Defining event' AS kind, e.\"tier2Number\" AS code, max(e.\"eventTier2Name\") AS name, count(DISTINCT f.case_mkey) AS cases
  FROM matched f JOIN 'https://openairdocs.org/data/latest/ntsb_events.parquet' e ON e.case_mkey = f.case_mkey AND e.aircrafts_position = f.aircrafts_position AND e.\"isDefiningEvent\"
  WHERE e.\"tier2Number\" <> ''
  GROUP BY ALL
  UNION ALL
  SELECT 'Aircraft model', a.aircraft_model_code, any_value(concat_ws(' ', m.manufacturer, m.model)), count(DISTINCT f.case_mkey)
  FROM matched f JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = f.case_mkey AND a.position = f.aircrafts_position
  LEFT JOIN 'https://openairdocs.org/data/latest/faa_aircraft_model.parquet' m ON m.code = a.aircraft_model_code
  WHERE a.aircraft_model_code IS NOT NULL
  GROUP BY ALL
  UNION ALL
  SELECT 'Other finding', left(g.\"findingCode\", 8), max(g.\"tier4Name\"), count(DISTINCT g.case_mkey)
  FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' g
  WHERE g.case_mkey IN (SELECT case_mkey FROM matched) AND NOT starts_with(g.\"findingCode\", '03035030') AND g.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY ALL
  )
  QUALIFY row_number() OVER (PARTITION BY kind ORDER BY cases DESC) <= 10
  ORDER BY kind, cases DESC"

Prints the counts as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.

Newest cases · 45

NTSB CEN24FA327Accident · 1 fatalClass 3 · FieldFinal reportPiper PA-28-140 · Wayne, NEThe non-instrument-rated pilot’s encounter with instrument meteorological conditions, which resulted in spatial disorientation and a loss of control.Aug 26, 2024 · N9626K · DestroyedNTSB ANC24LA069Accident · 3 fatalClass 3 · LimitedFinal reportBeech A35 · Gustavus, AKThe pilot’s decision to continue the visual flight rules flight into instrument meteorological conditions, which resulted in controlled flight into terrain.Jul 20, 2024 · N410B · DestroyedNTSB ERA24FA294Accident · 3 fatalClass 3 · FieldFinal reportCessna 182 · Rutherfordton, NCThe pilot’s failure to maintain clearance from clouds, resulting in controlled flight into terrain due to mountain obscuration.Jul 8, 2024 · N2198G · Substantial damageNTSB WPR24FA202Accident · 1 fatalClass 3 · FieldFinal reportAir Tractor AT-802A · Capitan, NMThe pilot’s decision to continue the visual flight rules flight through an apparent visual corridor that rapidly narrowed due to rising terrain and mountain obscuration, resulting in momentary instrument meteorological conditions and the pilot’s subsequent…Jun 21, 2024 · N331BS · DestroyedNTSB CEN23LA091Accident · No injuriesClass 4 · LimitedFinal reportCessna 150G · Pocahantas, IAThe pilot’s landing flare which resulted in a bounced landing and the nose landing gear collapsing. Contributing to the accident was the airplane's encounter with adverse weather conditions which led to structural icing that affected flight characteristics…Dec 20, 2022 · N2930J · Substantial damageNTSB ERA22FA096Accident · 1 fatalClass 3 · FieldFinal reportRobinson Helicopter R44 II · Cosby, TNThe pilot’s intentional, continued flight into instrument meteorological conditions in a helicopter that was not certified for instrument conditions, which resulted in a loss of helicopter control and a collision with trees and terrain.Dec 29, 2021 · N544SC · Substantial damageNTSB ERA22FA001Accident · 2 fatalClass 3 · FieldFinal reportBeech S35 · Andrews, NCThe pilot’s decision to fly toward rapidly rising, obscured mountainous terrain after departing under visual flight rules at night.Oct 3, 2021 · N876T · DestroyedNTSB ERA21LA124Accident · 2 fatalClass 3 · LimitedFinal reportCessna 441 · Belvidere, TNThe pilot’s failure to follow the published instrument approach procedure by prematurely descending the airplane below the final approach fix altitude to fly under the low ceiling conditions, which resulted in controlled flight into terrain.Feb 7, 2021 · N44776 · DestroyedNTSB CEN20LA186Accident · 2 fatalClass 3 · LimitedFinal reportCessna T206 · Center, TXThe non-instrument rated pilot’s intentional flight into instrument meteorological conditions (clouds) which resulted in spatial disorientation and an inflight loss of control.May 20, 2020 · N51610 · Substantial damageNTSB WPR19FA146Accident · 1 fatalClass 3 · FieldFinal reportAviat A1 · Santa Ynez, CAThe pilot’s failure to maintain clearance from mountainous terrain during cruise flight in low visibility and mountainous obscuration conditions.May 15, 2019 · N236AM · Destroyed
See all 45 cases
Query with SQL
duckdb -csv -c "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.\"mKey\" IN (SELECT f.case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f WHERE starts_with(f.\"findingCode\", '03035030'))
  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.