At the time of writing, this book can be run on a variety of computers. You will have noticed that each figure caption contains a box enclosing a label. In the electronic book, this box is a pushbutton that generally activates a rebuilding of the figure, sometimes after program or parameter changes and sometimes interactively. The label in the box points to the location of the underlying software. My associates and I have worked through complete cycles of ``burning'' and building all the figures on various computers. To enable you to do the same, and to further enable you to rapidly build on my work, I have released electronic copies of my books. This short appendix describes the utility software that is used extensively in the electronic book.
Most of the seismic utility software at SEP (SEP) handles seismic data as a rectangular lattice or ``cube'' of numbers. Each cube-processing program appends to the history file for the cube. Preprocessors extend Fortran (or Ratfor) to enable it to allocate memory at run time, to facilitate input and output of data cubes, and to facilitate self-documenting programs.
At the SEP a library of subroutines known as seplib evolved for routine operations. These subroutines mostly handle data in the form of cubes, planes, and vectors. A cube is defined by 14 parameters with standard names and two files: one the data cube itself, and the other containing the 14 parameters and a history of the life of the cube as it passed through a sequence of cube-processing programs. Most of these cube-processing programs have been written by researchers, but several nonscientific cube programs have become highly developed and are widely shared. Altogether there are (1) a library of subroutines, (2) a library of main programs, (3) some naming conventions, and (4) a graphics library called vplot. The subroutine library has good manual pages. The main programs rarely have manual pages, their documentation being supplied by the on-line self-documentation that is extracted from the comments at the beginning of the source file. Following is a list of the names of popular main programs:
Byte Scale floats to brightness bytes for raster display. Cat Concatenate conforming cubes along the 3-axis. Contour Contour plot a plane. Cp Copy a cube. Dd Convert between ASCI, floats, complex, bytes, etc. Dots Plot a plane of floats. Ft3d Do three-dimensional Fourier transform. Graph Plot a line of floats. In Check the validity of a data cube. Merge Merge conforming cubes side by side on any axis. Movie View a cube with Rick Ottolini's cube viewer. Noise Add noise to data. Reverse Reverse a cube axis. Spike Make a plane wave of synthetic data. Ta2vplot Convert a byte format to raster display with vplot. Tpow Scale data by a power of time t (1-axis). Thplot Make a hidden line plot. Transpose Transpose cube axes. Tube View a vplot file on a screen. Wiggle Plot a plane of floats as ``wiggle traces.'' Window Find a subcube by truncation or subsampling.
To use the cube-processing programs, read this document, and then for each command, read its on-line self-documentation. To write cube-processing programs, read the manual page for seplib and the subroutines mentioned there and here. To write vplot programs, see the references on vplot.