Dip steering: why the window has to follow the bed
Modules 01 and 02 produced a reflector
orientation at every sample. Every attribute that compares neighboring traces has to decide where to look on each of them, and the
difference between looking along the bed and looking straight across the screen decides what the
attribute ends up imaging.
The wavelet and the window — these apply to every step
The wavelet
A higher frequency means a shorter period, so less time
shift is needed before the traces stop matching.
The window
A wider aperture accumulates more time shift from
end to end, so it fails at a gentler dip.
Height matters much less here. The problem is lateral
misalignment, and a taller window does not fix it.
Display
Work through the four steps in order, then try the exercises.
Method and references are there when you want them.
1Two windows on the same sample
One continuous reflector, two ways of sampling it
Below is a single, perfectly continuous reflector with no fault, no noise and no change of any kind
along it. Two analysis windows sit on the same sample. The gray one is horizontal. The crimson one is
tilted to follow the bed. Both read the same traces; they differ only in where on each trace
they read.
At zero the two windows are the same
window. Move the dip either way and they separate; a negative dip simply tilts the bed the other way,
and the horizontal window is equally wrong about it.
1 Traces read by the horizontal window
laid side by side
2 Traces read along the bed
the same traces, read later on each one
Horizontal window score—
Dip-steered window score—
What the horizontal window has concluded—
The score is semblance, the same measure the dip search maximized in module 01: 1 when every
trace in the window is identical, falling toward 1/N when they are unrelated.
2When does the horizontal window fail?
It depends on the wavelet, not on the geology
Two intervals of time decide the outcome. The first is how much the reflector's arrival time changes from one end of the window to the other — the dip multiplied by the width of the aperture. The
second is the period of the wavelet, the time from one peak to the next.
While the first is a small fraction of the second, the traces still broadly overlap and the window
sees one event. As it grows toward half a period, the far end of the window is reading a trough where the near end reads a peak, so the window is comparing a peak against a trough. That is the whole mechanism, and it explains why the failure point depends on the
wavelet rather than on anything geological.
Below are five snapshots of the same five traces, read straight across at five different bed
dips. The reflector is perfectly continuous in every one of them — nothing is broken and nothing has
changed but the dip. Watch the traces slide out of line, and watch the score fall as they do. A
dip-steered window would show you the first picture every single time, whatever the dip.
Under each snapshot is the number that explains it: how much time shift has built up
across the window, as a fraction of one period of the wavelet. That single quantity decides
everything here.
Period of the wavelet—
Time shift across the aperture—
Shift as a fraction of one period—
Dip at which the flat window drops below 0.8—
The rule this gives you—
3The same attribute over a whole section
One of these images the fault; the other images the bedding
Now a folded section cut by a single fault. Coherence is computed at every sample twice, with
identical windows and identical arithmetic, differing only in whether the window is steered. Dark is
low coherence.
1 The seismic
a gently folded sequence cut by a normal fault whose plane leans across the section
2 Coherence, dip-steered
the window follows the bed
3 Coherence, horizontal window
the same window, never steered
The seismic is displayed as variable density, the way a section of this many traces normally is.
Panels 2 and 3 share one gray scale, black at 0.5 and white at 1.0, so they can be compared
directly. The fault cuts obliquely across the reflectors, which is what makes the dark stripe lean.
The same comparison on a time slice
A section shows the fault as a line, which is a hard place to judge how much damage an unsteered
window does. A map view is much clearer. These two panels are horizontal slices through a small 3D
volume: a sequence of reflectors carried over a monoclinal flexure — a one-sided step in the
structure, flat on both sides and steepening through the middle — cut by one planar fault. The fault
is identical in both panels. Everything else on the right is the structure appearing in the attribute.
These two panels use a fixed patch of 3 by 3 traces, not the aperture set by
traces used in the header; that slider drives the section panels above. Window height is
shared. The values quoted in the exercises for these maps therefore refer to a three-trace
window.
4 Time slice, dip-steered
the fault, and nothing else
5 Time slice, horizontal window
the fault, plus the structure
Both panels use the same gray scale as the sections above, black at 0.5 and white at 1.0.
Inline runs across, crossline runs up. On the left the fault is the only feature worth picking.
On the right a broad dark band has appeared along the flexure, running at a different angle from the
fault: wherever the bed dips more steeply than the horizontal window tolerates, the attribute
darkens, and what it draws is the structure rather than a discontinuity. The band reaches about
0.55, nearly as dark as the fault itself at about 0.48, so no threshold separates them. That
bleed-through gets picked as stratigraphy by people who have never seen the steered version.
Both panels degrade, but not in the same
way. The unsteered one was already dark on the flanks before any noise was added.
Steered: bedding, and its worst value—
Steered: the darkest point on each row—
Flat: bedding, and its worst value—
Flat: the darkest point on each row—
How often the darkest point is the fault—
What this means for picking—
4Steering with the wrong dip
Steering is only as good as the dip volume it uses
Modules 01 and 02 spent a good deal of effort on how a dip estimate goes wrong. The cost of that error is measured here. The slider adds a fixed error to every dip estimate before the window is steered by it, so the
window still tilts, just not by the right amount.
1 What the error does to the window
a bed dipping 2 ms per trace, with both windows on it
The teal window is steered by the correct
dip and lies along the bed. The crimson one is steered by the dip plus your error, so it still tilts
but cuts across. At a large enough error it is no better aligned than a horizontal window would have
been, which is the point of the last exercise.
2 Coherence, steered by the wrong dip
same gray scale as step 3
Coherence on the bedding—
The darkest point on each row—
Separation between them—
Steepest dip in this section—
Verdict—
?Why steering is not optional
The difference between imaging geology and imaging the display
An unsteered attribute does not fail visibly. It produces a volume that looks entirely
plausible, full of lineaments and fabric, and the lineaments are contours of the structure rather than
anything broken. There is no error message and no obvious artifact, only a plausible image of the wrong thing.
What it changes in practice
Fault picking. On the unsteered volume in step 3, the darkest thing on a row is the fault
only about half the time. Anyone auto-tracking it extracts fold flanks as faults over much of its
length, and those picks look like perfectly good faults until someone checks them against the
seismic.
Stratigraphic work. Bleed-through in map view follows the structural grain, which is
exactly what makes it convincing as stratigraphy. The time slice in step 3 shows a broad band along
the flexure that reads like a depositional feature and is nothing of the kind.
Every attribute above coherence. Curvature, shape index, amplitude curvature and aberrancy
are all computed in the steered frame. The dip volume is not just an input to them; it is the
coordinate system they are expressed in.
Structure-oriented filtering. Steered, it smooths along bedding and sharpens faults. Wrongly steered, it smooths across bedding, removing the discontinuities it was meant to preserve, and the output looks cleaner rather than worse.
And why the dip volume deserves real effort
Steering is not a switch that is either on or off. Step 4 shows a half-millisecond
per trace error — smaller than the cost of coarsening the dip search step in module 01 — already
eating into the fault contrast, and a 2 ms per trace error landing in the same place as not steering
at all. Since the
volume is still labeled dip-steered, that failure is harder to spot than the honest unsteered
version.
That is the practical argument for the order of this course. Modules 01 and 02 spend a long time on getting dip right because the quality of the dip field is carried, undiminished, into everything computed from it.
One rule of thumb worth taking away: a horizontal window survives only while the time shift
accumulated across it stays under about a fifth of a period. At ordinary frequencies that is a few
degrees of dip, which almost no real survey manages.
Exercises
Find the tolerance of an unsteered window. In step 2, leave the frequency at 30 Hz and
five traces, and read the dip at which the flat window drops below 0.8. Then double the frequency
and read it again.
HintAbout 1.7 ms per trace at 30 Hz and about 0.9 at 60 Hz, so doubling the
frequency roughly halves the tolerance. At 25 m bins and 3000 m/s those are geological dips of
roughly six and three degrees. An unsteered coherence volume is therefore usable on almost nothing: gentle regional dip is already enough to break it, and a higher-frequency dataset tightens the tolerance rather than loosening it.
Check that the failure is about the wavelet, not the dip. Try several combinations of
frequency and aperture in step 2, and each time read the "shift as a fraction of one period"
box at the dip where the flat curve crosses 0.8.
HintIt lands between about 15 and 30 percent every time, averaging a little over a
fifth. Sweeping frequency and aperture together moves the crossing dip over a range of nearly
twenty to one — from several milliseconds per trace down to a few tenths — and every one of
those crossings corresponds to much the same fraction of a period. That is the
actual rule, and it is worth carrying around: a horizontal window survives only while the time
shift accumulated across it stays under about a fifth of a period.
Compare the two volumes as an interpreter would. In step 3, look at the steered and
unsteered panels and ask which anomalies you would pick as faults.
HintWith the noise slider at its default 12%, the steered panel sits at better than
0.9 on the bedding against roughly 0.5 at the fault, and the darkest point on a row is the fault
about nine times in ten. The unsteered panel has bedding averaging under 0.8 and falling on the
steepest flanks to about what the fault reads, and the darkest point is the fault only about
half the time. So on many rows of the unsteered volume the darkest thing available to pick is a
fold flank, not the fault. Turn the noise off
and the steered background climbs to a flat 1.0 while the unsteered one still bands: the flanks
are not a noise problem, they are a steering problem.
Give the steering a small, plausible error. In step 4, step the error through 0.25, 0.5
and 1 ms per trace and watch the bedding value.
HintBedding coherence falls steadily as the error goes 0, 0.25, 0.5, 1 ms per
trace, losing the best part of a tenth by the end, while the fault value barely moves. The cost
comes out of the background rather than out of the anomaly, so the separation between the two
narrows by around a tenth of itself.
These are small errors by the standards of module 01 — 0.5 ms per trace is less than the cost of
coarsening the dip search step to 2 ms — and they are already being spent.
Read the two time slices. In step 3, look at the map pair rather than the sections and
ask what the broad dark band on the right is, and why it runs at a different angle from the fault.
HintIt is the flexure. Wherever the bed dips more steeply than a three-trace
horizontal window tolerates, the attribute darkens, so the feature it draws is the structure
itself. The band goes about as dark as the fault does, so the two anomalies are comparable in
strength and no threshold separates them. On the steered slice the background stays high across
the whole map, flexure included, and the fault is the only linear feature
on it. This is the clearest view of the problem, because in map view the
bleed-through has a shape, and that shape looks like stratigraphy to anyone who has not seen the
steered version.
Push the error past the structure itself. Set the error to 2 ms per trace and compare it
with the steepest dip in the section, shown in the readout.
HintThe steepest true dip in this section is just under 2 ms per trace, so an
error of 2 is a hundred percent error. Bedding coherence collapses to well below what the
unsteered window managed, and the fault is the darkest point on a row less than half the time
rather than nine times in ten.
Steering by a badly wrong dip is therefore worse than not steering at all, and more dangerous,
because the volume is labeled as dip-steered. Push on to 4 ms per trace and the fault is found on
barely one row in ten: the attribute is imaging the error.
The main points
An unsteered window measures dip, not discontinuity. On a continuous dipping reflector it
returns a low value, and that value has nothing to do with the geology being broken.
The tolerance is set by the wavelet. A horizontal window holds up only while the time
shift across it stays under roughly a fifth of a period, which at ordinary frequencies means only
a few degrees of dip.
Steering separates the fault from the fold. It does not make the fault anomaly stronger;
it removes the competing anomaly on the flanks so the fault is the only thing left dark.
A dip-steered volume is only as good as its dip volume. Error in the dip field is spent
directly out of the contrast you were trying to measure.
Height matters far less than aperture. The failure is lateral misalignment across the
window, so a shorter window does not fix an unsteered one; a narrower one does.
This is why dip comes first. Coherence, curvature, aberrancy and structure-oriented
filtering all take the dip field as an input, and none of them can tell you it was wrong.
Method, assumptions, and where to read more
Steps 1 and 2 use a single reflector across a small patch of traces, built by convolving one
reflection coefficient with a Ricker wavelet and shifting each trace by the bed dip. Steps 3 and 4 use
a 160-trace section at 2 ms sampling containing a gently folded sequence with a regional dip, cut by
a normal fault of 20 ms throw whose plane descends 7.8 ms of two-way
time per trace, about 25 degrees at 25 m bins and 3000 m/s. The reflectors are closely spaced, at 9
samples, for a reason: a fault is only visible where it cuts a reflector, so with widely spaced
beds its expression becomes a row of isolated offsets several traces apart, which reads as a
staircase rather than a plane. Because the fault plane is oblique to the
reflectors it crosses each one at a different trace, which is why the coherence anomaly leans. Fault
values quoted in the exercises are the darkest point found on each time row, which is what an
interpreter or an autotracker responds to, rather than an average over a fixed band, and they assume
the noise slider at its default 12%. The throw is applied with a sub-trace transition so that the
fault plane is straight rather than quantized into a staircase of whole traces.
The two map panels come from a separate small 3D volume, 100 traces square by a slab of 81 samples,
carrying a reflector sequence over a monoclinal flexure of 80 ms relief cut by one planar fault. The
flexure reaches about 4 ms per trace at its steepest, above what a three-trace horizontal window tolerates at 30 Hz and well within what a steered window handles. The two families of panel are steered
differently, on purpose. The map panels take the analytic dip of the model, because estimation error
is the subject of step 4 and mixing the two would confuse which effect is which. The section panels
in steps 3 and 4 take a dip field estimated with the discrete semblance search of module 01, so the
steered sections carry whatever error that search makes — which is what lets step 4 add an error on
top of it and watch the cost.
The similarity measure used throughout is semblance, computed on the real trace over a window of
2K+1 samples and 2J+1 traces. AASPI program similarity3d computes its
attributes from the analytic trace, meaning the data together with its Hilbert transform, which
suppresses structural leakage: the false low-coherence stripe that appears where a reflector's
amplitude passes through zero and the traces have almost nothing left to compare. That refinement,
and the several different definitions of coherence available, are the subject of the next module. The
point being made here — that the window has to follow the bed — applies to every member of the
family.
Real dip steering does not add a constant error the way step 4 does. Errors in a dip volume vary from
place to place and are usually worst exactly where the structure is most complex, which is where the
attribute is most needed. A constant bias is used here because it is readable; treat the numbers as
showing the sensitivity, not as a model of how dip fields actually fail.
Marfurt, K. J., R. L. Kirlin, S. L. Farmer, and M. S. Bahorich, 1998, 3-D seismic attributes using
a semblance-based coherency algorithm: Geophysics, 63, 1150–1165.
Marfurt, K. J., 2006, Robust estimates of 3D reflector dip and azimuth: Geophysics, 71,
P29–P40.
Chopra, S., and K. J. Marfurt, 2007, Seismic Attributes for Prospect Identification and
Reservoir Characterization: SEG Geophysical Development Series, 11.
AASPI program documentation for similarity3d and dip3d,
University of Oklahoma — ou.edu/mcee/labs/aaspi.
The window now follows the bed, so the traces inside it can finally be compared. The next question is
what "compared" means: semblance, eigenstructure, energy ratio and Sobel filters all answer it
differently, and give different answers on the same data.