NAME
rstatic - compute and apply delay time residual statics
corrections
SYNOPSIS
rstatic [ -Nntap ] [ -Omtap ] [ -Totap ] [ -Stnam ] [
-tstrtstr ] [ -tstptstp ] [ -dspdamp1 ] [ -drpdamp2 ] [
-msmshft ] [ -isedised ] [ -nitnit ] [ -scltisrcscl ] [
-restart ] [ -E ] [ -W ] [ -V ] [ -? ]
DESCRIPTION
rstatic computes and applies a set of surface consistent
delay time residual static corrections for each shot and
receiver point. The shifts are either in integer samples or
exact (runs slower). The strategy should be to make an ini-
tial run of a bunch of iterations to get the solution in the
ball park and then to use the restart feature using the
exact shifts to hone the solution (but using fewer itera-
tions).
rstatic operates on a set of traces sorted to CMP gathers.
Time shifts are computed by taking crosscorrelations between
traces in common shot and receiver gathers and the
corresponding stack traces from a test stack. The user must
specify the time window in which the test stack is made.
The algorithm is fully nonlinear in the sense that traces in
the common shot or receiver gather are time shifted using
each newly computed static shift, and the test stack is then
updated using these time-shifted traces. An L1 (median)
back projection algorithm is used to find the updates for
each of the time shifts. The L1 norm is used since experi-
ence shows that the maximum lag values of the crosscorrela-
tion can have considerable scatter. The L1 norm is robust
agains the adverse affects of these "outlying" lag values.
The model parameters can be constrained to give a spatially
smooth solution. A penalty function (which is the second
spatial derivative of the shot or receiver statics) is used
to impose this smoothness constraint. A user adjustable
trade-off parameter is used to weight the affects of model
smoothness versus minimization of the least absolute devia-
tion (minimum L1 norm) of the crosscorrelation maximum lags.
In order to prevent serial correlation of errors in the
time-shift estimates (which will cause the solution to
become stuck at "local minimum") the order in which shot and
receiver statics are estimated is chosen at random. One
iteration of the algorithm is defined as operating on each
shot and receiver point one time.
The selection of the time window in which the test stack is
made can have a strong influence on the outcome of the cal-
culation. One should be careful to pick a time window with
the best data quality, both in the stack and prestack. The
penalty for using a larger window (which will average the
crosscorrelation over more samples and, if data quality is
adequate, will give more reliable solutions) is slightly
longer run time. The test stack time window will also be
used as a window to normalize the RMS amplitude of the input
traces.
The use of the spatial smoothing constraint requires the
specification of two tradeoff parameters. These parameters
specify the relative amount of weight that is given to the
minimum absolute deviations of the maximum time lags versus
the smoothness of either the shot point or receiver point
static corrections. The parameters specify the fraction of
the second derivative that is subtracted from the time shift
computed from the lag maximums. If the initial time shift
estimates are all zero (which they are, see next paragraph)
then the following conditions hold: 1) if the parameter is
set to zero spatial smoothness is neglected (This might be
useful if shot or receiver points were quite far apart, so
that it is not reasonable to assume that the statics at
neighboring points are correlated), 2) if the parameters are
set to 0.5 the weights are equal and 3) if the parameters
are set to 1.0 the estimated static shift will be zero (The
smoothness is at a maximum). In general, smoothing parame-
ters should be between 0.0 and 0.5.
An implicit assumption in the algorithm used is that the
average time shift is zero (as is the initial time shift).
Therefore, one should apply any terrain statics or redatum-
ming corrections before using rstatic.
All delay time statics estimation algorithms are susceptible
to velocity analysis problems. If the reflection events have
not been properly flattened the static time shifts computed
will be biased. If a velocity analysis problem is suspected,
it would be best to run this program for a few iterations
(say 5) and then repeat the velocity analysis and moveout
correction operations. Using a test stack time window at a
deeper level may help with velocity problems, since moveout
generally decreases with depth.
rstatic prints the stack semblance at the start of the pro-
cess and at each iteration, as well as the static time
shifts computed for each shot and receiver point to standard
error. This diagnostic information is very important in
assessing the performance of rstatic. The affects of chang-
ing program parameters can be objectively judged by noting
the change in the stack semblence at the end of the process-
ing. A positive change in semblance indicates that the pro-
cessing was more successfull. If semblance has remained
close to constant for the last several iterations of the
algorithm this indicates convergence. If convergence does
not appear to have been achived, run rstatic again specify-
ing more iterations. Since the mapping from static time
shifts to stack power is quite nonlinear it is normal that
semblance may decrease at some iterations. If however, sem-
blance decreases throughout the entire process this indi-
cates that rstatic has failed entirely. There are generaly
two reasons for such a failure. First, the data may be too
noisey. Additional processing to remove coherent noise may
help. Second, the static shifts along the line may be too
large for rstatic. In this case applying elevation statics
or statics derived by other means, such as refraction stat-
ics, may help. In either case, changing the time window of
the test stack or increasing the spatial smoothness parame-
ters may help. An examination of the shot and receiver stat-
ics corrections may help to diagnose these problems. If the
problem is caused by noise, the shot or receiver statics may
appear to be fairly random spatially. If the problem is
caused by very large statics, the shot and receiver time
shifts may appear to have spatial discontinuities in them
where the statics change abruptly (ie. from a large negative
to large positive value). These discontinuities are know as
cycle skips. Note that even if there is not a problem with
the estimated statics, some discontinuities may appear in
the time corrections.
This program performs complex bookkeeping operations so that
common shot and receiver gathers can be extracted from the
CMP gather file. Because of this bookkeeping, piping out of
this program may lead to bizarre and unpredicatable
behavior. Further, if you do not want to work on a whole
line at once you should use editt to select the records and
traces to be used before the sort table is made with
presort. Operating on a full line should give a better solu-
tion since the number of traces at each shot and receiver
point will be the maximum possible. Further, there is a
chance that the time shifts computed independently for each
segment of a line will not be compatible, resulting in
"tears" in the stack. This is especially true since the time
shifts computed near the ends of lines (or line segments)
are less reliable since the number of traces at each shot
and receiver point will be fewer than the maximum.
Command line arguments
-N ntap
Enter the full path name of the file containing the
data set. The data must be sorted in common midpoint
gathers with moveout correction applied. The program
will give an error message if the input file is read
protected. If no input file is given the program will
hang. (default = stdin (pipe) )
-O mtap
Enter the full path name for the output file. The out-
put file will be in the form of common midpoint gathers
with the estimated static corrections applied. This
file cannot be sent to standard output since the traces
are read in a random order as the static time shifts
are estimated and applied. NOTE: The traces in the
output file will have been RMS amplitude normalized
using the test stack time window. The program will
give an error message if the output file is being writ-
ten to a write protect directory. (default = No
Default )
-T otap
Enter the full path name of the file that is to contain
the test stack. The program will give an error message
if the output file is being written to a write protect
directory. (default = No Default )
-S tnam
Enter the full path name of the sort table produced by
the usp program presort. Presort must be run on the
file specified as input. Beware; the ability of the
program to detect errors in the sort table (ie. using a
table that was made for a file that is not in exactly
the same format as the one specified as input) is quite
limited. The program will give an error message if the
input file is read protected. If no input file is
given the program will hang. (default = No Default )
-tstr tstr
The start time of the test stack. This time must be at
least mshft (maximum time shift) from the start of the
input trace. (default = No Default )
-tstp tstp
The end time of the test stack. This time must be at
least mshft (maximum time shift) from the end of the
input trace. NOTE: Since each data set is different,
and since selection of the test stack time window is
critical to the success of this process, no defaults
are possible for tstr or tstp (default = No Default )
-dsp damp1
The spatial smoothness constraint parameter for shot
points. This parameter should generally be set between
0.0 and 0.5, and must always be less than 1.0. NOTE:
See the explanation of this parameter in the Descrip-
tion section above. (default = 0.25 )
-drp damp2
The spatial smoothness constraint parameter for
receiver points. This parameter should generally be set
between 0.0 and 0.5, and must always be less than 1.0.
NOTE: See the explanation of this parameter in the
Description section above. (default = 0.25 )
-ms mshft
The maximum allowed static time shift. The solution
will be constrained so that no time shift exceeds +/-
mshft Be careful not to set this parameter to too small
a value as this will over constrain the solution, espe-
cially on long lines where the total time shift is
expected to be large. (default = 100 ms )
-ised ised
The seed for the random number generator used to deter-
mine the order in which shot and receiver points are
operated on. If rstatic is to be used on the same line
several times (say following velocity analysis), it is
a good idea to change ised so that serial correlation
of errors from one application of the process to
another will be reduced. (default = 1256 )
-nit nit
The number of iterations of static corrections applied
to the data. (default = 5 )
-scl isrcscl
Enter the multiplier that was applied to the src point
#s in input trace header 109 (mnemonic SrcLoc). Usu-
ally it's been x10 to take care of fractional src point
numbers as integers, but it could be some other scale
factor (e.g. 2). The reason being is that with a x10
multiplier source point #s reach 32767 (the limit for
short integers) in long marine lines so one must use a
smaller multiplier to preserve fractional sp's.
Chances are if this limit was reached presort would
have failed with an appropriate message in the printout
file. (default = 10 )
-restart
Restart mode: you no longer need an input data set
since the program will work off the output from the
previous run. This is very useful when further itera-
tions are required on a data set - you don't have to
start at the beginning and you can even restart using
different parameters if that seems necessary.
-W If present apply a cosine taper the the gathers prior
to computing the crosscorrelations. This can reduce
the effects of some end-of-window problems.
-E If present use the exact fractional shifts instead of
integer shifts. This causes the program to run at
about 1/2 speed and should be used after an initial
integer shift run has been made to get the solution in
the ball park.
-V Verbose mode. All parameters from the command line and
line header and other diagnostic information will be
sent to standard error.
-? Query mode. With this flag, rstatic will send a
description of the command line arguments to the stan-
dard error output and stop.
BUGS
No trap for running program without an input file.
There is no way to change the range of records or traces
that are used in the processing. This would require very
complex bookkeeping operations. Use editt before presort to
change the configuration of the input data file.
There is no way to constrain the static time shifts at adja-
cent shot and receiver points, since the bookkeeping to find
adjacent points is not in the program. This would be useful
with Vibrosise data.
This program is fairly slow to run since random trace I/O
must be done on the test stack and output files.
SEE ALSO
pickusp, scorusp, phzcor
AUTHORS
Stephen F. Elston, Princeton University (July, 1991).
COPYRIGHT
copyright 2001, Amoco Production Company
All Rights Reserved
an affiliate of BP America Inc.
Man(1) output converted with
man2html