gravimetry
Turn monthly gravity fields from GRACE and GRACE-FO into maps of water storage, and model the
gravity change an earthquake causes. Built on
geopotential.
Water stored on land and in the ocean in July 2026, against the 2004–2009 average.
Install
Example: from a monthly field to water height
The standard chain of the GRACE Tellus maps (Landerer & Swenson 2012):
- subtract a baseline;
- remove the stripes;
- smooth over 300 km;
- convert to centimetres of water.
use ;
let = ;
// A month and the baseline it is compared with (here: one changed coefficient).
let mut month = zeros;
month.set;
let baseline = zeros;
let change = anomaly;
let change = destripe;
let change = smooth;
let love = love_numbers.unwrap;
let water = change.grid;
println!; // 19 mm
With real data, read the month and the technical notes with
gravity-field. The
full chain
also replaces C̄20, C̄30 and degree 1.
Example: the gravity change of an earthquake
Left: the gravity step the July 2025 Kamchatka earthquake left in GRACE-FO. Right: the USGS fault model through the same filter, computed with this crate.
use ;
// A thrust fault: 100 × 50 km, 8 m of slip, its centre 20 km deep.
let fault = Fault ;
// Uplift and gravity change at the surface straight above it.
let above = fault.surface_change;
println!; // 1.20 m, +115 µGal
// What a satellite sees: surface masses on a grid, as coefficients, smoothed like the data.
let lats: = .map.collect;
let lons: = .map.collect;
let at_sea = ;
let masses = surface_masses;
let field = mass_coefficients;
let field = smooth;
For a real earthquake, coseismic::read_coulomb reads the coulomb.inp file that the
USGS publishes with every finite-fault model.
What is inside
| Item | What it does |
|---|---|
love_numbers |
How much the solid Earth sags under a load, per degree (Wahr et al. 1998, Table 1) |
gaussian_weights, smooth |
Averaging over a chosen radius (Wahr et al. 1998, after Jekeli 1981) |
destripe |
Removes the north–south stripes of GRACE noise (Swenson & Wahr 2006), ported from gravity-toolkit |
mean, anomaly |
Baseline means and differences, across GM and radius conventions |
coseismic |
Uplift and gravity change of faults in an elastic half-space (Okada 1985; Okubo 1992). It also reads USGS coulomb.inp files and corrects for seawater pushed aside by seafloor uplift |
mass_coefficients |
Spherical-harmonic coefficients of point masses |
transport_weights |
The smallest mass flow that carries a change, the flow field in the GRACE Mass Atlas |
How it is checked
- Love numbers: against the published table.
- Smoothing weights: against their closed-form limit.
- Stripe removal: on synthetic patterns.
- Fault model:
- Okada's (1985) published check values;
- mass conservation: a buried fault's equivalent mass sums to zero;
- on the 2025 Kamchatka fault model, its uplift matches the USGS's own surface displacement with r = 0.89.
- Point masses: their potential matches Newton's law.
Not included yet: glacial isostatic adjustment, DDK filters, basin averages and leakage corrections.
Part of quantum-gravimeter.