Back to SIOSEIS examples          Go to the list of seismic processes.          Go to SIOSEIS introduction.

```Wayne Baldwin, USGS, pointed out that the "old" method of swell
filtering using process MIX created incorrect results depending
on the dip of the seafloor.

Simple Example
With a single linear slope, a single trace is out of line. (see script below)
This example shows why the "old" swell produces incorrect results.
Synthetic input
Plot after 11 trace header mix method.
Plot after process SWELL.

Complex Example
This example has a periodic "swell" and a dipping event with two high
amplitude spikes.  Compare the time of the spikes - new process SWELL is
correct.
Plot - Dipping water bottom and dipping event without heave.
Plot - Dipping water bottom and dippint event with heave.
Plot - Swell removed with new process SWELL (n 20)
Plot - Swell removed using old header mix methiod.

The Old Method using header mix.
The "old" method of swell filtering follows the following steps:
1)  Pick the water bottom and store the times in segy header 50.
(Any water bottom time may be used.  e.g. Knudsen picks and stores
the water depth in segy word 16 and the depth can be converted
to time.)
2)  The water bottom time is saved/copied into segy word 59 via
process header.
3)  Determine the swell period (count the traces between the peaks).
Use the period as a window length for a running average of
water bottom times.  In sioseis this is accomplished by a
running mix (average) of word 59, with the resulting average
stored in segy word 59.  The average is thus the current trace
and the previous N traces.
4)  A trace time shift is calculated by subtracting the water bottom
time (in word 50) from the average water bottom time (in word 59)
computed by mix.  The time shift is stored in segy word 60.
5)  The trace is then shifted in time using the contents of word 60.

The script:
sioseis << eof
procs syn weight filter wbt header mix header2 shift plot end
#procs syn weight filter plot end
syn
ntrcs 50 secs .6 ttva 2 .1 1500 1 x 0 xinc 12.5 end
end
weight
twp 31 4 end
end
filter
pass 20 80 end
end
prout
ftr 1 ltr 1
sets 0 .2 fno 0 lno 99999 end
end
wbt
thres .6 track .05
end
end
header
fno 0 lno 999999 r59 = r50 end
end
mix
type 4 hdr 59 weight 1 1 1 1 1 1 1 1 1 1 end
end
header2
fno 0 lno 999999 ftr 0 ltr 999 r60 = r59 - r50 end
end
shift
fno 0 lno 999999 indices r60 end
end
plot
ann shottr anninc 10
srpath sunfil.ras vscale 2 def .02 trpin 30 end
end
end
eof
display -rotate 90 sunfil.ras &

```