δv/v as a stress meter
From δVs/Vs(z) to stress and strain at depth
Thesis This is step 3 of the uncertainty arc, and where codameter’s job ends. A depth profile of velocity change from step 2 becomes stress and strain through an acoustoelastic model whose coefficients are poorly constrained — so the stress uncertainty is dominated by epistemic prior uncertainty, not by the measurement. The deliverable is \(\Delta\sigma_{ij}(z,t)\) with a posterior. Attribution — deciding which forcing (thermoelastic, poroelastic, damage, tectonic) drives that stress — is step 4, packaged with the companion coupling-framework project; this page produces the honest input that decomposition consumes. The companion inference-UQ page holds the Bayesian machinery.
Where the field stands
The quantity of interest is rarely the velocity change itself but the stress, strain, or pore-pressure change that produces it. Here the literature remains fragmented. Volcano and fault studies often interpret the velocity change qualitatively (a pre-eruptive pressurization, coseismic damage); hydrological studies fit an explicit poroelastic or thermoelastic model and separate the two by their seasonal phase lag (Tsai 2011; Wang et al. 2017; Clements and Denolle 2018); and a growing body quantifies stress sensitivity through an acoustoelastic coefficient (Brenguier et al. 2008; Nakata and Snieder 2011). What is largely absent is the uncertainty on that final quantity — the number most often quoted as a result.
From velocity change to stress
Velocity change is the acoustoelastic response to a stress change. Under isotropic load the response is scalar — \(\delta v/v = \beta\,\varepsilon_{kk}\) with the bridge relation \(\beta = -\mu'\kappa/2\mu\) — but in general it is anisotropic, and the dominant fracture fabric selects which component the velocity change tracks: a confining load reads as volumetric strain, a directional stress reads as one deviatoric component. Writing \(\beta_{ij}(z)\) for the acoustoelastic coefficient of the fabric-selected component, the depth-resolved meter is
\[ \boxed{\;\Delta\sigma_{ij}(z,t) = \beta_{ij}(z)\,\frac{\delta V_S}{V_S}(z,t)\;} \]
with \(\beta_{ij}\) built from the layered moduli \(\mu(z)=\rho V_S^2\), \(\kappa(z)=\rho\,(V_P^2-\tfrac43 V_S^2)\) and the nonlinear sensitivity \(\mu'(z)\). The forward physics — the third-order elasticity behind \(\beta_{ij}\), the drained/undrained regimes, and the fabric diagnostic that decides isotropic versus deviatoric — is the subject of the companion framework (Denolle 2026, Eqs. 3–7). The isotropic bridge is the special case \(ij=kk\); the deviatoric cases (e.g. strike-slip Parkfield, radial Kīlauea) need the tensor form and are exactly where the scalar bridge fails.
The coefficients \(\beta_{ij}(z),\mu'(z)\) are layered and weakly constrained — sometimes inferred from a tomographic \(V_P,V_S\) model — so they enter as per-layer priors. The honest stress covariance is the Monte-Carlo pushforward of the depth posterior \(C_m(z)\) through those priors: this is where the aleatoric measurement chain and the epistemic material priors merge, and taking either alone understates the stress uncertainty. It is the depth-resolved analogue of the scalar pushforward already shown in tutorial 5. Effective stress (\(\Delta\sigma'=\kappa\,\varepsilon_{\rm vol}\) under isotropic load, poroelastically clean) is the headline; total stress adds a poroelastic term \(\alpha_B\,\Delta p\) and is an optional extension.
Next: process attribution
Producing \(\Delta\sigma_{ij}(z,t)\) with a posterior is where codameter’s job ends. Deciding which forcing drives that stress — thermoelastic, poroelastic, load, damage, or tectonic — is step 4 of the arc. The division of labour is clean: this project owns the measurement covariance and its propagation to stress; the forward physics that turns that stress into a named mechanism lives in the companion coupling-framework project.
Best practice versus deviation
| Choice | Best practice | Common deviation | Consequence |
|---|---|---|---|
| Stress conversion | Acoustoelastic meter \(\Delta\sigma_{ij}=\beta_{ij}(z)\,\delta V_S/V_S\) with layered \(\beta_{ij},\mu'(z)\) priors | Single scalar coefficient, no prior | Understated (epistemic) stress error |
| Stress component | Identify the fabric-selected component (isotropic vs deviatoric) before inverting | Assume the isotropic \(\delta v/v=\beta\varepsilon_{kk}\) everywhere | Wrong sign and magnitude under deviatoric load |
| Uncertainty budget | Merge the aleatoric depth covariance with the epistemic material priors | Report the measurement error only | Stress error too small by its dominant term |
| Stress measure | Report effective stress; flag any total-stress assumptions | Conflate effective and total stress | Non-comparable, ambiguous stress |
This page is the design for step 3. The executable module — a depth-resolved uq_stress_depth (strain, stress, and their covariance from a \(\delta V_S/V_S(z)\) posterior and layered acoustoelastic priors) — is tracked in the repository issues. Its inputs are a real \(C_d\) (step 1) and an honest depth posterior (step 2), which is why the arc has to be built in order. Attribution (the forcing decomposition and its uq_attribution module) lives in the companion coupling-framework project, which consumes the \(\Delta\sigma_{ij}(z,t)\) this step delivers.