# Seplib and SEP software

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