SEP Software Tour
We freely offer all the software tools that are necessary to
explore our electronic documents or to create electronic documents
yourself.
At the Stanford Exploration Project, we have combined various software
tools to an software environment for research of seismic data
processing. The Figure on the left shows the electronic
version of a reproducible research document. Such an electronic
document represents a directory that contains the traditional
document and all the software needed to compute the included results.
The window at the left displays a TeX document. Any figure caption in
that document comprises a push-button that when pressed issues a
system command to the displaying computer. By default that system call
starts the graphical user interface that is shown to the bottom right
of the screen-dump. The graphics interface allows a reader to choose
several actions: by default the reader can remove, build, and view the
figure. Additionally, a reader can clean the directory of all
unnecessary, intermediate files or individually inspect the files
underlying the document.
A typical project at SEP starts with an idea
and a seismic data set
to test the idea.
The data set usually is already stored in our prefered,
home-brewed SEPlib format.
SEPlib refers to the seismic processing software package that
researchers at SEP developed.
An input data set would be processed by a sequence of simple,
standard SEPlib
routines that are governed by command line parameter specification
and combined by UNIX pipes.
Often a researcher's creative new idea requires a new, special
processing program.
If implementing this program in C or Fortran, the researcher can
take advantage of a rich subroutine library that allows him to
seamlessly integrate his own program in the SEPlib processing sequence.
The author stores the commands that constitute such a processing
sequence in a GNUmakefile.
The GNUmakefile includes all the rules to husband the resources the
author needs. These resources may include a C or Fortran compiler,
perl interpreter, or various preprocessing programs such as Ratfor.
To avoid that every user needs to rewrite the same rules over and
over again, every GNUmakefile includes a set of common rules and
variable definitions. These standard rules comprise rules governing
the reproduction of a documents results.
Additionally, authors write a LaTeX document that describes their
research and their findings. As in many fields of computational
sciences, the results in seismic processing are illustrated by
examples of processed data that are included in the document as
figures. At SEP special TeX macros include a push-button in any
figure caption. That push-button when pressed issues commands to the
GNUmakefile of the document's underlying software directory. It is
that connection that allows a reader efficiently to inspect and reuse
an author's software.
How to down-load SEP's software collection
The following list gives an overview of all the software tools needed
to implement the SEPlib research environment. Each item has a local link to
a dedicated html page that gives more details about
that that particular software and its purpose at SEP. Many of these
resources you may have already on your particular system. If you do
you only need to complement them with the missing tools.
- GNU tools:
We don't distribute GNU software on our site. We maintain, however, links
to several ftp sites that do. You probably need to down-load
gzip and gmake, if your system does support them already.
Additionally, you may have to get gcc, or g77, if your system does not
contain an alternative C and FORTRAN compiler.
- TeX tools:
You do need the common TeX-LaTeX setup. Additionally, you need our TeX
macros, especially the macro that implements the figure caption button
that issues system commands.
- Xtpanel:
We distribute the Xtpanel package on our ftp site. We use the
graphics scripting language Xtpanel for any simple interactions
between the reader and the document. Xtpanel is, however, a full
fledged language and is by far not limited to simple interfaces as we
use in our documents.
- Rafor:
We distribute on our site a debugged version of Ratfor. Ratfor allows
us to use C-like syntax in our Fortran77 code. We write all our
Fortran77 code in Ratfor. It frees us of esoteric Fortran features
such as the strict indention rules, and the loop numbering.
- SEPlib:
We distribute SEPlib from this site. To install SEPlib you will have
to compile several 100 C and Fortran routines. The installation is
fully automatized. However, unexpected portability problems do pop up
from time to time when we port SEPlib to new computer platforms (our
traditional platforms are HP700, SUN4 (SUNOS), and RS6000). The fully
installed SEPlib package occupies approximately 82 M-Bytes of disk-space
(10 M-Bytes source code, 72 M-Bytes executables and object libraries).
During installation the package requires another 60 M-Bytes to store
temporary object files within the source code directory. To use
SEPlib you will need another few 100M-Bytes for the storage of SEPlib
data sets and temporary files (the default is /tmp but at SEP we use
dedicated scratch disk space). To install SEPlib you will have to
have a gmake, and a C and Fortran compiler.
- Make rules:
We distribute our laboratories shared Make rules. Our laboratory
shares a single set of make rules for three reasons: to have a
consistent set of rules for all our applications, to collect the
wisdom of our researchers about computer commands, and to avoid the
re-implementation of standard methods. The rules fall into two groups:
Program rules contain rules for compilation, linking, and installation
of programs. ReDoc rules contain rules for the removal and
re-computation of a documents figures (These later rules are invoked by
the push-button in a LaTeX document). To use SEP's make rules after
installation, the author needs to include the rules in the application
Makefile.
- SEP documents:
We offer more than 6000 pages of SEP research on this web server
(some of them are exclusively accessible to our Sponsors). All
of the recent documents (since approximately 1991) are available
in two forms: as a traditional article in Postscript format or
as tarred and compressed directory. If you have installed the
SEPlib environment as described on this page, you should be
able to yield a reproducible electronic document by down-loading
and untaring this directory. Since, however, these documents
were organized for distribution on CD-ROM rather than the Web,
you may encounter some difficulties in individual
cases.
I suggest to first down-load Jon Claerbout's
books
which are fully self-contained.
To explore SEP's reproducible documents or to write your own
reproducible documents, you will need most of the software
mentioned on this page:
gmake, TeX, LaTeX, Xtpanel, Ratfor, SEPlib, Make rules.
- Scripts:
We have written a few scripts (mostly perl) that help us to
manage and test our documents. If nothing else, they might
serve as sample perl scripts. Have fun!
Other software used at SEP
I consider the software listed above our main tools.
SEP researchers use additional software sometimes.
The main packages are:
- Seismic Unix:
The Seismic Unix (SU) processing system (by our colleagues at the
Center of Wave Phenomena) is amazingly similar to SEPlib. We use SU
mostly to read seismic data that is stored in some unusual format and
that SEPlib's IO routines fail to read. SU's analogue routine proofs
to be very robust.
- Promax:
We use Promax to read data of SEGY format and to write it out as
SEPlib data. SEP wrote the Promax module that converts a data set from
Promax' internal format to the SEPlib format. Additionally, some
researcher at SEP prefer Promax' graphic user interface and its wealth
of processing routines for standard processing.
- AVS:
We are using AVS to visualize 3-D seismic data. We have written
several AVS modules, e.g. one that reads SEPlib dataset into AVS,
and another one that writes a data set from AVS to a SEPlib data set.
Bibliography:
-
SEPhelp
by Karrenbach, Nichols, Dellinger, Schwab, et. al.
© 2007
, Stanford Exploration Project
Modified: 02/20/07, 15:27:41 PST
, by brad
Page Maintainer: webmaster `AT' sep.stanford.edu