NTSB finding · Environmental issues › Physical environment › Object/animal/substance

Cases
36
In the probable cause
21 (58%)
Fatal cases
0
NTSB code
03022052

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 Hidden/submerged object per year: 36 cases
20087
20101
20114
20132
20143
20152
20176
20194
20211
20221
20231
20241
20253
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\", '03022052') 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\", '03022052'))
  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\", '03022052') 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 · 36

NTSB ANC25LA102Accident · No injuriesClass 4 · LimitedFinal reportAmerican Champion 8GCBC · Unalakleet, AKThe pilots encounter with an obstructed dip in the landing surface during the landing roll out on a remote airstrip, which resulted in a noseover.Sep 5, 2025 · N242BC · Substantial damageNTSB ANC25LA096Accident · No injuriesClass 4 · LimitedFinal reportCessna A185F · Haines, AKThe pilot’s selection of an unsuitable landing area resulting in an on-ground collision with an obscured log and a main landing gear separation.Aug 18, 2025 · N9BB · Substantial damageNTSB ERA25LA232Accident · No injuriesClass 4 · LimitedFinal reportScoda Aeronautica Ltda Super Petrel XP · Geneva, FLThe airplane’s collision with a submerged object during landing, which resulted in substantial damage to the fuselage/hull.Jun 8, 2025 · N405XP · Substantial damageNTSB ERA24LA118Accident · No injuriesClass 4 · LimitedFinal reportRobinson Helicopter R44 II · Miami, FLTail rotor contact with an unseen object while performing a precautionary landing to a closed helipad at night.Feb 1, 2024 · N521LS · Substantial damageNTSB CEN23LA287Accident · No injuriesClass 4 · LimitedFinal reportAerofab LA-4 · Big Prairie, MIThe airplane’s collision with a submerged log during a water landing.Jul 8, 2023 · N993PT · Substantial damageNTSB CEN22LA287Accident · No injuriesClass 4 · LimitedFinal reportAir Tractor AT-602 · Newport, ARThe pilot’s failure to maintain clearance from obstructed terrain during takeoff.Jun 20, 2022 · N42022 · Substantial damageNTSB CEN21LA251Accident · Minor injuriesClass 4 · LimitedFinal reportKevin Lippert Zenith CH 750 · Montrose, COThe loss of engine power due to fuel vapor lock.Jun 5, 2021 · N902KL · Substantial damageNTSB GAA19CA562Accident · No injuriesData collectionFinal reportDe Havilland Beaver DHC 2 MK.1 · Kotzebue, AKThe pilot's delayed decision to abort the takeoff from water after the airplane impacted a submerged object, which resulted in insufficient airspeed for liftoff and led to the pilot steering the airplane toward a mud embankment to avoid rocks.Sep 20, 2019 · N67112 · Substantial damageNTSB GAA19CA513Accident · Minor injuriesData collectionFinal reportCessna A185 · Rangeley Lake, METhe pilot's inadequate preflight inspection of the floats, which led to his subsequent attempt to depart from a lake with damaged floats and led to a loss of roll control and the right wing impacting the water.Aug 22, 2019 · N1920Q · Substantial damageNTSB GAA19CA350Accident · No injuriesData collectionFinal reportPiper PA28 · Nowdoinham, METhe flight instructor's delayed decision to abort the takeoff from a wet, grass runway with insufficient runway remaining, which resulted in a runway overrun and the airplane going down an embankment.Jun 7, 2019 · N7227F · Substantial damage
See all 36 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\", '03022052'))
  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.