SUINTERP - interpolate traces using
automatic event picking
suinterp < stdin > stdout
ninterp=1
number of traces to output between each pair of input traces
nxmax=500
maximum number of input traces
freq1=4.
starting corner frequency of unaliased range
freq2=20. ending corner frequency of unaliased range
deriv=0 =1 means take
vertical derivative on pick section
(useful if
interpolating velocities instead of seismic)
linear=0 =0 means use 8 point sinc temporal
interpolation
=1 means use linear temporal
interpolation
(useful if interpolating
velocities instead of seismic)
lent=5
number of time samples to
smooth for dip estimate
lenx=1
number of traces to smooth for dip estimate
lagc=400 number of ms agc for dip estimate
xopt=0 0 compute
spatial derivative via FFT
(assumes input traces
regularly spaced and relatively
noise-free)
1 compute spatial derivative via
differences
(will work on irregulary
spaced data)
iopt=0
0 = interpolate
1 = output low-pass model: useful for QC if interpolator failing
2 = output dip picks in units of
samples/trace
verbose=0 verbose
= 1 echoes information
tmpdir= if non-empty, use the value as a directory
path
prefix for
storing temporary files; else if the
the CWP_TMPDIR environment variable is set use
its value for the path; else use
tmpfile()
Notes:
This program outputs 'ninterp' interpolated
traces between each pair of
input
traces. The values for lagc, freq1, and
freq2 are only used for
event
tracking. The output data will be full bandwidth with no agc. The
default parameters typically will do a satisfactory job of
interpolation
for dips up to about
12 ms/trace. Using a larger value for
freq2 causes
the algorithm to do a
better job on the shallow dips, but to fail on the
steep dips.
Only one dip is assumed at each time sample between each pair
of input traces.
The key assumption used here is that the low
frequency data are unaliased
and
can be used for event tracking. Those dip picks are used to interpolate
the original full-bandwidth data, giving some
measure of interpolation
at higher
frequencies which otherwise would be aliased.
Using iopt equal
to 1
allows you to visually check whether the low-pass picking model is
aliased.
Trace headers for interpolated traces are not
updated correctly.
The output header for an interpolated traces
equals that for the preceding
trace in the original input data.
The original input traces are passed
through this module without modification.
The place this code is most likely to fail is on the first breaks.
Example run: suplane |
suinterp | suxwigb &
Credit: John Anderson (visiting scholar from
Mobil) July 1994
Trace
header fields accessed: ns, dt