q16·intermediate

Where is surface water, and how is it changing over time?

hydrologywater-extentclimate Datasets: 5 20–60 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: 60.5, 44 → 62.5, 46.5 (Aral Sea (Kazakhstan/Uzbekistan))

Where is surface water, and how is it changing over time?

This is the persistent surface-water question, not the storm-flood question (see q13). Here we ask: where does open water sit, and is the extent shrinking (drying lakes), expanding (filling reservoirs), or pulsing seasonally (wetlands, floodplains) across months and years?

What you can answer

  • Open-water extent maps at 30 m, all-weather, from OPERA DSWx-S1 (radar) — no cloud gaps
  • Optical surface-water classification (open water + partial-surface water) from OPERA DSWx-HLS
  • Multi-year extent change — area time series to flag shrinking lakes or filling reservoirs
  • Seasonal wetland pulsing — wet-season vs dry-season extent from dense radar revisit
  • Comparison to a long-term baseline by joining the JRC/Pekel occurrence layer (1984–present)
  • Radar-optical cross-validation — DSWx-S1 vs DSWx-HLS agreement on cloud-free dates

What you can NOT answer with these alone

  • Water volume or depth — extent is a 2-D footprint; volume needs DSWx area × DEM/bathymetry or altimetry (SWOT/ICESat-2, see q06)
  • Water-surface elevation / level — DSWx is a binary-ish water mask, not a height product
  • Why it changed — attribution (irrigation withdrawal vs drought vs dam operation) needs GRACE-FO, IMERG, and land-use context
  • Water quality (turbidity, algae, salinity) — that’s an optical-reflectance/HAB problem (see q14), not a water mask
  • Sub-30 m features — narrow streams, small ponds, and field-scale irrigation are below product resolution
  • Daily flood peaks — for fast storm events use q13’s near-real-time SAR workflow

Code template (Python, cloud-direct)

import earthaccess
import numpy as np

earthaccess.login(strategy="netrc")

# Aral Sea — the textbook shrinking-lake case, eastern basin nearly gone
aoi = (60.5, 44.0, 62.5, 46.5)
window = ("2023-04-01", "2025-09-30")

# 1. OPERA DSWx-S1 — radar surface water, all-weather, the workhorse here
dswx_s1 = earthaccess.search_data(
    short_name="OPERA_L3_DSWX-S1_V1",
    bounding_box=aoi,
    temporal=window,
)
# Open the WTR (water classification) band per granule as a COG.
# Class values (DSWx convention):
#   0 = not water, 1 = open water, 252/253/254/255 = fill/cloud/no-data masks.
# Build a boolean mask: water = (WTR == 1)
# Area per scene = water.sum() * 30 * 30 m²  →  km²  →  append to a time series.

# 2. OPERA DSWx-HLS — optical cross-check on cloud-free dates
dswx_hls = earthaccess.search_data(
    short_name="OPERA_L3_DSWX-HLS_V1",
    bounding_box=aoi,
    temporal=window,
)
# DSWx-HLS WTR adds partial-surface-water classes (open vs partial vs snow/ice);
# treat open water = 1, optionally fold in partial water = 2 for a wetland-inclusive count.
# Only trust scenes where the cloud/no-data fraction over the AOI is low.

# 3. Sentinel-1 GRD fallback if you need a custom threshold or earlier (pre-2023) record
s1 = earthaccess.search_data(
    short_name="SENTINEL-1A_SLC",  # or GRD product per ASF catalog
    bounding_box=aoi,
    temporal=("2014-10-01", window[0]),
)
# For GRD: VV backscatter < ~-20 dB → smooth open water. Requires RTC/calibration
# (use OPERA RTC-S1 to avoid raw SAR processing). Lets you backfill years before DSWx.

# 4. Optional external baseline: JRC/Pekel Global Surface Water occurrence (1984–present)
#    Not on Earthdata — pull from the JRC dataset (Earth Engine / Google Cloud / direct
#    GeoTIFF tiles). Reproject to the DSWx grid, then compare current extent vs the
#    long-term water-occurrence climatology to quantify gain/loss.

# 5. Build the change product:
#    - Extent time series: km² of water per acquisition date (DSWx-S1 primary)
#    - Trend: linear fit / seasonal decomposition over the window
#    - Loss/gain map: pixels that flipped water→land (or land→water) vs the baseline

Expected output

  • Extent time series: surface-water area (km²) per date, radar (DSWx-S1) as the backbone with optical (DSWx-HLS) points overlaid on cloud-free dates
  • Trend summary: net area change over the window + seasonal amplitude for wetlands
  • Change map: water-loss (red) and water-gain (blue) pixels vs the JRC/Pekel baseline
  • Latest all-weather water mask for the AOI

Caveats

  • DSWx-S1 is radar — roughness, not depth. Wind-roughened open water can read as land; smooth wet soil or tarmac can false-positive. Class flags (cloud/no-data) must be respected.
  • DSWx-HLS is cloud-limited. Persistent cloud means sparse optical coverage — lean on DSWx-S1 for the continuous record and use HLS as a cross-check.
  • OPERA DSWx is operational from ~2023, so the native record is short. Backfill earlier years with Sentinel-1 GRD/RTC-S1 (from 2014) or the JRC/Pekel baseline (from 1984).
  • 30 m resolution misses narrow channels, small ponds, and sub-pixel mixing along shorelines; reported area has shoreline-pixel uncertainty.
  • Layover/shadow in terrain corrupts radar water detection in steep areas; DSWx flags these but interpret mountain lakes carefully.
  • JRC/Pekel is external (not Earthdata) and on its own grid — reproject before any pixel-wise comparison.
  • Extent ≠ volume. A lake can hold steady area while losing depth; pair with altimetry (q06) to track storage.

Cross-DAAC composition

ASF DAAC (OPERA DSWx-S1, Sentinel-1, RTC-S1) + LP DAAC (OPERA DSWx-HLS, HLS) — two DAACs, one Earthdata Login. JRC/Pekel is an external join (see r01 for cross-source patterns).

Sources

📚 Problem Finder KB

1 matching entry in the Knowledge Base:

§14 Glossary
OPERA
Observational Products for End-Users from Remote-sensing Analysis (NASA JPL) — incl. the **DISP-S1** surface-displacement (InSAR) product suite