Resource Geology Seismic Routine Library

9 October 1996

Contents

Gather Algebra Data Type Conversion Documentation
Equalization and Amplitude Recovery Filtering Data and Geometry Input
Header Manipulation Tape Input Migration and Imaging
Modeling Pick Handling Plotting
Stacking and Semblance Analysis Ascii Manipulation Statics
Tomography and Velocity Inversion Gather Muting and Windowing

All of the links on this page are local to the UNRSL Sun network and will not work from browsers running on any other computers. However, if you have a UNRSL Sun account you can alter the URLs of the links to gain FTP access to any of these files. For example, a link immediately below has the URL:

	file:/rg/absval.c
You can gain access from browsers on non-UNRSL Sun machines by changing the ``file'' protocol to ``ftp'' and inserting your user login name and the UNRSL address like so:
	ftp://name@ftp.seismo.unr.edu/data/rg/absval.c
You can copy and paste the URL form above into your browser's ``Open'' dialog and change it to show your own login name and the name of the program you want to view. You will then be prompted to enter you UNRSL Sun login password. Your browser may not let you view the file directly; you may have to save it before opening it with a text or program editor.

Gather Algebra to manipulate data values

Absval.cProduce the absolute value of a stream of binary floats.
Ad.cShift and add corresponding traces of two gathers.
Add.cAdd two streams of binary floats.
Addc.cAdd a constant to a stream of binary floats.
Clip.cClip the extreme values in a stream of binary floats to stated limits.
Copy.cEnlarge by copying each vector of a stream of binary floats a specified number of times.
Ctr.cSubtract the average from a stream of binary floats.
Cull.cCull from a stream of binary floats any large values.
Demean.cSubtract from each trace of a stream of binary floats its mean.
Divide.cPlace the quotient of float arguments on the standard output.
Dot.cMultiply and sum elements of two streams of binary floats.
Double.cEnlarge by copying each element and each vector of a stream of binary floats.
Fac.cMultiply a stream of binary floats by a factor.
Frstsub.cSubtract the first vector of a stream from the next vectors.
Hann.cApply a raised cosine Hanning window to a file.
Inv.cProduce the inverse of a stream of binary floats.
Lim.cProduce 1 if a value in a stream is within limits, 0 otherwise.
Makenull.cGenerate a stream of binary float zeros.
Modulo.cProduce the modulo relative to a value, of a stream of floats.
Mult.cMultiply two streams of binary floats.
Neg.cProduce the negative of a stream of binary floats.
Nonzero.cYield 1 for any value in a stream of binary floats that is not zero, yield zero if it is.
Norm.cNormalize a stream so the maximum value of vectors will be 1.
Quantile.cWrite the value at the specified quantile of each vector of a stream of binary floats to the standard output.
Reduce.cClip the extreme values in a stream of binary floats and then scale them proportionately below the stated limits.
Rev.cReverse the order of a stream of binary floats.
Rms.cPlace the rms of a stream of floats on the standard output.
Rndneg.cRandomly produce the negatives of vectors in a stream of floats.
Sum.cSum the vectors of a stream of binary floats, producing one sum vector.
Unit.cAdjust a stream of POSITIVE floats so each vector sums to 1.
Xinv.cProduce the inverse of a stream of binary floats, with waterlevel.

Data Type Conversion

8bit.cConvert a stream of floats to 1-byte integers, with limits.
Ascii2float.cConvert a stream of whitespace-delimited ASCII to binary float.
Byte2float.cConvert a stream of 1-byte integers to binary float.
Byte2c2float.cConvert a stream of 1-byte 2's-complement integers to binary float.
cVAX.cConvert a stream of VAX floats to IEEE Sun floats.
Int2float.cConvert a stream of 4-byte integers to binary float.
Short2float.cConvert a stream of 2-byte integers to binary float.
Short2c2float.cConvert a stream of 2-byte 2's-complement integers to binary float.

Documentation

Docu.cShow the comments at the head of a C program.

Equalization and Amplitude Recovery

Agc.cAutomatic gain control on unlabeled traces.
Quanteq.cQuantile-based trace equalization.
Sphdiv.cRemove the effect of sherical divergence from a seismic gather.
Tegain.cTrace equalization on unlabeled traces.

Filtering

Ale.cAdaptive Line Enhancement prediction error deconvolution.
Dipfil.cHale's dip filter for band-limited t-x gathers.
Bpfilter.cFilter seismograms by ramped bands specified in Hz.
Filter.cFilter seismograms by ramped spectral windowing.
Rho.cApply the Rho filter of Thorson to labeled gathers.
Smooth.cSmooth a 2-d grid by averaging over a rectangular window.
Videcon.cDeconvolve seismograms by spectral division and Burg extension.

Data and Survey Geometry Input to calculate location headers

Segy2rg.cTranslate one or more field records in a SEG-Y format file to RG format.
Indexsegy2rg.cTranslate one or more field records in a SEG-Y format file to RG format, rapidly using an index to the file created by segyindex.
Segyindex.cCreate a binary index file to a large multi-record SEG-Y file, for rapid reading by indexsegy2rg.
Segycoords.cPrint source point coordinates in a SEG-Y format file.
CusptorgScript to convert CUSP event MEM and GRM files to RG-labeled gathers.
Label.cApply headers to a record section, using geometry info.
Map.cPlot a map from a file of VP coordinates.
Obs.cExpand the regular parts of observers' reports.

Header Manipulation to handle binary gather and trace labels

Getnt.cPlace the nt of a labeled gather on the standard output.
Getnx.cPlace the nx of a labeled gather on the standard output.
Gett0.cPlace the starttime of a labeled gather on the standard output.
Hd.cInterprete trace headers supplied in SEG-Y format
Hdappend.cAppend one file of seismograms labeled with headers to another.
Insp.cInspect a file of seismograms and their headers.
Merge.cMerge a file of seismograms with its stripped headers.
Strip.cStrip headers from a labeled file of seismograms.
Convhd.cTranslate ascii DISCO PRINT output into binary.

Tape Input to handle tapes

Rdrec.cRead non-equally spaced groups of records from a tape,
Seistape.cRead seismic gathers from a tape.
Sortrec.cProduce files of sorted record numbers for seismic data tapes.
Tplook.cExamine a 1/2-in tape for record lengths and file structure.
Viewtape.shInteractively read and plot seismic gathers on tape.
Xtplook.cExamine a SCSI tape for record lengths and file structure.

Migration and Imaging

Aacmig3d.c3-D Kirchhoff migration to multiple lines for vertically-variable (only) velocity, with operator anti-aliasing.
Aakmig.c2-D Kirchhoff migration for arbitrarily variable velocities, with operator anti-aliasing.
Aalatmig.c3-D Kirchhoff migration for (lat, lon) labeled gathers with vertically-variable (only) velocity, with operator anti-aliasing.
Cmig.c3-D Kirchhoff migration to single line for vertically-variable (only) velocity.
Cmig3d.c3-D Kirchhoff migration to multiple lines for vertically-variable (only) velocity.
Cvkmig.cKirchhoff migration of unlabeled data at constant velocity.
Dc.cDownward continuation of zero-offset data.
Fast2d.cFast generation of travel times in arbitrary 2-d velocities.
Kmig.c2-D Kirchhoff migration for arbitrarily variable velocities.
Latmig.c3-D Kirchhoff migration for (lat, lon) labeled gathers with vertically-variable (only) velocity.
Rtkmig.c2-D Arbitrary-V Kirchhoff migration for labeled gathers in reduced time.
Stkmig.c2-D Arbitrary-V Kirchhoff migration for zero-offset gathers.
Stoltmig.c2-D Stolt F-K migration for zero-offset sections.
Tskmig.c2-D Arbitrary-V Kirchhoff migration for CIT seismic database.
Xkmig.c3-D Kirchhoff migration for constant velocity of labeled data.

Modeling for synthetic seismograms

3dmodel4.cFourth-order elastic finite-difference modeling, table driven.
Amod.cAcoustic finite-difference full-wave modeling.
Demult.cFast demultiplex or transpose of stream of floats.
Genmodel.cGenerate velocity and density grids from polygons.
Gentool.cGraphically draw velocity and density polygon models on SunOS 4.x workstations.
Kmod.c2-D, V(x,z) physical-domain Kirchhoff modeling (inverse migration) for shot gathers.
Netrun.shAsynchronous parallel processing using a network of many hosts.
Reflplt.cPlot the P-to-P reflection coefficient for plane waves at a plane interface between 2 homogeneous, isotropic, elastic half-spaces.
Samodel.cAcoustic finite-difference modeling with source arrays.
Shiftgen.cShift tagged polygons in Genmodel input, for 3-d model slice generation.

Pick Handling to deal with picked time and velocity info

Hdaddsum.cAdd, structure by structure, files of binary ampst amplitude statistic structures labeled with headers.
Offs.cRoutines to interpolate time picks for given CMPs & offsets.
Ordervel.cRe-order columns of stripped Viewmat (1) picks.
Makemute.cCreate Offs-format t-x picks from stripped, ordered, Viewmat (1) picks of data volumes.
Makevel.cCreate Veloffs-format velocity picks from stripped, ordered, Viewmat (1) picks of CV stacks.
Picks.cRoutines to yield interpolated times for a given offset.
Pickstrip.cRemove labels from picks made in Viewmat (1).
Veloffs.cRoutines to read and interpolate velocity picks.
Vels.cRoutines to yield interpolated velocities given CMPs and times.
Vmodel.cProgram to yield velocity matrix interpolated from picks.

Plotting of various types of information

Ampplt.cPlot amplitudes with respect to offset.
Clayplot.cMake a variable-area-wiggle-trace plot from an unlabeled gather.
Map.cPlot a map from a file of VP coordinates.
Migplot.cPlot a labeled migrated section as in Radplot, with depth axis.
Pickplot.cPlot a seismic gather as in Radplot, with time picks made on it.
Plot.cSimple plotting routines yielding IGL.
Psigl.cConvert IGL plot description to PostScript.
Psplot.cSimple Calcomp-style plotting routines yielding PostScript.
Psun.cPlots IGL-described plot on workstation.
Radplot.cPlot a labeled seismic gather according to offset (IGL version).
Radplotps.cPlot a labeled gather according to offset (PostScript version).
Radrast.cQuick raster plot of a labeled seismic gather.
Rastsize.cFind the dimensions of a Clayplot-style rasterfile.
Sunras-ps.cConvert Sun rasterfiles to PostScript format.
Traceplot.cPostScript plots of single or multiple wiggle traces using Viewmat (1) style parameters.
Viewmat.cVariable-density or color viewing and PostScript plotting of matrices and volumes of binary data on a SunOS 4.x workstation.
Xmap.cView labeled traces relative to geography and well data in X Windows.

Stacking and Semblance Analysis

Array.cExamine slant stacks of two lines of receivers for directions.
Cmpstack.cCMP sort, velocity analysis, stack, and AVO analysis.
Dix.cSimple solution of Dix interval velocities by manual entry.
Extract.cFind expected amplitude of focused signal (Harlan).
Frstack.cCalculate gather spectral semblance to thin layer models.
Hist.cFind standard deviation and amplitude histogram of a stream.
Latcmpstack.cCMP sort, velocity analysis, stack, and AVO analysis for (lat, lon) labeled gathers.
Nonlin.shRemove most linear arrivals of a gather.
Radon.cSlant stack unlabeled gathers into the intercept time-linear angle domain, or vice-versa.
Rtcmpstack.cCMP sort, velocity analysis, stack, and AVO analysis for labeled gathers in reduced time.
Slant.cP-tau transform by slantstack, forward and inverse.
Stack.cNMO correction, velocity analysis, stack, and AVO analysis.
Sum.cSum the vectors of a stream of binary floats, producing one sum vector.
Vsem.cNMO transform to velocity space, with inverse transform.

Ascii Manipulation to aid shell scripts

Hdmax.cPlace the maximum of a labeled gather on the standard output.
Idiv.cPlace the integer (truncated) quotient of float arguments on the standard output.
Max.cPlace the maximum of a stream of floats on the standard output.
Min.cPlace the minimum of a stream of floats on the standard output.
Plus.cPlace the sum of float arguments on the standard output.
Prod.cPlace the product of float arguments on the standard output.
Rmnl.cReplace newline characters in a stream with spaces.
Rmnlnsp.cRemove newline characters from a stream.

Statics for time and amplitude evaluation

Stathist.cDelay and amplitude static collection and plotting.
Static.cPick arrival times automatically to find delays and amplitudes.
Statrm.cKluge to remove offset-dependent amplitude static from gather.

Tomography and Velocity Inversion

Conjgrad.shConjugate-gradient iterative slowness back projection example script.
Getalpha.cReturns conjugate-gradient alpha parameter from command-line inputs.
Getbeta.cReturns conjugate-gradient beta parameter from command-line inputs.
Gradst.shGradient-step iterative slowness back projection example script.
Hestenes.shHestenes-Stieffel conjugate-gradient iterative slowness back projection example script.
Steep.shSteepest-descent iterative slowness back projection example script.
Wideray.shConjugate-gradient iterative slowness back projection with ray error.

Gather Muting and Windowing

Ddwindow.cData block copying like UNIX dd (1) with long word parameters.
Flatten.cFlatten a 3-D binary float volume by stacking or selecting along one of the 3 directions.
Hwindow.cCopy a window of a labeled 2-dimensional data gather.
Mute.cMute a gather of seismic data by interpolating picked mutes.
Shft.cShift vectors in a stream of floats, and pad the ends with 0s.
Tile.cTile windowed data back into a larger output file.
Window.cWindow or decimate an unlabled 1-, 2-, or 3-d data gather.