NTSB finding · Aircraft › Aircraft systems › Lighting system

Cases
5
In the probable cause
4 (80%)
Fatal cases
1
NTSB code
01023310

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 Flight compartment lighting per year: 5 cases
20121
20131
20171
20181
20231
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\", '01023310') 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\", '01023310'))
  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\", '01023310') 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 · 5

NTSB ERA24FA003Accident · 1 fatalClass 3 · FieldFinal reportBell Helicopter Textron Canada 407 · Croydon, NHThe pilot’s loss of control during the initial climb in dark night conditions due to spatial disorientation, which resulted in a steep banking descent into trees and terrain. Contributing to the accident was the pilot’s lack of recent night flight experience,…Oct 8, 2023 · N802JR · Substantial damageNTSB GAA19CA044Accident · No injuriesData collectionFinal reportStoddard Hamilton Glasair II · Laramie, WYThe pilot's failure to maintain a proper pitch attitude during landing at night, which resulted in a porpoised landing.Oct 27, 2018 · N505YR · Substantial damageNTSB CEN17FA252Accident · Minor injuriesField investigationFinal reportAirbus Helicopters Deutschland MBB-BK 117 B-2 · Perryville, MOFuel starvation due to the pilot’s failure to turn on the fuel transfer pump switches during takeoff, which led to a total loss of engine power. Contributing to the accident was the pilot's improper decision to activate the annunciator panel’s dimming…Jul 2, 2017 · N238BK · Substantial damageNTSB CEN13CA133Accident · No injuriesData collectionFinal reportAmerican General Acft AG5B · Ankeny, IAThe pilot’s failure to maintain a proper glide path to the runway in gusty wind conditions and his failure to maintain clearance from obstructions during the subsequent go-around. Contributing to the accident was the pilot's improper interior lighting…Jan 12, 2013 · N897GA · Substantial damageNTSB CEN12LA133Accident · Serious injuriesLimited investigationFinal reportCessna 150J · Denmark, WIThe pilot’s loss of control due to his alcohol impairment. Contributing to the accident was the pilot's decision to fly at night with a known interior lighting malfunction.Jan 12, 2012 · N60676 · Substantial damage
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\", '01023310'))
  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.