Coherence and discontinuity attributes: seeing the unseen faults

Part 6 — Seismic Attributes

Learning objectives

  • Explain how coherence attributes differ from amplitude attributes — they measure SIMILARITY between traces, not energy
  • Compute and interpret semblance coherence on a real volume
  • Recognize fault networks on time slices and read their geometry
  • Choose window sizes that balance vertical localization with statistical stability
  • Identify the limits of coherence: low-energy zones, noise, edge artifacts, and the kinds of structure it cannot see

Amplitude attributes (§6.1) ask: how much energy is here? Frequency attributes (§6.2) will ask: what is the colour of the wavelet here? Coherence attributes ask a fundamentally different question: how similar is this trace to its neighbours?

The intuition is simple. In undisturbed sedimentary rock, layers are continuous. The trace at (i,x)(i, x) and the trace at (i,x+1)(i, x{+}1) sample the same layers at almost the same depth — the two traces look almost identical. When a fault cuts through, the layers on one side of the fault are offset from the layers on the other. Two traces straddling that fault no longer look alike. Their similarity drops.

So coherence is a similarity attribute. High coherence = layers are continuous. Low coherence = something has interrupted continuity. The "something" is most often a fault, but the same drop appears at channel edges, salt walls, reef margins, pinch-outs, and anywhere the lateral fabric of the rock changes abruptly.

Why coherence is gain-independent (and why that matters)

Multiply your seismic volume by 10. Every amplitude is now 10× larger. RMS values are 10× larger. Envelope values are 10× larger. Coherence is unchanged.

The reason: coherence is a normalized RATIO. Numerator and denominator both contain sk(t)2s_k(t')^2 terms; multiplying every sample by 10 scales numerator and denominator by 100, and they cancel. So a coherence value at one location compared with a coherence value at another — even from a different processing vintage of the same survey — is directly meaningful. Section 6.1 cautioned against comparing RMS across vintages because gain choices vary; coherence has no such caveat. This is one of the reasons coherence is so popular in production interpretation.

Semblance: the C2 algorithm

The most widely used coherence definition is semblance, introduced for 3D fault detection in 1998. For each voxel (i,x,t)(i, x, t), you collect a small spatial neighbourhood of traces — typically 3 inlines × 3 crosslines = 9 traces — and compute a normalized similarity over a vertical time window of ±W/2\pm W/2 samples:

**

semblance(i,x,t)=t(ksk(t))2Ktksk(t)2\mathrm{semblance}(i, x, t) = \dfrac{ \sum_{t'} \left( \sum_{k} s_k(t') \right)^{2} }{ K \sum_{t'} \sum_{k} s_k(t')^{2} }

**

The notation: kk indexes the KK traces in the spatial neighbourhood (typically K=9K = 9), tt' runs over the time window, and sk(t)s_k(t') is the seismic amplitude of trace kk at sample tt'.

The numerator is the energy of the stacked trace — first sum the K traces sample-by-sample, then square. The denominator is K times the summed energy of the individual traces. The two limiting cases:

  • K traces are identical. Each summed sample is Ks(t)K \cdot s(t'); squaring gives K2s(t)2K^{2} s(t')^{2}. Numerator is K2s(t)2K^{2} \sum s(t')^{2}; denominator is KKs(t)2=K2s(t)2K \cdot K \sum s(t')^{2} = K^{2} \sum s(t')^{2}. Ratio = 1.
  • K traces sum to zero (perfect destructive interference). Numerator goes to zero; denominator stays positive. Ratio = 0.

So semblance is naturally bounded in [0,1][0, 1] without any clipping or post-normalization. That clean range is one of its big practical advantages.

The C1 / C2 / C3 family

Coherence comes in flavours, distinguished by what they measure as "similarity":

  • C1 — cross-correlation (1995). The original. Compute the maximum of pairwise cross-correlations between a target trace and a few neighbours. Fast, but noisy at low signal-to-noise.
  • C2 — semblance (1998). The formulation above. Cleaner output than C1 with similar compute cost. The standard production default in most interpretive software.
  • C3 — eigenstructure (1999). Compute the eigenvalues of the covariance matrix of the trace neighbourhood; coherence is the dominant eigenvalue divided by the sum of all eigenvalues. Highest visual quality (sharper fault images, better noise rejection) but slow because each voxel requires an eigendecomposition.

The widget below uses C2 semblance — the right balance of speed, quality, and conceptual clarity for an interactive teaching tool. In production, C3 is increasingly common when compute budget allows.

Why time slices reveal fault networks

On an inline (vertical section), a fault appears as a single line where reflectors offset. You can pick that one fault, but you cannot easily see how it relates to its neighbours — they are on other inlines, hidden from view.

Flip to a time slice (horizontal cut at constant TWT) and the picture transforms. The slice cuts across many faults at once. On coherence, each fault appears as a dark linear feature against a bright continuous background. The whole map of structural deformation reveals itself: which faults connect, where they branch, where they terminate, what the regional stress orientation is. A coherence time slice is the canonical "fault map" view, and it is the single most compelling visualization in 3D seismic interpretation.

This is why the widget defaults to time-slice view when you select Coherence. Try the exercise below.

Coherence ExplorerInteractive figure — enable JavaScript to interact.

Exercise — Find the F3 fault network

  • The widget should already show coherence on a time slice. Slide the time index from about 800 ms down to 1500 ms. Watch the dark linear features evolve with depth. The North Sea graben that F3 captures has predominantly NW–SE oriented normal faults; you should see them aligned in that direction, becoming more numerous and intricate at deeper levels.
  • Toggle the View dropdown to Inline. The same coherence is now shown as a vertical section. Faults are still visible as dark vertical streaks, but the network organization is much harder to read. This is the central lesson: time slice for fault networks, inline for individual fault geometry.
  • Toggle View back to Time slice. Slide the Window length up to 24 samples. The coherence becomes statistically more stable but spatially smoothed. Faults appear thicker; faint discontinuities become more visible because the noise has averaged down.
  • Slide the window back to 8 samples. The opposite effect: sharper fault localization but more speckle from local amplitude variations. There is no universally right window length — it depends on what you're trying to see.
  • Compare with the raw amplitude time slice in the top panel (RWB palette). Can you find the same faults in the raw seismic? Some yes, some no. The most prominent faults break up the amplitude pattern visibly; the smaller ones do not. Coherence sees them all because it cares about similarity, not amplitude.

Window-size trade-offs

  • Short time windows (5–10 samples). Localize the fault vertically — you can see the depth interval over which the fault is active and where it tips out. Statistical noise is higher, so faint or low-throw faults may be lost in the speckle.
  • Long time windows (20–40 samples). Average over many reflectors. Statistical noise drops sharply; even subtle discontinuities become visible. But fault locations smear vertically and you lose the depth context that lets you tie coherence to a specific stratigraphic interval.
  • Spatial neighbourhood. Most production implementations fix the spatial window at 3×3 traces. You can go larger (5×5 or 7×7) for stable statistics in noisy data, but you lose lateral resolution — closely-spaced faults blur into a single broad zone. The widget here uses 3×3.

Practical recipe: start with a window roughly matched to the wavelength of the dominant frequency (perhaps 10–20 samples for typical marine data). If faults look too sharp and broken-up, lengthen the window. If too much smoothing is hiding fine structure, shorten it. Iterate.

Common coherence pitfalls

  • Low-energy zones look "coherent." Above the seabed, in mute zones, or anywhere with near-zero amplitudes, the semblance ratio is unstable — numerator and denominator both go to zero. Most software (including this one) returns 1.0 in those cases, so silent regions render as uniformly bright. This is the right convention because it lets the eye focus on actual discontinuities, but a beginner can mistake the bright zone for "no faults here," when in fact the algorithm has nothing meaningful to compute on.
  • Noise drops coherence everywhere. A noisy survey shows broadly low coherence, not just at faults. The eye still picks out the strongest lineaments, but the contrast is reduced. Pre-conditioning with random-noise attenuation (f-x deconvolution, structurally-oriented filtering) is standard practice before computing coherence on noisy data.
  • Edge effects. Coherence at the edges of the volume uses a clipped 3×3 neighbourhood: corners use only 4 traces, edges 6. Statistics are less stable. Don't trust the values in the outermost two traces of any volume.
  • Coherence is not unique to faults. Channel edges, reef margins, salt walls, even strong stratigraphic transitions all create discontinuities. A dark lineament on a coherence time slice could be a fault, a buried channel, a karst collapse, or a depositional pinch-out. Always tie coherence anomalies to other interpretation: structural picks, well control, geological setting.
  • Steep faults can vanish. If a fault dips at, say, 80° and moves laterally by less than 3 trace spacings within the time window, the 3×3 spatial neighbourhood may not actually straddle the offset — all 9 traces sit on the same side. Coherence stays high; the fault is invisible to this attribute even though it would be obvious on an inline. Spectral or curvature attributes (§6.2, §6.3) compensate for this blind spot.

When coherence shines, when it struggles

  • Shines on: clean stratified sequences with sharp brittle faulting. The classic North Sea / Gulf of Mexico / North Slope settings where the technology was developed.
  • Struggles with: ductile deformation (folded layers without faulting — reflectors stay continuous, just bent, so coherence stays high). Salt-tectonic zones (often chaotic everywhere). Heavily reprocessed data with strong amplitude conditioning. Steep faults too small to register at one (i, x) location.
  • Best paired with: dip and curvature attributes (§6.3, give the geometry context that coherence's scalar similarity measure misses) and structural picking (§2.5, where you turn coherence's hints into committed structural interpretation).

Coherence is the prototypical "transformation attribute" — it doesn't measure something physical (amplitude, frequency, dip) but rather a relationship between samples. Once you see fault networks pop out of a coherence time slice, you can never go back to interpreting structure on inlines alone. Section §6.5 picks up the question of how to combine multiple attributes into classification volumes; §6.6 returns to attributes specifically for reservoir characterization, where amplitude, coherence, and frequency together build the rock physics story.

References

  • Marfurt, K. J., Kirlin, R. L., Farmer, S. L., & Bahorich, M. S. (1998). 3-D seismic attributes using a semblance-based coherence algorithm. Geophysics, 63(4), 1150–1165.
  • Chopra, S., & Marfurt, K. J. (2007). Seismic Attributes for Prospect Identification and Reservoir Characterization. Society of Exploration Geophysicists.
  • Chopra, S., & Marfurt, K. J. (2014). Seismic attributes — a promising aid for geologic prediction. CSEG Recorder.
  • Brown, A. R. (2011). Interpretation of Three-Dimensional Seismic Data (7th ed.). AAPG Memoir 42 / SEG IG13.

This page is prerendered for SEO and accessibility. The interactive widgets above hydrate on JavaScript load.