A marine heatwave is a stretch of at least five consecutive days when the local sea-surface temperature sits above the 90th-percentile threshold for that calendar day-of-year. The threshold is calibrated against a 30-year baseline — 1982–2011 here — using the standard published in Hobday et al. 2016. Events are then categorized by mean intensity above climatology — Moderate, Strong, Severe, Extreme — following Hobday et al. 2018.
This revision upgrades from the prior ERA5 2m air-temperature proxy to real NOAA OISST v2.1 sea-surface temperature. The prior proxy compressed all intensity anomalies into a narrow range, producing only Moderate events — a known artifact of using air temperature as SST substitute. The expectation going in was that real SST would spread the distribution into Severe and Extreme in El Niño years (2015, 2023). It did not: all 129 events sit in Moderate, so the compression is a property of this warm, low-variance tropical cell rather than of the proxy. At La Saladita, the analysis uses an offshore OISST grid cell at lat=17.875°N, lon=−101.875°W, about 12 km west-south-west of the beach, because the immediate near-coast cell is land-masked on the 1/4° grid.
Coverage: all 44 years (1982–2025) of OISST were fetched from CoastWatch PFEG ERDDAP on 20 September 2026 at the grid cell nearest the corrected site coordinates. The June 2026 version of this page had only three cached years, at a cell 44 km south-east that belonged to the wrong town; everything below now covers the full record. Re-run python3 scripts/build_sst_climatology.py then python3 scripts/analyze_marine_heatwaves.py to refresh.
Revised 27 September 2026: the script was rerun with 2026 year-to-date added as a separate block (year_to_date in the artifact). The 1982–2025 results reproduce exactly: 129 events, 1,475 MHW-days, +9.6 MHW-days per decade (p=0.009).
2026 already has more marine-heatwave days than any full year since 1982: 134 by 11 September.
Same cell, same 1982–2011 threshold, OISST final data through 11 September 2026 (252 days). Two events so far. A brief one on 18–29 January (12 days, averaging 0.07 °C above the threshold), then one that began on 13 May and was still running on the last final day: 122 days, averaging 0.43 °C above the threshold and peaking at 0.83 °C above it (1.75 °C above the day's climatology) on 31 July. Its 134 MHW-days to date exceed every complete year in the record; the highest were 109 in 1990, 106 in 2023 and 103 in 2015. It is still Moderate: the peak reached 1.9 times the threshold-minus-climatology gap, just short of the 2× that marks Strong. Over the year so far the sea has run about +1.0 °C above the 1982–2025 monthly means at this cell, and +1.1 to +1.5 °C every month from April to September. Preliminary OISST through 25 September keeps the event going. 2026 is a partial year, so it sits outside the trends, totals and decade table on this page, and its event is right-censored: the final count will be higher. The 1982–2025 headline stands as it was.
Loading…
Loading event totals and trend confidence from the artifact…
Four measures, where the data lands.
Annual trend by ordinary-least-squares regression; change per ten years across the 44-year record. Significant slopes (p < 0.05) highlighted.
Moderate, Strong, Severe, Extreme.
Hobday 2018 categories use the local p90 threshold as a 1× unit. Moderate < 2×, Strong 2–3×, Severe 3–4×, Extreme ≥ 4×.
Below 2×
2–3×
3–4×
≥ 4×
Heat-stress days by decade.
Mean MHW-days per year and mean events per year, grouped by decade.
The years that broke through.
Each year's worst event by category, total MHW-days within the calendar year, and the maximum daily intensity above the climatological threshold.
Baseline and record overlap. The 90th-percentile threshold is fitted on 1982–2011 and then applied to the whole 1982–2025 record, so the first 30 years are scored against a climatology they helped define. That is Hobday's standard design; it slightly understates early-record events relative to a fixed external baseline.
Category breakdown: 129 Moderate. No year reached Extreme. Early-record mean (1982–2001) 18.9 MHW-days/yr; recent era (2005–2025) 41.7. Categories follow Hobday 2018 (multiples of the threshold-minus-climatology gap), so a cool-baseline cell reaches Strong more easily than a warm one — compare categories across sites with care.
Trend significance. MHW-days/year slope +9.6/decade (p=0.009); events/year +0.6/decade (p=0.063). With n=44 annual values and strong ENSO clustering, treat p-values as indicative — a few El Niño years carry the regression.
Three sea-surface temperature products. At this cell OISST v2.1 warms by +0.131°C per decade over 1982–2025 (95% interval 0.05 to 0.21). Two other products warm faster over the same years: ERSSTv5 +0.191 and COBE-SST2 +0.209. Heatwave days are counted against a fixed 1982–2011 threshold, so a record that warms more slowly counts fewer of them in its later years. The +9.6 MHW-days per decade is, if anything, understated. ERSSTv5 and COBE-SST2 are monthly products on coarser grids and cannot resolve events, so the heatwave count itself has not been run on them. Added 29 September 2026.
The grid cell is offshore, not in the surf zone. OISST is a 1/4° (~25 km) product; the immediate near-coast cell at La Saladita is land-masked. Coastal SST can diverge from offshore SST by ~0.3–0.8°C during strong upwelling or onshore-wind episodes.
OISST blends satellite + buoy data. The product is well-validated over the open ocean (RMSE ≈ 0.3°C against drifters and moored buoys). The decadal trend in the full record is dominated by basin-scale warming, not measurement noise.
This describes what happened, not why. Drivers — basin-scale ocean warming, the 2014–16 "Warm Blob," the 2023–24 El Niño — are active research topics. This page is a count, not a mechanism.
Real OISST SST for 1982–2025 at the corrected cell produces 129 marine heatwaves and 1475 MHW-days — about 34 days a year. Every event is Moderate under the 1982–2011 baseline — the proxy result of June 2026 is confirmed, not an artifact. MHW-days trend +9.6/decade (p=0.009).Full-record run · 20 September 2026 · partial_data: false
Sources & method
NOAA OISST v2.1 daily sea-surface temperature. Cell: lat=17.875°N, lon=−101.875°W — the nearest valid offshore cell to La Saladita (17.8375°N, −101.7606°W); the target cell is land-masked at 1/4° resolution. Climatology baseline: 1982–2011, ±11-day smoothing window per day-of-year. MHW detection: ≥ 5 consecutive days above the day-of-year 90th-percentile threshold, with gaps of up to 2 days bridged within an event (Hobday 2016 §2.1). Categories assigned by mean intensity / (p90 − climatological mean), per Hobday 2018.
Data acquisition: 37 years via CoastWatch PFEG ERDDAP (dataset ncdcOisst21Agg_LonPM180, year-chunked requests). The ERDDAP aggregation serves 1992–1998 with only alternate days, so those seven years were read instead from NOAA PSL's yearly files (sst.day.mean.{year}.nc, lat-index 431, lon-index 1032 — the same cell). 16,054 valid days of 16,071. partial_data: false.
Trend test: ordinary least-squares regression of annual aggregates against year. Two-tailed p-value from slope's standard error. With n=44 annual values the p-values are reported as computed; ENSO clustering means a handful of years dominate the slope.
The June 2026 analysis used ERA5 2 m air temperature as an SST proxy and produced 149 events, all Moderate, which this page then attributed to the proxy's compressed variance. Real OISST gives 129 events, also all Moderate. The attribution was wrong: at this cell the 90th-percentile threshold sits about 1.1 °C above climatology (0.8–1.7 °C through the year), and the strongest event peaks in the record (1.3 °C in 2015, 1.1 °C in 2024, 0.6 °C in 2023) never reach the 2× multiple that defines Strong.
References: Hobday, A.J. et al. (2016) A hierarchical approach to defining marine heatwaves. Progress in Oceanography 141: 227–238. Hobday, A.J. et al. (2018) Categorizing and naming marine heatwaves. Oceanography 31(2): 162–173.
Script: scripts/analyze_marine_heatwaves.py (OISST_PRIMARY mode) → functions/api/_findings_marine_heatwaves.js. Re-run when ERDDAP access is restored.