SYNOPSIS
PERL PROGRAM NAME:
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SYNOPSIS
SEISMIC UNIX NOTES SUFRAC -- take general (fractional) time derivative or integral of
data, plus a phase shift. Input is CAUSAL time-indexed
or depth-indexed data.
sufrac power= [optional parameters] <indata >outdata
Optional parameters:
power=0 exponent of (-i*omega)
=0 ==> phase shift only
>0 ==> differentiation
<0 ==> integration
sign=-1 sign in front of i * omega
dt=(from header) time sample interval (in seconds)
phasefac=0 phase shift by phase=phasefac*PI
verbose=0 =1 for advisory messages
Examples:
preprocess to correct 3D data for 2.5D migration
sufrac < sudata power=.5 sign=1 | ...
preprocess to correct susynlv, susynvxz, etc. (2D data) for 2D migration
sufrac < sudata phasefac=.25 | ...
The filter is applied in frequency domain.
if dt is not set in header, then dt is mandatory
Algorithm:
g(t) = Re[INVFTT{ ( (sign) iw)^power FFT(f)}]
Caveat:
Large amplitude errors will result if the data set has too few points.
Good numerical integration routine needed!
For example, see Gnu Scientific Library.
Credits:
CWP: Chris Liner, Jack K. Cohen, Dave Hale (pfas)
CWP: Zhenyue Liu and John Stockwell added phase shift option
CENPET: Werner M. Heigl - added well log support
Trace header fields accessed: ns, dt, trid, d1
/
User's notes (Juan Lorenzo) untested
CHANGES and their DATES
Import packages
instantiation of packages
Encapsulated hash of private variables
sub Step
collects switches and assembles bash instructions by adding the program name
sub note
collects switches and assembles bash instructions by adding the program name
sub clear
sub dt
sub phasefac
sub power
sub sign
sub verbose
sub get_max_index
max index = number of input variables -1