q09·intermediate

How much ice has Greenland or Antarctica lost?

cryospheresea-levelclimate Datasets: 6 30–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: -50, 60 → -20, 80 (Greenland ice sheet (central))

How much ice has Greenland or Antarctica lost?

What you can answer

  • Total annual mass loss in Gt/yr (gigatons per year) from GRACE-FO
  • Surface elevation change in m/yr from ICESat-2 (the height-based view)
  • Spatial pattern of where loss is concentrated (West Antarctica, SE Greenland, etc.)
  • Sea-level rise contribution in mm/yr equivalent (1 Gt water = 0.00277 mm GSLR)
  • Acceleration of mass loss (the canonical Greenland trend goes from ~120 Gt/yr in 2002-2010 to ~280 Gt/yr in 2016-2022)

What you can NOT answer with these alone

  • Sub-glacier melt water flow without combining with surface meltwater products + climate models
  • Pre-2002 mass balance — that’s the GRACE era’s start; older estimates rely on InSAR + altimeter heritage
  • Individual outlet-glacier velocity — use ITS_LIVE (NSIDC) for that

Code template

import earthaccess
import xarray as xr
import icepyx as ipx
import pandas as pd

earthaccess.login(strategy="netrc")

# 1. GRACE-FO mass loss (the headline number)
greenland_aoi = (-75, 60, -10, 84)
grace = earthaccess.search_data(short_name="GRACEFO_L3_JPL_RL06.X_M",
                                bounding_box=greenland_aoi,
                                temporal=("2002-04-01", "2025-12-31"))
# Earlier GRACE for 2002-2017:
grace_old = earthaccess.search_data(short_name="TELLUS_GRAC_L3_JPL_RL06_LND_v04",
                                     bounding_box=greenland_aoi,
                                     temporal=("2002-04-01", "2017-06-30"))
# Sum mass anomaly × area density → Gt anomaly time series
# Fit linear trend → mass loss rate Gt/yr

# 2. ICESat-2 ATL06 elevation change (independent check)
region = ipx.Query("ATL06", greenland_aoi,
                   date_range=["2018-10-01", "2025-12-31"],
                   start_time="00:00:00", end_time="23:59:59")
# Use icepyx to query + open
# For each grid cell, compute dh/dt linear trend

# 3. Convert ICESat-2 elevation change to mass change
#    Assumes firn density model + bedrock geometry
#    (cross-validates the GRACE mass-loss estimate)

# 4. Plot: cumulative mass loss curve · spatial map of elevation change

Expected output

  • Cumulative mass-loss chart: Greenland from 2002 in Gt total
  • Spatial map: ice-sheet elevation change (m/yr) — colormap red/blue diverging
  • Sea-level rise contribution: Greenland’s annual rate in mm/yr (compare to global ~3.4 mm/yr total)
  • Acceleration: 2002-2010 trend vs 2016-2024 trend

Caveats

  • GRACE-FO 1° resolution is real. Don’t claim individual-glacier signals from GRACE alone.
  • ICESat-2 vs GRACE-FO disagreement on outlet glaciers is informative — GRACE captures meltwater export below the surface; ICESat-2 sees only the surface elevation.
  • Glacial isostatic adjustment (GIA) correction is essential. Use the JPL GIA-corrected mascon product, not raw.
  • Firn density assumptions in converting elevation to mass have ~10-15% uncertainty.
  • The 2017-2018 GRACE → GRACE-FO gap affects trend estimates spanning it.

Cross-DAAC composition

PO.DAAC (GRACE-FO) + NSIDC DAAC (ICESat-2) — both via earthaccess + Earthdata Login.

Sources

Datasets used

📚 Problem Finder KB

Not yet tracked in the KB.