GEOM-230 · Lesson 8 of 12 · 20 min
CGVD2013 and the Canadian geoid model
The irrigation district's canal drawings from 1987 show every structure height in CGVD28, the Canadian Geodetic Vertical Datum of 1928. The new survey is in CGVD2013. Leah Tran's first instinct was to treat the two as interchangeable, since both are \"heights above sea level\". Ruth Albrecht stopped her: near Coulee Ridge the two datums differ by about 9 cm, and the difference varies across the province from roughly −35 cm to +20 cm. A canal designed on a mix of the two would have its gradients wrong. This lesson describes the old and new Canadian vertical datums, how CGVD2013 is realized through the gravimetric geoid model CGG2013a, how it relates to NAD83(CSRS), and what is coming next.
CGVD28: a datum built by levelling
CGVD28 was adopted in 1935, based on a general adjustment of the national levelling network that held heights fixed to mean sea level at tide gauges on the Atlantic and Pacific coasts. For most of the twentieth century every published height in Canada was carried from those gauges through thousands of kilometres of levelling. Its heights are normal-orthometric, computed with normal gravity rather than measured gravity, because gravity data were scarce when the network was built.
CGVD28 served well for local work, but it had deep problems. Mean sea level is not a level surface, and holding several tide gauges at zero forced their differing sea surface topography into the network. Systematic errors accumulated along levelling lines thousands of kilometres long. The heights of benchmarks changed as the crust rebounded after the last ice age, by up to a centimetre a year around Hudson Bay, and as soils settled; the network was never readjusted to account for it. Most of northern Canada was never levelled at all. And maintaining tens of thousands of benchmarks was costly: many were destroyed by road and pipeline construction faster than they could be replaced.
CGVD2013: a datum defined by the geoid
In November 2013 Natural Resources Canada released CGVD2013 as the new national height reference. Instead of being defined by tide gauges and levelling, it is defined by an equipotential surface of the gravity field, with the potential \(W_0 = 62\,636\,856.0\ \text{m}^2/\text{s}^2\) agreed with the United States. That surface is realized by a gravimetric geoid model, so CGVD2013 heights are obtained anywhere in the country from GNSS:
The first model, CGG2013, was replaced in 2015 by CGG2013a, which added gravity data and refined the modelling in some regions. The current realization is called CGVD2013(CGG2013a). The geoid model is computed from satellite, terrestrial and airborne gravity and is expressed relative to the GRS80 ellipsoid in NAD83(CSRS), so the two systems, horizontal and vertical, fit together by construction. Geoid model updates are released only on the recommendation of the Canadian Geodetic Reference System Committee, which brings together federal and provincial agencies.
Under CGVD2013, benchmarks are no longer the definition of the datum; they are points whose heights can be determined, checked and updated from GNSS and levelling. Published CGVD2013 heights of benchmarks come from adjustments that combine levelling with GNSS and the geoid. Provinces have adopted the new datum on their own schedules. Alberta, for example, recognizes both CGVD2013 and CGVD28 as official datums during a transition, has derived CGVD2013 heights for its survey control markers from a three-dimensional provincial readjustment completed in 2020, and planned to phase out CGVD28 for those markers by 2025 at the latest.
How big is the change?
The difference between CGVD2013 and CGVD28 heights varies smoothly across the country, by up to several decimetres, because the old datum's errors accumulated along levelling lines and because its zero was tied to tide gauges rather than to one potential. Alberta's published guidance gives the shift from CGVD28 to CGVD2013 as about −0.04 m at Edmonton and about +0.12 m at Calgary, and ranging from about −0.35 m in the north-east of the province to about +0.20 m on the eastern slopes of the Rockies. Near Lethbridge, benchmarks with both values show CGVD2013 heights about 9 cm higher than CGVD28 heights.
Because the shift varies, it must be applied with care. Over a small project, a single offset determined from several benchmarks with both values is usually adequate. Over a large area, a conversion grid is needed. Natural Resources Canada provides online tools and grids that relate the two datums and convert GNSS heights to either one; the older HTv2.0 hybrid grid, for example, was designed to give CGVD28 heights from GNSS. Whatever method is used, the drawings and reports must state which datum each height is in.
The role of NAD83(CSRS) and epochs
CGVD2013 heights come from ellipsoidal heights in NAD83(CSRS), and NAD83(CSRS) has versions and epochs. The current version, v8, was adopted in 2024; it is based on a transformation from ITRF2020 and its coordinates refer to epoch 2010.0. Earlier versions were based on ITRF2005, ITRF2008 and ITRF2014. Because the crust moves vertically, by about a millimetre a year in southern Alberta and by up to a centimetre a year near Hudson Bay, an ellipsoidal height measured today differs from its value at the reference epoch. A survey that mixes heights at different epochs, or from different versions, can show centimetre discrepancies that have nothing to do with the field work. The national velocity model is used to move coordinates between epochs.
CGVD2013 itself is currently treated as static: heights are published at the reference epoch, and the geoid model does not change with time. That is an approximation. The geoid does change slowly as ice and water masses move and the crust rebounds, and future realizations are expected to account for this.
Worked problem
Converting CGVD28 design heights for the canal
Three benchmarks near the headgate have both CGVD28 and CGVD2013 heights: A, 902.325 and 902.418 m; B, 915.112 and 915.207 m; C, 884.957 and 885.046 m. Convert the headgate sill, shown as 897.640 m CGVD28 on the 1987 drawings, to CGVD2013, and check the spread of the shift.
Show solution
- \[\delta_A = 902.418 - 902.325 = +0.093, \quad \delta_B = 915.207 - 915.112 = +0.095, \quad \delta_C = 885.046 - 884.957 = +0.089\ \text{m}\]
- \[\bar\delta = \frac{0.093 + 0.095 + 0.089}{3} = +0.0923\ \text{m}, \qquad \text{spread} = 0.095 - 0.089 = 0.006\ \text{m}\]
- \[H_{\text{CGVD2013}} = H_{\text{CGVD28}} + \bar\delta = 897.640 + 0.092 = 897.732\ \text{m}\]
Answer: The local shift is +92 mm with a spread of only 6 mm, so a single offset is adequate over the canal reach, and the headgate sill is at 897.732 m in CGVD2013. The spread would be much larger over a project tens of kilometres long, where a conversion grid is required.
# CGVD28 to CGVD2013 on the irrigation project, GNSS heights with CGG2013a and the epoch of h
W0 = 62636856.0 # CGVD2013 reference potential, m^2/s^2
# 1. Local shift from benchmarks that carry both published values (m)
bench = {"BM A": (902.325, 902.418), "BM B": (915.112, 915.207), "BM C": (884.957, 885.046)}
shifts = [new - old for old, new in bench.values()]
mean = sum(shifts) / len(shifts)
print("CGVD2013 minus CGVD28 at the benchmarks (mm):", [round(1000 * s) for s in shifts], " mean", round(1000 * mean, 1))
# 2. Convert old design heights from the 1987 canal drawings (CGVD28)
for name, H28 in (("headgate sill", 897.640), ("turnout 3 invert", 893.215), ("spillway crest", 899.100)):
print(name.ljust(17), "CGVD28", format(H28, ".3f"), "-> CGVD2013", format(H28 + mean, ".3f"))
# 3. A new GNSS point: H = h - N with CGG2013a, and the epoch of the ellipsoidal height
h_2010 = 893.412 # NAD83(CSRS) v8 ellipsoidal height of CR1 at epoch 2010.0
v_up = -0.9 # vertical velocity from the national model, mm per year
t = 2026.8 # epoch of the survey
h_t = h_2010 + v_up / 1000 * (t - 2010.0)
N = -16.177 # CGG2013a geoid height at CR1
print()
print("h at 2010.0 =", format(h_2010, ".3f"), " h at", t, "=", format(h_t, ".3f"), " (", round(1000 * (h_t - h_2010), 1), "mm )")
print("CGVD2013 height from h at 2010.0:", format(h_2010 - N, ".3f"), " from h at", t, ":", format(h_t - N, ".3f"))
# 4. The same height as a potential difference: C = W0 - W and H = C / mean gravity
gbar = 9.807850 + 0.0424e-5 * 909.6 # Helmert mean gravity along the plumb line at CR1
H = h_2010 - N
C = H * gbar
print("geopotential number C =", round(C, 3), "m^2/s^2, so W at the pillar =", round(W0 - C, 3), "m^2/s^2")CGVD2013 minus CGVD28 at the benchmarks (mm): [93, 95, 89] mean 92.3 headgate sill CGVD28 897.640 -> CGVD2013 897.732 turnout 3 invert CGVD28 893.215 -> CGVD2013 893.307 spillway crest CGVD28 899.100 -> CGVD2013 899.192 h at 2010.0 = 893.412 h at 2026.8 = 893.397 ( -15.1 mm ) CGVD2013 height from h at 2010.0: 909.589 from h at 2026.8 : 909.574 geopotential number C = 8921.463 m^2/s^2, so W at the pillar = 62627934.537 m^2/s^2
The program applies the local shift to three structures and then computes the CGVD2013 height of CR1 from its NAD83(CSRS) v8 ellipsoidal height at epoch 2010.0 and the CGG2013a geoid height. If a surveyor instead used the ellipsoidal height measured directly in late 2026, without moving it to the reference epoch, the height would come out 15 mm lower because of 17 years of slow subsidence at the national model's rate. That is larger than the tolerance of many engineering specifications. Finally, the program expresses the height as a geopotential number, 8921.463 m²/s², and as a potential at the pillar 8921 m²/s² less than \(W_0\). This is what the datum really defines: a height in metres is the potential difference divided by mean gravity.
What comes next
Canada and the United States have worked together on a common static geoid model for North America, SGEOID2022, intended as a single reference surface across the continent. Natural Resources Canada has announced that SGEOID2022 will be the basis for the next realization of CGVD2013. The height system keeps its name and its \(W_0\); only its realization changes, much as NAD83(CSRS) has gone through successive versions. When the new realization is adopted, heights will change by amounts that are expected to be small in most of southern Canada, a few centimetres, but larger where gravity coverage has improved most.
For practitioners the lessons of the last decade carry forward. Every height must be labelled with its datum and realization, such as CGVD2013(CGG2013a). Every GNSS height must be labelled with its frame, version and epoch, such as NAD83(CSRS) v8 at 2010.0. Benchmarks should be checked rather than trusted. And conversion between old and new datums should be documented in the project records, so that the next surveyor can repeat it.
A project workflow
On the canal extension, Coulee Geomatics follows a routine that applies to any project needing CGVD2013 heights. First, the GNSS control is processed against stations of the Canadian Active Control System or a provincial network, or through precise point positioning, and the results are expressed in NAD83(CSRS) v8 at epoch 2010.0, using the national velocity model to move from the observation epoch. Second, ellipsoidal heights are converted to CGVD2013 heights with CGG2013a, using the official grid and interpolation method rather than a home-made one. Third, at least two, and preferably three or more, existing benchmarks with published CGVD2013 heights are occupied as checks. Differences of a centimetre or two are normal; larger ones prompt a search for disturbed marks, wrong antenna heights or mixed epochs. Fourth, any heights inherited from older drawings are converted from CGVD28 with a documented shift or grid. Finally, the report states the datum and realization, the frame and epoch, the geoid model, the benchmarks used as checks and their residuals.
This routine also protects the client when the next realization arrives. Because the raw GNSS data, the frame and epoch, and the geoid model are all recorded, the heights can be recomputed with the new model, and the size of the change at the project can be stated exactly instead of being estimated.
Common mistakes
MistakeTreating CGVD28 and CGVD2013 heights as interchangeable.
InsteadThey differ by up to several decimetres; convert and label every height.
MistakeApplying one shift over a large region.
InsteadThe shift varies; use a conversion grid beyond a small project area.
MistakeSubtracting CGG2013a from an ellipsoidal height in a different frame or epoch.
InsteadUse NAD83(CSRS) heights at the epoch the geoid model expects.
MistakeAssuming benchmarks define CGVD2013.
InsteadThe geoid model defines it; benchmarks realize it locally and can move.
MistakeCalling the next realization a new datum.
InsteadThe next realization, based on SGEOID2022, keeps the CGVD2013 name and W0.
Summary and key terms
- CGVD28 was realized by levelling from tide gauges and accumulated large systematic errors.
- CGVD2013 is defined by W0 = 62 636 856.0 m²/s² and realized by a gravimetric geoid model.
- The current realization is CGVD2013(CGG2013a); heights are H = h − N with NAD83(CSRS) ellipsoidal heights.
- The shift from CGVD28 to CGVD2013 varies by region; in Alberta it ranges from about −0.35 m to +0.20 m.
- NAD83(CSRS) v8, adopted in 2024 from ITRF2020, uses epoch 2010.0; ellipsoidal heights must match its epoch.
- The next realization of CGVD2013 will be based on SGEOID2022.
- CGVD28
- The Canadian Geodetic Vertical Datum of 1928, realized by levelling from tide gauges.
- CGVD2013
- The Canadian Geodetic Vertical Datum of 2013, defined by a potential value and realized by a geoid model.
- CGG2013a
- The gravimetric geoid model that realizes CGVD2013 at present.
- NAD83(CSRS)
- The Canadian realization of NAD83, issued in versions and referred to a reference epoch.
- SGEOID2022
- A static geoid model for North America developed jointly by Canada and the United States.
- Realization
- A particular set of coordinates or a model that puts a datum's definition into practice.
Practice problems
Work each problem on paper first, then reveal the answer to check.
A benchmark has CGVD28 height 1 024.336 m and the local shift to CGVD2013 is +0.071 m. What is its CGVD2013 height?
Show answer
1 024.407 m.
A GNSS height in NAD83(CSRS) v8 at 2010.0 is 712.884 m and N = −17.305 m. What is the CGVD2013 height?
Show answer
712.884 + 17.305 = 730.189 m.
An ellipsoidal height changes at −1.2 mm per year. How much does it change between 2010.0 and 2026.0?
Show answer
−19.2 mm.
What constant defines the CGVD2013 reference surface?
Show answer
W0 = 62 636 856.0 m²/s².
What will the next realization of CGVD2013 be based on?
Show answer
The SGEOID2022 geoid model.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.