Skip to content

Rate and State and Coulomb

Felipe Santibañez-Leal edited this page Jun 17, 2026 · 1 revision

Rate-and-State Friction & Coulomb Stress Transfer — the mechanistic layer

A single-topic deep page. This is the physics-based layer of the system, and it answers a question the purely statistical models cannot: why does seismicity cluster where and when it does? The chain has two links. First, Coulomb stress transfer (King, Stein & Lin 1994) computes how the slip of one fault changes the static failure stress on its neighbours — turning a rupture into a map of where future failure is promoted (Coulomb "lobes") and where it is suppressed (stress shadows). Second, rate-and-state friction (Dieterich 1994) computes how a population of faults responds to such a stress change as a time-evolving seismicity rate — and, remarkably, reproduces the empirical Omori law of aftershock decay from first principles. Together they are the mechanistic bridge between fault mechanics and the statistical clustering everything else in the system describes.

Honest framing. This page describes a forecast ingredient, not a prediction. The rate-and-state / Coulomb chain supplies mechanistic spatial priors — a physically-grounded map of where triggering is enhanced or suppressed — that enter the system as optional, feature-flagged covariates, never as a standalone forecaster and never as an alarm. Any such covariate must demonstrate positive, significant information gain over the ETAS + smoothed-seismicity baseline in prospective CSEP testing before it touches a public number.


Table of contents

  1. Intuition and history
  2. Coulomb failure stress change ΔCFS
  3. Resolving the stress change onto a target fault
  4. Rate-and-state friction — the constitutive law
  5. The Dieterich seismicity-rate equation
  6. Response to a stress step → Omori decay from first principles
  7. The two timescales: aftershock duration and nucleation
  8. Parameter estimation
  9. Worked illustration: a Coulomb step and its aftershock transient
  10. Tidal stressing — the textbook case of why the response is usually weak
  11. Assumptions, strengths and limitations
  12. Role in operational earthquake forecasting
  13. References

1. Intuition and history

When a fault slips in an earthquake, it does not only release its own stress — it redistributes stress to the surrounding crust. Some neighbouring faults are pushed closer to failure; others are relaxed. This static stress transfer is computable from elasticity once the source slip and the target geometry are known, and the foundational result of King, Stein & Lin (1994) and Stein (1999) is that the spatial pattern of computed stress increase — the Coulomb "lobes" — matches the spatial pattern of observed aftershocks strikingly well. Aftershocks are not random; they cluster where the mainshock loaded the crust.

But a static stress change is instantaneous, whereas aftershocks decay over days to years following the Omori law. What converts a step in stress into a time-evolving burst of seismicity? The answer is friction. Laboratory rock-friction experiments (Dieterich, Ruina, and others) showed that fault friction is not a constant: it depends on the sliding rate and on a state variable that encodes the contact history of the surface — rate-and-state friction. Dieterich (1994) took this laboratory constitutive law, applied it to a whole population of nucleation patches, and derived how the earthquake production rate of that population responds to a change in stressing. The result is a clean, falsifiable equation that (a) reproduces the Omori $1/t$ decay, (b) predicts the aftershock duration scales with a specific physical timescale, and (c) explains why some perturbations (large static steps near critical faults) trigger strongly while others (small oscillating tidal stresses) trigger weakly. Heimisson & Segall (2018) later revisited and generalized the derivation, putting it on a cleaner constitutive footing.

flowchart LR
  A["Mainshock<br/>slips on a fault"] --> B["Static stress redistributed<br/>to surrounding crust"]
  B --> C["Coulomb stress change<br/>ΔCFS = Δτ − μ'·Δσ_n<br/>(lobes + shadows)"]
  C --> D["Rate-and-state friction<br/>(Dieterich 1994)"]
  D --> E["Seismicity-rate response R(t)<br/>step → 1/t decay"]
  E --> F["Omori-like aftershock<br/>transient (from first principles)"]
  F --> G["Mechanistic spatial prior<br/>(optional covariate)"]
Loading

2. Coulomb failure stress change ΔCFS

The Coulomb failure stress on a fault is the combination of stresses that drives it toward frictional failure. Its change due to some source (another earthquake's slip) is

$$\Delta\mathrm{CFS} = \Delta\tau - \mu',\Delta\sigma_n,$$

(also written $\Delta\mathrm{CFF}$), where

  • $\Delta\tau$ — the change in shear stress resolved on the target fault plane, taken positive in the direction of fault slip (positive $\Delta\tau$ promotes slip).
  • $\Delta\sigma_n$ — the change in normal stress across the target plane, taken positive in compression (compression clamps the fault and inhibits slip, hence the minus sign).
  • $\mu'$ — the apparent (effective) friction coefficient, which folds the true friction together with the pore-fluid (Skempton) response, $\mu' = \mu_f(1-B)$ for Skempton coefficient $B$; empirically $\mu' \approx 0.4$ works well across many aftershock studies (and $0.2$–$0.6$ is a reasonable range).

The sign of $\Delta\mathrm{CFS}$ is the whole story:

$$\Delta\mathrm{CFS} > 0 ;\Rightarrow; \text{failure promoted (a Coulomb \emph{lobe})}, \qquad \Delta\mathrm{CFS} < 0 ;\Rightarrow; \text{failure suppressed (a stress \emph{shadow})}.$$

A key and somewhat counter-intuitive property: $\Delta\mathrm{CFS}$ does not depend on the regional background stress, only on the source geometry and slip, the target geometry and slip sense, and $\mu'$. That is what makes it computable and predictive — you do not need to know the absolute stress state of the crust (which is essentially unmeasurable) to compute the change one earthquake imposes on its neighbours. The pattern of positive lobes and negative shadows produced this way is what correlates with observed aftershock locations.


3. Resolving the stress change onto a target fault

$\Delta\tau$ and $\Delta\sigma_n$ are not free-standing numbers — they are projections of the full stress-change tensor $\Delta\sigma_{ij}$ (produced by the source slip, via elastic dislocation theory) onto a specific target fault plane. Given the target plane's unit normal $\hat{n}$ and the unit slip direction $\hat{s}$ on that plane, the resolved components are

$$\Delta\sigma_n = \hat{n}\cdot\big(\Delta\sigma,\hat{n}\big) = \hat{n}_i,\Delta\sigma_{ij},\hat{n}_j, \qquad \Delta\tau = \hat{s}\cdot\big(\Delta\sigma,\hat{n}\big) = \hat{s}_i,\Delta\sigma_{ij},\hat{n}_j.$$

This means $\Delta\mathrm{CFS}$ is target-geometry dependent: the same source slip produces a positive Coulomb change on one fault orientation and a negative change on another. In practice one either (a) resolves onto known receiver faults (when a fault map exists), or (b) resolves onto optimally-oriented planes for the regional stress field to map the general promotion/suppression pattern. Because the result depends on the assumed target geometry and on $\mu'$, those are documented modelling choices, and sensitivity to them is reported rather than hidden. Software such as the USGS Coulomb 3 tool performs exactly this dislocation-plus-resolution computation.


4. Rate-and-state friction — the constitutive law

Laboratory friction obeys a rate-and-state law: the friction coefficient depends both on the instantaneous slip rate $V$ and on a state variable $\theta$ that records the contact history of the sliding surface (loosely, the age/maturity of the asperity contacts). In the Dieterich–Ruina form,

$$\mu(V,\theta) = \mu_0 + a,\ln!\frac{V}{V_0} + b,\ln!\frac{V_0,\theta}{D_c},$$

with $a$ the direct-effect coefficient (an instantaneous strengthening when slip rate jumps), $b$ the evolution-effect coefficient (the state-dependent weakening that follows), $D_c$ the characteristic slip distance over which state evolves, and $\mu_0, V_0$ reference values. The competition between $a$ (strengthening) and $b$ (weakening) controls stability: $a - b &lt; 0$ permits unstable, stick-slip (seismic) failure. The crucial parameter for seismicity-rate modelling is the product $A\sigma_n$ (with $A$ a constitutive parameter closely related to $a$, and $\sigma_n$ the effective normal stress) — it sets the characteristic stress scale of the seismicity response. What matters downstream is not the full constitutive detail but the single combination $A\sigma_n$, which governs how strongly the earthquake production rate reacts to a stress change.


5. The Dieterich seismicity-rate equation

Dieterich (1994) treated a large population of nucleation sites, each governed by rate-and-state friction, and derived an equation for the seismicity rate $R$ — the number of earthquakes per unit time — relative to a background rate $r$ that prevails under a constant reference stressing rate $\dot\tau_r$. The seismicity rate is carried by a single state variable $\gamma$ (a population average, with units of inverse stressing rate):

$$R = \frac{r}{\dot\tau_r,\gamma}, \qquad d\gamma = \frac{1}{A\sigma_n}\big(dt - \gamma, d\tau\big).$$

Reading this:

  • $\gamma$ — the state variable of the population; it is large when the population is "quiet" (few sites near failure) and small when many sites are near failure. $R \propto 1/\gamma$, so a drop in $\gamma$ is a spike in seismicity rate.
  • The evolution $d\gamma = (dt - \gamma, d\tau)/A\sigma_n$ has two competing terms: the $dt$ term re-grows $\gamma$ toward its steady state (seismicity relaxing back to background), while the $-\gamma, d\tau$ term drops $\gamma$ whenever stress is added ($d\tau &gt; 0$), producing a burst.
  • $A\sigma_n$ — the characteristic stress scale; a stress change is "large" or "small" only relative to $A\sigma_n$.
  • At steady state under reference stressing, $\gamma_{ss} = 1/\dot\tau_r$ and $R = r$, recovering the background by construction.

This is the governing equation of the mechanistic layer. Everything else — the Omori decay, the aftershock-duration timescale, the exponential response to a stress step — falls out of solving it.


6. Response to a stress step → Omori decay from first principles

Now apply the most important case: a sudden static stress step $\Delta\tau$ (a Coulomb step from a mainshock) at time $t = 0$, after which the background stressing rate $\dot\tau_r$ resumes. Integrating the state evolution gives a closed form for the seismicity-rate response,

$$R(t) = \frac{r}{\left[\exp!\left(-\dfrac{\Delta\tau}{A\sigma_n}\right) - 1\right] \exp!\left(-\dfrac{t}{t_a}\right) + 1}, \qquad t_a = \frac{A\sigma_n}{\dot\tau_r},$$

where $t_a$ is the aftershock-duration timescale (§7). Two limits make its meaning transparent:

  • Immediately after the step ($t \to 0$): the rate jumps to $R(0^+) = r,\exp(\Delta\tau / A\sigma_n)$ — an exponential amplification of the background rate by the stress step measured in units of $A\sigma_n$. A positive Coulomb step multiplies the rate; a negative step (stress shadow) divides it.

  • At intermediate times ($t \ll t_a$ but past the initial jump): for a positive step the $-1$ and $+1$ nearly cancel against the decaying exponential and the rate behaves as

    $$R(t) ;\approx; \frac{r, t_a}{t};\exp!\Big(\tfrac{\Delta\tau}{A\sigma_n}\Big)\cdot(\text{const}) ;;\propto;; \frac{1}{t},$$

    i.e. the Omori $1/t$ decay of aftershocks, but now derived from friction, not postulated. At $t \gg t_a$ the response relaxes back to background $r$.

So the modified-Omori law is not an independent empirical accident — it is the seismicity-rate signature of rate-and-state friction responding to a Coulomb stress step. This is the central intellectual result of the mechanistic layer: it unifies the statistical (Omori/ETAS) and physical (Coulomb/friction) descriptions of aftershocks.

The instantaneous, steady-state form of the same relationship — useful for slowly-varying or oscillating stresses — is the exponential response

$$\frac{R}{r} = \exp!\left(\frac{\Delta\mathrm{CFS}}{A\sigma}\right),$$

which says seismicity rate responds exponentially (not linearly) to Coulomb stress. This is the physically-correct functional shape for any stress-derived covariate in a conditional intensity — including the tidal covariate (§10).

flowchart TB
  STEP["Static Coulomb step ΔCFS at t=0"]
  STEP --> JUMP["t→0: R jumps to r·exp(ΔCFS/Aσ)<br/>(exponential amplification)"]
  JUMP --> DECAY["t ≪ t_a: R ∝ 1/t<br/>(OMORI DECAY, derived)"]
  DECAY --> BACK["t ≫ t_a: R → r<br/>(back to background)"]
Loading

7. The two timescales: aftershock duration and nucleation

Two physical timescales govern the response, and conflating them is a common error.

Aftershock duration $t_a = A\sigma_n / \dot\tau_r$. This is how long the triggered transient lasts before seismicity relaxes back to background. It scales inversely with the background stressing rate: faster-loaded regions (high $\dot\tau_r$, e.g. plate-boundary settings) clear their aftershocks faster; slowly-loaded interiors carry aftershock sequences for much longer (sometimes centuries). This is a real, observable prediction of the model and a useful regional diagnostic.

Nucleation duration. A separate timescale — roughly $A\sigma_n / \dot\tau$ for the local stressing rate $\dot\tau$ — governs how long an individual instability takes to nucleate into a rupture. For crustal faults this can be of order a year (lab + San Andreas extrapolation). This long nucleation time is the key to understanding why oscillating stresses (tides) trigger so weakly: if nucleation takes far longer than the forcing period, the oscillation averages out over the nucleation process and leaves almost no phase preference (§10).

The contrast is the punchline: a large, monotonic stress step (a Coulomb step) acts on the fast $t_a$ timescale and triggers a strong, clear aftershock transient; a small, oscillating stress (a tide) is fighting against the slow nucleation timescale and triggers only feebly. Same constitutive law, opposite outcomes — and the model tells you why for each.


8. Parameter estimation

The mechanistic layer has a small set of physical parameters, most constrained from laboratory friction and from fitting aftershock sequences:

  • $A$ (rate-and-state direct-effect parameter) — laboratory values $\approx 0.005$–$0.02$. In situ it is usually carried as the product $A\sigma_n$.
  • $A\sigma_n$ (characteristic stress scale) — the single most important parameter for the seismicity response; estimated by fitting the Dieterich response $R(t)$ to observed aftershock rates following events with known Coulomb steps, or inferred from the observed aftershock duration via $t_a = A\sigma_n/\dot\tau_r$. Field estimates span roughly $\sim 1$–$100$ kPa depending on setting and depth (e.g. very low values, $\sim$ a few kPa, where faults are weak and near-lithostatically pressurized).
  • $\dot\tau_r$ (background stressing rate) — from long-term tectonic loading / geodetic strain rate; sets $t_a$ given $A\sigma_n$.
  • $\mu'$ (apparent friction) — typically fixed at $\approx 0.4$ for Coulomb computations, with sensitivity reported over $0.2$–$0.6$.
  • Source slip model — the finite-fault slip distribution of the triggering event, needed to compute $\Delta\sigma_{ij}$ via elastic dislocation theory; itself uncertain and a major error source for $\Delta\mathrm{CFS}$.

Because $\Delta\mathrm{CFS}$ depends on the (uncertain) source slip model, the (assumed) target geometry, and $\mu'$, the mechanistic covariate is always carried with its uncertainty and validated out-of-sample — never asserted as a precise deterministic field.


9. Worked illustration: a Coulomb step and its aftershock transient

Consider a mainshock that imposes a positive Coulomb step of $\Delta\mathrm{CFS} = 0.3$ MPa ($= 300$ kPa) on a nearby fault patch, in a region with characteristic stress scale $A\sigma_n = 0.04$ MPa ($40$ kPa) and an aftershock-duration timescale $t_a = 1$ year.

  1. Initial rate amplification. The instantaneous jump factor is $$\frac{R(0^+)}{r} = \exp!\Big(\frac{\Delta\mathrm{CFS}}{A\sigma_n}\Big) = \exp!\Big(\frac{0.3}{0.04}\Big) = e^{7.5} \approx 1.8\times 10^{3}.$$ The background seismicity rate on that patch is amplified by roughly three orders of magnitude the instant the step lands — the quantitative version of "the mainshock loaded this lobe."

  2. Decay. Over the following days to months the rate decays as $\approx 1/t$ (the derived Omori behaviour) on the $t_a = 1$-year timescale, relaxing back toward background $r$ as $t$ approaches and exceeds $t_a$.

  3. A stress shadow. Had the step instead been negative, $\Delta\mathrm{CFS} = -0.3$ MPa (a fault in the mainshock's stress shadow), the factor would be $e^{-7.5} \approx 5\times 10^{-4}$ — seismicity suppressed by three orders of magnitude, slowly recovering toward background over $\sim t_a$. This is the mechanistic prediction of quiescence in stress shadows, which is also observed.

The lesson the product takes from this: the mechanistic layer produces a physically-grounded spatial prior on where, after a given mainshock, triggering is enhanced (lobes) versus suppressed (shadows), with a known time decay. That prior can sharpen the spatial term of the conditional intensity — if it demonstrably improves out-of-sample skill over plain ETAS, which already captures much of the same clustering empirically.


10. Tidal stressing — the textbook case of why the response is usually weak

Rate-and-state friction also explains, quantitatively, why Earth tides correlate only weakly with ordinary earthquakes — a result that doubles as a cautionary tale about over-reading small stress signals. Tides impose a small, oscillating Coulomb stress (body tide $\sim 1$ kPa; ocean-loading tide up to $\sim 10$–$20$ kPa at strong-tide coasts) on faults, against earthquake stress drops of $\sim 1$–$10$ MPa — a ratio of $\sim 10^{-3}$–$10^{-4}$. A tide therefore cannot cause an earthquake; it can at most slightly advance or retard a rupture already within $\sim 10^{-3}$ of failure.

Beeler & Lockner (2003) ran the Dieterich law forward for a periodic stress superposed on steady loading and found a clean criterion: the correlation survives only when the nucleation duration is comparable to or shorter than the forcing period. Because crustal nucleation can take $\sim 1$ year (§7) while daily tides have $\sim 12$–$24$ h periods, the daily tide averages out over nucleation and leaves almost no phase preference. The quantitative prediction — only $\sim 1%$ of earthquakes correlate, requiring very large catalogs to detect — matches the observed near-null: global studies find only a $\sim 0.5$–$1%$ rate excess at the favourable tidal phase, rising to a factor $\sim 2$–$3$ only in special regimes (shallow, ocean-loaded thrusts; mid-ocean-ridge normal faults near criticality).

How the system uses this. The tidal covariate is encoded with the physically-correct exponential shape from §6,

$$\lambda(t\mid\mathcal{H}) = \lambda_0(t\mid\mathcal{H})\cdot \exp!\Big(\beta,\frac{\Delta\mathrm{CFS}_{\text{tide}}(t)}{A\sigma}\Big),$$

where $\lambda_0$ is the base ETAS/neural intensity and $\beta \in [0,1]$ is a learned, regularized coupling that the data is allowed to drive to ~0. For most regions $\beta \to 0$ and the gain is negligible — and that near-null is reported openly, not buried. Only shallow ocean-loaded thrusts / ridges, and the entirely separate tremor / slow-slip channel (where the same kPa stresses modulate slow earthquakes far more strongly, because those faults are weak and near-critically pressurized), show a measurable improvement. The discipline is the same as everywhere in the system: validate with-vs-without the covariate in the CSEP harness on declustered catalogs out-of-sample, and never claim skill from in-sample significance (with huge $N$, tiny effects are trivially "significant"). The full treatment lives in the tidal-triggering material; here the point is that rate-and-state friction is exactly what tells you to expect a near-null and why.


11. Assumptions, strengths and limitations

Core assumptions.

  • Linear elasticity for the stress-transfer computation (the source slip produces a stress field via elastic dislocation theory).
  • Rate-and-state friction with a single dominant $A\sigma_n$ scale governs the population response (a homogenized average over heterogeneous nucleation sites).
  • Known source slip and target geometry — both uncertain in practice and a major error source.
  • A fixed apparent friction $\mu'$ absorbing pore-fluid effects (a strong simplification of real poroelastic, possibly time-varying, behaviour).

Strengths.

  • Mechanistic, not curve-fit. It derives the Omori law and the stress-shadow quiescence from friction, rather than postulating them — a genuine physical explanation.
  • Independent of absolute stress. $\Delta\mathrm{CFS}$ needs only the change, which is computable; the unmeasurable absolute crustal stress is not required.
  • Explains the weak tidal correlation quantitatively (the nucleation-vs-period criterion), turning a puzzling near-null into a predicted one.
  • Provides a physically-grounded spatial prior (lobes/shadows) and the correct exponential functional form for any stress covariate.

Limitations (stated honestly).

  • Slip-model dependence. $\Delta\mathrm{CFS}$ inherits the large uncertainty of the finite-fault slip model and the assumed receiver geometry; small geometry changes can flip the sign of the computed stress change.
  • Empirical ETAS already captures much of it. ETAS reproduces aftershock clustering without any stress computation, so the mechanistic covariate must prove incremental skill over ETAS — a high bar, often not cleared in prospective testing.
  • Parameter scarcity. $A\sigma_n$ and $\dot\tau_r$ are poorly constrained in situ and vary with depth and setting.
  • Not a standalone forecaster. It is a prior/covariate; on its own it forecasts nothing operationally.

12. Role in operational earthquake forecasting

In the operational system, the rate-and-state / Coulomb chain is a mechanistic enhancement layer, deliberately kept on the optional, feature-flagged side of the architecture:

  • It supplies a mechanistic spatial prior — after a mainshock, a physically-grounded map of where triggering should be enhanced (Coulomb lobes) or suppressed (stress shadows), with the time decay set by $t_a$. This can modulate the spatial term of the conditional intensity that smoothed seismicity and ETAS otherwise drive purely statistically.
  • It provides the correct functional shape ($R/r = \exp(\Delta\mathrm{CFS}/A\sigma)$) for encoding any stress-derived covariate — including the tidal covariate (§10) — so that those features enter the model in a physically defensible, regularizable way rather than as arbitrary regressors.
  • It explains, rather than merely fits, the Omori clustering that ETAS captures empirically — valuable for interpretation, communication, and sanity-checking, even when it adds little raw skill.

The honest bar is unchanged: because ETAS already reproduces aftershock clustering from the catalog alone, a Coulomb / rate-and-state covariate joins the public forecast only if it shows positive, significant information gain over the ETAS + smoothed-seismicity baseline in prospective CSEP testing, with its slip-model and geometry uncertainty carried through. Where it does not clear that bar — which is often — it stays an interpretive and diagnostic layer, never an alarm. This is the mechanistic layer's place: it tells the system why, supplies a defensible prior and the right mathematical shape, and earns a place in the public number only by demonstrated skill.


References

  1. King, G.C.P., Stein, R.S. & Lin, J. (1994). Static stress changes and the triggering of earthquakes. Bulletin of the Seismological Society of America 84(3), 935–953.
  2. Stein, R.S. (1999). The role of stress transfer in earthquake occurrence. Nature 402, 605–609. doi:10.1038/45144
  3. Dieterich, J. (1994). A constitutive law for rate of earthquake production and its application to earthquake clustering. Journal of Geophysical Research 99(B2), 2601–2618. doi:10.1029/93JB02581
  4. Dieterich, J.H. (1979). Modeling of rock friction: 1. Experimental results and constitutive equations. Journal of Geophysical Research 84(B5), 2161–2168. doi:10.1029/JB084iB05p02161
  5. Ruina, A. (1983). Slip instability and state variable friction laws. Journal of Geophysical Research 88(B12), 10359–10370. doi:10.1029/JB088iB12p10359
  6. Heimisson, E.R. & Segall, P. (2018). Constitutive law for earthquake production based on rate-and-state friction: Dieterich 1994 revisited. Journal of Geophysical Research: Solid Earth 123(5), 4141–4156. doi:10.1029/2018JB015656
  7. Beeler, N.M. & Lockner, D.A. (2003). Why earthquakes correlate weakly with the solid Earth tides: Effects of periodic stress on the rate and probability of earthquake occurrence. Journal of Geophysical Research: Solid Earth 108(B8), 2391. doi:10.1029/2001JB001518
  8. Cochran, E.S., Vidale, J.E. & Tanaka, S. (2004). Earth tides can trigger shallow thrust fault earthquakes. Science 306(5699), 1164–1166. doi:10.1126/science.1103961
  9. Toda, S., Stein, R.S., Sevilgen, V. & Lin, J. (2011). Coulomb 3.3 graphic-rich deformation and stress-change software. U.S. Geological Survey Open-File Report 2011-1060.
  10. Jordan, T.H., Chen, Y.-T., Gasparini, P., Madariaga, R., Main, I., Marzocchi, W., Papadopoulos, G., Sobolev, G., Yamaoka, K. & Zschau, J. (2011). Operational Earthquake Forecasting: state of knowledge and guidelines for utilization. Annals of Geophysics 54(4), 315–391. doi:10.4401/ag-5350

See also: Models — Classical · Smoothed Seismicity · Brownian Passage Time · Omori–Utsu & ETAS · Evaluation & Tests · Honest Limits · Methodology & History. All equations are transcribed from the primary/authoritative sources cited above.

Clone this wiki locally