Einar Kjartansson began writing what is now called SU (the SY package) in the late 1970s while still a graduate student at Jon Claerbout's Stanford Exploration Project (SEP). He continued to expand the package while he was a professor at the University of Utah in the early eighties. In 1984, during an extended visit to SEP Einar introduced SY to Shuki Ronen, then a graduate student at Stanford. Ronen further developed SY from 1984 to 1986. Other students at SEP started to use it and contributed code and ideas. SY was inspired by much other software developed at SEP and benefited from the foundations laid by Claerbout and many of his students; Rob Clayton, Stew Levin, Dave Hale, Jeff Thorson, Chuck Sword, and others who pioneered seismic processing on Unix in the seventies and early eighties.
In 1986, Shuki Ronen brought this work to the CWP at Colorado School of Mines during his one-year postdoctoral appointment there, Ronen aided Cohen in turning SU into a supportable and exportable product.
Chris Liner (homepage), while a student at the Center, contributed to many of the graphics codes used in the pre-workstation (i.e., graphics terminal) age of SU. Liner continues to promote the use of SU in his students' research at the University of Houston.
Craig Artley, now with the Landmark division of Halliburton, made major contributions to the graphics codes while still a student at CWP and continues to make significant contributions to the general package.
Dave Hale wrote several of the heavy lifting processing codes as well as most of the core scientific and graphics libraries.
John Stockwell's involvement with SU began in 1989. He was largely responsible for the Makefile in the package. He has been the main contact for the project since the first public release of SU in September 1992 (Release 17). After Jack Cohen's death in 1996, Stockwell assumed the role of principal investigator of the SU project and has since remained in that role. The number of lines of code have more than tripled in the 11 years.
There have been many contributors to SU over the past two decades.
The Seismic Unix routines run under the Unix terminal, and can get maximum efficiency when using it with Bourne Shell (sh) or Bourne-again Shell (bash) scripting techniques.
Many of the programs run simply by a command on the terminal, for instance, to visualize a seismogram, as wiggle traces
or as an image plot
It is also possible, to use bash features to elaborate more complex processing structures:
In the example above Seismic Unix will create 100 seismograms in 100 different source positions
Here will have an explanation of how SU data is, it's headers and how they are organized in a big SU file with more than one gather:
--header—data—header—data--...
Seismic Unix has many of the processes needed on the geophysical processing. It is possible to use it to manipulate and create your own seismograms, and also to convert them between the SU standard file and the industry standard, the SEG Y.
Here you can find a list of the programs that the SU package has, with a brief description and a link to its help page.
Discrete Cosine Transformdctcomp 
Compression by Discrete Cosine Transformdctuncomp 
Discrete Cosine Transform UncompressionPackingsupack1 
Pack segy trace data into charssuunpack1 
Unpack segy trace data from chars to floatssupack2 
Pack segy trace data into 2 byte shortssuunpack2 
Unpack segy trace data from shorts to floatsWavelet Transformswpc1comp2 
Compress a 2D seismic section trace-by-trace using Wavelet Packetswpc1uncomp2 
Uncompress a 2D seismic section, which has been compressed using Wavelet Packetswpccompress 
Compress a 2D section using Wavelet Packetswpcuncompress 
Uncompress a 2D sectionwptcomp 
Compression by Wavelet Packet Compressionwptuncomp 
Uncompress WPT compressed datawtcomp 
Compression by Wavelet Transformwtuncomp 
Uncompression of WT compressed dataEditing, Sorting and Manipulation
Edit + Toolssuabshw 
Replace header key word by its absolute valuesuazimuth 
Compute trace AZIMUTH given the sx,sy,gx,gy header fields and set a user-specified header field to this valuesubset 
Select a SUBSET of the samples from a 3-dimensional filesuchw 
Change Header Word using one or two header word fieldssucountkey 
Count the number of unique values for a given keywordsuedit 
Examine segy diskfiles and edit headerssugethw 
Sugethw writes the values of the selected key wordssukill 
Zero out tracessunan 
remove NaNs & Infs from the input streamsuquantile 
display some quantiles or ranks of a data setsurange 
get max and min values for non-zero header entriessushw 
Set one or more Header Words using trace number, mod and integer divide to compute the header word values or input the header word values from a filesutab 
print non zero header values and data for non-graphic terminalssuwind 
window traces by key wordsuxedit 
examine segy diskfiles and edit headersSortsusort 
sort on any segy header keywordssusorty 
make a small 2-D common shot off-end data set in which the data show geometry values to help visualize data sortingManipulatefcat 
fast cat with 1 read per filemaxdiff 
find absolute maximum difference in two segy data setssegyhdrmod 
replace the text header on a SEGY filesuaddnoise 
add noise to tracessucmp 
CoMPare two seismic data sets, returns 0 to the shell if the same and 1 if differentsudiff,susum,suprod,suquo 
difference, sum, product, quotient of two SU data sets via suop2suflip 
flip a data set in various wayssuhtmath do unary arithmetic operation on segy traces with headers valuessuinterp 
interpolate traces using automatic event pickingsumixgathers 
mix two gatherssunull 
create null (all zeroes) tracessuop 
do unary arithmetic operation on segyssuop2 
do a binary operation on two data setssupermute 
permute or transpose a 3d datacubesuramp 
Linearly taper the start and/or end of traces to zerosurecip 
sum opposing offsets in prepared datarecip 
sum opposing (reciprocal) offsets in cdp sorted datasuresamp 
Resample in timeresamp 
Resample the 1st dimension of a 2-dimensional function f(x1,x2)suswapbytes 
Swap the bytes in SU data to convert data from big endian to little endian byte order, and vice versasutaper 
Taper the edge traces of a data panel to zerosutxtaper 
Taper in (X,T) the edges of a data panel to zerosuvcat 
append one data set to another, with or without an overlapping region. Data in the overlap may be determined by one of several methodssuzero 
zero-out data within a time windowswapbytes 
Swap the bytes of various data typetransp 
Transpose an n1 by n2 element matrixOne-Dimensional Filteringsuband 
Trapezoid-like Sin squared tapered Bandpass filter via SUFILTERsubfilt 
apply Butterworth bandpass filtersuconv 
convolution with user-supplied filtersueipofi 
Eigenimage (SVD) based POlarization FIlter for three-component datasufilter 
applies a zero-phase, sine-squared tapered filtersufrac 
take general (fractional) time derivative or integral of data, plus a phase shift. Input is TIME DOMAIN datasupef 
Wiener predictive error filteringsupofilt 
POlarization FILTer for three-component datasushape 
Wiener shaping filtersutvband 
time-variant bandpass filter (sine-squared taper)suxcor 
correlation with user-supplied filterTwo-Dimensional filteringsudipfilt 
DIP--or better--SLOPE Filter in f-k domainsufxdecon 
random noise attenuation by FX-DECONvolutionsuk1k2filter 
symmetric box-like K-domain filter defined by the cartesian product of two sin^2-tapered polygonal filters defined in k1 and k2sumedian 
MEDIAN filter about a user-defined polygonal curve with the distance along the curve specified by key header wordsukfilter 
radially symmetric K-domain, sin^2-tapered, polygonal filtersukfrac 
apply FRACtional powers of i|k| to data, with phase shiftTransforms and Attributesentropy 
compute the ENTROPY of a signalmrafxzwt 
Multi-resolution analysis of a function F(X,Z) by Wavelet Transformsuamp 
output amp, phase, real or imag trace from domain datasuattributes 
trace attributes instantanteous amplitude, phase or frequencysuenv 
Instantaneous amplitude, frequency, and phase via: suattributessuhilb 
Hilbert transformsuhrot 
Horizontal ROTation of three-component datasufft 
fft real time traces to complex frequency tracessuifft 
fft complex frequency traces to real time tracessugabor 
Outputs a time-frequency representation of seismic data via the Gabor transform-like multifilter analysis techniquesuharlan 
signal-noise separation by the invertible linear transformation method of Harlansulog 
time axis log-stretch of seismic tracessuilog 
time axis inverse log-stretch of seismic tracessupolar 
POLarization analysis of three-component datasuradon 
compute forward or reverse Radon transform or remove multiples by using the parabolic Radon transform to estimate multiples and subtractsutaup 
forward and inverse T-X and F-K global slant stackssutsq 
time axis time-squared stretch of seismic tracessureduce 
convert traces to display in reduced timesuspecfk 
F-K Fourier SPECtrum of data setsuspecfx 
Fourier SPECtrum (T -> F) of tracessuspeck1k2 
2D (K1,K2) Fourier SPECtrum of (x1,x2) data setGain, NMO, Stack and Standard Processes
Standard Processessuagc 
perform agc on SU datasudipdivcor 
Dip-dependent Divergence (spreading) correctionsudivcor 
Divergence (spreading) correctionsugain 
apply various types of gain to display tracesgrm 
Generalized Reciprocal refraction analysis for a single layersumix 
compute weighted moving average (trace MIX) on a panel of seismic datasumute 
mute above (or below) a user-defined polygonal curve with the distance along the curve specified by key header wordsunmo 
NMO for an arbitrary velocity function of time and CDPsupgc 
Programmed Gain Control--apply agc like function but the same function to all traces preserving relative amplitudes spatiallysupws 
Phase stack or phase-weighted stack (PWS) of adjacent traces having the same key header wordsuresstat 
Surface consistent source and receiver statics calculationsustack 
stack adjacent traces having the same key header wordsustatic 
Elevation static corrections, apply corrections from headers or from a source and receiver statics filesustaticrrs 
Elevation STATIC corrections, apply corrections from headers or from a source and receiver statics file, includes application of Residual Refraction Staticsunglitch 
clip outliers in dataMiscellaneoussuacor 
Auto Correlationsuttoz 
Resample from time to depthsuvibro 
Generates a Vibroseis sweep (linear, linear-segment, dB per octave, dB per hertz, T-power)suvlength 
Adjust variable length traces to common lengthSeismic Unix has a very large community, with lots of laboratories and researchers on the world using it. There's a listserver group where you can get help and post your questions about SU. To subscribe to it, click here.
You can also see the old posts that the users have already discussed, to do it click here
2002 - Society of Exploration Geophysicists Special Commendation 
1994 - University to Industry award from the Colorado chapter of the Technology Transfer Society