NTSB investigations, PR
48 cases where the phase of flight was Initial climb.
Cases per year
| 1962 | 1 |
|---|---|
| 1964 | 8 |
| 1965 | 2 |
| 1966 | 4 |
| 1967 | 2 |
| 1968 | 1 |
| 1969 | 3 |
| 1970 | 2 |
| 1971 | 1 |
| 1972 | 2 |
| 1977 | 1 |
| 1979 | 2 |
| 1981 | 3 |
| 2001 | 1 |
| 2002 | 1 |
| 2003 | 1 |
| 2005 | 2 |
| 2006 | 1 |
| 2007 | 1 |
| 2010 | 2 |
| 2015 | 1 |
| 2017 | 2 |
| 2018 | 1 |
| 2024 | 1 |
| 2025 | 1 |
| 2026 | 1 |
Latest cases
Query with SQL
duckdb -csv -c "WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e.\"tier1Number\" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e.\"isDefiningEvent\", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e.\"tier1Number\" GLOB '[1-9][0-9]*'
AND (e.\"isDefiningEvent\" OR e.case_mkey IN (SELECT \"mKey\" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE \"isPre1982\"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o.\"phaseOfFlightCode\", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o.\"phaseOfFlightCode\"
WHERE o.aircrafts_position = 1 AND o.\"occurrenceNumber\" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c.\"eventDate\", c.\"highestInjuryLevel\" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c.\"eventDate\" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
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.\"eventStateOrRegion\" = 'PR' AND c.\"eventCountry\" = 'USA'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 350)
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.
WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e."tier1Number" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e."isDefiningEvent", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e."tier1Number" GLOB '[1-9][0-9]*'
AND (e."isDefiningEvent" OR e.case_mkey IN (SELECT "mKey" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE "isPre1982"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o."phaseOfFlightCode", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o."phaseOfFlightCode"
WHERE o.aircrafts_position = 1 AND o."occurrenceNumber" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c."eventDate", c."highestInjuryLevel" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c."mKey" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c."eventDate" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
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."eventStateOrRegion" = 'PR' AND c."eventCountry" = 'USA'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 350)
ORDER BY c."eventDate" DESC, c."ntsbNumber" DESCRun it at the DuckDB prompt, or in any tool that reads Parquet over HTTPS. More ways to query the release are on Use the data.
NTSB ERA26LA223Accident · No injuriesClass 3 · LimitedPreliminary reportCessna T210 · Loíza, PROn May 30, 2026, about 0744 Atlantic standard time, a Cessna T210, N210PL, was substantially damaged when it was involved in an accident near Loiza, Puerto Rico. The pilot and passenger were not injured. The airplane was operated as a Title 14 Code of Federal…NTSB ERA26LA047Accident · Minor injuriesClass 4 · LimitedFinal reportTorres Ruben Aventura II · Culebrita Beach, PRThe pilot's failure to maintain directional control during the initial climb, which resulted in abnormal contact with the water and a subsequent collision with vegetation.NTSB ERA25FA082Accident · 1 fatalClass 3 · FieldFinal reportCessna 172 · Cintrona, PRMaintenance personnel’s inadequate inspection of the airplane, which resulted in inflight the failure of the right aileron carry through cable due to wear, reduced effectiveness of the airplane’s ailerons, and a subsequent loss of control.NTSB ERA18LA165Accident · Serious injuriesLimited investigationFinal reportCessna 182 · Arecibo, PRMaintenance personnel's failure to properly apply torque to the engine through bolts, which ultimately resulted in the crankshaft failure and the total loss of engine power.NTSB ERA17LA227Accident · No injuriesLimited investigationFinal reportPiper PA28 · San Juan, PRA partial loss of engine power during initial climb for reasons that could not be determined and the pilot's subsequent exceedance of the airplane's critical angle of attack, which resulted in an aerodynamic stall.NTSB ERA17FA195Accident · 1 fatalField investigationFinal reportPiper PA23 · San Juan, PRThe pilot's failure to maintain adequate airspeed, properly correct for left yaw, and his exceedance of the airplane's critical angle of attack during initial climb, which resulted in an aerodynamic stall and subsequent uncontrolled descent into water.NTSB ERA15LA151Accident · No injuriesLimited investigationFinal reportPiper PA23 · San Juan, PRThe total loss of right engine power for reasons that could not be determined because postaccident examination of the airframe and engine did not reveal any anomalies that would have precluded normal operation.NTSB ERA10TA215Accident · No injuriesFinal reportCessna 404 · Ponce, PRA loss of power to the right engine for undetermined reasons.NTSB ERA10CA152Accident · Minor injuriesData collectionFinal reportPiper PA-28-180 · Patillas, PRThe student pilot’s decision to abort the takeoff with insufficient runway remaining.NTSB MIA07LA063Accident · Serious injuriesLimited investigationFinal reportJimenez Reymundo Challenger II Specia · Arecibo, PRThe uncertificated pilot's failure to remove the aft seat belt from around the aft control stick prior to flight.NTSB MIA06LA044Accident · Minor injuriesLimited investigationFinal reportMBB BO-105S · Ponce, PRA loose B-nut on the PC line connecting the power turbine governor (PTGOV) to the fuel control unit (FCU) that created a leak and caused the engine to roll back to an idle condition, causing a low hydraulic system pressure and subsequent control lock. A…NTSB MIA05LA079Accident · No injuriesLimited investigationFinal reportRockwell Aero Commander 500 · San Juan, PRThe failure of the pilot to follow the emergency checklist and his inadvertent operation of the airplane with known discrepancies resulting in landing overrun and on-ground collision with a ditch during the landing roll.NTSB ANC05FA038Accident · Serious injuriesField investigationFinal reportAero Commander 500-S · San Juan, PRThe fuel truck operator's improper refueling of a gasoline engine powered airplane with jet (turbine) fuel, and the pilot's inadequate preflight, which resulted in a loss of power in both engines and subsequent collision with trees. Factors associated with…NTSB MIA03LA176Accident · No injuriesLimited investigationFinal reportCessna 172F · Fajardo, PRThe pilot's inadequate aircraft preflight resulting in the airplane being operated with water contamination in the fuel system, and the loss of engine power.NTSB ATL03FA023Accident · 2 fatalField investigationFinal reportCessna 150L · Arecibo, PRThe pilots failure to follow the normal takeoff checklist (Wing Flaps-Up) and failure to maintain airspeed after takeoff that resulted in an inadvertent stall.NTSB MIA01FA072Accident · 1 fatalField investigationFinal reportPiper PA-30 · Ponce, PRThe pilot's decision to attempt flight with known deficiencies in the airplanes right engine, his failure to feather the right propeller after the engine failed , his failure to retract the landing gear following the engine failure, and his failure to…NTSB MIA82FKA01Accident · No injuriesClosedPiper PA-28 · Caba Rojo, PRNTSB MIA81FA097Accident · Serious injuriesClosedBrittnorman BN-2A · San Juan, PRNTSB MIA81IA092Incident · No injuriesClosedDehavilland DH-114 · San Juan, PRNTSB MIA80FKA01Accident · No injuriesClosedCessna 188 · Sabana, PRNTSB MIA79FA115Accident · 2 fatalClosedCessna 336 · San Juan, PRNTSB MIA77FA053Accident · No injuriesClosedDouglas DC-3 · San Juan, PRNTSB NYC73AN094Accident · 5 fatalClosedDouglas DC-7CF · San Juan, PRNTSB MIA72AM112Accident · No injuriesClosedDouglas DC-8 · San Juan, PRNTSB MIA71DKA13Accident · No injuriesClosedCessna 150J · Ponce, PRNTSB MIA71FKA01Accident · No injuriesClosedCessna 172D · Vega Baja, PRNTSB MIA70DKA01Accident · Serious injuriesClosedCessna 172 · Guayma, PRNTSB MIA70F0114Accident · No injuriesClosedGrumman G-164 · Juncos, PRNTSB MIA69F0470Accident · No injuriesClosedHiller UH-12C · Hato Rey, PRNTSB MIA69F0342Accident · Minor injuriesClosedBeech C-45A · Ramey Afb, PRNTSB MIA69F0101Accident · No injuriesClosedPiper PA-25 · Salinas, PRNTSB MIA67A0127Accident · No injuriesClosedHughes 269B · San Sebastian, PRNTSB MIA67A0107Accident · No injuriesClosedBeech C-45G · Arecibo, PRNTSB MIA67F0354Accident · Minor injuriesClosedPiper PA-32 · San Juan, PRNTSB MIA67A0019Accident · Minor injuriesClosedDehavilland 114 · San Juan, PRNTSB MIA66A0006Accident · No injuriesClosedHughes 269B · Arecibo, PRNTSB MIA66D0613Accident · No injuriesClosedAeronca 7ECA · Manati, PRNTSB MIA66F0251Accident · Minor injuriesClosedCessna 172E · Cabo Rojo, PRNTSB MIA66F0183Accident · No injuriesClosedPiper PA-24 · Coloso, PRNTSB UNK65X0651Accident · No injuriesClosedCessna 150 · Ramey Afb, PRNTSB UNK64X4128Accident · No injuriesClosedErcoupe E · Vieques, PRNTSB UNK64X4104Accident · No injuriesClosedDouglas DC-3 · San Juan, PRNTSB UNK64X4058Accident · Minor injuriesClosedChampion 7FC · Humacao, PRNTSB UNK64X4043Incident · No injuriesClosedConvair CV-340 · San Juan, PRNTSB UNK64X4027Accident · Minor injuriesClosedPiper PA28 · Parguera, PRNTSB UNK64X1615Accident · No injuriesClosedPiper PA30 · San Juan, PRNTSB MIA64I0081Incident · No injuriesClosedDouglas DC-8B · San Juan, PRNTSB MIA62A0039Accident · No injuriesClosedCurtiss-Wrt C-46R · San Juan, PR