q15·intermediate
How are coastal sea-surface temperatures changing, and are marine heatwaves becoming more common?
oceanclimatemarine-ecosystemfisheries Datasets: 6 15–45 min
▶ Find the data for your area
Draw a rectangle to pick your area of interest, then see what NASA data covers it (live, here in your browser) or download a ready-to-run notebook with your AOI pre-filled. The notebook runs in any Python environment — it needs a free Earthdata Login to fetch the data.
Current AOI:
-116, 22 → -107, 32 (Gulf of California)How are coastal sea-surface temperatures changing?
What you can answer
- Decadal SST trend for any coastal pixel (2002-present)
- Climatological seasonal cycle vs current-year deviation
- Marine heatwave detection (≥5 days above 90th percentile)
- Spatial gradient between coast and open ocean
- Cross-shelf vs cross-shore variability
What you can NOT answer with these alone
- Sub-surface temperature without combining with ECCO reanalysis or Argo float data
- Internal-wave dynamics at scales under 4 km without high-resolution SAR + altimetry combinations
- Causal attribution to a specific climate driver (ENSO, AMO) — requires separate analysis
Code template
import earthaccess
import xarray as xr
import numpy as np
earthaccess.login(strategy="netrc")
# Gulf of California (climate-vulnerable hotspot)
aoi = (-116, 22, -107, 32)
window = ("2002-07-01", "2025-12-31")
# 1. GHRSST L4 daily 1 km (gap-filled, multi-sensor analysis)
ghrsst = earthaccess.search_data(short_name="MUR-JPL-L4-GLOB-v4.1",
bounding_box=aoi, temporal=window)
# Open all granules; extract analysed_sst (in Kelvin); subset to AOI
# Compute monthly mean per pixel → climatology
# Current year monthly mean → anomaly
# 2. Marine heatwave detection
# A pixel-day is a "heatwave day" if SST > 90th percentile of climatology
# (typically using 30-year baseline, but 20+ year MUR record works)
# A "heatwave" = ≥5 consecutive heatwave days
# Count heatwave-days per year → trend
# 3. SWOT SSH context (current eddies)
swot = earthaccess.search_data(short_name="SWOT_L2_LR_SSH_2.0",
bounding_box=aoi,
temporal=("2024-03-01", "2025-12-31"))
# Overlay SSH anomaly on SST anomaly → eddy-attributed warm spots
# 4. Plot:
# - Decadal trend map
# - Marine heatwave frequency per year
# - Monthly anomaly time-series
# - SST + SSH cross-section
Expected output
- Decadal trend map (°C/decade) for the AOI
- Marine heatwave frequency: heatwave-days per year time-series 2002-present
- Current-year anomaly map vs 20-year climatology
- Cross-section: SST + sub-surface temperature from ECCO
Caveats
- GHRSST L4 is gap-filled analysis — daily-global is possible because it interpolates across cloudy regions; consistency, not direct observation, in those pixels
- Coastal SST has skin-vs-bulk differences — satellites measure top millimeter; oceanographic in-situ measures meters down. Subtle differences for ecological work.
- Cloud bias: coastal regions are often persistently cloudy (e.g., California coast in summer); aggregated products handle this but high-resolution single-day products often have data gaps
- Marine-heatwave threshold convention varies — Hobday et al. 2016 is the most-cited; pick a published convention and document it
Cross-DAAC composition
OB.DAAC (MODIS Aqua SST, PACE OCI) + PO.DAAC (GHRSST, SWOT, ECCO) — two DAACs, uniform Earthdata Login.
Sources
- GHRSST MUR: https://podaac.jpl.nasa.gov/dataset/MUR-JPL-L4-GLOB-v4.1
- Marine heatwave convention (Hobday et al.): https://www.marineheatwaves.org/definition.html
- OceanColor (MODIS SST): https://oceancolor.gsfc.nasa.gov/
📚 Problem Finder KB
1 matching entry in the Knowledge Base:
§14 Glossary
MUR SST
Multi-scale Ultra-high Resolution Sea Surface Temperature