My notes from reading Nuth, C., & Kääb, A. (2011).

My notes from reading:

Nuth, C., & Kääb, A. (2011). Co-registration and bias corrections of satellite elevation data sets for quantifying glacier thickness change. The Cryosphere, 5(1), 271-290.

  • Overview
    • Published by Copernicus so might have been incorporated into the Copernicus DEMs?
    • At the time, the only global DEMs were SRTM, ASTER, and ICESat
    • Out of those datasets they recommend using ICESat as a vertical reference
    • Paper is focused on glaciated areas, but still has more general conclusions
  • ICESat uses satellite-based Lidar
  • Statistical approaches are more practical than physical ones, as raw sensor data and important metadata isn’t always available.
  • Existing coregistration methods
    • 2D linear regression to shift DEM horizontally, can be applied with a pixel limit iteratively for larger shift
    • 3d least squares allows for rotations and scaling
    • Bias adjustment can be elevation dependent
    • Bias dependent on sensor geometry
  • Two sites: NZ Alps, Svalbard
  • ASTER is a stereoscopic DEM: it measures parallax from a pair of sensors provided sensor position, angle, and parameters are know.
    • 60km swath, 15m image resolution, 30m reported DEM resolution
    • 15-60m RMSE vertical, 15-50 RMSE horizontal.
    • Bias present in raw imagery plus introduced in processing.
  • SRTM is SAR, uses phase difference.
    • Paper uses V2 without void filling, 90m
    • 10m vertical uncertainty
  • ICESat
    • Laser altimeter
    • Points every ~170m
    • Measurements up to 2009
    • 15cm accuracy over flat deserts, cross-track differences of metres over low sloped glaciers
    • Two versions available with different processing: GLA06 for smooth ice sheets and GLA14 for rougher terrain surfaces. Vary by some fitting parameter. Mean difference between the two are about 15cm but variation up to 3m occur (where? they cite doi:10.1109/TGRS.2008.2000627 and Nuth, C.: Quantification and interpretation of glacier elevation changes).
    • This paper uses both versions, GLA14 for land and the other for ice.
  • A plot of elevation difference between ASTER DEMs looks a lot like the hillshaded DEM (so correlation with slope and aspect?)
  • Universal 10m shift ASTER -> ICESat, <1m SRTM -> ICESat
  • Algorithm
    1. Universal bias correction: iteratively solve for 3 parameters to minimise height difference as a function of slope and aspect [over a given area of interest]. Stop after correction < 0.5m or standard deviation improvement < 2%.
    2. Elevation dependent correction: exists in ASTER, may exist in SRTM. A few more regression parameters, including the polynomial order.
    3. Along/cross track corrections: additional errors due to sensor type and DEM generation method, most relevant for satellite stereoscopic DEMs.
  • SD of ICESat vertical differences is 5m for SRTM and 10m ASTER after coregistration
  • Evaluation usually involves comparing with a points and looking at RMSE or SD, but these assume mean difference is zero. They give errors based on residuals, with autocorrelation adjustment.
  • NZ results
    • ASTER shifted 10m Northwest, SRTM 1m.
    • Outliers due to clouds or glaciers are masked out (at lest in plots)
    • Very high order polynomial (6-8) used for across- and cross track errors
    • Just looking at the difference plots, there are clear track-based error patterns


  • This approach works well for aspect- and elevation-dependent bias.
  • Such bias is immediately clear from plotting the elevation differences: it looks like hillshading.
  • There’s a Python package implementing the transform in the paper: pybob
  • Doesn’t address edge transitions: the same linear transform is applied to the entire area of interest, so a wide area approach might mean gridding the domain with a large bugger, transforming each one, then merging them back together with edge blending. In that case, perhaps some spatial smoothing could be applied to the shift vectors of each tile to reduce jumps between tiles.