Reflection Seismology Final Project
By William Cross Torsch
Louisiana State University
Department of Geology and Geophysics
- Delete Bad Traces
SUKILL file_num.su > file_num.kill.su min=(first trace to kill) count=(number of traces to kill)
Step 1: View each file using a wiggle plot: suxwigb
Step 2: Determine which traces, if any, need to be deleted from each shot. Shots were deleted on the basis of excess noise.
Step 3: Delete bad traces using SUKILL. If a shot did not contain a trace to be deleted the file was copied and renamed “file_num.kill.su” for consistency.
A.B.
Figure 1. (A) File 195.su unadulterated. Traces 11 and 12 appear noisy and need to deleted. (B) File 195.kill.su shows the file after the deletion of traces 11 and 12
Shots / Traces1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 / 24
1001 / x
1002 / x / x
1003
1004
1005
1006
1007 / x
1008 / x
1009 / x / x
1010 / x
1011 / x
1012 / x / x
1013 / x
1014 / x
1015 / x
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030 / x
1031 / x / x
1032 / x / x
1033 / x
1034 / x
1035 / x / x
1036 / x
1037 / x
1038 / x / x
1039 / x / x
1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 / 24
1040 / x / x
1041 / x
1042 / x
1043
1044
1045
1046 / x
1047 / x
1048 / x
1049 / x
1050 / x
1051 / x
1052 / x
1053 / x
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068 / x
1069 / x
1070
1071
1072
1073
1074
1075 / x / x
1076 / x / x
1077 / x / x
1078 / x / x
1079 / x / x
1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 / 24
1080 / x / x
1081 / x / x
1082 / x / x
1083 / x / x
1084 / x / x
1085 / x / x
1086 / x / x
1087 / x / x
1088 / x / x
1089 / x / x
1090 / x / x
1091 / x / x
1092 / x / x
1093 / x / x
1094 / x / x
1095 / x / x
1096 / x / x
1097 / x / x
1098 / x / x / x / x / x / x / x / x / x / x / x / x
1099 / x / x / x / x / x / x / x / x / x / x / x / x
1100
Table 1. X’s represent the traces that have been deleted from each shot.
- Reverse traces 13 – 24
The geophones that recorded traces13 -24 in each shot experienced a mechanical malfunction that resulted in reversed polarity. In order to fix this problem each file was broken down into 2 contemporary files. The first contemporary file contained the traces recorded from the geophones that were working correctly, geophones 1-12, and the second temporary file contained the traces recorded from the malfunctioning geophones, geophones 13-24. Traces 13-24 were multiplied by negative one (suop) in order to restore them to the correct polarity. The two temporary files were then concatenated and renamed file_num.rev.su.
A.B.
Figure 2. (A) The abrupt shift in polarity can be seen at trace 13. (B) Image of file 1020 after correct polarity has been restored.
Rev_pol.sh
# set up working directories
SU_DIR='/home/willt/LSU1_1999_TJHughes/seismics/data/1999/Z/final'
first='1001'
last='1100'
first_trace=12
last_trace=24
for ((input_file =$first; input_file<=$last; input_file++))
do
echo 'Reversing trace polarity for file' $input_file.kill.su
suwind <$SU_DIR/$input_file.kill.su \
key=tracf \
min=1 max=12 \
> $SU_DIR/$input_file.temp_1to11.su \
suwind <$SU_DIR/$input_file.kill.su \
key=tracf \
min=13 max=24 \
| \
suop op=neg \
> $SU_DIR/$input_file.temp_13to24.su \
cat $SU_DIR/$input_file.temp_1to11.su \
$SU_DIR/$input_file.temp_13to24.su \
>$SU_DIR/$input_file.rev.su
done
- Filter the data
Step 1. A band pass filter can be applied to the data to cancel the negative effects of noise on the data. To determine the dominant frequency range of the data a fast Fourier transform was ran to decompose the amplitudes into frequency components. From the fast Fourier transform it was determined that everything with a frequency less than approximately 80 Hz is noise.
Figure 3. Result from a fast Fourier transform run on file 1001.g.su.
Sufft.sh - script
# DATA DIRECTORY
SU_DIR='/home/willt/LSU1_1999_TJHughes/seismics/data/1999/Z/su'
# fourier analysis fo data
file_name='1001.g.su'
sufft <$SU_DIR/$file_name\
| suamp mode=amp\
| sugain wagc=.1 agc=1\
| suxwigb
Step 2.Experiment by apply different parameters of band pass filters to the data. The band pass filter works by accepting frequencies within and certain range, and discarding all frequencies outside of that range. Sufilter f=40,80,300,600 seems to eliminate most of the ground roll
- B.
Figure 4. (A) Suximage of file 1070.g.su unfiltered (B) Suximage of file 1070.g.su with a frequency filter of f=40,80,300,600. Ground roll is canceled
Sufilter.sh – script
SU_DIR='/home/willt/LSU1_1999_TJHughes/seismics/data/1999/Z/su'
# filter analysis fo data
file_name='1001.g.su'
sufilter <$SU_DIR/$file_name\
f=40,80,300,600\
| sugain wagc=.1 agc=1\
| suximage legend=1 clip=1 title=ebony
sufilter <$SU_DIR/$file_name \
f=0,20,100,140 \
| sugain wagc=.1 agc=1 \
| suximage legend=1 clip=1 title=ivory
Step 3. Run an f/k filter on a single file to determine which slopes mitigate the effects of noise and ground roll on the reflection data. Use the perl script Sudipfilt_class.pl. By examining the data it was observed that significant noise slopes in the negative direction whereas the data has a positive slope. By applying an f/k filter to all the negative slopes, noise was reduced significantly. To cancel out the effects of ground roll on the data I calculated the slope of the ground roll and set parameters that would encompass the calculated slopes. F/k is frequency divided by wavenumber which is equal to frequenytimes wavelength which is equal to velocity. Because of this relationship, the slopes can be measure directly from an image. The parameters used to cancel out the ground roll are: slopes=10,15,60,70. To cancel the negative sloping noise I eliminated all negative sloping data: slopes=-100,-90,-1,0.
A.B.C.
D.E.F.
Figure 4. A, B, and C are images of file 1001.g.su before the f/k filter was performed. D,E, and F are images of file 1001.g.su after the f/k filter was performed.
Band pass filter vs. F/K filter
By experimenting with different band pass and f/k filters I determined that the f/k filtering did a decent job at canceling the ground roll in the data, but the band pass filter seemed to do a better job. Therefore I used a hybrid filtering technique and used a band pass filter to cancel the ground roll and ran an f/k filter to cancel negative sloping noise.
Figure 5 – Resulting image after band pass and f/k filtering.
Step 5. Spiking deconvolution
Deconvolution works to improve the temporal resolution of the data by compression of a seismic wavelet, or in other words, collapse the data into a spike. To determine the temporal scale of compression run a Wiener filter: suacor < 1050.g_fk.su | suximageperc=95
Figure 6 – Wiener filter of 1050.g_fk.su. From the autocorrected wavelet a max lag of 0.01 was determined.
Figure 7 – Suxwigb and Suximage plots of file 1070.g_fk.su before and after spiking deconvolution is applied.
- Remove refracted arrivals
Since the primary objective of this experiment was to acquire reflection seismology data, refractions gathered in this experiment are not need and regarded as noise. The program sumute acts like a pair of scissors and can “cut-out” unwanted data.
Figure - 8 (A) file 1070.g_fk_spikdecon.su before the reflections were muted. (B) file 1050.g_fk_spikdecon.mute.su with removed refractions from the top of the image
Sumute.sh - script
first='1050.g_fk_spikdecon'
last= '1050.g_fk_spikdecon'
sumute <$SU_DIR/$first.su \
> $SU_DIR/$first.mute.su\
key=tracf\
xmute=1,5,10,24\
tmute=.03,.06,.07,.10\
|\
sugain <$SU_DIR/$first.mute.su agc=1 wagc=0.1 \
| \
suximage clip=5 &
- Place correct geometry values in headers
Step 1. Remove unnecessary header information
SU_DIR='/home/willt/LSU1_1999_TJHughes/seismics/data/1999/Z/final'
first_file='1001'
last_file='1100'
#zero out parametes on su files
for ((input_file =$first_file; input_file<=$last_file; input_file++))
do
echo 'dust busting' $input_file.rev.su
#Sets Headers
sushw < $SU_DIR/$input_file.rev.su \
> $SU_DIR/$input_file.g.su \
key=grnors,grnofr,grnlof,sx,gx,trid,nvs \
a=0,0,0,0,0,0,0 \
b=0,0,0,0,0,0,0
Step 2. Concatenate the file
Step 3. Set the shot point locations and geophone locations
Geo.coords.sh – script
echo 'Cleaning'
#Sets Headers
sushw < $SU_DIR/1001_1100.g.su \
> $SU_DIR/1001_100.g2.su \
key=sx,gx,scalco \
a=0,450,-100 \
b=0,300,0 \
c=300,300,0 \
j=24,24,0
Step 4. Set the offset
make_header_geometry.sh – script
sushw <$SU_DATA/1001_100.g2.su\
key=offset,scalco\
a=450,-100 \
b=300,0\
c=0,0\
j=24,24\
>$SU_DATA/all_geo.su
Step 5. Set the CMP
CMP = (sx+gx)/2
suchw <$DATA_IN/all_geo.su \
key1=cdp\
key2=sx\
key3=gx\
a=0\
b=1\
c=1\
d=2\
>$DATA_IN/all_geo_CMP.su
- Final Stacked Image
Step 1. Perform a NMO test
Normal moveout is a process of correcting the separation between seismic source and geophone location. Reflections arrive first at the nearest source and record a delay that increases with horizontal distance. A plot of arrival times versus offset has a hyperbolic shape. To “flatten” these hyperbolas we run an NMO test to determine the velocity that corresponds to depth (time) that will “flatten” the hyperbola.
Figure 9 – NMO test of velocities ranging from 1000-2000 m/s in increments of 2000 m/s.
TIME (µs) / VELOCITY (m/s)0.19 / 12000
0.34 / 14000
0.61 / 16000
0.85 / 18000
Step 2. Stack data and produce a final image
Sustack will stack adjacent traces having the same key header word. To obtain the final image the files are stacked according to their CDP’s. The CDP’s with the greatest number of fold will produce the best image due to noise cancellation.
Sustack.sh – script
susort < ../data/1999/Z/su/final.su cdp offset\
| \
sunmovnmo=120000,140000,160000,180000\
tnmo=0.19,0.34,0.61,0.85\
|\
sustack key=CDP\
|\
sugainagc=1 wagc=.1 \
|\
suximage clip=2.5 title=none
Final Image
Figure 10 – Final Image. There appear to be 3 normal faults running through the area that form a graben near the top center of stacked image.