Calgary ground movement

NASA satellites measured where Calgary's ground sat, to the millimetre, from two viewing angles between 2016 to 2020. Where both angles agree, the motion is probably real; where they do not, it is mostly leftover atmosphere.

Satellite measurements
2,893,976
about a 30 m grid, two viewing angles
Jul 2016 to Jul 2020 · NASA OPERA, both angles
Communities where both angles agree
31
28 sank, 3 rose, of 158 seen by both; 7 more agree on stable
Jul 2016 to Jul 2020 · NASA OPERA, both angles
Communities where they disagree
120
of 158; mostly leftover atmosphere
Jul 2016 to Jul 2020 · NASA OPERA, both angles
GPS stations cross-checked
5
per viewing angle
Jul 2016 to Jul 2020 · Nevada Geodetic Lab
Reading: satellites against water mains → Next: water main breaks →

Ground sinking and rising, from two satellite angles

How far Calgary's ground sank or rose, 2016 to 2020, seen from a morning and an evening satellite pass.

One pass crosses Calgary in the morning looking one way; another crosses in the evening looking the other way. Each cell averages about 10 satellite pixels. Flip between the two angles: where the picture holds under both, trust it; where it flips, do not.

sank within 2 mm rose
Loading satellite grid…

Same city, two satellite viewing angles, 2016 to 2020. Red: the ground moved away from the satellite (sinking-like); blue: toward it (rising-like). Where the picture changes between angles, do not trust the colour; where it holds, the motion is probably real.

Jul 2016 to Jul 2020 · NASA OPERA, angle 1 (descending)Aug 2016 to Jun 2020 · NASA OPERA, angle 2 (ascending)

Where both satellite angles agree

Communities where both angles moved the same way by more than 2 mm, 2016 to 2020.

Across the 158 communities both angles cover, their measurements correlate at -0.25, far from the strong positive two views of pure ground motion would give: each pass carries its own city-scale atmospheric tilt. So instead of averaging them, these lists hold only the communities where both angles moved the same direction on their own.

Both angles: the ground sank

CommunityAngle 1Angle 2
Woodbine -8.1 mm -20.8 mm
Alpine Park -7.1 mm -20.9 mm
Woodlands -5.7 mm -18.6 mm
Shawnee Slopes -5.7 mm -13.9 mm
Millrise -3.7 mm -14.4 mm
Inglewood -12.6 mm -5.4 mm
Wolf Willow -4.4 mm -13.1 mm
Cedarbrae -3 mm -14.3 mm
Walden -2.2 mm -14.8 mm
Glamorgan -2.1 mm -14.1 mm

28 communities in all; the 10 that sank most shown.

Both angles: the ground rose

CommunityAngle 1Angle 2
University of Calgary +3.5 mm +5.8 mm
West Hillhurst +2 mm +4.4 mm
Parkdale +3.6 mm +2.7 mm

All 3 such communities shown.

Jul 2016 to Jul 2020 · NASA OPERA, angle 1 (descending)Aug 2016 to Jun 2020 · NASA OPERA, angle 2 (ascending)

Communities ranked by ground movement, angle 1 alone

Communities that moved most away from or toward the satellite, Jul 2016 to Jul 2020, in the cleanest single angle.

The descending pass is the cleanest single measurement (summer-to-summer yearly anchors, high radar coherence). Ranked alone it tells a coherent story: the Bow and Elbow river valley and the inner city moved down, the northwest uplands up. One angle cannot tell vertical from sideways motion, and only some of these communities are confirmed by angle 2.

Moved most negative (sinking-like)

Mean satellite line-of-sight movement per community, mm, Jul 2016 to Jul 2020 (angle 1, descending).

Moved most positive (rising-like)

Same metric, other end of the list.

Movement along the line of sight of satellite angle 1 (descending), mm over 2016-2020, averaged per community, GPS-calibrated. Negative = moved away from the satellite (sinking-like), positive = toward it. One viewing angle cannot separate vertical from sideways motion — see the agreement table for where angle 2 independently concurs.

Jul 2016 to Jul 2020 · NASA OPERA, angle 1 (descending)

Does ground movement predict water main breaks? No.

Odds of a later water main break per pipe, for 54,531 pipes older than the satellite window.

Ground movement measured Jul 2016 to Jul 2020 under each pipe, then the 1,042 breaks recorded afterwards, holding pipe age, material, length and break history constant. Movement added nothing, and both angles agree on that. A pipe's own break history and old cast iron did predict breaks. The full story in the deep dive →

Each 10 mm of sinking
×1.06
95% range 0.86 to 1.29, p = 0.60: no effect
Jul 2016 to Jul 2020, breaks to May 2026 · angle 1
Each 10 mm of sinking, second angle
×0.96
95% range 0.80 to 1.14, p = 0.61: no effect
Aug 2016 to Jun 2020, breaks to May 2026 · angle 2
An earlier break on the same pipe
×3.4
95% range 2.77 to 4.20, p < 0.001
Jul 2016 to Jul 2020, breaks to May 2026 · angle 1
Jul 2016 to Jul 2020 movement, breaks to May 2026 · NASA OPERA, City of Calgary

How this page came to be

A water main prediction attempt, a processing artifact caught, and the honest rebuild.

I was not trying to build a ground-movement page. I was trying to predict where Calgary's water mains would break, and my first attempt produced a finding that turned out to be a processing artifact. The honest rebuild is this page. Read the full story →

Jun 9, 2026 · Calgary Pulse deep dive

How I did this: sources, method and limits

How the two-angle numbers were built from NASA OPERA and GPS data, what v1 got wrong, and the open questions.

Sources
Method, the simple version
  • NASA publishes each measurement as motion since a reference date it re-anchors about yearly. The last measurement in each reference window is the next reference date, so NASA in effect publishes the yearly changes. We sum those consecutive yearly changes per pixel: no curve fitting, no combining frames. Every number traces to NASA-published values between specific dates.
  • Frames: F18891 (descending, Jul 2016 to Jul 2020, 4 years) and F32525 (ascending, Aug 2016 to Jun 2020, 3.9 years). Each kept separate, always.
  • Absolute levels are calibrated against Nevada Geodetic Lab GPS stations, projected to each satellite's viewing direction. The spread across stations is about 7 to 9 mm, the honest uncertainty on any absolute number here. The relative pattern, community against community, does not depend on the calibration.
  • Per-community values use only pixels NASA's quality mask recommends, at least 50 pixels per community, and need every yearly step valid at that pixel.
What we got wrong first (kept for the record)
  • v1 of this page fit a velocity slope through all 60 to 75 measurements per pixel and fused 4 frames into "vertical motion". An audit found per-frame biases of 12 to 21 mm a year, bigger than any real Calgary motion, caused by fitting across NASA's rotating reference dates. Everything built on it, including a water main "correlation", was retracted.
  • v2 (this page) sums NASA's own yearly changes and does not fuse the angles, because we measured them disagreeing (correlation -0.25 across communities; NASA's atmosphere-filtered layer halves the disagreement but does not remove it).
Limits
  • One viewing angle mixes vertical and east-west motion, so this page says "sinking-like" and "rising-like", not subsidence and uplift, except where both angles agree.
  • The data ends in Jul 2020 (the Sentinel-1B archive era). It says nothing about movement since then.
  • Sudden events, like the June 2026 Coach Hill sinkhole from a water main break, happen in days. This data measures slow multi-year settling and cannot see those coming (Coach Hill reads stable here).
  • This is exploratory work by a data analyst stretching into satellite radar, not peer-reviewed.
Where I would value pushback
  • The disagreement between the angles left after NASA's long-wavelength filter: atmosphere we should model, real horizontal motion, or something else?
  • Movement tracks elevation (about +4 to 5 mm per 100 m at community level). Real valley-against-upland geology, or leftover elevation-linked atmospheric delay? What test would you run?
  • Is the river-valley "bowl" (fading out from the Bow and Elbow confluence) consistent with how the area's Quaternary sediments behave?
Code and data

Geophysicist, hydrologist, civil engineer or InSAR practitioner, and something looks wrong? Reach me on LinkedIn, through the GitHub repo or by email. This page has been corrected once already and is better for it.

Jul 2016 to Jul 2020 · NASA OPERA, angle 1 (descending)Aug 2016 to Jun 2020 · NASA OPERA, angle 2 (ascending)Jul 2016 to Jul 2020 · Nevada Geodetic Lab GPS