0 ratings0% found this document useful (0 votes) 362 views277 pagesSeismic Unix Forel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, 
claim it here.
Available Formats
Download as PDF or read online on Scribd
Seismic Data Processing
with Seismic Un*x
A 2D Seismic Data Processing Primer
David Forel, Thomas Benz,
and Wayne D. Pennington
0.2744,
ee Course Notes Series No. 12
0.1387 Lawrence M. Gochioco, Series Editor
cova Ne
‘Semblance
    
5
Time (s)
Sembiance Plot CMP 4575
Society of Exploration GeophysicistsSeismic Data Processing —
with Seismic Un*x
A 2D Seismic Data Processing Primer
David Forel, Thomas Benz,
and Wayne D. Pennington
Michigan Technological University
Course Notes Series No. 12
Lawrence Gochioco, Series Editor
 
Society of Exploration Geophysicists
Tulsa, Oklahoma, USASEG Policy on Software-Related Books
SEG encourages the submission of manuscripts on software-related topics for publication
in print and/or electronic form if the work’s primary aim is to promote the understanding
of geophysics and if the work involves geophysical software that is either free or in wide
distribution. SEG is not interested in publishing manuals describing only the technical
aspects of operating geophysical software. However, SEG does seek to publish self-
guided tutorials and other treatises focused on explicating geophysical principles that may
heavily involve specific free or widely used geophysical software. SEG does not promote
the discussed software to the exclusion of any other product.
About the SEG Course Notes Series
SEG Course Notes Series publications are published without the normal SEG peer
reviews. This volume in the series is reproduced here as provided by the authors.
 
 
 
ISBN 0-931830-48-6 (Series)
ISBN 1-56080-xxx-x (Volume)
Society of Exploration Geophysicists
P.O. Box 702740, Tulsa, OK 74170-2740, USA
© 2005 by the Society of Exploration Geophysicists
All rights reserved (except as noted in text)
Printed in the United States of AmericaShort Table of Contents
Short Table of Contents ...
‘Table of Contents
  
Preface.
 
‘Table of Computer Notes .. sean Feige pil
‘Table of Scripts id eS ~ _ = s xiii
 
Introduction: :
Unix Commands and Concepts.
‘Trace Headers and Windowing Data
Three Simple Models
Three Simple Models: Acquire 2-D Line
Model 4: Build, Acquire a Line, Display Gathers, QC
Model 4: Sort, Velocity Analysis
. Model 4: T-V Picks QC, NMO, Stack.....
9. Model 4: Migration... epee
10. Nankai Data: Examine, Resample, Sort, Gain
11, Nankai: Velocity Analysis, NMO, Stack, Migration.
12. Taiwan Data: Examine, Zero Traces, Re-examine.......-
13. Taiwan: Gain-Filter, Filter-Gain .
14. f-k Filter and Deconvolution.
   
 
 
So Ue ON
   
       
 
 
  
15. Taiwan: Sort, Velocity Analysis, NMO, Stack
16. Taiwan: Migration...
 
References.
 
Appendix A. Seismic Un*x Legal Statement .
Appendix B. Seismic Un*x at Michigan Tech
Appendix C. Utility Programs ty
‘Appendix D. Makefiles: Alternative to Shell Scripts, by Chris Liner......
Appendix E. On the CDs......Short Table of Contents
Table of Contents
Preface ...
Table of Computer Notes...
Table of Scripts...
Table of Contents
 
 
 
 
 
  
 
   
   
 
 
 
  
 
 
 
 
 
 
 
 
 
  
 
 
Introduction. .....
1.1 The Goal of this Primer
1.2 The Outline of this Primer
1.3 A Bit about Seismic Un*x
1.4 Computer Note 1: Enter
1.5 Computer Note 2: Your Shell
1.6 Computer Note 3: Changing Directories
1.7 Computer Note 4: Cursor Prompt
1.8 Your First Seismic Un*x Instruction
1.9 Computer Note 5: Background (&) and Foreground Processes
1.9.1 Background Processes
1.9.2 Foreground Processes
1.10 Zoom the xwigb Window .
1.11 The Demos Directory
1.12. Self Documentation in Seismic Un*x
1.13. Your Second Seismic Un*x Instruction ..
1.13.1 Computer Note 6: No Spaces around the Equal Sign
1.14. Other Help Facilities in Seismic Un*x
Unix Commands and Concepts
2.1 Elementary Unix Commands
2.2 File Name Conventions
2.3 Advanced Unix Concepts
2.3.1 Invoke the Shell: #! /bin/sh
2.3.2 Comment Line: # .
2.3.3. Pipes! .
2.3.4 Shell Redirection: < and > and >>
2.3.5 Permissions: rwxrwxrwx. ...
2.3.6 Shell Internal Variables.
2.3.7 Passing Values to the Shell
2.3.8 Continuation Mark: \
2.3.9 Integer EvaluationTable of Contents
2.3.10 Floating Point Evaluation
2.3.11 Debug Option
2.3.12 Case Option e
2.3.13. Shell Loops and If Blocks
2.3.14 Exitthe Shell... ‘
2.4 Shell Script Example: myplor.sh
3. Trace Headers and Windowing Data
3.1 What are Trace Headers? ...
3.2 First Look at Trace Headers (key:
3.3. Real Seismic Shot Gathers
3.3.1 Get the Data
3.3.2 Test the Data .. Ss
3.3.2.1 Big-Endian (High Byte) Machine: Solaris
3.3.2.2 Little-Endian (Low Byte) Machine: PC.
3.4 Program suxwigb and Option perc ...
3.5 Second Look at Trace Headers (keys): sukeyword
3.6 Third Look at Trace Headers (keys): suxedit
 
  
 
 
    
    
 
surange and sugethw .
   
 
   
  
 
 
  
  
 
3.7. Trace Header Manipulation: Constant and Regularly Varying Values
 
3.8 Trace Header Manipulation 2: Reverse Numbering
3.9 Windowing Data .
4. Three Simple Models
4,1 Introduction...
4.2 Model 1: Earth Model — Five Layers
4.3. Model 2: Earth Model - High Velocity Intrusion
44 Model 3: Earth Model - Diffractor
4.5 Introduction to Ray Tracing and Wavefronts
4.6 Model 1 Ray Tracing: psmergela.sh
4.7 Model 1 Wavefronts: psmergelb.sh
4.8 Model 2 Ray Tracing: psmerge2a.sh
4.9 Model 2 Wavefronts: psmerge2b.sh
4.10 Model 3 Ray Tracing: psmerge3.sh
5. Three Simple Models: Acquire 2-D Lines
5.1 Introduction ..
5.2 Acquire 2-D Line from Model 1: acq/.sh
5.3. Acquire 2-D Line from Model 2: acq2.sh
5.4 Acquire 2-D Line from Model 3: acq3.sh
5.5 Computer Note 7: Pause and Resume Screen Print
5.6 Examine Shot Gathers: showshot.sh
 
 
 
. 5-1
  
    
 
 
 
5-5Table of Contents
 
5.7 A Graphics Program is a Terminal Program .....
5.8 Computer Note 8: Use, Modify a Command from the History List
5.8.1 Use a Command from the History List... 58
5.8.1.1 Up Arrow Key
5.8.1.2 History List ..
5.8.2 Modify a Command from the History List
5.9 Survey Quality Control...
6. Model 4: Build, Acquire a Line, Display Gathers, QC.
6.1 Introduction... Z
6.2 Model 4: Earth Model  Diffractor and Pinchout
63 Acquire 2-D Line from Model 4: acg4.sh
6.4 Model-Acquisition Checklist ..
6.5 Examine Shot Gathers
6.6 Computer Note 9: Data Files Not in Seript Directory
6.6.1 Data Directory below Script Directory — Full Path Name
6.6.2 Data Directory below Script Directory — Short Path Name
6.6.3 Data Directory at the same Level as Script Directory .
6.7 Quality Control: The Survey File. ...
6.8 Quality Control: Acquire and Display Specific Shot Gathers
7. Model 4: Sort, Velocity Analysis
7.1 Introduction. ...
7.2 Sort from Shot Gathers to CMP Gathers
7.3. Extract CMP Gathers ..
74 Computer Note 10: If Blocks
75 Fold
7.6 — Stacking Velocity Analysis
7.6.1 Prepare a Shot Gather for Velocity Analysis
7.6.2 Semblance Contour Plot .
7.6.3 Constant Velocity Stacks
7.6.4 Quality Control (QC) after Picking
7.6.5 Computer Note 11: Interactive Scripts
7.6.6 Velocity Analysis: Scripts iva.ser and iva.sh
 
 
 
   
 
  
     
  
  
 
 
 
 
  
 
 
 
  
 
  
 
 
 
  
 
  
  
 
 
 
 
  
 
 
 
 
 
 
7.6.6.1 ivascr .
iva Displays...
iva.sh — Introduction ..
iva.sh — User-supplied Values
iva.sh — File Documentation «.
iva.sh — One-time Processing...
 
 
viiTable of Contents
7.6.6.1 iva.sh—IVA Loop
7.6.68 iva.sh — Output the Picks
 
7-30
7-32
33:
 
7.6.6.9 — iva.sh — Pause, Remove Temporary Files, Exit
7.6.6.10 iva.sh —vpick.txt .....
 
 
 
   
 
    
   
 
 
7-33
7.7 X-axis Labels in suxwigh and suximage 7-33
8. Model 4: T-V Picks QC, NMO, Stack
8.1 Introduction .... BL
8.2 Time-Velocity QC ... 8-1
8.2.1 Program tvnmoge, mode=1 8-1
8.2.2 Program tvnmoge, mode=2 82
8.2.2.1 Scriptiva.ser .... 8-5
8.2.2.2 Script ivash . . 85
8.2.3 Edit Time Picks
8.3 Normal Moveout: Script nmo4.sh
8.4 Interactive Viewer ....
  
. 8-10
. 814
. 814
. 814
. 8-17
 
 
8.4.1 Scriptiview.ser ..
8.4.2 Script iview.sh
85° Stack...
9. Model 4: Migration
9.1 Introduction .
9.2. Migration Constant Velocity Panels (CVP) with Stolt Migration
9.2.1 — sustolt Parameters
9.2.2. Seismic Migration with Model 4 and sustolt
9.2.3 Migration Constant Velocity Panels (CVPs)
9.3. Interactive Constant Velocity Panel Viewer.
9.3.1 — Script iviewevp.ser
9.3.2 Script iviewevp.sh .
9.4 Migration Movie
9.5 Migrate Model 4
10. Nankai Data: Examine, Resample, Sort, Gain
10.1 Introduction
10.1.1 Nankai Shot Gathers .
10.1.2. Nankai Stack File.
10.1.3 OurTask .
10.2 Computer Note 12: Symbolic Link
10.3 View the Line of Shot Gathers
104 £x Display, Filter, Resample, and Sort Nankai Data
9.4.1 Script fidisp
 
 
 
 
  
  
 
 
 
 
 
 
 
 
 
 
 
  
viiiTable of Contents
 
 
   
 
 
 
 
 
  
 
 
 
 
  
 
 
 
 
 
  
 
  
 
   
 
 
 
  
 
 
 
 
 
 
 
 
 
9.4.2 Anti-alias Filter, Resample, and Sort. 10-11
10.5 Gain ~ Spherical Divergence Correction 10-13
10.6 Single-trace versus Multi-trace Processes... 10-21
10.7 Summary .. 10-21
11. Nankai: Velocity Analysis, NMO, Stack, Migration
11.1 Velocity Analysis... 1
11.2. NMO and Stack 113
11.3. Stolt Meanie 11-6
11.3.1 Script Nmigevp.sh .... 11-6
11.3.2. Script Niviewcvp 11-6
11.33 Script Nmigmovie.sh 117
11.34 Summary ... : 118
114. Phase Shift Migration with sugazmig 118
11.5 Some Geologic Features 11-10
11.5.1 Bottom-simulating Reflector ... 11-10
11.5.2 Subducted Pacific Plate . 11-10
12. Taiwan Data: Examine, Zero Traces, Re-examine
12.1 Introduction .. 12-1
12.2. Reminder: Symbolic Link ... 12-2
12.3. View the Line of Shot Gathers 1)
12.4 Kill Traces m2
12.5 One-dimensional Frequency Analysis 12-10
13. Taiwan: Gain-Filter, Filter-Gain :
13.1 Introduction las
13.2. Gain-Filter .. pals
13.2.1 Gain ~ Spherical Divergence Correction 13:1
13.2.2 Band-pass Filter . 13-3
13.2.3 Gain-Filter Result . 13-5
13.3 Filter-Gain . 13-6
13.3.1 Band-pass Filter . 13-6
13.3.2. Gain — Spherical Divergence Correction . 13-6
13.3.3. Filter-Gain Result . 13-9
13.4 Discussion .... 13-10
14, fk Filter and Deconvolution :
14.1. Introduction . 4-1
14.2 £-k Filter — Absolute Units . 14-1
14.2.1 Use the f-k Filter Script . . 14-1
14.2.2. Script ifkscr .. . 143
seTable of Contents
  
  
  
   
 
  
 
 
 
14.2.3. Script ifk.sh 14-5
14.3 f-k Filter — Relative Units... . 14-10
14.4. fk Filter— Discussion . 1414
14.5 Deconvolution S . 14-18
14.5.1 Use Deconvolution Script idecon 14-18
14.5.2 Script idecon.ser . . 14-24
14.5.3. Script idecon.sh ... 14-24
15. Taiwan: Sort, Velocity Analysis, NMO, Stack
15.1 Introduction . 15-1
15.2 Sort . 15-1
15.3 Velocity Analysis 15-2
15.4 NMO and Stack . 15-4
16, Taiwan: Migration . ‘
16.1 Constant Velocity Stolt Migration with Tmigevp.sh 16-1
16.2. Migration Movie . 16-1
16.2 Discussion . 16-3
  
References
Appendix A. Seismic Un*x Legal Statement
Appendix B. Seismic Un*x at Michigan Tech
B.l Using Seismic Un*x.
B2_ Terminal Windows
Appendix C. Utility Programs ..
C.1 Introduction
C2 Program sukeycount
C3. Program sudumptrace
C4 Program tvnmoge
C5 Conclusion
Appendix D. Makefiles: Alternative to Shell Scripts, by Chris Liner ..
D.1 Introduction.
D.2 Discuss the Makefile
D.3_ “clean” and Final Thoughts
D4 The Makefile
D.5 The Makefile Edited .
Appendix E. On the CDs
E.l Category List
E.2__ Alphabetical List — Unix (excluding figures)
E.3. Alphabetical List — PC (excluding figures) ...Preface
This book can serve either of two purposes. (1) It can be used, as it is in our courses
at Michigan Technological University, as an aid to teaching seismic reflection data
processing. (2) It can be used as a primer to Seismic Un*x (SU) by those who may or
may not already be familiar with seismic processing using other software packages. SU is
provided by the Center for Wave Phenomena at Colorado School of Mines and is
available from their web site www.cwp.mines.edu/cwpcodes.
‘There are details of SU that are important to the processing specialist, but are not
essential to the student who is being introduced to seismic processing. Where these
details appear in the text, we placed a gray bar in the margin to indicate that the material
can be skipped by the student interested only in learning about processing. Of course,
these details might be among the most-interesting material from the viewpoint of
someone who wants to learn programming techniques that apply to SU.
A beginning course in reflection seismology processing might complete the entire
book in one semester. A course that covers fundamental processing and some
interpretation might skip the material with a gray bar and use only one of the real (field,
not synthetic) data sets that we provide
We have found that one of the biggest hurdles to developing a new course is the
scarcity of real data. With this book, we provide two real data sets. The first real data set,
from the Nankai trough near Japan, is unusual in that it was acquired over very deep
water. This presents some advantages (mediocre velocity analyses will still produce good
results), but it is not realistic for typical exploration purposes. It is, however, a site of
exciting geologic features, and the rugged seafloor topography dramatically demonstrates
the benefit of migration. It is a data set that any student can appreciate. The second real
data set, from offshore Taiwan, presents a number of processing challenges; it is much
more difficult to process to satisfaction.
‘The compact disks (CDs) included with this book have copies of the scripts and the
seismic data sets (including some data sets that are generated by the scripts). The book is
printed in black-and-white to keep its price low. Because some figures are best viewed in
color, we put copies of all color figures, in uncompressed TIFF format, on the CDs.
Appendix E has a complete list of the contents of the CDs.
We at Michigan Tech will maintain a list of errata for the book. The errata list can be
found by searching on the web for Michigan Tech, errata, and Seismic Un*x. Please
report any errors to the address identified on that web site. Reports of SU bugs,
suggestions for SU improvements, or proposals for new SU scripts should be submitted
to the CSM Center for Wave Phenomena via methods suggested on their web site.
xiTable of Computer Notes
Computer Notes are guides to help you better understand and use the Unix system.
Chapter 2 is not listed here, but it can be considered a chapter of Computer Notes.
Warning 1: We developed this Seismic Un*x Primer while using the esh shell. The
Computer Notes were written from this perspective. If you are not working under the esh
shell, our Computer Notes might not be appropriate for you.
Warning 2: The previous warning does not apply to the scripts. The first line of every
script is, “#! /bin/sh” ,a command that makes scripts run under the Bourne shell.
Section Page
1.4 Computer Note 1: Enter .. 12
1.5 Computer Note 2: Your Shell... 3 13
1.6 Computer Note 3: Changing Directories
 
 
 
 
 
 
 
13
1.7 Computer Note 4: Cursor Prompt 13
1.9 Computer Note 5: Background (&) and Foreground Processes Ls
1.9.1 Background Processes .. 15
1.9.2 Foreground Processes 16
1.13.1 Computer Note 6: No Spaces around the Equal Sign. 19
5.5 Computer Note 7: Pause and Resume Screen Print . 5-6
 
5.8 Computer Note 8: Use, Modify a Command from the History List
5.8.1 Use a Command from the History List
5.8.2. Modify a Command from the History List
6.6 Computer Note 9: Data Files Not in Script Directory
6.6.1 Data Directory below Script Directory — Full Path Name
6.6.2 Data Directory below Script Directory — Short Path Name
6.6.3 Data Directory at the same Level as Script Directory...
7.4 Computer Note 10: If Blocks.
7.6.5 Computer Note 11: Interactive Scripts...
10.2 Computer Note 12: Symbolic Link ...
 
 
 
 
 
   
 
 
Throughout this Primer, we use a vertical bar, as shown to the right, to mark passages
that a first-time reader can safely ignore. Generally, the bar marks two kinds of text.
Details of model building (large portions of Chapters 4, 5, and 6) can be ignored because
Model 4 is on one of the CDs. The bar also marks parts of scripts and explanations of
those parts that are of more interest to shell script programmers than to script users.Table of Scripts
Scripts are listed when introduced. The page number is the page of the first ine of the
script, When a script “fragment” is listed, the original script location is also cited.
Line commands are not referenced, with the exception of our only use of sumute.
Section
24 — myplot.sh
42 modell.sh
4.3 model2.sh ..
4.4 model3.sh
4.6 psmergelash ..
4.7 psmergelb.sh
4.8 psmerge2a.sh
4.9 psmerge2b.sh
4.10 psmerge3.sh
52  acqlsh .... .
5.3 acq2.sh (fragment, modification of acql.sh, 5.2)
5.4 acq3.sh (fragment, modification of acql.sh, 5.2)
5.6 showshotsh ....
6.2 model4.sh
63 acqd.sh
6.5 showshot.sh (repeated from 5.6)
6.6.1 shotrwdl.sh
6.6.2 shotrwd2.sh
6.6.2 shotrwd3.sh
6.6.3 shotrwd4.sh
6.8 acqdshot.sh (fragment, modification of acq4.sh, 6.3)
68 — showshotB.sh ..
7.2 sort2cmp.sh
7.3. showemp.sh
7.6.1 ozl4prep.sh
7.6.2 ozi4velan.sh .
7.65 ivascr
7.6.6.1 iva.ser (repeated from 7.6.5)
7.6.6.3 ivash ..
82.1 tvQCsh ..
8.2.2.1 velanQC.scrIntroduction
1. Introduction
1.1 The Goal of this Primer
Our objective is to introduce you to the fundamentals of seismic data processing with
a learn-by-doing approach. We do this with Seismic Un*x (SU), a free software package
maintained and distributed by the Center for Wave Phenomena (CWP) at the Colorado
School of Mines (CSM). At the outset, we want to express our gratitude to John
Stockwell of the CWP for his expert counsel.
SU runs on several operating systems, including Unix, Microsoft Windows, and
Apple Macintosh. However, we discuss SU only on Unix.
Detailed discussion of wave propagation, convolution, cross- and auto-correlation,
Fourier transforms, semblance, and migration are too advanced for this Primer. Instead,
‘we suggest you fefer to other publications of the Society of Exploration Geophysicists,
such as “Digital Processing of Geophysical Data - A Review” by Roy O. Lindseth and
‘one of the two books by Ozdogan Yilmaz: “Seismic Data Processing,” 1987 and
“Seismic Data Analysis,” 2001
Our goal is to give you the experience and tools to continue exploring the concepts of
seismic data processing on your own.
  
1.2 The Outline of this Primer
This Primer covers all processing steps necessary to produce a time migrated section
from a 2-D seismic line. We use three sources of input data:
= Synthetic data generated by SU;
«Real shot gathers from the Oz Yilmaz collection at the Colorado School of Mines
(ftp://ftp.ewp.mines.edu/pub/data); and
* Real 2-D marine lines provided courtesy of Prof. Greg Moore of the University of
Hawaii: the “Nankai” data set and the “Taiwan” data set.
© The University of Texas, the University of Tulsa, and the University of Tokyo
collected the Nankai data. The U.S. National Science Foundation and the
government of Japan funded acquisition of the Nankai data.
© The University of Hawaii, San Jose State University, and National Taiwan
University collected the Taiwan data. The U.S. National Science Foundation
and the National Science Council of Taiwan funded acquisition of the Taiwan
data.
Chapters 1-3 introduce the Unix system and Seismic Un*x.
Chapters 4-5 build three simple models (complexity slowly increases) and acquire a
2-D line over each model. (These chapters may be skipped if you are only interested in
processing.)
Chapters 6-9 build a model based on the previous three, acquire a 2-D line over that
model, and process the line through migration.
Chapters 10-11 start with a real 2-D seismic line of shot gathers (Nankai) and process
it through migration.
 
141Introduction
Chapters 12-13 and 15-16 start with a real 2-D line of shot gathers (Taiwan) and
process it through migration.
Chapter 14 uses real shot gathers from the Oz Yilmaz collection to demonstrate f-k
filtering and deconvolution.
We introduce the major processing steps in the following chapters:
 
 
 
 
 
 
 
 
 
 
 
 
 
Build a model Chapter 4.
Acquire seismic data Chapter 5
Amplitude correction Chapter 10
Frequency (1-D) filterin; Chapter 10
Frequency-wavenumber (F&) filtering | Chapter 14
Deconvolution Chapter 14
Sort from shot gathers to CMP gathers _| Chapter 7
Velocity analysis Chapter 7
Normal moveout correction (NMO) __| Chapter 8
Stack Chapter 8
Migration Chapter 9
 
 
Scripts are included for each process. A detailed description of these scripts is the
heart of this Primer.
Experience with the Unix operating system is helpful, but not necessary. Chapter 2
introduces Unix commands and SU scripts.
1.3 A Bit about Seismic Un*x
Seismic Un*x (Cohen & Stockwell, 2002) is a free software package for seismic data
Processing. SU is maintained and regularly updated by the Center for Wave Phenomena
(CWP) at the Colorado School of Mines (CSM). The SU home page at the CWP is:
hutp:/hwww.cwp.mines.edu/ewpcodes/
‘You can download SU from the CWP fip server and install it on almost any Unix system.
The source code is also included, making it possible for you to adjust and expand SU.
The CWP web site also contains links to other useful web sites,
Please read the legal statement that accompanies SU. For your convenience, we make
this available as our Appendix A.
SU is easy to use because it does not require extensive programming knowledge, only
basic Unix commands for file management, pipes, and shell redirection (see Chapter 2).
Although SU can be run from the command line, the most efficient way to use SU is
through shell scripts. Shell scripts let us combine several processing programs into one
"job," similar to commercial seismic processing packages. We first describe Shell scripts
in Chapter 2.
1.4 Computer Note 1: Enter
When we tell you to “enter” something on the computer, we want you to type the
instruction, then press the Enter or the Return key. Pressing Enter or Return tells the
computer to execute the instruction, Merely typing an instruction on a line does not
execute the instruction.
12Introduction
1.5 Computer Note 2: Your Shell
When you enter a command, you are interacting with the Unix shell. There are
several Unix shells: the Bourne shell, the C shell, the Korn shell, the Bourne Again shell
(BASH), and others. All example scripts in this Primer use the Bourne shell; most of
the Computer Notes refer to the C shell.
1.6 Computer Note 3: Changing Directories
1. Open an x-term window and enter pwd (on some computers you have to use ewd)
to see the directory in which you ate now working.
2. Enter 1s to see a listing of the files and subdirectories in that directory.
3. Ifyou have a subdirectory; for example, “work,” enter cd work to change to
that subdirectory, then enter 1s to see a listing within it.
4, When you want to move up one level of directory, entered .. (Yes, that is: cd
space dot dot.)
5. Ifyou enter ed by itself, you will go to your home directory.
6. Hfyouentercd . (cd space dot), you will not go anywhere because the
single dot (period) is a reference to your current directory.
‘The single dot can be usefull. Suppose there is a system calculator called xcale
and, suppose you wrote your own calculator program that is also called xcale. If
you enter
xeale
the system version might start instead of yours. To run your version instead of the
system version, go to the directory that contains your version, then enter
«/xeale
‘The dot slash tells the system to look in the current directory for the program.
4.7 Computer Note 4: Cursor Prompt
Usually, the default computer prompt does not give much information. For example,
Figure 1.1 shows the default prompt when I (Forel) open a new x-term window
Flatspot(1)%
 
Figure 1.1: Forel’s default x-term prompt.
The prompt of Figure 1.1 shows the name of the machine that I am on and the number
of the command (1) that I am about to enter. I think a more useful prompt is one that tells
me which directory Iam in (Figure 1.2).
‘A disadvantage of a prompt that shows the current directory is that as I go to deeper
subdirectories, the prompt becomes longer (Figure 1.3). I am willing to pay this price for
the information that I gain.
13Introduction
    
/home/fore|>
   
Figure 1.2: My new prompt shows the current directory I also changed “%’ to “>”.
 
/home/forel/seismicx/demos/Filtering/sufilter> fj}
 
Figure 1.3: A prompt with a long path name.
To change your C shell prompt, edit your home directory’s shell resource file. The
file “.cshro” is the resource file for the C shell. Yes, the file name starts with a period (.)..
Use any editor you like to add the following lines to your “.cshrc” file.
Note: We use only Unix-based text editors to write and edit shell scripts and resource
files. Many personal computer editors insert hidden format codes that might be wrongly
interpreted by the Unix operating system.
# Make prompt contain "pwd"
alias setprompt ‘set prompt="$cwd>
alias cd ‘cd \!* && setprompt'
alias pushd ‘pushd \!* && setprompt’
alias popd '‘popd \!* && setprompt'
setprompt
The first line is a comment. When the first character is “#,” the entire line is ignored.
After you save your changes, when you open a new x-term window, the system will
read the resource file and use those instructions in the new x-term window. If you want to
use .cshre changes in your current window, enter:
source .eshre
1.8 Your First Seismic Un*x Instruction
Before you can run Seismic Un*x, you must be sure your SU commands will be
interpreted by the Unix operating system. This means SU must be “in your path.” Your
system administrator may have made SU part of your login path or you may have to enter
a command first. The approach we use at Michigan Tech is described in Appendix B.
Let's run a simple program to test that you and your SU environment are working
together. Enter (type the following, then press the Enter or the Return key):
suplane | suxwigh &
You should get a new window with a picture of some synthetic seismic data on your
screen (Figure 1.4). If you do not, ask someone for help.
The style of the above command is:
[program] [“pipe” output data to next program] [program] &
The pipe “I” directs data from one process to another.
4Introduction
You can regain the Unix prompt in your SeismicX window by pressing the return key
(if you supplied & at the end of the command). You can close the graphics window by
using the Unix Close command (the top left button).
Let’s diset
 
s the details of the above command:
© suplane creates seismic data.
© the pipe (the vertical bar) directs (sends) the data to the next program.
© suxwigh (the X-window display program) displays the seismic data on your
screen as wiggle traces.
© The & needs a special explanation. Read the next section.
  
 
The output of your first SU command. The upper-left corner shows
(0.200719,8.05814) because we clicked the middle mouse button at approximately 0.200
‘ms time (the vertical axis is time) and on the eighth trace from the left (the horizontal axis
is trace number).
1.9 Computer Note 5: Background (&) and Foreground Processes
1.9.1. Background Processes
In technical language, using & (ampersand) at the end of a command runs (spawns)
the process in the background. In simple terms, using & does not lock your cursor. Since
your cursor is not locked (frozen) when you use & at the end of a command, you can use
the same x-term to do other things, like submit other processes. For example, the
following command starts the Netscape web browser as a background process:
netscape &
To enter other commands after this one, press Enter again to regain a prompt, then
enter your next command.Introduction
While a process is running in the background, you might need to cancel (kill) it. You
can do this using a Unix utility called top.
1. In an x-term window, enter top
2. The x-term window now shows your most active processes (Figure 1.5) and the
cursor is now in the upper left of the top display (shown as the red box in Figure
TS),
Joad averages: 0.01, 0.03, 0.05
23 processes: 72 sleeping, 1 on cpu
CPU states: 97.2% idle, 0.4% user, 2.4% kernel, 0.0% jowalt, 0.0% swap
grrr: 384M real, 107M free, 131M’smap in use, 2157H swap Fred
PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND
8231 forel 11 48 0 18M 16M Sleep 1:16 0.37% dtmail
9811 forel 4 59° 9 (19M 14% Sleep 0:01 0.198 sdtimage
6942 root 1 $9 0 14dN 101M Sleep 5:26 0.15% Xsun
9809 forel 149 0 2240k 1280K cpu 0:00 0.44% top
9828 forel 125° 5 26M 18M Sleep 0:04 0.00% netscape
Figure 1.5: Screen capture of Forel’s top processes.
3. The left column (PID) identifies process netscape, the Netscape web browser. as
9828. To kill this process, enter
x 9628
4. To exit top, enter q for quit.
Note: You can use top to learn the process ID (PID), then kill the process using a line
command. To kill the Netscape process described above using a line command, enter:
kill -9 9628
The flag *-9” tells kill that you are serious about killing process 9828.
1.9.2 Foreground Processes
When you start a process and don't use &, the new process uses the current x-term
(the process runs in the foreground), which locks the cursor. For example, the following
command starts the Netscape web browser as a foreground process:
netscape
To continue working when the cursor is locked, you must either kill the process that
you just started or you must open a new x-term. To kill a foreground process in an x-term
window:
1. click the window to make it active,
2. hold down the Control key and briefly press the e key (press Control-c).
This kills the process. Because the process dies, the browser window also closes,
1.10 Zoom the xwigh Window
You can zoom the image in the xwigh window. Put the cursor somewhere in the
xwigh window, press and hold down the left mouse button, drag the mouse until the box
encloses the area you want enlarged, then let go of the button,
You can zoom repeatedly. Notice that time numbers and trace numbers correspond to
the zoomed data. Click once in the window to return to the original view.Introduction
 
 
”)
bby
HH]
 
 
 
 
 
 
 
Figure 1.6: Zoom an xwigh window by dragging a box with the left mouse bution. The
lefi image shows the mouse dragging the box. The right image shows the zoomed image.
To return to the original view, click the left mouse button in the window.
1.11 The Demos Directory
The demos directory is a standard part of the SU installation. If you don’t know
where yours is, ask someone. It is full of easy to use demonstrations of many seismic data
processing programs.
Once you are in the demos directory, repeatedly use ed to move around. Use Is and
pwd frequently to see where you are. Notice the many README files. The README
files tell how to use the demonstrations in each directory. You can write README files
to your screen by typing either of the following commands:
cat README
more README
If you use the second command, you can advance the text that appears on your screen
by pressing the spacebar to move to the next page. Pressing Enter or Return scrolls the
display one line.
Exploring (executing) the demonstrations is an easy way to see seismic data
processing!
1.12 Self Documentation in Seismic Un*x
To display documentation for programs like suplane or suxwigb, enter the name of
the program without arguments. "Without arguments" means you enter only the name of
an SU program. For example, enter
suplane
17Introduction
SU interprets this to mean you want information about suplane, so SU prints the program.
help (selfdoc) file to the screen. Below are the first several lines of the suplane selfdoc
file.
SUPLANE - create common offset data file with up to 3 planes
suplane [optional parameters} >stdout
Optional Parameters:
npl=3 number of planes
number of time samples
number of traces
no end-of-plane taper
= 1 taper planes to zero at the end
offset=400 offset
at=0.004 time sample interval in seconds
 
You see that the name stands for “create common offset data file with up to 3 planes.”
(Many SU program names start with “su.”) You also see the default values (values used
when the user does not supply a value) of various parameters, such as the number of
planes (np/=3), the number of time samples per trace (nt=64) and the time sample
interval (di=4 ms). Using default values, each trace is 256 ms long.
1.13 Your Second Seismic Un*x Instruction
Let’s change the command given earlier in Section 1.8. Ent.
suplane npl=2 dt=0.008 | suxwigh &
By supplying values for np/ and dt, you overwrite (replace) suplane’s default values.
Your output (pictured below) has only two planes and each trace is 512 ms long.
 
 
 
 
 
 
Figure 1.7: The suplane command with nwo defaults overwritten: number of planes = 2,
and time interval = 0.008 seconds.Introduction
1.13.1 Computer Note 6: No Spaces around the Equal Sign
Do not use spaces before or after the equal (=) sign
1.14
Other Help Facilities in Seismic Un*x
Various help facilities are described in The New SU User's Manual by John W.
Stockwell, Jr. & Jack K. Cohen; Version 3.2: August 2002. This Manual is available at
the CWP Seismic Un*x web site. In addition to the self documentation described in
Section 1.11, other help facilities include:
suhelp lists all the available programs.
suname lists all programs and libraries with a short description of them.
sudoc followed by the program name gives documentation of the program. This
can work even when there is no selfdoc for the program.
sufind followed by a string searches in all self documentation for this string.
sukeyword lists keys used for headers.
demos is a directory in the SU installation that contains useful scripts.
19Unix Commands and Concepts
2. Unix Commands and Concepts
2.1. Elementary Unix Commands
The following table lists essential Unix commands.
Table 2.1: Unix commands
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Command Description
| The “pipe” connects two processes.
& Run (spawn) a process in the background,
cat Display a text file on the screen. Example: cat zebra. txt
ca Change to home directory or change to directory specified after
space.
ca .. Go up one directory
chmod Change file permissions mode. Example: chmod +x filter.su
cp Make a copy ofa file. Example: cp zebra2.txt zebra3.txt
find Search for (find) files within and below a directory,
Example: find . -name ‘acq*.sh’ -print
1s List directories and files.
Is -a List directories and files, including hidden files (files with a dot
prefix).
1s -1F List directories and files using long format.
man ‘Access Unix (not Seismic Un*x) help (manual) pages.
Example: man 1s
mkdir Make directory. Example: mkdir data
more Display the contents of a text file, one screen at a time. If the file
occupies more than one screen, press the space bar to scroll a page
or the Return (Enter) key to scroll a line.
mv ‘Move or rename a file or directory.
Example: mv zebra2.txt zebra3.txt
 
pwd (or cwd)
Show “present working directory.”
 
 
 
 
rm Remove (delete) a file. Example: rm zebra.txt
rmdir Remove a directory. (A directory must usually be empty before it
can be removed.) Example: rmdir data
Control-c Kill (stop) a process using the active window.
 
 
at