Most of the seismic utility software at the Stanford Exploration Project (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.