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 pro-grams to translate to seismic unix, load headers, qc, apply preprocessing (in-cluding 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 ap-proach 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 pro-cessing. 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 fol-low the text and recreate some seismic processing. These books to not provide much information about creating trace headers or preprocessing.
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
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.
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 com-mands. 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 sur-veyor log, downloaded as: /home/karl/data/alaska/31-81/clientfiles/3181O.PDF
de-fines the shotpoint elevations. The observers log, downloaded as: /home/karl/data/alaska/31-81/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/31-81/load/hdrload1.job This file is listed in appendix 5.
0
1
2
3
4
5
1000
2000
3000
0
0.5
1.0
1.5
2.0
2.5
3.0
1000
1050
1100
1150
1200
1250
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.
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.
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:
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 migra-tion, 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 inter-net.
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
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 from r s f . s u p r o j import ∗ 2 import r s f . p r o j 3 # 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 4 # need t o add m i g r a t i o n 5 # need t o t r y s u d i v s t a c k 6 7 #################### 8 # F e t c h 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 9 #################### 10 11 s e g y r e a d = ’ ’ ’ 12 s e g y r e a d b f i l e =$ {TARGETS[ 1 ] } h f i l e =$ {TARGETS[ 2 ] } 13 t a p e=$SOURCE e n d i a n=%d 14 ’ ’ ’ % (1− l i t t l e e n d i a n ( ) ) 15 16 ra ws egy =[ ’ L23535 ’ , ’ L23536 ’ , ’ L23537 ’ ] 17 f o r f i l e in ra ws egy : 18 r s f . p r o j . Fetch ( f i l e + ’ .SGY ’ , 19 s e r v e r= ’ h t t p : / / c e r t m a p p e r . c r . u s g s . gov ’ , 20 top= ’ n e r s l /NPRA/SEISMIC /1981/31 8 1 ’ , 21 d i r= ’DMUX’ ) 22 Flow ( [ f i l e , f i l e + ’ . b i n ’ , f i l e + ’ . a s c ’ ] , 23 f i l e + ’ .SGY ’ , s e g y r e a d , s t d i n =0) 24 25 26 r s f . p r o j . Fetch ( ’ 31 81 PR .SGY ’ , 27 s e r v e r= ’ h t t p : / / c e r t m a p p e r . c r . u s g s . gov ’ , 28 top= ’ n e r s l /NPRA/SEISMIC /1981/31 8 1 ’ , 29 d i r= ’PROCESSED ’ ) 30 31 32 # c o n c a t i n a t e t h e i n p u t f i l e s 33 Flow ( ’ l i n e ’ , rawsegy , 34 ’ c a t L23535 . su L23536 . su L23537 . su ’ , 35 s t d i n =0)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 R e s u l t ( ’ f i r s t ’ , ’ l i n e ’ , 40 ’ suwind c o u n t =3000 | suximage p e r c =90 ’ ) 41 42 R e s u l t ( ’ z o o m f i r s t ’ , ’ l i n e ’ , 43 ’ ’ ’
44 suwind key=t r a c l min=1000 max=1250 tmin=0 tmax=3 |
45 suximage p e r c =90 46 ’ ’ ’ ) 47 48 #R e s u l t ( ’ f i r s t m o v i e ’ , ’ l i n e ’ , 49 # ’ ’ ’ 50 # s u x m o v i e n2=101 l o o p =1 f f r a m e=1 dframe=1 51 # t i t l e =” r e c o r d %g ” p e r c =20 52 # ’ ’ ’ ) 53 54 R e s u l t ( ’ f i r s t r e c 2 4 ’ , ’ l i n e ’ , 55 ’ ’ ’
56 suwind key=t r a c l min=2324 max=2424 tmin=0 tmax=6 |
57 suximage p e r c =90
58 ’ ’ ’ )
59 Flow ( ’ h d r f i l e . t x t ’ , ’ l i n e ’ ,
60 ’ sugethw o u t p u t=geom key=t r a c l , f l d r , t r a c f ’ ) 61 62 #Flow ( ’ I n t e r p T e x t . c l a s s ’ , ’ I n t e r p T e x t . j a v a ’ , 63 # ’ ’ ’ 64 # j a v a c $ {SOURCE} 65 # ’ ’ ’ , s t d i n =0) 66 67 #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 . c l a s s ’ ] , 68 # ’ ’ ’ 69 # j a v a I n t e r p T e x t 70 # ’ ’ ’ , s t d i n =0) 71 72 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 ’ ] , 73 ’ ’ ’ 74 . / I n t e r p T e x t . py 75 ’ ’ ’ , s t d i n =0) 76 77 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 ’ , 78 ’ ’ ’ 79 a2b n1=13 80 ’ ’ ’ )
81 82 k e y s= ’ ep , sx , sy , gx , gy , cdp , t r a c f , o f f s e t , ’ \ 83 ’ s e l e v , g e l e v , s s t a t , g s t a t , t s t a t ’ 84 85 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 ’ ] , 86 ’ ’ ’ 87 sushw 88 i n f i l e =b i n a r y h d r f i l e 1 . dat 89 key=%s | 90 sushw 91 key=f 1 92 a=0 | 93 suwind 94 key=cdp 95 min=−999998 96 max=999999 | 97 suwind 98 key=ep 99 min=−999998 100 max=999999 | 101 suwind 102 key=ep 103 r e j e c t =149 104 ’ ’ ’ % k e y s ) 105 106 #R e s u l t ( ’ t e s t ’ , ’ a l l s h o t s ’ , 107 # ’ ’ ’ 108 # s u x m o v i e n2=96 l o o p =1 f f r a m e=1 dframe=1 109 # 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 110 # ’ ’ ’ ) 111 112 113 # 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 ) 114 #R e s u l t ( ’ s e c o n d ’ , ’ l i n e ’ , 115 # ’ ’ ’ 116 # window f 2 =1010 n2=240 n1=1550 | 117 # a g c r e c t 1 =250 r e c t 2 =100 | 118 # 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 119 # ’ ’ ’ ) 120 121 #F e t c h ( ’ 3 1 81 PR .SGY ’ , 122 # s e r v e r =’ h t t p : / / c e r t m a p p e r . c r . u s g s . g o v ’ , 123 # t o p =’ n e r s l /NPRA/SEISMIC/1981/31 8 1 ’ , 124 # d i r =’PROCESSED ’ ) 125
126 # c o n v e r t s t a c k and v i e w i t : 127 f i l e = ’ c h e c k s t a c k ’
128 Flow ( [ f i l e , f i l e + ’ . b i n ’ , f i l e + ’ . a s c ’ ] , 129 ’ 31 81 PR .SGY ’ , s e g y r e a d + ’ ’ ’
130 | sushw key=n t r a=534 | sushw key=d1 a=0
131 ’ ’ ’ , 132 s t d i n =0) 133 134 R e s u l t ( ’ c h e c k s t a c k ’ , ’ c h e c k s t a c k ’ , 135 ’ suximage t i t l e =” c h e c k s t a c k ” p e r c =90 ’ ) 136 R e s u l t ( ’ z o o m c h e c k s t a c k ’ , ’ c h e c k s t a c k ’ , 137 ’ ’ ’
138 suwind tmin=0 tmax=3 |
139 suximage t i t l e =”zoom c h e c k s t a c k ” p e r c =90 140 ’ ’ ’ ) 141 142 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 ’ , 143 ’ . / $ {SOURCES [ 1 ] } 100 155 ’ ) 144 145 #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 ’ , 146 # ’ ’ ’ 147 # s u x m o v i e n2=96 l o o p =1 f f r a m e=1 dframe=1 148 # t i t l e =” r e c o r d %g ” p e r c =20 149 # ’ ’ ’ ) 150 151 R e s u l t ( ’ 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 ’ , 152 ’ ’ ’
153 suwind key=t r a c l min=2324 max=2424 tmin=0 tmax=6 |
154 suximage p e r c =90 155 ’ ’ ’ ) 156 157 # s e r g e y d i d t h i s , b u t i t d i d n o t work . I j u s t u s e d a s t r i n g 158 #tnmo = [ 0 0 0 0 , . 3 3 9 , . 6 0 7 , . 7 0 7 , . 8 7 2 , 1 . 1 2 5 , 159 # 1 . 3 5 8 , 1 . 6 5 2 , 2 . 0 9 1 , 2 . 3 4 9 , 2 . 8 5 9 , 6 . 0 0 0 ] 160 #vnmo = [ 7 7 5 2 , 8 0 7 4 , 7 9 6 4 , 7 7 8 1 , 8 1 2 4 , 0 8 7 5 4 , 161 # 0 8 9 3 1 , 0 9 7 2 1 , 1 0 4 2 5 , 1 0 7 4 2 , 1 2 5 1 8 , 1 6 5 5 2 ] 162 #
163 #tnmo = ’ , ’ . j o i n (map( s t r , tnmo ) ) 164 #vnmo = ’ , ’ . j o i n (map( s t r , vnmo ) ) 165 166 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 ’ 167 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 ’ 168 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 ’ , 169 ’ ’ ’ 170 s u s o r t cdp |
171 sunmo 172 tnmo=%s 173 vnmo=%s | 174 sumute \ 175 xmute = −5225 , −2970 , −55 ,55 ,2970 ,5225 \ 176 tmute = . 7 0 0 , . 2 8 0 , . 1 0 0 , . 1 0 0 , . 2 8 0 , . 7 0 0 \ 177 mode=0 \ 178 key= o f f s e t | 179 sunmo 180 tnmo=%s 181 vnmo=%s 182 i n v e r t =1
183 ’ ’ ’ % ( tnmo , vnmo , tnmo , vnmo ) )
184 185 #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 ’ , 186 # ’ ’ ’ 187 # s u x m o v i e n2=96 l o o p =1 f f r a m e=1 dframe=1 188 # t i t l e =” r e c o r d %g ” p e r c =20 189 # ’ ’ ’ ) 190 191 R e s u l t ( ’ cdp250 −251 ’ , ’ v e l f i l t c d p s m u t e ’ , 192 ’ ’ ’
193 suwind key=cdp min=250 max=251 tmin=0 tmax=3 |
194 suwigb p e r c =90 195 ’ ’ ’ ) 196 197 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 ’ ] , 198 ’ ’ ’ 199 suchw 200 key1=t s t a t 201 key2= o f f s e t 202 a=−200 203 b =.0861 204 | s u s t a t i c 205 h d r s=1 206 s i g n =1 207 | s u p e f 208 maxlag =.2 209 p n o i s e =.01 210 mincor =.25 211 maxcor=5 212 | s u s t a t i c 213 h d r s=1 214 s i g n=−1 215 | sunmo
216 par=v p i c k . t x t 217 | s u g a i n 218 agc=1 219 wagc =.1 220 | sumute 221 xmute = 5 5 , 2 9 7 0 , 5 2 2 5 222 tmute = . 1 0 0 , . 2 8 0 , . 7 0 0 223 mode=0 224 key= o f f s e t 225 ’ ’ ’ ) 226 227 #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 ’ , 228 # ’ ’ ’ 229 # s u x m o v i e n2=96 l o o p =1 f f r a m e=1 dframe=1 230 # 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 231 # ’ ’ ’ ) 232 233 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 ’ , 234 ’ ’ ’ 235 s u s t a c k 236 key=cdp 237 normpow=1 238 ’ ’ ’ ) 239 240 R e s u l t ( ’ b r u t e s t a c k ’ , ’ b r u t e s t a c k ’ , 241 ’ ’ ’ 242 suximage t i t l e =” b r u t e s t a c k ” p e r c =90 243 ’ ’ ’ ) 244 245 R e s u l t ( ’ z o o m b r u t e s t a c k ’ , ’ b r u t e s t a c k ’ , 246 ’ ’ ’
247 suwind tmin=0 tmax =3.0 |
248 suximage t i t l e =” b r u t e s t a c k ” p e r c =90
249 ’ ’ ’ )
250
251 # 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
252 # v e l a n a l y s i s a f t e r r e s i d u a l s t a t i c s . 253
254 Flow ( ’ s t a t i c s i n ’ , ’ v e l f i l t c d p s n m o ’ ,
255 ’ ’ ’
256 suwind tmin =1.0 tmax =3.0 |
257 suresamp r f =2
258 ’ ’ ’ )
260 Flow ( ’ s o u r c e s t a t i c . dat r e c s t a t i c . dat ’ , 261 ’ s t a t i c s i n ’ , 262 ’ ’ ’ 263 s u r e s s t a t \ 264 s s o l=s o u r c e s t a t i c . dat 265 r s o l=r e c s t a t i c . dat 266 n i t e r =5 267 n t r a c e s =5280 268 n t p i c k =100 s a m p l e s 269 n s h o t =167 270 nr =668 271 nc =636 272 s f o l d =96 273 r f o l d =96 274 c f o l d =48 275 v e r b o s e =1 276 ’ ’ ’ , s t d o u t =0) 277 278 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 ’ , 279 ’ xwigb n1=167 t i t l e =” s o u r c e s t a t i c ” ’ ) 280 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 ’ , 281 ’ xwigb n1=668 t i t l e =” r e c e i v e r s t a t i c ” ’ ) 282 283 Flow ( ’ r s t a c k ’ , 284 ’ 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 ’ , 285 ’ ’ ’
286 sushw key=t s t a t a=0
287 | sushw key=s s t a t a=0
288 | sushw key=g s t a t a=0
289 | s u s t a t i c 290 h d r s=3 291 s o u f i l e =$ {SOURCES [ 1 ] } 292 r e c f i l e =$ {SOURCES [ 2 ] } 293 ns =167 294 nr =668 295 no=96 296 | s u s t a c k 297 key=cdp 298 normpow=1 299 ’ ’ ’ ) 300 301 R e s u l t ( ’ r s t a c k ’ , ’ r s t a c k ’ , 302 ’ 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 ( ’ z o o m r s t a c k ’ , ’ r s t a c k ’ ,
305 ’ ’ ’
306 suwind tmin=0 tmax =3.0 |
307 suximage t i t l e =” r s t a c k ” p e r c =90 308 ’ ’ ’ ) 309 310 Flow ( ’ s t k v e l 1 . i n t p 2 . b i n ’ , ’ 010 V e l o c i t y I n t e r p I V A . sh ’ , 311 ’ ’ ’ 312 . / 0 1 0 V e l o c i t y I n t e r p I V A . sh 313 ’ ’ ’ ) 314 315 R e s u l t ( ’ v f i l e ’ , ’ s t k v e l 1 . i n t p 2 . b i n ’ , 316 ’ ’ ’ 317 ximage n1=3000 d1 =.002 f 2 =101 d2=1 cmap=rdb11 318 ’ ’ ’ ) 319 320 Flow ( ’ mig ’ , [ ’ r s t a c k ’ , ’ s t k v e l 1 . i n t p 2 . b i n ’ ] , 321 ’ ’ ’ 322 s u f r a c power =.5 s i g n =1 | 323 suktmig2d v f i l e =s t k v e l 1 . i n t p 2 . b i n dx=55 h o f f s e t =0 324 ’ ’ ’ ) 325 326 R e s u l t ( ’ mig ’ , ’ mig ’ , 327 ’ ’ ’ 328 suximage t i t l e =”mig ” p e r c =90 329 ’ ’ ’ ) 330 R e s u l t ( ’ zoommig ’ , ’ mig ’ , 331 ’ ’ ’
332 suwind tmin=0 tmax =3.0 |
333 suximage t i t l e =”mig ” p e r c =90 334 ’ ’ ’ ) 335 336 # i t l o o k s l i k e one o f f s e t i s u s e d f o r t h e w h o l e o f f s e t g a t h e r 337 # d o c u m e n t a t i o n s a y s u s e s u f r a c b e f o r e m i g r a t i o n 338 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 ’ ] , 339 ’ . / mig . sh ’ ) 340 341 Flow ( ’ p r e m i g s t a c k ’ , ’ premig ’ , 342 ’ ’ ’ 343 s u s o r t | 344 s u s t a c k 345 key=cdp 346 normpow=1 347 ’ ’ ’ ) 348 349 R e s u l t ( ’ p r e m i g s t a c k ’ , ’ p r e m i g s t a c k ’ ,
350 ’ ’ ’ 351 s u f i l t e r f = 4 , 8 , 2 0 0 , 2 4 0 | 352 suximage t i t l e =”p r e m i g s t a c k ” p e r c =90 353 ’ ’ ’ ) 354 R e s u l t ( ’ z o o m p r e m i g s t a c k ’ , ’ p r e m i g s t a c k ’ , 355 ’ ’ ’ 356 s u f i l t e r f = 4 , 8 , 2 0 0 , 2 4 0 |
357 suwind tmin=0 tmax =3.0 |
358 suximage t i t l e =”p r e m i g s t a c k ” p e r c =90 359 ’ ’ ’ ) 360 361 P l o t ( ’ premigmovie ’ , ’ premig ’ , 362 ’ ’ ’ 363 suxmovie n2=536 l o o p=1 f f r a m e =1 dframe=1 364 t i t l e =” r e c o r d %g ” p e r c =20 365 ’ ’ ’ ) 366 367 End ( )