Go to the list of seismic processes.      Go to SIOSEIS introduction.
                               PROCESS SHIFT

Parameters, alphabetically:
appvel    datume    datumv    fno       gsp       indices
interp    laga      lagb      lno       lprint    lshift
reduce    redvel    rshift    smult     tsp       xsp
velh2o

Document Date:  February 2010
Updates:
May 2005 - When using DATUME, honor the SEG-Y scalar and datum words
           in addition to the source and receiver depth and elevation.
February 2010 - Datum corrections had the wrong sign.
February 2011 - Datum misused segy scale factor which caused the above!

PROCESS SHIFT applies a time shift to the seismic traces by the entire 
line, or by individual shot or rp, or by the trace within the shot or 
rp.  Any combination may be applied, with the resulting trace shift being
the sum of all the shifts for the trace.

Shifts are given in units of seconds.  A negative time shift will shift
the trace to the left, or the resulting trace will appear earlier. 
e.g. for a sample interval of .004, a shift of -.1 seconds, data between
input times 0.000 and .096 will be dropped, time 1.00 become time 0.000,
time .104 will become time .004, time .108 will become .008, etc,
and the last .100 will be zero filled.

Likewise, the positive shifted traces will have the front of the trace 
zeroed.

Parameters that are defaulted are reset after being used, whereas 
parameters that are preset remain the same until changed by giving the
parameter again.

PROCESS SHIFT will shift only the shots/rps and traces specified within
each FNO/LNO list when parameter INTERP is NO, which is the preset.
Parameters RSHIFT, TSP, XSP, and GSP are defaulted to not given and must
be given for each shot/rp to be shifted. 
            e.g. FNO 1 rshift .008 tsp 10 .004 end
                 FNO 2 tsp 2 -.04 end
results in shot 1 trace 10 to be shifted .008+.004 and all other traces 
in shot 1 to be shifted .008.  The only trace shifted in shot 2 is trace
2, which will be shifted -.04.


XSP, TSP, and GSP allow a maximum of 1300 pairs to be given.

Each parameter list must be terminated with the word END.  The entire
set of shift parameters must be terminated by the word END.


THE PARAMETER DICTIONARY
--- --------- ----------

LSHIFT - Line shift. The amount of time to shift every trace of every
         record.
         Preset = 0.

RSHIFT - Record shift.  The amount of time to shift the shot (rp)
         defined by FNO - LNO.  Every trace within the shot (rp) is
         shifted by RSHIFT.  RSHIFT is reset to 0 after LNO is reached.
         Default = 0.

FNO    - The first shot (or rp) to apply RSHIFT and/or XSP/tsp to. Shot 
         (rp) numbers must increase monotonically.  Spatial 
         interpolation and extrapolation are controlled by parameter
         INTERP
         Preset = none

LNO    - The last shot (rp) number to apply and/or XSP/tsp to.  LNO must
         be larger than FNO in each list and must increase list to list.
         Default = fno

XSP    - Range-shift-pairs.  A list of range and shift pairs.  XSP must 
         be given with increasing ranges.  The program computes the 
         absolute value of both user ranges and data ranges.  When
         parameter INTERP is NO, the only traces shifted are those
         with the exact range specified.
         e.g. xsp 1000 3.0 2000 -1.1  - Traces with ranges exactly equal
         to 1000 will be shifted by 3 seconds, and traces with a range 
         of exactly 2000 will be shifted by -1.1 seconds.  All other
         traces will not be shifted unless LSHIFT or RSHIFT was given.
         Default = all 0.

TSP    - Trace number-shift-pairs.  A list of trace numbers and shifts
         listed in pairs.  Only those traces specified will be shifted.
         Trace numbers must increase within each list.  Parameter INTERP
         controls the spatial variation of TSP.
         e.g. tsp 4 -1. 20 .5 indicates that trace 4 will be shifted by
         -1.000 seconds and trace twenty will be shifted by .5 seconds.
         Default = all 0.

GSP    - Group-shift-pairs.  A list of group numbers and times shifts.
         Group numbers are the same as trace numbers.  Groups not 
         specified within the fno/lno list receive a shift calculated
         through interpolation or extrapolation regardless of the
         setting of interp.  Parameter INTERP controls the spatial
         variation of GSP.
         gsp 2 +10 4 -10 results in trace 1 +10 2 +10 3 0 4 -10 5 -10 6
               -10 7 -10 .....
         Default = all 0

APPVEL - Apparent velocity.  Used to calculate the angle by which shots
         are projected onto the sea floor 
         (i.e. sin(angle) = VELH2O / appvel).  
         Time shifts are calculated using:
                    TIMECORR = WATERDEPTH / (VELH2O*COS(ANGLE))
         A shift for range is also applied using:
                    RANGECORR = WATERDEPTH * TAN(ANGLE)
         THE RANGE IN THE SEG-Y TRACE HEADER IS ADJUSTED!
         Shifts from APPVEL are performed prior to the reduction
         velocity time shift determined by parameter REDVEL.
         PRESET = 0. (No correction)    e.g.   appvel 9000

VELH2O - Velocity of water.  Used to calculate the time shift for
         projecting onto the sea floor (parameter APPVEL).
         PRESET = 0.  (No correction) 

REDVEL - Reduction velocity.  Shifts every trace in time according to:
                    SHIFT =  RANGE / REDVEL
         PRESET = 0. (No shift)    e.g. redvel 8000

REDUCE - Reduce the amount of data in the trace by changing the SEG-Y 
         header values of the delay and the number of samples as well as
         shifting the data.  Data reduction will take place when REDUCE
         is give a value of YES.
         PRESET = no     e.g.   reduce yes

LAGA   - When set to "YES", each trace will be shifted by the negative
         of the amount contained in the SEG-Y trace header bytes 105-106, 
         the lag time A in milliseconds.  The lag time is defined to be:
         the time in ms. between the end of the 240-byte trace ident-
         ification header and the time break.  Positive if the time
         break occurs after the end of the header, negative if the time
         break occurs before the end of the header. The time break is
         defined as the initiation pulse ......"
         PRESET = 0              e.g.   laga yes

LAGB   - When set to "YES", each trace will be shifted by the negative
         of the amount contained in the SEG-Y trace header bytes 
         107-108, the lag time B in milliseconds. 
         PRESET = 0              e.g.   lagb yes
 
DATUMV - Datum velocity.
DATUME - Datum elevation.
         When DATUMV and DATUME are given, a datum shift is computed
         using the "source elevation", "source depth", "datum elevation
         at the source", "group elevation", "datum elevation at the
         receiver", and "scalar" from each SEG-Y trace header words 
         11 - 15 and 17.  The shift is (after the elevation scalar): 
         ((group elevation) + (receiver datum) - datume) / datumv
         (((source elevation)+(source datum)-(source depth))-datume)/datumv
         Elevations are relative to their datum (elevations may not
         be relative to 0).

INTERP - A yes/no switch.  INTERP YES means shots/rps not specified
         will be calculated through normal sioseis spatial variation.
TSP, GSP, XSP.  INTERP YES indicates that the shift for traces not
         specified should be calculated by interpolation or "extension".
         Traces between specified traces will be shifted using times
         linearly interpolated.  Traces "outside" specified traces will
         be shifted using the "closest" trace (times held constant).
         Preset = no    e.g.  interp yes

INDICES - A list of up to 10 indices of the SEG-Y trace header to use
          as shift values.  Each shift is additive.  Parameter SMULT
          may be used to modify the header values before summing.  The
          shift values must be in seconds because the shift is divided
          by the sample interval in order to convert it to the number
          of samples.
          INDICES must be given as XN, where;
       X = I, means short integer (16 bit integer trace header)
         = L, means long integer (32 bit integer trace header)
         = R, means real word (host floating point)
       N = the index with the SEGY trace header.
          A maximum of 10 XNs may be given in a parameter list.
          Example 1: l1, means long integer word 1
          Example 2: i59, means short word
          Example 3: r49.  means real word 49

SMULT  - Scalar multiplier of the SEG-Y header values described via
         INDICES.  e.g. smult -.001 converts milliseconds to seconds
         and makes it a negative shift.
         Preset = 1.

LPRINT - Programmer's debug switch.
       = 2, The shift value is printed.
       = 4, The datum shifts are printed.

END    - TERMINATES EACH PARAMETER LIST.

XSP, TSP AND GSP ARE MUTUALLY EXCLUSIVE, ONLY ONE MAY BE GIVEN IN A   
PARAMETER LIST.

Example 1  XSP and default INTERP  (interp no)
 procs syn shift prout end 
 syn 
    fno 1 lno 3 ntrcs 10 secs 1 tva .5 1000 1 end end 
 shift 
    fno 2 xsp 200 .2  500 .5 end end

Results in shot 2 trace 3, range 200, being shifted .2 seconds and
           shot 2 trace 6, range 500, being shifted .5 seconds.
All other traces are not shifted.


Example 2  XSP and INTERP YES
procs syn shift prout end
syn
   fno 1 lno 3 ntrcs 10 x 0 xinc 100 secs 1 tva .5 1000 1 end end
shift
   interp yes
   fno 2 xsp 200 .2  500 .5 end end

results in all shots (shots 1-3) receiving the same shifts.
Traces  1-3, ranges 0-200 are shifted .2 seconds.
Trace 4, range 300 is shifted .3 seconds.
Trace 5, range 400, is shifted .4 seconds.
Trace 6-10, ranges 500-900, are shifted .5 seconds.


COPYRIGHT (C) 1980, The Regents of the University of California 
Paul Henkart, Scripps Institution of Oceanography, December 1980
All rights are reserved.
Go to the list of seismic processes.      Go to SIOSEIS introduction.