NAME
stolt - do v(t) phase shift or constant velocity Stolt-type
migration
SYNOPSIS
stolt [ -Nntap ] [ -Ootap ] [ -Fvtap ] [ -nsnstr ] [ -nenetr
] [ -rsnrst ] [ -renred ] [ -ottaper ] [ -dxdx ] [ -vv ] [
-fhfmax ] [ -aalpha ] [ -P ] [ -nznz ] [ -dzdz ] [ -t0t0 ] [
-padxpadx ] [ -padtpadt ] [ -dipdip ] [ -izfizf ] [ -ordord
] [ -mdipmdip ] [ -aperaper ] [ -D ] [ -V ] [ -? ]
DESCRIPTION
stolt is a straightforward v(t) phase shift or constant
velocity migration originally due to Stolt. It may be
applied to post stack data or pre-stack records. The con-
stant velocity algorithm is really simple, based on a 2-d
fft followed by interpolation in frequency to get Kz. An
inverse 2-d fft then transforms to (t,x). Needless to say
all of the above is extremely fast but somewhat dirty.
The phase shift algorithm is also quite simple and was ori-
ginally due to Gazdag. The results from this option will be
slower but cleaner than stolt.
The migration velocity can be input in various forms. The
stolt case demands a constant velocity for each record that
it migrates. If you are migrating a stack the whole stack
is treated as a single record so that a simple -v on the
command line is adequate. If you have many input records
[prestack data or many copies of your stack in the case
where you might be testing migration velocity] you may sup-
ply a flat file -F containing sequential record number and
an associated velocity, one entry per line. The migration
velocity will be interpolated between control points as
required.
The phase shift option allows a v(t) input for each records
being migrated [again a stacked section is treated as a sin-
gle record, this is a v(t) migration, not a v(x,t) migra-
tion] supplied as a USP format velocity dataset [velocity
tape]. If you are supplying a velocity dataset there may be
as many velocity traces as there are sequential records in
your input dataset. If you input a stacked section [1
record, many traces or many single trace records] the phase
shift option will treat this as a single record and only use
the first velocity trace in the velocity dataset for the
migration velocity function. If you have fewer velocity
traces than you have input records [in the prestack case or
if you are testing many functions on a dataset containing
many copies of your stacked section] the last velocity trace
will be used as the migration velocity for all remaining
records.
The program takes the input number of traces/rec and the
number samples and bumps these values up to the nearest
number corresponding to a power of 2. It is these power of
2 values that govern the array sizes which may grow large
enough to affect performance on the sun. Therefore it is
wise to try to limit the input values. For example 520
traces could easily by reduced to 510 making the next power
of 2 512 instead of 1024.
stolt gets both its data and its parameters from command
line arguments. These arguments specify the input, output,
trace spacing, the migration velocity, the start and end
traces, and verbose printout, if desired.
Command line arguments
-N ntap
Enter the input data set name or file immediately after
typing -N unless the input is from a pipe in which case
the -N entry must be omitted. This input file should
include the complete path name if the file resides in a
different directory. Example -N/b/vsp/dummy tells the
program to look for file 'dummy' in directory '/b/vsp'.
-O otap
Enter the output data set name or file immediately
after typing -O. This output file is not required when
piping the output to another process. The output data
set also requires the full path name (see above).
-ns nstr
Enter the start trace number. The default is the first
trace of the record.
-ne netr
Enter the end trace number. The default is the last
trace of the record.
-rs nrst
Enter start record number. Default value is the first
record.
-re nred
Enter end record number. Default value is last record.
-ot taper
Enter the % linear taper to apply to each side of the
input records. Default = 5
-dx dx
Enter the input trace spacing in ft or m (no default).
-v v Enter the global migration velocity (ft or m/s) (no
default), or...
-F vtap
Enter the migration velocity V(t) in either velocity
seismic data format or as a flat file of sequential
record and velocity pairs. The velocity tape format is
used only for the phase shift option. There can be a
single velocity trace or there may be a velocity trace
for every input record (see velin to generate velocity
tapes). If you run out of velocity traces before the
end of the data the last trace will be repeated. The
flat file input is used for both stolt & phase shift
options. The velocities will be linearly interpolated
between record control points allowing a record vari-
able constant velocity.
-fh fmax
Enter the maximum frequency to use in the migration
(Hz). Default = 1/2 Nyquist
-a alpha
Enter the migration factor (this is really a fudge fac-
tor familiar to the old FRED program). Default is 0.01
-P Enter the command line argument '-P' to get the phase
shift code; otherwise the Stolt algoritm will be used.
-nz nz
Phase shift option: enter optional number of output
samples (default is number of input samples).
-dz dz
Phase shift option: enter optional time/depth sample
interval (default = input).
-t0 t0
Phase shift option: enter optional global migration
start time. This will be applied to all records and
their associated velocity functions and is useful for
stepping quickly through a deep water column. If a
negative time is entered then as each record is read in
a new minimum mute time is automatically detected and
the start time is set to this value. In this case make
sure you have smoothed the velocity function.
-padx padx
Phase shift option: enter optional number of traces to
pad each side of data set (default = 0)
-padt padt
Phase shift option: enter optional number of samples to
pad bottom of each trace (default = 0)
-dip dip
Phase shift option: enter dip filter option: -dip1
(constant dip filter); -dip2 (time/depth variable dip
filter); -dip0 (default = no dip filter).
-mdip mdip
Phase shift option: for dip filter enter maximum dip in
degrees (default = 80)
-ord ord
Phase shift option: for dip filter option 2 enter the
order of the filter (default = 5)
-izf izf
Phase shift option: for dip filter option 2 enter the
filter recalculation interval in samples (default = 32)
-aper aper
Phase shift option: for dip filter option 2 enter the
filter aperture in ft or m (default = total width of
input section, ntrc * dx)
-D Phase shift option: if present do depth migration, else
do time migration (default)
-V Enter the command line argument '-V' to get additional
printout.
-? Enter the command line argument '-?' to get online
help. The program terminates after the help screen is
printed.
BUGS
Using this post stack it is required that the portion of the
stacked section one is interested in be held in memory in
its entirety. It is therefore wise to editt this portion of
the original stacked section as one record input to stolt.
In practice on 16mb sparc stations about 1000 traces x 1000
samples is the limit.
SEE ALSO
gazdag, sammig
AUTHOR
Code filched by P. R. Gutowski, TRC, from Claerbout's "Imag-
ing the Earth's Interior", pp 70 - 72.
COPYRIGHT
copyright 2001, Amoco Production Company
All Rights Reserved
an affiliate of BP America Inc.
Man(1) output converted with
man2html