Geometric attributes: dip, azimuth, and curvature

Part 6 — Seismic Attributes

Learning objectives

  • Define dip, azimuth, and curvature as quantitative descriptions of reflector geometry
  • Compute time dip from local gradients via the structure-tensor (least-squares) approach
  • Recognize folds, fault zones, channels, and salt structure on dip and curvature time slices
  • Distinguish anticlines from synclines using signed mean curvature
  • Pair geometric attributes with coherence and amplitude to build complete structural interpretations

Sections 6.1, 6.2, and 6.4 each gave the volume a different question. Amplitude attributes asked how loud. Frequency attributes asked what colour. Coherence asked how similar to neighbours. This section asks something different again: which way are reflectors tilted, and how are they bending?

The answers are the geometric attribute family: dip (the steepness of the local reflector), azimuth (the compass direction it tilts down), and curvature (how the reflector bends). Together they convert each voxel from a scalar amplitude into a small geometric description of the rock surface passing through it. That description, mapped across the volume, reveals fold systems, channel architecture, salt-edge geometry, and subtle structural deformation that no amplitude or coherence map can show.

Dip: the slope of the local reflector

At every voxel, the local reflector surface has a slope. We measure that slope in two natural directions:

  • Inline dip dt/dydt/dy — how much does the time of a constant reflector shift as we move one inline-step in yy? Units: ms per inline (or per metre, if you have a velocity model).
  • Crossline dip dt/dxdt/dx — same in the xx direction. Units: ms per crossline.

The two together describe a tilted plane. The dip magnitude (dt/dx)2+(dt/dy)2\sqrt{(dt/dx)^{2} + (dt/dy)^{2}} is a single non-negative scalar — the steepness in any direction — which is what the widget below maps. The azimuth arctan(dt/dx,dt/dy)\arctan(dt/dx, dt/dy) is the compass direction the reflector tilts downward; it's a cyclic value in [0°, 360°) and we leave it to be displayed in production tools (with a circular HSV palette) rather than build a special widget here.

Computing time dip from gradients

The trick to extracting dip from a seismic volume comes from the implicit-function theorem. To stay on the same reflector while moving, your total amplitude derivative must be zero:

**

sydy+stdt=0\dfrac{\partial s}{\partial y} \cdot dy + \dfrac{\partial s}{\partial t} \cdot dt = 0

**

Solving for the slope:

**

dtdy=s/ys/t\dfrac{dt}{dy} = -\dfrac{\partial s / \partial y}{\partial s / \partial t}

**

The same logic gives dt/dx=(s/x)/(s/t)dt/dx = -(\partial s/\partial x)/(\partial s/\partial t). So if you can take spatial and temporal derivatives of the volume, you can recover the reflector orientation everywhere.

One catch: this naive ratio is unstable wherever s/t\partial s/\partial t goes through zero (the wavelet's zero-crossings). The standard fix is to integrate numerator and denominator separately over a small window:

**

dtdywin(s/y)(s/t)win(s/t)2\dfrac{dt}{dy} \approx -\dfrac{\sum_{\text{win}} \, (\partial s / \partial y) \cdot (\partial s / \partial t)}{\sum_{\text{win}} (\partial s / \partial t)^{2}}

**

This is mathematically the least-squares slope of the plane that best matches the local wavefront, and it's closely related to the structure tensor formulation that production interpretation software uses. The denominator is window energy; it stays positive as long as the window contains any reflectivity.

The widget below uses exactly this estimator. We use simple central differences for the gradients, which slightly underestimates the dip of high-frequency wavelets (a known but acceptable limitation — production tools use higher-order stencils or complex-trace methods). For interpreting dip patterns, what matters is the relative spatial arrangement, which the simple estimator preserves correctly.

Curvature: how the reflector bends

If dip describes a reflector's tilt, curvature describes how that tilt itself is changing across space. A flat reflector has zero curvature. A reflector that tilts the same way everywhere (uniform dip) also has zero curvature — the derivative of a constant is zero. Curvature picks up only where the reflector geometry actively changes: anticlines, synclines, channel edges, salt walls, fold hinges.

The simplest single-scalar measure is mean curvature:

**

H=12((dt/dx)x+(dt/dy)y)H = \dfrac{1}{2}\left( \dfrac{\partial (dt/dx)}{\partial x} + \dfrac{\partial (dt/dy)}{\partial y} \right)

**

Read it geometrically:

  • H>0H > 0 means the reflector is bending upward in both directions — an anticline, a ridge, or the top of a dome.
  • H<0H < 0 means it's bending downward — a syncline, a valley, or a channel incised into older rocks.
  • H0H \approx 0 means flat, uniformly tilted, or saddle (mean of one positive and one negative principal curvature). Saddles are interesting too — they often mark fault-bend folds and accommodation zones — but mean curvature won't flag them; you need most-positive and most-negative curvature volumes to separate the cases.

The widget displays mean curvature with the Red–White–Blue palette: red for anticlinal bending, blue for synclinal, white for flat. On a time slice through a channel system, the channels themselves typically appear as blue ribbons (synclines incised into the surrounding rock). On folded sequences, anticline crests light up red and bordering synclines blue.

Geometric ExplorerInteractive figure — enable JavaScript to interact.

Exercise — Read the F3 structure

  • The widget starts on dip magnitude on a time slice through F3. Bright zones (yellow on viridis) are steep dip; dark zones (purple) are flat reflectors. Slide the time index from 800 to 1500 ms. Watch the dip pattern evolve. Faults from §6.4's coherence map should also show up as bright lineaments here — a fault is a place where reflectors abruptly change tilt.
  • Toggle the Attribute dropdown to Mean curvature. The palette switches automatically to Red–White–Blue. Most of F3 will be near-white (slowly-varying tilts). Look for red and blue zones — those are where the reflector geometry is bending. Around 1200–1400 ms in F3 you should see localized red/blue patches that mark folds and channel features.
  • Toggle the View to Inline. Mean curvature is shown as a vertical section. The geometric structure of folds becomes visible: red bands at the top of anticlines, blue at the bottom of synclines, and the vertical extent of folding along the section.
  • Switch back to Time slice and slide the Window slider up from 5 to 11. The curvature image becomes smoother and lower-magnitude as longer windows average across more reflectivity. There's a balance: short windows pick up small structures but also noise; long windows are statistically clean but smooth out the small features that often matter (channel widths, fault accommodation zones).
  • Compare side-by-side with what §6.4's coherence showed. Coherence flags discontinuities (faults, channel edges); curvature flags flexures (folds, ridges, valleys). Many features show up in both, but each attribute also catches things the other misses: a smoothly-folded but unfaulted layer is invisible to coherence and obvious in curvature.

What dip and curvature reveal

  • Faults. A normal fault offsets a layer by some throw. Locally the dip jumps abruptly from one side to the other — dip magnitude shows a thin bright lineament at the fault. Curvature also responds (the reflector geometry bends around the offset). Pairing dip with coherence (§6.4) usually catches a fault from at least one of the three attributes even when the fault is subtle.
  • Folds. Anticlines and synclines are pure curvature anomalies; coherence may miss them entirely if the layers fold smoothly without breaking. Mean curvature is the standard "find the folds" attribute. For complex folding (popups, accommodation structures), production interpreters use most-positive / most-negative curvature volumes (separable from mean curvature) to distinguish ridge from valley from saddle.
  • Channels. A channel is a syncline incised into older rock. On mean curvature time slices, channels often appear as blue ribbons snaking across the slice. Coherence may also show the channel edges as dark lineaments where the cross-section discontinues. The combination of curvature (channel body) plus coherence (channel margins) is one of the most powerful interpretation pairings in stratigraphic mapping.
  • Salt structure. Salt domes and walls produce dramatic dip and curvature signatures — dip increases as reflectors flank the salt; curvature is high (often saturated) at the salt edge where flanking layers wrap around the dome.
  • Subtle structural plays. Plays driven by gentle four-way closures (the classic structural trap) often show no amplitude anomaly and minimal coherence response. Curvature is sometimes the only attribute that maps the closure outline cleanly enough to drive prospect ranking.

Common geometric-attribute pitfalls

  • Acquisition footprint. Streamer geometry, shot grids, and binning artefacts all leave systematic patterns in the volume. Dip and curvature are very sensitive to them — a stripey acquisition footprint can produce stripey dip/curvature maps that look geological but aren't. Always check whether suspect lineaments correlate with acquisition direction.
  • Migration artefacts. Mis-migrated data shows residual diffraction smiles or under/over-migration. These create curvature signatures that are pure processing artefacts. Compare different processing vintages if you have them.
  • Window size matters. Short windows (3–5 samples) are noisy and pick up wavelet-cycle variations, not geological structure. Long windows (15+ samples) average across multiple reflectors and smooth real features. Most workflows use 5–11 samples for a balance.
  • Sub-resolution faults. A fault with throw smaller than the dominant wavelength is below seismic resolution — dip and curvature won't see it cleanly. Spectral attributes (§6.2) sometimes catch these via tuning shifts.
  • Steep dip aliasing. If the true reflector dip is steeper than ~one sample per trace within a single window, the gradient estimate folds back (aliases) and gives nonsense. For interpreting fault zones with high apparent dip, increase the spatial trace spacing of the gradient stencil or use a coherence-maximizing dip estimator.
  • Dip is not depth dip without a velocity model. The values displayed here are time dip in ms per trace-spacing. To get true geological dip in degrees, you need to multiply by velocity and divide by trace spacing: θarctan ⁣(Vdt/dx2Δx)\theta \approx \arctan!\left( \dfrac{V \cdot dt/dx}{2 \cdot \Delta x} \right). The factor of 2 is for two-way time. For interpreters working in time, the relative magnitude is what matters; for engineering or geomechanics, do the conversion.

The complete attribute trinity

With this section you now have the three foundational families of seismic attributes — amplitude (§6.1), frequency (§6.2), and geometry (§6.3) — plus the powerful similarity attribute (§6.4). Together they give the interpreter a near-complete characterization of the rock at every voxel:

  • Amplitude: how strong is the reflectivity here?
  • Frequency: what is the spectral character of the wavelet here?
  • Geometry (dip, curvature): which way is the reflector tilted, and how is it bending?
  • Coherence: how similar is this rock to its lateral neighbours?

No single attribute answers all questions, but the four together cover most of what the interpreter needs to see. §6.5 (planned) takes up the question of combining attributes — RGB blends, classification volumes, machine-learning-based meta-attributes — to package this multi-dimensional information into a form the human eye can read at once. §6.6 (planned) returns specifically to reservoir characterization, where the amplitude–frequency–geometry triple plus rock physics (Part 5) builds the full subsurface story.

Geometric attributes complete the foundational toolkit of Part 6. With §6.1, §6.2, §6.3, and §6.4 you can already reproduce the core of every modern interpretive workflow. The remaining sections (§6.5 and §6.6) build on this foundation to combine attributes and apply them to specific geological questions.

References

  • Roberts, A. (2001). Curvature attributes and their application to 3D interpreted horizons. First Break, 19(2), 85–100.
  • Chopra, S., & Marfurt, K. J. (2007). Seismic Attributes for Prospect Identification and Reservoir Characterization. Society of Exploration Geophysicists.
  • 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. (2014). Seismic attributes — a promising aid for geologic prediction. CSEG Recorder.

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