Choppy surface

NTSB finding · Environmental issues › Physical environment › Runway/land/takeoff/taxi surface

Cases
20
In the probable cause
12 (60%)
Fatal cases
2
NTSB code
03023030

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 Choppy surface per year: 20 cases
20111
20131
20152
20163
20175
20181
20192
20202
20232
20241
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\", '03023030') 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\", '03023030'))
  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\", '03023030') 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 · 20

NTSB CEN24LA255Accident · No injuriesClass 4 · LimitedFinal reportAir Tractor AT-802 · Brad, TXThe pilot’s failure to maintain airplane control after encountering a large boat wake.Jul 4, 2024 · N983LA · Substantial damageNTSB WPR23LA326Accident · No injuriesClass 4 · LimitedFinal reportHenry Steven J JA 30 Superstol · Leavenworth, WAThe pilot's failure to maintain airplane control during taxi, which resulted in a nose over.Aug 28, 2023 · N869BB · Substantial damageNTSB CEN23LA290Accident · No injuriesClass 4 · LimitedFinal reportGood James AIR CAM · Caswell Beach, NCThe pilot’s failure to properly evaluate the sea state during an open sea landing and subsequent takeoff attempt resulting in an inadvertent impact with the water.Jul 7, 2023 · N38HP · Substantial damageNTSB WPR21LA013Accident · No injuriesClass 4 · LimitedFinal reportRalph C Kimball Sea Rey · Parker Dam, CAThe inadvertent encounter with water wake during the takeoff sequence that degraded the airplane’s airspeed and resulted in the pilot’s failure to maintain clearance from obstacles during the initial climb.Oct 9, 2020 · N32RK · Substantial damageNTSB CEN20CA348Accident · No injuriesClass 4 · Data collectionFinal reportProgressive Aerodyne Searey · League City, TXThe pilot's failure to maintain airplane control during a water takeoff after an encounter with the wake from a boat.Aug 17, 2020 · N502BK · Substantial damageNTSB ANC19FA035Accident · 1 fatalClass 2 · FieldFinal reportDe Havilland Beaver DHC 2 · Seldovia, AKThe airplane's floats impact with an ocean wave or swell, which exceeded the design load specifications of the flying wire assemblies and resulted in a partial separation of the float assemblies.Jul 19, 2019 · N68083 · Substantial damageNTSB ERA19LA156Accident · No injuriesClass 3 · LimitedFinal reportCessna 208 · Key West, FLThe pilot's decision to attempt a takeoff in rough sea conditions, resulting in damage to the floats and the sinking of the seaplane.Apr 23, 2019 · N366TA · Substantial damageNTSB GAA18CA336Accident · No injuriesData collectionFinal reportAviat A 1 · Renton, WAThe pilot’s inadequate crosswind correction, which resulted in the right wing impacting the water’s surface.Jun 10, 2018 · N352AM · Substantial damageNTSB ANC17LA053Accident · No injuriesLimited investigationFinal reportCessna U206G · Kodiak, AK***This probable cause was modified on November 27, 2018. Please see the docket for this accident to view the original probable cause.*** The pilot's improper decision to takeoff in an area of rough water and ocean swells, which resulted in a failure of the…Sep 4, 2017 · N16GP · Substantial damageNTSB CEN17FA287Accident · 2 fatalField investigationFinal reportAerofab Lake LA 4 250 · Oshkosh, WIThe pilot's failure to properly configure the airplane for takeoff and his decision to takeoff with a tailwind in unfavorable water conditions, which resulted in the airplane entering an aerodynamic stall and the pilot losing control.Jul 28, 2017 · N1400P · Substantial damage
See all 20 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\", '03023030'))
  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.