#! /bin/sh
# example of using susvdfilt to remove linear noise (direct wave) from data
#
#
# create example gather with combined hyperbolic events and linear event for water column (v=1500 m/s) with some noise.
# The direct wave has an decreasing amplitude with offset, but the reflection events do not

sunull nt=1000 dt=0.002 ntr=120 |
sushw key=offset a=0 b=20 |
suaddevent vel=1400 amp=10 t0=0.08 type=lmo |
suaddevent vel=1500 amp=10 t0=0.04 type=lmo|
suweight inv=1 b=0.01 |
suaddevent vel=2000 t0=0.4|
suaddevent vel=2500 t0=1 amp=-0.5|
suaddnoise sn=300|
sufilter f=8,12,40,60 > raw.su


##add delay to data, run svd to remove linear event, then remove delay

sushw<raw.su key=delrt a=1000  |
sushift tmin=0 tmax=3   |
sureduce rv=1.4 |
sugroll |
suflip flip=3 |
sureduce rv=1.4 |
suflip flip=3 |
sushw key=delrt a=-1000 |
sushift tmin=0 tmax=2 > filtered.su

sushw<filtered.su key=delrt a=500  |
sushift tmin=0 tmax=2.5 |
sureduce rv=1.5 |
sugroll  nrot=3 |
suflip flip=3 |
sureduce rv=1.5 |
suflip flip=3 |
sushw key=delrt a=-500 |
sushift tmin=0 tmax=2 > filtered1.su

## and again but this time extracting the linear event
sushw key=delrt a=500 < raw.su |
sushift tmin=0 tmax=2.5 |
sureduce rv=1.5 |
sugroll   nrot=3 sb=1  |
suflip flip=3 |
sureduce rv=1.5 |
suflip flip=3 |
sushw key=delrt a=-500 |
sushift tmin=0 tmax=2 > direct.su


## plot
suxwigb  title="original" nbpi=100 clip=0.1 < raw.su &
suxwigb title="filtered" nbpi=100 clip=0.1 < filtered.su  &
suxwigb title="filtered1" nbpi=100 clip=0.1 < filtered1.su  &
suxwigb title="direct" nbpi=100 clip=0.1 < direct.su &


exit 0
