Flat light

NTSB finding · Environmental issues › Conditions/weather/phenomena › Light condition

Cases
42
In the probable cause
27 (64%)
Fatal cases
5
NTSB code
03036025

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 Flat light per year: 42 cases
20081
20092
20101
20112
20123
20134
20164
20172
20182
20191
20206
20211
20223
20234
20243
20252
20261
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\", '03036025') 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\", '03036025'))
  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\", '03036025') 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 · 42

NTSB WPR26LA095Accident · Minor injuriesClass 4 · LimitedFinal reportAmerican Champion 8KCAB · Alpine, WYThe pilot’s inadvertent descent while operating in flat light conditions which resulted in controlled flight into terrain.Jan 29, 2026 · N59SE · Substantial damageNTSB ANC25LA092Accident · No injuriesClass 4 · LimitedFinal reportEurocopter AS 350 B2 · Juneau, AKThe pilot’s failure to maintain adequate obstacle clearance during takeoff from uneven, snow-covered terrain in flat light conditions.Aug 22, 2025 · N149TH · Substantial damageNTSB ANC25LA064Accident · No injuriesClass 4 · LimitedFinal reportRobinson Helicopter R44 II · Palmer, AKThe pilot’s diverted attention during takeoff in flat light conditions, which resulted in a loss of visual reference with terrain.Jun 30, 2025 · N531AT · Substantial damageNTSB ANC24LA040Accident · No injuriesClass 4 · LimitedFinal reportCessna 180H · Soldotna, AKThe pilot’s failure to recognize and avoid an obstacle on the runway environment during takeoff roll. Contributing was flat light conditions.Jun 1, 2024 · N91224 · Substantial damageNTSB ANC24LA019Accident · No injuriesClass 4 · LimitedFinal reportMichael G Darby Dard 1 · Anchorage, AKThe pilot’s loss of directional control while landing in soft snow, resulting in a nose over.Mar 18, 2024 · N696AK · Substantial damageNTSB WPR24LA090Accident · No injuriesClass 4 · LimitedFinal reportEnstrom 280FX · Lewistown, MTThe pilot’s failure to maintain clearance from terrain. Contributing to the accident was the pilot’s encounter with low light conditions and snow-covered terrain.Feb 15, 2024 · N899JS · Substantial damageNTSB ANC24LA009Accident · Minor injuriesClass 4 · LimitedFinal reportAirbus Helicopters AS350B3 · Palmer, AKThe pilot's failure to maintain clearance from snow-covered terrain during the landing approach in flat light conditions.Dec 26, 2023 · N21FY · Substantial damageNTSB ANC23LA036Accident · No injuriesClass 4 · LimitedFinal reportPiper PA31 · Point Thomson, AKThe pilot’s inadvertent descent below the published minimum descent altitude, while operating in flat light conditions, which resulted in controlled flight into terrain.May 17, 2023 · N34WM · Substantial damageNTSB ANC23LA022Accident · No injuriesClass 4 · LimitedFinal reportCessna U206F · Chugiak, AKThe pilot’s failure to maintain directional control during takeoff in flat light conditions which resulted in a loss of control and impact with a snow berm.Feb 14, 2023 · N9572G · Substantial damageNTSB ANC23LA011Accident · Minor injuriesClass 4 · LimitedFinal reportPiper PA-18-150 · Kenai, AKThe pilot's failure to maintain directional control during landing in flat light conditions, resulting in the airplane to nose over.Jan 2, 2023 · N94X · Substantial damage
See all 42 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\", '03036025'))
  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.