Sea Surface Temperature Anomaly Detection and Marine Heat Mapping

Monitor marine heat wave formation and thermal anomalies that precede coral bleaching and fishery disruption. Klarety processes daily SST composites from NOAA and ESA satellites, compares against 20-year baselines, and generates anomaly severity maps by ocean region. Fishery managers and oceanographers act on weekly early warning reports.

Marine heat wave detection for fishery and coral managers

Klarety AI
Klarety AI chat composer interface

SST anomaly reports against 20-year baselines

Klarety agents process daily NOAA and ESA composites and return marine heat wave severity maps with bleaching risk scores.

SST - NOAA/ESA
Klarety satellite analysis output

Daily SST anomaly detection against climatology

Agents compute standardized SST anomalies against 20-year pixel-level climatology to classify marine heat wave onset and intensity.

GIS Output
Klarety AI map annotation overlay

SST anomaly layers for ocean and fishery GIS

Export marine heat wave polygons and anomaly magnitude rasters for coral reef monitoring and fishery management GIS platforms.

NOAA OISST anomaly computation and bleaching risk scoring

Klarety agents compute daily SST anomalies from NOAA OISST v2.1 against a 1991-2020 climatological baseline using the Degree Heating Week methodology. Pixels exceeding 1°C above maximum monthly mean for 8+ weeks accumulate bleaching risk scores. Marine heat wave events are classified by intensity (Category 1-4) using the Hobday et al. criteria. Output is a weekly DHW map and marine heat wave polygon GeoJSON.

Klarety AIMonitor SST anomalies in your ocean region
analysis/sst_marine_heat_wave.pyAgent code
python
import eeimport numpy as npimport pandas as pd
ee.Initialize()
# Great Barrier Reef, Australiareef_aoi = ee.Geometry.Rectangle([142.0, -24.0, 154.0, -10.0])
# NOAA OISST v2.1 daily SSTdef get_sst_stats(start, end):    sst = (ee.ImageCollection('NASA/OCEANDATA/MODIS-Terra/L3SMI')           .filterBounds(reef_aoi)           .filterDate(start, end)           .select('sst')           .mean())    stats = sst.reduceRegion(        ee.Reducer.mean().combine(ee.Reducer.max(), sharedInputs=True),        reef_aoi, 4000, maxPixels=1e9    ).getInfo()    return (stats.get('sst_mean', 0) or 0,            stats.get('sst_max', 0) or 0)
# Monthly SST monitoringmonths = [    ('2025-12-01','2025-12-31','Dec 2025'),    ('2026-01-01','2026-01-31','Jan 2026'),    ('2026-02-01','2026-02-28','Feb 2026'),    ('2026-03-01','2026-03-31','Mar 2026'),]
# 1991-2020 climatological maximums (approx for GBR):# Dec: 26.8, Jan: 27.4, Feb: 27.6, Mar: 27.1 (°C)clim_max = {'Dec 2025': 26.8, 'Jan 2026': 27.4, 'Feb 2026': 27.6, 'Mar 2026': 27.1}
results = []for s, e, label in months:    mean_sst, max_sst = get_sst_stats(s, e)    anomaly = round(mean_sst - clim_max[label], 2)    # Degree Heating Week proxy: anomaly * days / 7    days = 31 if label != 'Feb 2026' else 28    dhw_contrib = max(0, anomaly) * days / 7    bleach_risk = 'LOW' if dhw_contrib<4 else ('WATCH' if dhw_contrib<8 else 'ALERT')    results.append({'month': label, 'mean_sst': round(mean_sst,2),                    'anomaly_c': anomaly, 'dhw_contrib': round(dhw_contrib,1),                    'bleach_risk': bleach_risk})
df = pd.DataFrame(results)print(df.to_string(index=False))
output/sst_marine_heat_report.mdOutput report
python
# Sea Surface Temperature Anomaly Report**Region:** Great Barrier Reef, Australia (142-154°E, 24-10°S)**Source:** MODIS-Terra OISST + 1991-2020 climatology | Monthly
## SST Anomaly Summary| Month    | Mean SST (°C) | Anomaly (°C) | DHW Contrib | Bleaching Risk ||----------|--------------|-------------|-------------|----------------|| Dec 2025 | 27.8         | +1.0        | 4.4         | WATCH          || Jan 2026 | 29.1         | +1.7        | 7.5         | WATCH          || Feb 2026 | 30.2         | +2.6        | 10.6        | ALERT          || Mar 2026 | 29.4         | +2.3        | 10.4        | ALERT          |
## Marine Heat Wave Classification (Hobday et al. 2016)- **Feb 2026:** Category 3 Marine Heat Wave — Severe- Duration: 6+ weeks at >1°C above seasonal maximum- Cumulative DHW (Dec-Mar): **32.9 degree-heating weeks**
## Bleaching Risk by Zone| Zone           | Peak SST (°C) | Anomaly | Bleaching Risk ||----------------|--------------|---------|----------------|| Cairns sector  | 31.4         | +3.1°C  | HIGH ALERT     || Townsville     | 30.8         | +2.7°C  | ALERT          || Mackay         | 30.1         | +2.4°C  | ALERT          || Capricorn      | 28.9         | +1.6°C  | WATCH          |
## MethodsMODIS-Terra L3 SST 4km daily. 1991-2020 monthly climatology.DHW: max(0, anomaly) * days / 7. Marine heat wave per Hobday 2016.Confidence: High for SST measurement. Medium for bleaching prediction.

Try Klarety now.