Modules 01 and 02 measured which way the reflector is going. Curvature asks the next
question: how fast is that direction changing as you move along the bed? Flat beds and uniformly
dipping beds both have zero curvature — it is only where the dip changes that anything
happens. That makes curvature a derivative of a derivative, which is where both its usefulness and
its sensitivity to noise come from.
The seismic line — click it to move the analysis point
Build the structure — every step updates as you drag
The folds
The data
Work through the five steps in order, then try the exercises.
Method and references are there when you want them.
1From dip to curvature
One profile, differentiated twice
The seismic line above the tabs is the whole of the input. It runs west to east through
a gentle fold and one small fault, and it stays on screen for every step so you can always see what
the numbers are describing. The three curves below line up with it trace for trace. Two of them have already been built, and they are listed here in the order they were introduced.
Dip came first, in modules 01 to 03: which way the reflector is heading at every sample.
On this line it is largest on the flanks of the fold and passes through zero at the crest and the
trough.
Coherence came next, in module 04. It compares neighboring traces along that dip
and asks whether they still look alike. It goes dark at the fault, where the reflector is
broken. Across the fold it sees nothing whatever, because a fold is perfectly continuous:
nothing is broken, the beds simply bend.
Curvature is the next step in the same chain — the rate at which the dip is
changing. It lights up across the fold that coherence ignored, and it also reacts at the
fault.
The three attributes form a sequence. Dip tells you the
orientation. Coherence asks whether the reflector is broken. Curvature asks whether it is bent.
Coherence finds breaks; curvature finds bends, and a fault too small to break the reflector will still bend it. That is what curvature adds to coherence.
Curvature has a direct geometric definition. At any point on the reflector, fit the circle that best follows the bed. Curvature is k = 1/r, one over that circle's
radius: a tight fold is a small circle and a big number, a gentle warp is a huge circle and a small
one, and a straight bed is a circle of infinite radius, so k = 0. The sign
follows the shape — anticlines positive, synclines negative, and zero on any plane, however
steeply that plane dips.
Now try the fault-throw slider in the header. Bring it down to
5 m and watch the two curves part company: coherence returns to a flat 0.99, exactly as if there were
no fault at all, while curvature still marks the spot. Below the seismic resolution the offset stops
being a break and becomes a flexure — and a flexure is precisely what curvature measures. That is why
a fault interpretation is normally run on coherence and curvature together, and why very small faults
appear on one and not the other.
Finally, look at where the curvature peaks sit relative to
the seismic. They are not on the steep flanks — the flanks are where curvature crosses zero. The peaks
are at the crest and the trough, exactly where the reflector is momentarily flat. A bright curvature anomaly means a place where the dip is changing quickly, not a place that is steep.
Curvature at the fold crest—
Curvature at the fold trough—
Steepest dip on the profile—
Lowest coherence on the line—
The sign convention—
Curvature is quoted here in reciprocal kilometers, which is what you get when you fit a circle
to the reflector and take one over its radius. A curvature of 1 km⁻¹ means a fold you could fit
inside a circle of 1 km radius; 0.1 km⁻¹ is a gentle 10 km-radius warp. Anticlines are positive and
synclines negative, which is the usual convention but not a universal one.
2Curvature depends on which way you cut
The same problem apparent dip had, one derivative later
Module 02 showed that apparent dip belongs to the section, not the reflector. Curvature
has exactly the same problem, and it is worse, because a surface can curve one way in one direction
and the other way at ninety degrees to it — a saddle. Cut a profile through the marked point at any
azimuth and it has a curvature of its own.
Rotate the profile below and watch the number swing. It reaches a maximum in one
direction and a minimum ninety degrees away, and those two extremes are what get called the
principal curvatures, k₁ and k₂.
Click anywhere on the map to move the analysis point. The plunging nose at the end of a ridge is a useful place to look: try the northern end of the western anticline, near the top of the map.
1 Where the profile is cut
through the marked point
2 Curvature at every azimuth
the maximum and minimum are k₁ and k₂
This profile's curvature—
k₁, the most positive—
k₂, the most negative—
Strike of k₂—
What this point is doing—
The two extremes are always ninety degrees apart, which is not obvious but is a genuine result
about smooth surfaces. Euler's theorem then gives the curvature at any other azimuth from those two
alone: k(φ) = k₁cos²(φ − ψ) + k₂sin²(φ − ψ), where ψ is the direction k₁ points. So the whole curve
on the right is determined by two numbers and an angle.
3k₁ and k₂ across the whole map
Two volumes, and the strike that goes with them
Now compute those two numbers at every point rather than one. k₁ picks out
anticlines, ridges and the upthrown edges of faults; k₂ picks out synclines, valleys and the
downthrown edges. Run them together and a fault shows as a paired bright and dark lineament, which
is the signature interpreters look for.
Software menus often label these two most-positive and
most-negative curvature. Those names belong to a related pair of attributes
that is not quite the same thing, and step 4 is about the difference. Everything on this page is
k₁ and k₂.
1 k₁, the more positive
crests and ridges
2 k₂, the more negative
troughs and valleys
3 Strike of k₂
which way the lineaments run
The strike map uses a cyclic color scale, for the same reason dip azimuth did in module 02: an
orientation of +89° and one of −89° are almost the same direction, and a scale with different colors
at its ends would draw a boundary that is not in the ground. Strike is meaningless where the surface
is a dome, a bowl or a flat — there is no preferred direction — so in practice it is displayed
modulated by curvature so those areas stay pale.
Largest k₁ on the map—
Largest negative k₂—
At the marked point—
Reading the pair—
4Most-positive curvature is not k₁
Two attributes with confusingly similar names
Software offers both k₁ and something called
k_pos, and they are not the same thing. The principal curvatures fit a circle
to the reflector, which means correcting for how steeply the reflector is already dipping. The
most-positive and most-negative curvatures skip that correction and are, in the words of the AASPI
documentation, better read as a second-derivative map of structure than as a curvature.
On flat-lying structure the two agree almost exactly. Add regional dip with the slider
in the header and watch them separate — k_pos hardly moves while k₁ falls. Tilting the
whole surface does not change its second derivatives, so k_pos, which is built from those alone,
barely changes. k₁ does, because fitting a circle to a dipping bed measures the bend along the bed rather
than against the vertical, and a dipping bed is longer than its map projection. That foreshortening
is the dip correction. The practical consequence is that on dipping structure k_pos reads
systematically high.
The fold is identical on both sides. All that has changed
is that the right-hand one sits on a tilt.
1 k₁, dip corrected
a true principal curvature
2 k_pos, not corrected
the second derivative of structure
3 k_pos − k₁
blank until the structure dips
4 How far apart they drift
k_pos divided by k₁ at the strongest anticline, against regional dip
Each point is one setting of the regional dip slider. At 1.0
the two attributes agree exactly. The vertical line marks where the slider is now, so you can see how
much of the disagreement you have dialed in.
Regional dip now—
k₁ at the crest—
k_pos at the crest—
k_pos as a multiple of k₁—
Verdict—
5Long and short wavelength
The one parameter that decides what you see
Differentiating twice multiplies the high wavenumbers twice over, so any short-wavelength wobble in the dip field comes out amplified. The usual sources
are acquisition footprint, a regular pattern left by the shot and receiver geometry; statics, small
trace-to-trace time shifts introduced by the near surface; and migration noise. That is why curvature is computed with an operator length rather than a
bare difference, and why the same volume computed two ways looks like two different pieces of
geology.
Turn on the short-wavelength texture and the noise in the header, then move the operator
length. A short operator picks out the fine fabric; a long one shows only the broad fold. Neither is
the right answer — they are answers to different questions, and choosing between them is an
interpretation.
1 k₁ at the operator length you chose
the header slider drives this
2 k₁ with a long operator
fixed at 15 traces, for comparison
Operator length—
Typical |k₁| at this length—
Typical |k₁| at 15 traces—
Amplification—
What you are looking at—
?Why bother with a third attribute
What curvature finds that dip and coherence cannot
Step 1 made the case in one picture: coherence needs a break and curvature needs
only a bend. Below the seismic resolution a fault stops breaking the reflector and starts
flexing it, and that is where curvature takes over. Walk the fault throw down in step 1 and coherence
returns to its no-fault value at 5 m while curvature is still marking the spot.
What it is used for
Subtle faults and flexures. The ones too small for coherence, which are often the ones that
matter for compartmentalization — a 5 m offset can still juxtapose sand against shale.
Fracture prediction. Bending a brittle layer puts its outer arc into extension, so strongly
curved zones are where open fractures are most likely. This is a correlation to be tested against
image logs and production, not a law, but it is the standard first-pass map for a fractured
reservoir.
Differential compaction. A channel, a reef or a fan compacts differently from the mud around
it, and drapes the overlying reflectors into a gentle ridge or sag. Curvature maps that drape
cleanly, so you can see a body you cannot see directly.
Karst and collapse. Sinkholes and collapsed chimneys show as tight closed lows, which is
exactly the shape module 06's bowl component isolates.
Structural framework. k₁ and k₂ run together give the paired bright and dark lineament
that reads as a fault, with the upthrown and downthrown sides labeled for you.
The three ways it will mislead you
Bright does not mean steep. Curvature peaks where the bed is momentarily flat, at
a crest or a trough, and passes through zero where the bed is steepest — because a steeply dipping bed
at its inflection is momentarily straight, and straight means not bending. On the default structure the steepest point reads
a hundredth of a reciprocal kilometer against nearly one at the crest, a factor of some seventy the
other way from most people's intuition.
Operator length is an interpretation, not a setting. Long-wavelength curvature
maps folds and short-wavelength curvature maps fabric, and the same surface honestly gives both. Which
one you chose should travel with the volume, because nothing in the data says which is right.
It inherits the errors in the dip field, amplified. Curvature is a second
derivative, so short-wavelength error in dip is amplified twice over. Put the noise slider to 30% at
an operator length of 3 and the typical curvature reads several times what a long operator gives on
the same surface, almost all of it noise. That is the practical reason modules 01 to 03 spent so long on getting dip right.
k₁ and k_pos are different attributes, not two names for one. On dipping structure the uncorrected version reads systematically high, and it reads
highest where the structure dips most steeply, so the bias does not average out.
Exercises
Shrink the fault until only curvature can see it. In step 1, walk the fault throw down
from 60 m to 5 m, reading the coherence value and the fault curvature at each stop.
HintAt 60 m throw coherence sits around 0.36 and the fault
is unmistakable. By 10 m it has climbed to about 0.97, and at 5 m it reaches exactly the value
it reads with no fault at all. Coherence no longer registers the fault at all. Curvature meanwhile falls
roughly in step with the throw, by about a factor of eight over the same range: reduced, but
still clearly there at every stop. Once
the offset drops below what the wavelet can resolve, the reflector is no longer broken, it is
bent, and only an attribute that measures bending will find it. This is the classic progression
— large offsets to coherence, small offsets to curvature, and offsets below even that to
aberrancy, which has a module of its own. Notice too that the fold sits at the same curvature throughout,
near 0.9 km⁻¹, and coherence never sees it at any setting.
Find where curvature is zero on a steeply dipping bed. In step 1, set the fold relief to
about 100 m and look at where the middle and bottom panels cross zero.
HintThe dip curve
and the curvature curve cross zero in completely different places, a quarter of a wavelength
apart. On the default structure, curvature at the steepest point on the fold is a hundredth
of a reciprocal kilometer against nearly one at the crest, a factor of some seventy. Curvature is zero exactly where the bed
is steepest, and largest where the bed is level at a crest or a trough. The reason is worth
saying carefully: at the steepest point the bed is momentarily straight, not level.
It is dipping hard, but it is not bending, and bending is the only thing curvature measures. This is the single most common misreading of a curvature volume: a bright
curvature anomaly is not a steep place, it is a place where the dip is changing
quickly.
Find a saddle. In step 2, click near the plunging nose at the north end of one of the
ridges, then rotate the profile through 180°.
HintThe curve
crosses zero twice, and k₁ comes out positive while k₂ comes out negative at the same point.
How large each one is depends on exactly where you clicked; what matters is the pair of signs,
and on the strongest saddles here the two are comparable in size. The reflector arches up
along the ridge and falls away along its plunge, so it curves one way in one direction and the
other way at right angles. No single number describes that, which is the whole reason two
principal curvatures are reported instead of one average. A mean curvature here would be close
to zero and would tell you nothing at all. Saddles are common on real surfaces, and on this
modeled one they cover more than half the map.
Separate k_pos from k₁. In step 4, start with the regional dip at 0° and raise it to 25°,
watching the ratio readout.
HintAt 0° the two
agree to within a percent. By 25° k_pos reads about half again what k₁ does. Notice which one
moves: k_pos does not budge at all while k₁ falls away steadily. Adding a tilt does not change a second derivative, and k_pos is
nothing but second derivatives. k₁ falls because it measures the bend along the bed, and a bed
dipping at 25° is longer than the map distance it covers, so the same rise is spread over more
reflector. Dividing that foreshortening out is what the dip correction does, and it is why
k_pos reads high wherever the structure dips. On a structurally dipping
survey that difference is systematic rather than random, so it does not average out — it biases
the whole map in the direction of steepest regional dip. If you are comparing curvature between
two areas of a survey that dip differently, this matters.
Watch the second derivative amplify noise. Set the operator length to 1 in the header,
then put the dip-field noise up to about 15%.
HintThe fold almost
disappears under speckle. Now take the operator length up to 15 and the fold returns while the
speckle goes. At an operator length of 1 the typical curvature reads an order of magnitude more
than the same surface gives at 15 traces, and almost all of that is noise rather than geology. Noise in
a dip field is not a cosmetic problem for curvature — differentiating
twice multiplies short-wavelength content twice over, so a dip volume that looked acceptable in
module 01 can be unusable once it has been differentiated. This is the practical reason modules
01 to 03 spent so long on getting dip right.
Choose a wavelength on purpose. Turn the short-wavelength texture up to about 20 and
compare the two panels in step 5.
HintThe short
operator maps the fine fabric and loses the fold; the long operator maps the fold and loses the
fabric. Both are correct computations of curvature on the same surface. If the fine fabric is
fractures you want the short operator; if it is footprint you want the long one, and nothing in
the data tells you which it is. That decision is yours and should be stated when the volume is
handed on.
The main points
Curvature is the rate of change of dip. Flat beds and uniformly dipping beds both give
zero. Only changes in dip produce an anomaly.
Bright curvature does not mean steep. Curvature peaks where the bed is flat at a crest or
a trough, and passes through zero where the bed is steepest.
One number is not enough. A surface can curve up in one direction and down at right
angles to it, so two principal curvatures are reported, together with the direction they point
in.
k₁ and k_pos are different attributes. The principal curvatures correct for the dip the
reflector already has; the most-positive and most-negative ones do not, and on dipping structure
they read systematically high.
Operator length is an interpretation. Long-wavelength curvature maps folds,
short-wavelength curvature maps fabric, and the same surface gives both.
Errors in the dip field arrive here amplified. Curvature is a second
derivative, so short-wavelength error in dip is amplified twice over.
Method, sources, and what has been simplified
The structure is a grid of depths to a single reflector, built from a small number of analytic
features — two anticlines, a syncline, and a dome — on an optional regional tilt, with optional
short-wavelength texture and optional noise. Depth is used rather than time so that curvature has
its proper units of one over length. Working from a time-migrated volume instead requires
converting the dip components with a velocity, which AASPI does with a single constant and which
its documentation describes as crude; the resulting error carries into curvature magnitude but has
little effect on strike or azimuth.
Curvature is computed the way a volumetric attribute computes it, not analytically. The inline and
crossline dip components are found by differencing the depth grid, smoothed along the operator
length, and then differenced again to give the three second derivatives. From those, with p and q
the dip components:
k_mean = [(1+q²)r − 2pqs + (1+p²)t] / 2(1+p²+q²)^{3/2},
k_gauss = (rt − s²) / (1+p²+q²)², and the principal curvatures are
k₁ = k_mean + √(k_mean² − k_gauss) and
k₂ = k_mean − √(k_mean² − k_gauss), with k₁ ≥ k₂ by construction. The
uncorrected most-positive and most-negative curvatures are the eigenvalues of the same second
derivative matrix without the terms in p and q, which is exactly the dip correction the AASPI
documentation says they omit. Strike comes from the eigenvector direction, ψ = ½·atan2(2s, r − t).
Apparent curvature at an arbitrary azimuth uses Euler's theorem,
k(φ) = k₁cos²(φ − ψ) + k₂sin²(φ − ψ). That the two principal directions are
always perpendicular is a property of smooth surfaces, not an assumption made here.
Simplifications. This is a single surface rather than a volume, so there is no vertical derivative
and none of the attributes that need one: reflector convergence, rotation about the normal, and the
vertical smoothing that curvature3d applies. The operator here is a simple
smoothing length rather than the fractional-derivative operator AASPI uses, which its documentation
describes as a first derivative followed by a low-pass filter; the effect demonstrated is the same
one. Curvedness, shape index and the shape components have a module of their own, as do amplitude
curvature and aberrancy.
Roberts, A., 2001, Curvature attributes and their application to 3D interpreted horizons:
First Break, 19, 85–100.
al-Dossary, S., and K. J. Marfurt, 2006, 3D volumetric multispectral estimates of reflector
curvature and rotation: Geophysics, 71, P41–P51.
Bergbauer, S., T. Mukerji, and P. Hennings, 2003, Improving curvature analyses of deformed
horizons using scale-dependent filtering techniques: AAPG Bulletin, 87, 1255–1272.
Mai, H. T., K. J. Marfurt, and S. Chávez-Pérez, 2009, Coherence and volumetric curvatures and
their spatial relationship to faults and folds, an example from Chicontepec basin, Mexico:
SEG Technical Program Expanded Abstracts, 1063–1067.
Chopra, S., and K. J. Marfurt, 2007, Seismic Attributes for Prospect Identification and
Reservoir Characterization: SEG Geophysical Development Series, 11.
AASPI, Geometric Attributes: Program curvature3d, University of Oklahoma.
Two principal curvatures at every point is a lot of numbers to look at. Combining them into a
magnitude and a shape lets you ask a different question: not how much is this bent, but what shape is
it bent into — dome, ridge, saddle, valley or bowl.