a-tutorial-for-processing-a-2d-land-line-using-seismic-unix

advertisement
A tutorial for processing a 2D land line using
Seismic Unix
Karl Schleicher
ABSTRACT
This paper described how to process a public 2D land line data set though a very
basic processing sequence using Seismic Unix. The data from the north slopes
of Alaska has good signal, although it may be suitable for testing ground roll
attenuation programs. The detailed steps download the data from the internet
and process it are described. You should be able to follow these steps and recreate
my results. I hope this will accelerate the testing and validation of programs
developed in research groups.
The tutorial starts with background information like data downloading, region
overview, data aquisition, and previous processing. The scripts and custom programs to translate to seismic unix, load headers, qc, apply preprocessing (including velocity filtering and decon), cdp gather, velocity analysis, and stack are
listed and described.
Header loading is not described in other Seismic Unix documentation. One approach to header loading is described here. The velocity analysis script is better
than I found in previous papers.
My effort to process these data is ongoing. I have not computed and applied
residual statics. I have not migrated the data. My current results are not as good
as obtained when the data was originally processed by GSI in 1981. I would like
to provide my most current results to anyone who wants to use publicly available
software to process seismic data.
This paper is the beginning of an effort to build a library of open-access seismic
datasets and processing scripts using open-source geophysical software.
INTRODUCTION
Seismic Unix (SU) is one of the best known open software packages for seismic processing. The distribution includes some example processing scripts and there are two
books that teach how to use the software, Geophysical Image Processing with Seismic
Unix (?) and Seismic Processing with Seismic Un*x (Forel et al., 2005) books cover
broad subjects including basic Unix commands, setting up a user environment, basic
seismic processing, and more advanced scripting for seismic processing. You can follow the text and recreate some seismic processing. These books to not provide much
information about creating trace headers or preprocessing.
2
This paper assumes you are familiar with Seismic Unix. I concentrate on providing
example scripts and programs to process a 2D land line using the processing system.
I describe the data acquisition and previous data processing. I provide the custom
programs I used to load the trace headers. The scripts for preprocessing, velocity
analysis, and stacking are provided and explained. These scripts provide the detailed
parameters used by the Seismic Unix programs. The parameters for deconvolution,
velocity filter, mute, moveout velocity, and scaling can adapted for use by other
seismic processing systems. Currently I have not applied residual statics or migration.
The results in the deep section are similar to the results obtained in 1981. The shallow
section is not as good as previously obtained.
This paper provides detailed steps that describe how to download the data from
the internet and process it using seismic unix. You should be able to follow these
steps and recreate my results. The scripts, data, and programs can be modified to
allow you to validate your own ideas about seismic processing. This should accelerate
the testing and validation of new seismic research.
BACKGROUND INFORMATION ABOUT THE DATASET
President Warren Harding created the Naval Petroleum Reserve Number 4 in 1923.
It was renamed the National Petroleum Reserve, Alaska (NPRA) in 1976. Figure 1
is a map of the region and Figure 2 maps the lines collected and processed between
1974 and 1981. I selected and processed line 31-81 because it was a short line from
the most recent acquisition season.
The files I found for line 31-81 are:
L23535.SGY unprocessed seismic data in segy format
L23536.SGY
L23537.SGY
3181O.PDF the Observer’s log
3181.SGY segy of the 1981 final stack
3181S.PDF the surveyor’s log
3181.SPT the textfile of shotpoint, latitude, longitude.
S609.JPG A 1981 final stack in jpeg format.
S609.TIF A higher resolution stack in tif format
I downloaded these files into my directory, /home/karl/data/alaska/31-81/clientfiles.
I was able to view the large JPG and TIF files in OpenOffice.org draw (other programs
3
had problems). I zoomed the display of S609.TIF to look at the side label that
describes the acquisition and processing parameters.
The data was acquired 96 trace, 12 fold with a dynamite source. The shotpoint
interval is 440 ft and the receiver interval is 110 ft. The average shot depth is 75 ft.
The elevation plot on the section header shows the elevation is about 200 ft and there
is little variation.
The processing applied by GSI in 1981 was:
1. Edit and true amplitude recovery
2. spherical divergence and exponentiation (alpha - 4.5 db/s, initial time - 0 s,
final time - 4.5 s)
3. Velocity filtering dip range -12 to 4 ms/trace
4. Designature deconvolution
5. Time-variant scaling (unity)
6. Apply datum statics
7. Velocity estimation
8. Normal moveout correction
9. Automatic Residual Statics application
10. First Break Suppression
100 ms at 55 ft
380 ms at 2970 ft
700 ms at 5225 ft
11. Common depth point stack
12. Time Variant filtering 16-50 Hz at 700 ms
14-45 Hz at 1400 ms
12-40 Hz at 2000 ms
8-40 Hz at 400 ms
13. Time variant scaling
DATA LOADING AND INITIAL DATA QC
I found little documentation about loading data and creating trace headers in precious
publications. This section provides a detailed description.
4
I created a script file to load the first segy file, /home/karl/jobs/alaska/31-81/load/view1.job.
This file is listed in Appendix 1.
The way I developed this script is by pasting a command or two into a terminal
window and picking information from the print of displays to write the next few commands. The segyread command translates data to SU format. The surange command
prints: 3030 traces: tracl 1 3030 (1 - 3030)
tracr 1 3030 (1 - 3030)
fldr 101 130 (101 - 130)
tracf 1 101 (1 101)
trid 1
ns 3000
dt 2000
f1 0.000000 0.000000 (0.000000 - 0.000000)
The print indicates there is little information in the input headers. There are 31
shot records (fldr 101 - 130) and each record has 101 traces (tracf 1 - 101). The
suximage produces Figure 1 and the zoom plot Figure 2.
The first 10 records in the file are test records. These tests records are the unuisual
traces in the left third of Figure 1. The Observer Log indicates the first shotpoint
is field file identifier (ffid) 110. There are also 5 auxiliary traces in each shot record.
These auxiliary traces can be seen o nfigures 4 and 5.
The suxmovie command allows all the shots record on the line to be displayed.
The parameter n2 is set to the number of traces in each shot record, which was based
on the tracf range printed in surange (1 - 101). The movie loops continuously and
can be stopped by pressing s. Once stopped, you can move forward or backward using
the f and b. An example screen is shown in Figure 5. This plot allowed me to see
that traces 1-96 were the data channels and 97-101 were the auxiliary traces.
The final command in the view1.job file is the sugethw. This prints the fldr and
tracf header keys. These are the keys I used to map the data to the shotpoint and
receiver locations.
I wrote a custom java program to load the trace headers. The code is not elegant,
but it is straightforward to write and it works. It is listed in Appendix 2. This program
require files to define the shotpoint elevation and the FFID/EP relationship. The surveyor log, downloaded as: /home/karl/data/alaska/31-81/clientfiles/3181O.PDF defines the shotpoint elevations. The observers log, downloaded as: /home/karl/data/alaska/3181/clientfiles/3181O.PDF describes the relationship between the su header keys ffid
and ep (these are called REC. and SHOTPOINT by in the observers log). This
information was typed into two files listed in appendices 3 and 4.
The program to load the headers was run by the script: /home/karl/jobs/alaska/3181/load/hdrload1.job This file is listed in appendix 5.
The other two segy files were loaded by scripts view2.job, view3.job, hdrload2.job,
5
0
1000
2000
1
2
3
4
5
Figure 1: First 300 traces on the first tape.
3000
6
1000
0
1050
1100
1150
1200
1250
0.5
1.0
1.5
2.0
2.5
3.0
Figure 2: Zoom of figure 1.First look at the data. Notice the ground roll and good
signal. There are 101 traces in each shotpoint, 5 auxiliary traces and 96 data traces.
7
and hdrload3.job in the same directory, /home/karl/jobs/alaska/31-81/load. These
scripts differ from the previous scripts only by the names of the input and output file.
The stack file from the previous process was translated to SU format and displayed
using the viewqcstack.job script listed in appendix 6. This is a straight forward
execution of segyread and suximage. Display of the checkstack is in Figure 6.
SHOT RECORD VELOCITY FILTER
I applied Velocity filtering (sudipfilt) to remove the groundroll. The receivers leading
the shotpoint were processed separately from the trailing receivers. This allowed an
asymmetrical dip filter to be applied (-15,5 ms/trace). These parameters are loosely
based on the 1981 processing that used (-12,4). Sudipfilter was intended for post
stack processing, so a loop is required in the script to divide the data into individual
shotrecords and seperate the positive and negative offsets. The script also includes
suxmovie of the velocity filtered data. It is listed in appendix 7. Figure 7 is an
example shot record after velocity filtering,
SHOT RECORD EDIT, MUTE, AND CDP SORT
There is a bad shotpoint I removed. I also applied a mute and sorted the data to CDP
order in the same script. The script is listed in Appendix 8. Figure 8 is a display of
two cdp gathers.
VELOCITY INTERPRETATION
I used a long script that combined several su program for velocity interpretation. This
script is listed in Appendix 9. I combined the scripts from Forel et. al. 2005 (iva.sh
section 7.6.7.3 and velanQC.sh section 8.2.2.2). The script is more practical, because
you can start from no velocity function, or review and update and existing velocity
field. The script hos more capabilities, but it is tidier and a little shorter than Forel’s
script.
Figure 9 is an example velocity analysis plot. There are four components of the
plot, semblance plot, constant velocity stack (CVS) plot, cmp gather without NMO
and cmp gather after NMO. The semblance plots and CVS plot have the velocity
function overplotted.
The velocities I picked are listed on Appendix 10.
8
STACK
The script that stacks the data is in Appendix 11. This script also applied decon
using the command supef. The script also applied AGC. I wanted to start the decon
design gate start time to increase with offset so the shallow data near the mute was
not included. The only way I knew how to do this us SU was to apply linear moveout
to move the design gate start time to a constant time. This was accomplished by
removing the sign from the offset header and computing a time static from the offset.
Supef was bracketed with sustatic to apply and remove the offset dependent static.
I compared the stack created in SU to the original processing results created in 1981
(figures 10 and 11).
COMPARISON OF THE SU AND THE 1981 RESULTS
Figures 10 and 11 are the results created using SU and the results obtained in 1981.
Some of the differences in the processing sequences are:
1. The 1981 processing used GSI’s designature process. This source signature
removal applies the same operator to all traces in a shotrecord. The filter
is designed differently from conventional deconvolution and the two types of
deconvolution will not produce data with the same wavelet.
2. There are many differences in the application of AGC. For example the GSI
used to apply AGC before velocity filtering inverse AGC after velocity filter.
3. GSI used diversity stack to control the high amplitude noise bursts.
4. The original processing includes residual statics.
Considering all these differences, I think the results are surprisingly similar, especially
below 400 ms. I think residual statics account for most of the differences. The shallow
result on the SU processing is worse than the 1981 processing.
In general, I found the SU software hard to use. Sudipfilter was not intended for
shotrecord velocity filtering, so a collection of program were required. Many of my
input errors were not trapped by the code. I was disappointed that the processing
applied 30 years ago produced better results than I obtained using SU. SU is a useful
prototyping environment, but it falls short of the commercial packages I have used.
PLANS
Some of the ideas I have to continue this work include:
1. Adding more processes, especially residual statics and migration.
9
2. Process using other software (Open source of proprietary.
3. Working on different datasets (marine, 3D, ...).
4. Make scripts and intermediate results available on the internet.
5. Improve open source software.
CONCLUSIONS
I have provided a set of scripts the process a land line using SU. These scripts include
the processing stages:
1. data load
2. trace header creation
3. velocity filtering
4. cdp gather
5. velocity analysis
6. stack
Although this sequence omits important processes like residual statics and migration, it illustrates processing stages not presented by Forel or Stockwell.
My processing results can be recreated by others since the processing scripts are
included in appendixes of this paper and the data can be downloaded from the internet.
The task of loading trace headers is no addressed in other publications. The
custom java program included in this paper is one way to complete this processing
stage. The velocity analysis script (iva.sh in Appendix 9) improves the scripts in
Forel’s book. I was able to pick the velocities on this line using the script.
Some of the ideas I have to continue this work include:
1. Adding more processes, especially residual statics and migration
2. Process using other software (Open source of proprietary.
3. Working on more data (Marine, 3D, ...)
4. Make scripts and intermediate results available on the internet
5. Improve open source
10
REFERENCES
Forel, D., T. Benz, and W. D. Pennington, 2005, Seismic data processing with seismic
un*x: Society of Exploration Geophysicists.
APPENDIX A
SCONSTRUCT FILE
1
2
3
4
5
from r s f . s u p r o j import ∗
import r s f . p r o j
# need t o add t h e v e l o c i t y a n a l y s i s s c r i p t
# need t o add m i g r a t i o n
# need t o t r y s u d i v s t a c k
6
7
8
9
####################
# Fetch t h e d a t a s e t and c o n v e r t t o m u l t i p l e r s f f i l e s
####################
10
11
12
13
14
segyread = ’ ’ ’
s e g y r e a d b f i l e=${TARGETS[ 1 ] } h f i l e=${TARGETS[ 2 ] }
t a p e=$SOURCE endian=%d
’ ’ ’ % (1− l i t t l e e n d i a n ( ) )
15
16
17
18
19
20
21
22
23
rawsegy =[ ’ L23535 ’ , ’ L23536 ’ , ’ L23537 ’ ]
for f i l e in rawsegy :
r s f . p r o j . Fetch ( f i l e + ’ .SGY ’ ,
s e r v e r= ’ http : / / certmapper . c r . u s g s . gov ’ ,
top= ’ n e r s l /NPRA/SEISMIC/1981/31 8 1 ’ ,
d i r= ’DMUX’ )
Flow ( [ f i l e , f i l e + ’ . bi n ’ , f i l e + ’ . a s c ’ ] ,
f i l e + ’ .SGY ’ , s e g y r e a d , s t d i n =0)
24
25
26
27
28
29
r s f . p r o j . Fetch ( ’ 31 81 PR .SGY ’ ,
s e r v e r= ’ http : / / certmapper . c r . u s g s . gov ’ ,
top= ’ n e r s l /NPRA/SEISMIC/1981/31 8 1 ’ ,
d i r= ’PROCESSED ’ )
30
31
32
33
34
35
# concatinate the input f i l e s
Flow ( ’ l i n e ’ , rawsegy ,
’ c a t L23535 . su L23536 . su L23537 . su ’ ,
s t d i n =0)
11
36
37
# d i s p l a y t h e f i r s t 3000 t r a c e s
38
39
40
Result ( ’ f i r s t ’ , ’ l i n e ’ ,
’ suwind count =3000 | suximage p e r c =90 ’ )
41
42
43
44
45
46
Result ( ’ zoomfirst ’ , ’ l i n e ’ ,
’’’
suwind key=t r a c l min=1000 max=1250 tmin=0 tmax=3 |
suximage p e r c =90
’ ’ ’)
47
48
49
50
51
52
#R e s u l t ( ’ f i r s t m o v i e ’ , ’ l i n e ’ ,
#
’’’
#
suxmovie n2=101 l o o p=1 f f r a m e=1 dframe=1
#
t i t l e =”r e c o r d %g ” p e r c =20
#
’ ’ ’)
53
54
55
56
57
58
59
60
Result ( ’ f i r s t r e c 2 4 ’ , ’ l i n e ’ ,
’’’
suwind key=t r a c l min=2324 max=2424 tmin=0 tmax=6 |
suximage p e r c =90
’ ’ ’)
Flow ( ’ h d r f i l e . t x t ’ , ’ l i n e ’ ,
’ sugethw output=geom key=t r a c l , f l d r , t r a c f ’ )
61
62
63
64
65
#Flow
#
#
#
( ’ InterpText . c l a s s ’ , ’ InterpText . java ’ ,
’’’
j a v a c ${SOURCE}
’ ’ ’ , s t d i n =0)
#Flow
#
#
#
( ’ h d r f i l e 1 . t x t ’ ,[ ’ h d r f i l e . t x t ’ , ’ InterpText . class ’] ,
’’’
java InterpText
’ ’ ’ , s t d i n =0)
66
67
68
69
70
71
72
73
74
75
Flow ( ’ h d r f i l e 1 . t x t ’ , [ ’ h d r f i l e . t x t ’ , ’ I n t e r p T e x t . py ’ ] ,
’’’
. / I n t e r p T e x t . py
’ ’ ’ , s t d i n =0)
76
77
78
79
80
Flow ( ’ b i n a r y h d r f i l e 1 . dat ’ , ’ h d r f i l e 1 . t x t ’ ,
’’’
a2b n1=13
’ ’ ’)
12
81
82
83
keys= ’ ep , sx , sy , gx , gy , cdp , t r a c f , o f f s e t , ’ \
’ selev , gelev , sstat , gstat , t s t a t ’
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
Flow ( ’ a l l s h o t s ’ , [ ’ l i n e ’ , ’ b i n a r y h d r f i l e 1 . dat ’ ] ,
’’’
sushw
i n f i l e =b i n a r y h d r f i l e 1 . dat
key=%s |
sushw
key=f 1
a=0 |
suwind
key=cdp
min=−999998
max=999999 |
suwind
key=ep
min=−999998
max=999999 |
suwind
key=ep
r e j e c t =149
’ ’ ’ % keys )
105
106
107
108
109
110
#R e s u l t ( ’ t e s t ’ , ’ a l l s h o t s ’ ,
#
’’’
#
suxmovie n2=96 l o o p=1 f f r a m e=1 dframe=1
#
t i t l e =” a l l s h o t s r e c o r d %g ” p e r c =20
#
’ ’ ’)
111
112
113
114
115
116
117
118
119
# d i s p l a y t r a c e s 1010−1250 f i r s t 3100 ms ( or 1550 s a m p l e s )
#R e s u l t ( ’ second ’ , ’ l i n e ’ ,
#
’’’
#
window f 2 =1010 n2=240 n1=1550 |
#
agc r e c t 1 =250 r e c t 2 =100 |
#
g r e y t i t l e =” F i r s t 3000 t r a c e s ” p c l i p =70
#
’ ’ ’)
120
121
122
123
124
125
#Fetch ( ’ 3 1 81 PR .SGY ’ ,
#
s e r v e r =’ h t t p : / / certmapper . c r . u s g s . gov ’ ,
#
t o p =’ n e r s l /NPRA/SEISMIC/1981/31 8 1 ’ ,
#
d i r =’PROCESSED ’ )
13
126
127
128
129
130
131
132
# c o n v e r t s t a c k and view i t :
f i l e=’ checkstack ’
Flow ( [ f i l e , f i l e + ’ . bi n ’ , f i l e + ’ . a s c ’ ] ,
’ 31 81 PR .SGY ’ , s e g y r e a d + ’ ’ ’
|
sushw key=n t r a=534 | sushw key=d1 a=0
’’’,
s t d i n =0)
133
134
135
136
137
138
139
140
Result ( ’ checkstack ’ , ’ checkstack ’ ,
’ suximage t i t l e =”c h e c k s t a c k ” p e r c =90 ’ )
R e s u l t ( ’ zoomcheckstack ’ , ’ c h e c k s t a c k ’ ,
’’’
suwind tmin=0 tmax=3 |
suximage t i t l e =”zoom c h e c k s t a c k ” p e r c =90
’ ’ ’)
141
142
143
Flow ( ’ a l l v e l f i l t s h o t ’ , ’ a l l s h o t s a l a s k a v e l f i l t . sh ’ ,
’ . / ${SOURCES[ 1 ] } 100 155 ’ )
144
145
146
147
148
149
#R e s u l t ( ’ m o v i e v e l f i l t ’ , ’ a l l v e l f i l t s h o t ’ ,
#
’’’
#
suxmovie n2=96 l o o p=1 f f r a m e=1 dframe=1
#
t i t l e =”r e c o r d %g ” p e r c =20
#
’ ’ ’)
150
151
152
153
154
155
Result ( ’ v e l f i l t r e c 2 4 ’ , ’ a l l v e l f i l t s h o t ’ ,
’’’
suwind key=t r a c l min=2324 max=2424 tmin=0 tmax=6 |
suximage p e r c =90
’ ’ ’)
156
157
158
159
160
161
162
163
164
# s e r g e y d i d t h i s , b u t i t d i d not work . I j u s t used a s t r i n g
#tnmo = [ 0 0 0 0 , . 3 3 9 , . 6 0 7 , . 7 0 7 , . 8 7 2 , 1 . 1 2 5 ,
#
1.358 ,1.652 ,2.091 ,2.349 ,2.859 ,6.000]
#vnmo = [ 7 75 2 , 8 0 7 4 , 7 9 6 4 , 7 7 8 1 , 8 1 2 4 , 0 8 75 4 ,
#
08931 ,09721 ,10425 ,10742 ,12518 ,16552]
#
#tnmo = ’ , ’ . j o i n (map( s t r , tnmo ) )
#vnmo = ’ , ’ . j o i n (map( s t r , vnmo ) )
165
166
167
168
169
170
tnmo= ’ 0 0 0 0 , . 3 3 9 , . 6 0 7 , . 7 0 7 , . 8 7 2 , 1 . 1 2 5 , 1 . 3 5 8 , 1 . 6 5 2 , 2 . 0 9 1 , 2 . 3 4 9 , 2 . 8 5 9 , 6 . 0 0 0 ’
vnmo= ’ 7 7 5 2 , 8 0 7 4 , 7 9 6 4 , 7 7 8 1 , 8 1 2 4 , 8 7 5 4 , 8 9 3 1 , 9 7 2 1 , 1 0 4 2 5 , 1 0 7 4 2 , 1 2 5 1 8 , 1 6 5 5 2 ’
Flow ( ’ v e l f i l t c d p s m u t e ’ , ’ a l l v e l f i l t s h o t ’ ,
’’’
s u s o r t cdp |
14
171
172
173
174
175
176
177
178
179
180
181
182
183
sunmo
tnmo=%s
vnmo=%s |
sumute \
xmute = −5225 , −2970 , −55 ,55 ,2970 ,5225 \
tmute = . 7 0 0 , . 2 8 0 , . 1 0 0 , . 1 0 0 , . 2 8 0 , . 7 0 0 \
mode=0 \
key=o f f s e t |
sunmo
tnmo=%s
vnmo=%s
i n v e r t =1
’ ’ ’ % ( tnmo , vnmo , tnmo , vnmo ) )
184
185
186
187
188
189
#R e s u l t ( ’ m o v i e c d p s ’ , ’ v e l f i l t c d p s m u t e ’ ,
#
’’’
#
suxmovie n2=96 l o o p=1 f f r a m e=1 dframe=1
#
t i t l e =”r e c o r d %g ” p e r c =20
#
’ ’ ’)
190
191
192
193
194
195
R e s u l t ( ’ cdp250 −251 ’ , ’ v e l f i l t c d p s m u t e ’ ,
’’’
suwind key=cdp min=250 max=251 tmin=0 tmax=3 |
suwigb p e r c =90
’ ’ ’)
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
Flow ( ’ v e l f i l t c d p s n m o ’ , [ ’ v e l f i l t c d p s m u t e ’ , ’ v p i c k . t x t ’ ] ,
’’’
suchw
key1=t s t a t
key2=o f f s e t
a=−200
b=.0861
| sustatic
hdrs=1
s i g n =1
| supef
maxlag =.2
p n o i s e =.01
mincor =.25
maxcor=5
| sustatic
hdrs=1
s i g n=−1
| sunmo
15
216
217
218
219
220
221
222
223
224
225
par=v p i c k . t x t
| sugain
agc=1
wagc =.1
| sumute
xmute =55 ,2970 ,5225
tmute = . 1 0 0 , . 2 8 0 , . 7 0 0
mode=0
key=o f f s e t
’ ’ ’)
226
227
228
229
230
231
#R e s u l t ( ’ m o v i e v e l f i l t c d p s n m o ’ , ’ v e l f i l t c d p s n m o ’ ,
#
’’’
#
suxmovie n2=96 l o o p=1 f f r a m e=1 dframe=1
#
t i t l e =” v e l f i l t c d p s n m o r e c o r d %g ” p e r c =20
#
’ ’ ’)
232
233
234
235
236
237
238
Flow ( ’ b r u t e s t a c k ’ , ’ v e l f i l t c d p s n m o ’ ,
’’’
sustack
key=cdp
normpow=1
’ ’ ’)
239
240
241
242
243
Result ( ’ brutestack ’ , ’ brutestack ’ ,
’’’
suximage t i t l e =”b r u t e s t a c k ” p e r c =90
’ ’ ’)
244
245
246
247
248
249
R e s u l t ( ’ zoomb rutestack ’ , ’ b r u t e s t a c k ’ ,
’’’
suwind tmin=0 tmax=3.0 |
suximage t i t l e =”b r u t e s t a c k ” p e r c =90
’ ’ ’)
250
251
252
# do i n v e r s e nmo , 1 f u n c t i o n nmo and compare r e s i d u a l s t a t i c s .
compare
# velanalysis after residual statics .
253
254
255
256
257
258
259
Flow ( ’ s t a t i c s i n ’ , ’ v e l f i l t c d p s n m o ’ ,
’’’
suwind tmin =1.0 tmax=3.0 |
suresamp r f =2
’ ’ ’)
16
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
Flow ( ’ s o u r c e s t a t i c . dat r e c s t a t i c . dat ’ ,
’ statics in ’ ,
’’’
suresstat \
s s o l=s o u r c e s t a t i c . dat
r s o l=r e c s t a t i c . dat
n i t e r =5
n t r a c e s =5280
n t p i c k =100 samples
nshot =167
nr =668
nc=636
s f o l d =96
r f o l d =96
c f o l d =48
v e r b o s e=1
’ ’ ’ , s t d o u t =0)
277
278
279
280
281
R e s u l t ( ’ s o u r c e s t a t i c ’ , ’ s o u r c e s t a t i c . dat ’ ,
’ xwigb n1=167 t i t l e =”s o u r c e s t a t i c ” ’ )
R e s u l t ( ’ r e c s t a t i c ’ , ’ r e c s t a t i c . dat ’ ,
’ xwigb n1=668 t i t l e =” r e c e i v e r s t a t i c ” ’ )
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
Flow ( ’ r s t a c k ’ ,
’ v e l f i l t c d p s n m o s o u r c e s t a t i c . dat r e c s t a t i c . dat ’ ,
’’’
sushw key=t s t a t a=0
| sushw key=s s t a t a=0
| sushw key=g s t a t a=0
| sustatic
hdrs=3
s o u f i l e=${SOURCES[ 1 ] }
r e c f i l e =${SOURCES[ 2 ] }
ns =167
nr =668
no=96
| sustack
key=cdp
normpow=1
’ ’ ’)
300
301
302
Result ( ’ rstack ’ , ’ rstack ’ ,
’ suximage t i t l e =” r s t a c k ” p e r c =90 ’ )
303
304
R e s u l t ( ’ zoomrstack ’ , ’ r s t a c k ’ ,
17
305
306
307
308
’’’
suwind tmin=0 tmax=3.0 |
suximage t i t l e =” r s t a c k ” p e r c =90
’ ’ ’)
309
310
311
312
313
Flow ( ’ s t k v e l 1 . i n t p 2 . bi n ’ , ’ 010 V e l o c i t y I n t e r p I V A . sh ’ ,
’’’
. / 0 1 0 V e l o c i t y I n t e r p I V A . sh
’ ’ ’)
314
315
316
317
318
R e s u l t ( ’ v f i l e ’ , ’ s t k v e l 1 . i n t p 2 . bi n ’ ,
’’’
ximage n1=3000 d1 =.002 f 2 =101 d2=1 cmap=rdb11
’ ’ ’)
319
320
321
322
323
324
Flow ( ’ mig ’ , [ ’ r s t a c k ’ , ’ s t k v e l 1 . i n t p 2 . bi n ’ ] ,
’’’
s u f r a c power =.5 s i g n =1 |
suktmig2d v f i l e =s t k v e l 1 . i n t p 2 . b in dx=55 h o f f s e t =0
’ ’ ’)
325
326
327
328
329
330
331
332
333
334
R e s u l t ( ’ mig ’ , ’ mig ’ ,
’’’
suximage t i t l e =”mig” p e r c =90
’ ’ ’)
R e s u l t ( ’ zoommig ’ , ’ mig ’ ,
’’’
suwind tmin=0 tmax=3.0 |
suximage t i t l e =”mig” p e r c =90
’ ’ ’)
335
336
337
338
339
# i t l o o k s l i k e one o f f s e t i s used f o r t h e whole o f f s e t g a t h e r
# documentation s a y s use s u f r a c b e f o r e m i g r a t i o n
Flow ( ’ premig ’ , [ ’ v e l f i l t c d p s n m o ’ , ’ v p i c k . t x t ’ , ’ s t k v e l 1 . i n t p 2 . b i n ’ ] ,
’ . / mig . sh ’ )
340
341
342
343
344
345
346
347
Flow ( ’ p r e m i g s t a c k ’ , ’ premig ’ ,
’’’
susort |
sustack
key=cdp
normpow=1
’ ’ ’)
348
349
Result ( ’ premigstack ’ , ’ premigstack ’ ,
18
350
351
352
353
354
355
356
357
358
359
’’’
s u f i l t e r f =4 ,8 ,200 ,240 |
suximage t i t l e =”p r e m i g s t a c k ” p e r c =90
’ ’ ’)
R e s u l t ( ’ zoompremigstack ’ , ’ p r e m i g s t a c k ’ ,
’’’
s u f i l t e r f =4 ,8 ,200 ,240 |
suwind tmin=0 tmax=3.0 |
suximage t i t l e =”p r e m i g s t a c k ” p e r c =90
’ ’ ’)
360
361
362
363
364
365
P l o t ( ’ premigmovie ’ , ’ premig ’ ,
’’’
suxmovie n2=536 l o o p=1 f f r a m e=1 dframe=1
t i t l e =”r e c o r d %g” p e r c =20
’ ’ ’)
366
367
End ( )
Download