- Seismic Unix
Seismic Unix is an open source seismic utilities package supported by the Center for Wave Phenomena (CWP) at the
Colorado School of Mines(CSM).
caption = Velocity Analysis with SU
developer = [http://www.cwp.mines.edu/ CWP]
latest_release_version = SU 40
latest_release_date = release date|2007|05|25
Unix, Linux, Solaris
genre = Technical computing
license = [http://www.cwp.mines.edu/cwpcodes/LEGAL_STATEMENT Reserved]
website = [http://www.cwp.mines.edu/cwpcodes/ Seismic Unix Home]
Einar Kjartansson began writing what is now called SU(the SY package) in the late 1970s while still a graduate studentat Jon Claerbout's Stanford Exploration Project (SEP). He continuedto expand the package while he was a professor at the University ofUtah in the early eighties. In 1984, during an extended visit to SEPEinar introduced SY to Shuki Ronen, then a graduate student at Stanford.Ronen further developed SY from 1984 to 1986. Other students at SEPstarted to use it and contributed code and ideas. SY was inspired by muchother software developed at SEP and benefited from the foundations laid byClairbout and many of his students; Rob Clayton, Stew Levin, Dave Hale, JeffThorson, Chuck Sword, and others who pioneered seismic processing on Unixin the seventies and early eighties.
In 1986, Shuki Ronen brought this work to our Center during aone year postdoctoral appointment at the
Colorado School of Mines.During this time, Ronen aided Cohen in turning SU into asupportable and exportable product.
Chris Liner, while a student at the Center, contributed to many of the graphicscodes used in the pre-workstation (i.e, graphics terminal) age of SU.Liner's broad knowledge of seismology and seismic processing enabledhim to make a positive and continuing influence on the SU codingphilosophy.
Craig Artley, now at Golden Geophysical, made major contributions tothe graphics codes while a student at CWP and continues to makesignificant contributions to the general package.
Dave Hale wrote several of the "heavy duty" processing codes as wellas most of the core scientific and graphics libraries. His knowledgeof good C-language coding practice helped make our package an excellentexample for applied computer scientists.
John Stockwell's involvement with SU began in 1989. He is largelyresponsible for designing the Makefile structure that makes thepackage easy to install on the majority of Unix platforms. He hasbeen the main contact for the project since the first public releaseof SU in September of 1992 (Release 17). AfterJack Cohen's death in 1996, Stockwell assumed the role of principalinvestigator of the SU project and has remained in this capacity tothe present. The number of codes has more than tripled in the 11years, since John Stockwell has been PI of the project.
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 bash scripting techniques.
Many of the programs run simply by a command on the terminal, for instance, to visualize a seismogram, as wiggle tracesor as an image plot
More elaborated routines
It is also possible, to use bash features do 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:
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. [ [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suhelp.html SU Help Page] ]
;Discrete Cosine Transform: [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/dctcomp.txt dctcomp] "Compression by Discrete Cosine Transform": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/dctuncomp.txt dctuncomp] "Discrete Cosine Transform Uncompression"
;Packing: [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/supack1.txt supack1] "Pack segy trace data into chars": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suunpack1.txt suunpack1] "Unpack segy trace data from chars to floats": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/supack2.txt supack2] "Pack segy trace data into 2 byte shorts": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suunpack2.txt suunpack2] "Unpack segy trace data from shorts to floats"
;Wavelet Transforms: [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/wpc1comp2.txt wpc1comp2] "Compress a 2D seismic section trace-by-trace using Wavelet Packets": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/wpc1uncomp2.txt wpc1uncomp2] "Uncompress a 2D seismic section, which has been compressed using Wavelet Packets": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/wpccompress.txt wpccompress] "Compress a 2D section using Wavelet Packets": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/wpcuncompress.txt wpcuncompress] "Uncompress a 2D section": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/wptcomp.txt wptcomp] "Compression by Wavelet Packet Compression": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/wptuncomp.txt wptuncomp] "Uncompress WPT compressed data": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/wtcomp.txt wtcomp] "Compression by Wavelet Transform": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/wtuncomp.txt wtuncomp] "Uncompression of WT compressed data"
Editing, Sorting and Manipulation
;Edit + Tools: [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suabshw.txt suabshw] "Replace header key word by its absolute value": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suazimuth.txt suazimuth] "Compute trace AZIMUTH given the sx,sy,gx,gy header fields and set a user-specified header field to this value": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/subset.txt subset] "Select a SUBSET of the samples from a 3-dimensional file": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suchw.txt suchw] "Change Header Word using one or two header word fields": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sucountkey.txt sucountkey] "Count the number of unique values for a given keyword": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suedit.txt suedit] "Examine segy diskfiles and edit headers": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sugethw.txt sugethw] "Sugethw writes the values of the selected key words": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sukill.txt sukill] "Zero out traces": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sunan.txt sunan] "remove NaNs & Infs from the input stream": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suquantile.txt suquantile] "display some quantiles or ranks of a data set": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/surange.txt surange] "get max and min values for non-zero header entries": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sushw.txt sushw] "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 file": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sutab.txt sutab] "print non zero header values and data for non-graphic terminals": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suwind.txt suwind] "window traces by key word": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suxedit.txt suedit] "examine segy diskfiles and edit headers"
;Sort: [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/susort.txt susort] "sort on any segy header keywords": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/susorty.txt susorty] "make a small 2-D common shot off-end data set in which the data show geometry values to help visualize data sorting"
;Manipulate: [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/fcat.txt fcat] "fast cat with 1 read per file ": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/maxdiff.txt maxdiff] "find absolute maximum difference in two segy data sets": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/segyhdrmod.txt segyhdrmod] "replace the text header on a SEGY file": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suaddnoise.txt suaddnoise] "add noise to traces": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sucmp.txt sucmp] "CoMPare two seismic data sets, returns 0 to the shell if the same and 1 if different": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sudiff.txt sudiff,susum,suprod,suquo] "difference, sum, product, quotient of two SU data sets via suop2": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suflip.txt suflip] "flip a data set in various ways": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suhtmath.txt suhtmath] do unary arithmetic operation on segy traces with headers values": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suinterp.txt suinterp] "interpolate traces using automatic event picking": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sumixgathers.txt sumixgathers] "mix two gathers": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sunull.txt sunull] "create null (all zeroes) traces": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suop.txt suop] "do unary arithmetic operation on segys": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suop2.txt suop2] "do a binary operation on two data sets": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/supermute.txt supermute] "permute or transpose a 3d datacube": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suramp.txt suramp] "Linearly taper the start and/or end of traces to zero": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/surecip.txt surecip] "sum opposing offsets in prepared data": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/recip.txt recip] "sum opposing (reciprocal) offsets in cdp sorted data": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suresamp.txt suresamp] "Resample in time": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/resamp.txt resamp] "Resample the 1st dimension of a 2-dimensional function f(x1,x2)": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suswapbytes.txt suswapbytes] "Swap the bytes in SU data to convert data from big endian to little endian byte order, and vice versa": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sutaper.txt sutaper] "Taper the edge traces of a data panel to zero": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sutxtaper.txt sutxtaper] "Taper in (X,T) the edges of a data panel to zero": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suvcat.txt suvcat] "append one data set to another, with or without an overlapping region. Data in the overlap may be determined by one of several methods": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suzero.txt suzero] "zero-out data within a time window": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/swapbytes.txt swapbytes] "Swap the bytes of various data type": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/transp.txt transp] "Transpose an n1 by n2 element matrix"
Filtering, Transforms and Attributes
;One-Dimensional Filtering: [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suband.txt suband] "Trapezoid-like Sin squared tapered Bandpass filter via SUFILTER": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/subfilt.txt subfilt] "apply Butterworth bandpass filter": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suconv.txt suconv] "convolution with user-supplied filter": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sueipofi.txt sueipofi] "Eigenimage (SVD) based POlarization Folter for three-component data": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sufilter.txt sufilter] "applies a zero-phase, sine-squared tapered filter": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sufrac.txt sufrac] "take general (fractional) time derivative or integral of data, plus a phase shift. Input is TIME DOMAIN data": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/supef.txt supef] "Wiener predictive error filtering": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/supofilt.txt supofilt] "POlarization FILTer for three-component data": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sushape.txt sushape] "Wiener shaping filter": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sutvband.txt sutvband] "time-variant bandpass filter (sine-squared taper)": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suxcor.txt suxcor] "correlation with user-supplied filter"
;Two-Dimensional filtering: [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sudipfilt.txt sudipfilt] "DIP--or better--SLOPE Filter in f-k domain": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sufxdecon.txt sufxdecon] "random noise attenuation by FX-DECONvolution": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suk1k2filter.txt suk1k2filter] "symmetric box-like K-domain filter defined by the cartesian product of two sin^2-tapered polygonal filters defined in k1 and k2": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sumedian.txt sumedian] "MEDIAN filter about a user-defined polygonal curve with the distance along the curve specified by key header word": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sukfilter.txt sukfilter] "radially symmetric K-domain, sin^2-tapered, polygonal filter": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sukfrac.txt sukfrac] "apply FRACtional powers of i|k| to data, with phase shift"
;Transforms and Attributes: [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/entropy.txt entropy] "compute the ENTROPY of a signal": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/mrafxzwt.txt mrafxzwt] "Multi-Resolution Analysis of a function F(X,Z) by Wavelet Transform": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suamp.txt suamp] "output amp, phase, real or imag trace from domain data": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suattributes.txt suattributes] "trace attributes instantanteous amplitude, phase or frequency": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suenv.txt suenv] "Instantaneous amplitude, frequency, and phase via: suattributes": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suhilb.txt suhilb] "Hilbert transform": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suhrot.txt suhrot] "Horizontal ROTation of three-component data": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sufft.txt sufft] "fft real time traces to complex frequency traces": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suifft.txt suifft] "fft complex frequency traces to real time traces": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sugabor.txt sugabor] "Outputs a time-frequency representation of seismic data via the Gabor transform-like multifilter analysis technique": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suharlan.txt suharlan] "signal-noise separation by the invertible linear transformation method of Harlan": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sulog.txt sulog] "time axis log-stretch of seismic traces" : [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suilog.txt suilog] "time axis inverse log-stretch of seismic traces": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/supolar.txt supolar] "POLarization analysis of three-component data": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suradon.txt syradon] "compute forward or reverse Radon transform or remove multiples by using the parabolic Radon transform to estimate multiples and subtract": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sutaup.txt sutaup] "forward and inverse T-X and F-K global slant stacks": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sutsq.txt sutsq] "time axis time-squared stretch of seismic traces": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sureduce.txt sureduce] "convert traces to display in reduced time": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suspecfk.txt suspecfk] "F-K Fourier SPECtrum of data set": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suspecfx.txt suspecfx] "Fourier SPECtrum (T -> F) of traces": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suspeck1k2.txt suspeck1k2] "2D (K1,K2) Fourier SPECtrum of (x1,x2) data set"
Gain, NMO, Stack and Standard Processes
;Standard Processes: [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suagc.txt suagc] "perform agc on SU data ": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sudipdivcor.txt sudipdivcor] "Dip-dependent Divergence (spreading) correction": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sudivcor.txt sudivcor] "Divergence (spreading) correction": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sugain.txt sugain] "apply various types of gain to display traces": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/grm.txt grm] "Generalized Reciprocal refraction analysis for a single layer": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sumix.txt sumix] "compute weighted moving average (trace MIX) on a panel of seismic data": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sumute.txt sumute] "mute above (or below) a user-defined polygonal curve with the distance along the curve specified by key header word": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sunmo.txt sunmo] "NMO for an arbitrary velocity function of time and CDP": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/supgc.txt supgc] "Programmed Gain Control--apply agc like function but the same function to all traces preserving relative amplitudes spatially": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/supws.txt supws] "Phase stack or phase-weighted stack (PWS) of adjacent traces having the same key header word": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suresstat.txt suresstat] "Surface consistent source and receiver statics calculation": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sustack.txt sustack] "stack adjacent traces having the same key header word": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sustatic.txt sustatic] "Elevation static corrections, apply corrections from headers or from a source and receiver statics file": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/sustaticrrs.txt sustaticrrs] "Elevation STATIC corrections, apply corrections from headers or from a source and receiver statics file, includes application of Residual Refraction Statics": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/unglitch.txt unglitch] "clip outliers in data"
;Miscellaneous: [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suacor suacor] "Auto Correlation": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suttoz suttoz] "Resample from time to depth": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suvibro suvibro] "Generates a Vibroseis sweep (linear, linear-segment, dB per Octave, dB per Hertz, T-power)": [http://sepwww.stanford.edu/oldsep/cliner/files/suhelp/suvlength suvlength] "Adjust variable length traces to common length"
Seismic 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 [https://www.cwp.mines.edu/mailman/listinfo/seisunix here] .
You can also see the old posts that the users have already discussed, to do it click [http://www.cwp.mines.edu/pipermail/seisunix/ here] .
Society of Exploration GeophysicistsSpecial Commendation [ [http://www.cwp.mines.edu/cwpcodes/seg/index.html Award 2002] ]
1994 - University to Industry award from the Colorado chapter of the Technology Transfer Society [ [http://www.cwp.mines.edu/cwpcodes/techtransfer/index.html Award 1994] ]
Wikimedia Foundation. 2010.