next up previous print clean
Next: Software installation Up: Free SEP software packages Previous: Free SEP software packages

Software environment

At the Stanford Exploration Project, we have combined various software tools into a software environment for research of seismic data processing. Figure 1 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.

 
xtpanel
xtpanel
Figure 1
The reader interface for reproducible research is only one component of SEP's current computational research environment: A research document at SEP is written in LATEX (Postscript version visible in the background to the left). Using SEP's own LATEX macros, a push-button in each figure caption invokes a graphic user interface written in a script language called xtpanel. The graphic user interface enables a reader to interactively execute the burn, build, clean, and view commands for each individual figure. (The panel is shown in the foreground. The result of make view is shown towards the right.) SEP's ReDoc rules allow an author to easily extend the interactivity of a result figure to additional, application-specific actions.


view

The window at the left displays a TeX document. Any figure caption in that document includes 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 that idea. Usually, the data set is already stored in our preferred, home-brewed SEPlib format. An input data set is processed by a sequence of simple, standard SEPlib routines that are governed by command line parameters and combined by UNIX pipes. A researcher's new process idea usually requires a new program. If implementing this program in C or Fortran, the researcher can take advantage of a rich subroutine library that allows him to integrate his own program seamlessly into 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 manage 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 rewriting the same rules over and over again, every researcher includes a set of SEP-wide rules and variable definitions into his GNUmakefile.

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 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 which allows a reader to inspect and reuse an author's software efficiently.


next up previous print clean
Next: Software installation Up: Free SEP software packages Previous: Free SEP software packages
Stanford Exploration Project
3/8/1999