babs.c rectify seismic traces bagc.c automatic gain control of traces (scale in time and space) ba2s.c FORMAT CONVERSION: ASCII TEXT ---> BSEGY (no geometry setting) bamp.F90 amplitude analysis by frequency (K-V Solid)Downhole Sph. Div. bamx.F90 amplitude analysis by frequency (K-V Solid)SurfaceWaves Cyl.Div bbal.c balances two data sets to have same MAV (mean absolute value) bcad.f plot seismic traces as CAD (*.dxf; digital exchange file) bcar.c apply moving average (box car) filter as function of time bcnv.c FORMAT CONVERSION: BSEGY <---> SEG-Y (BSU=*.seg, SEG-Y=*.sgy) bcrd.f coordinate rotation and translation, BSEGY geometry headers bdat.c datuming program for refraction data (easier for picking) bdcn.f deconvolution (profile or trace mode), prediction or error out bdif.f differentiates w.r.t. time using Bilinear Transform method bdum.f generate dummy data set with user defined impulse position bdump.f generate a dump of selected BSEGY header values bedt.f edit BSEGY seismic file (traces, time, sample interval, etc.) bequ.c trace equalize data by L2 norm or Maximum Absolute Value bext.c extract traces from a merged data set based on header values bfil.f ARMA FILTER of seismic traces (low-, band-, or high-pass) bfit.f Solves for interval velocity from times in headers (VSP) bftr.f FILTER traces with other *.seg traces, or namelist from bdump bfxt.f F-X Transform of seismic traces bgar.c exponential GAIN recovery, by range specification bgaz.c exponential GAIN recovery, by depth specification bhed.f up/down load selected header information from/to a text file bhelp.c this listing of BSU package contents bhod.F90 hodogram by PCA to determine down-hole tool orientation bint.f numerical integration of seismic traces (trapezoidal rule) bis2seg.c FORMAT CONVERSION: BISON ---> BSEGY (no geometry setting) bkil.f either kill (delete) or zero seismic traces bmed.f median mix of seismic traces (spatial) bmix.f mean mix of seismic traces (spatial) bmrg.f merge traces from many files to a single file bmrk.f mark first break picks with a delta function on waveform bmst.f MASTER illustrates programing in BSU, FORTRAN bnez.c GEOMETRY: Create survey *.nez (Northing,Easting,Elevation) file bnfd.c MODELING: computes near and far field in elastic whole space bnos.f MODELING: generate band-limited random noise traces boff.c computed source to receiver offset and add to headers bpic.f automatic first break picker, or inserts picks from a file bplt.c plot seismic traces X11|PS|XFIG|JPEG|PDF formats wt,va,blk/gry brdc.f remove DC bias from traces bred.f apply linear or hyperbolic correction in time to traces bref.f delay time refraction analysis setup brev.f reverse either channel order or sample polarity brot.f rotate seismic traces (3-component data) brpt.c remove pretrigger (updates header and static shift data) brsp.f resample data in time (augmentation with zeros in freq domain) bscl.f scale data set with user provided, or data derived factor bsdc.f show DC level in seismic traces as %MAV (mean absolute value) bshf.f apply a static shift to seismic traces (shift in time) bshp.f Wiener least squares shaping filter bsrt.c sorts traces by offset bstk.f stacks traces in a gather (number traces out=number in) bsum.c weighted sum of two data sets: file_out = file1 + C*file2 bswp.c byte swap a BSEGY or SU data set (toggle endian) btor.f applies geophone orientations to trace headers (from PCA) bvas.F90 measures body wave velocity dispersion (Kelvin-Voigt solid) caplot.F90 PostScript plots of combined bvas and bamp runs bvax.F90 measures velocity dispersion on surface data bvel.f apply correctional velocity (linear with range) Down-Hole bvsp.f down-hole travel time inversion with ray bending bwht.f non-linear whitening program (agc applied to bank of filters) bwin.f window the data aperture with raised cosine tapers bxcr.f cross (or auto) correlation, output to BSEGY data set tplt.c plot a single trace, pipes to GNUPLOT and writes gnuplot file qplt.c plot all traces (scaled by max abs) pipe to GNUPLOT and write a gnuplot file (qgraph.gp) gendis.f helper program to build namelist file for program disper.f disper.f computes dispersion curves for Rayleigh waves (see also waves) showmdl.f show model in disper.d file genwav.F90 Helper program to build namelist file for program waves.f waves.F90 computes synthetic Rayleigh wave only seismograms (see disper) cmst.c MASTER illustrates programing in BSU, C-LANGUAGE egg2seg.c FORMAT CONVERSION: EEG's SEG-2 ---> BSEGY (no geometry) seg2txt.f FORMAT CONVERSION: BSEGY ----> ASCII (Octave/Matlab) seg2csv.c FORMAT CONVERSION: BSEGY ----> CSV (comma separated value) CSV files can be input into spread sheets seg2dump.c RAW DUMP of SEG-2 data file to text listing. genb2s.f BASH SCRIPT GENERATOR: sets up a block of bis2seg runs genbhod.f BASH SCRIPT GENERATOR: sets up for PCA analysis s-wave source genbhodV.f BASH SCRIPT GENERATOR: sets up for PCA analysis vert. source genbrot.f BASH SCRIPT GENERATOR: sets up for run of brot on many files genref.f BASH SCRIPT GENERATOR: for geometry setting on pattern, CDP gensetg.c generates control files for geometry setting, setgeom program genvsp.f BASH SCRIPT GENERATOR: setting geometry for down-hole surveys halfsp.f computes motion-stress vectors and velocity of Rayleigh wave lamb.c MODELING: computes solution to Lamb's problem (Vp/Vs=sqrt(3)) picrestore.f Restore suxpicker picks on data reduced by bred.f setgeom.c Sets geometry for reciprocal refraction shooting (see gensetg) genwaw.c Interactive, Set geometry and convert SEG-2---->BSEGY (genwaw good use is for walk-away shooting) top2dxf.f FORMAT CONVERSION: Survey NEZ (*.nez) ---> CAD (*.dxf) top2nez.f FORMAT CONVERSION: RAW TOPCON ---> Survey NEZ (*.nez) topbcrd.f apply coordinate translation and rotation to Survey NEZ (*.nez) topcon.f combines NEZ with BISON file --->*.xyz file Run bhed on *.xyz topcon2.c combines NEZ with EGG SEG-2 ---> BSEGY with geometry traplt.f line printer style plots of samples and spectrum C-FUNCTIONS: bargrid.c draw a progress bar grid to screen (stdout) c_boxit.c apply a running average (box car) filter to a signal c_bsegin.c read a seismic trace in BSEGY format c_bsegout.c write a seismic trace in BSEGY format cr_labl.c write a copyright label to screen (stdout) exbar.c draw progress bar to screen (stdout) fcr_labl.c write a copyright label to a file findxyz.c extract geophone and source coordinates from headers fmax_min.c compute maximum and minimum value in a signal, and indexes fnorm.c compute L2 norm of a signal hlp_labl.c print a help label to screen (stdout) in_chk.c scan a data set for number of traces, sample interval, etc. lsqufit.c least squares fit, straight line function: y=mx + b mav.c compute mean absolute value of a signal names.c build file names from process ID onepole.c perform a single pole (Z-plane) filter xdrfloa.c IBM functions to convert between IEEE and IBM floats FORTRAN SUBROUTINES: agc.f apply Automatic Gain Control (AGC) on a signal arma.f apply an Autoregressive Moving Average (ARMA) filter bnoise.f compute band-limited random noise boxit.f apply a running average (box car) filter to a signal bsegin.f read a seismic trace in BSEGY format bsegout.f write a seismic trace in BSEGY format cfilt.f design a bank of band-pass digital filters chktrc.f scan a data set for number of traces, sample interval, etc. conv.f apply a selected filter out of bank designed by cfilt.f conv2.f time domain convolution of two signals cross.f E. A. Robinson's cross correlation subroutine cshift.f shift traces in frequency domain by phase rotation czero.f zero a complex signal demult.f demultiplex a complex trace into real and imag. parts dot.f E. A. Robinson's inner (dot) product between two vectors drum.f E. A. Robinson's phase unwrapping subroutine (modified by pm) eureka.f E. A. Robinson's solution by Levinson Recursion findxyz.f extract geophone and source coordinates from headers flist.f line printer style plot of a complex signal (spectrum) fmed.f bubble sort on a vector, returns median value fold.f E. A. Robinson's convolution subroutine l2norm.f rescale a seismic signal by its L2 norm nlogn.f E. A. Robinson's Fast Fourier Transform (Radix 2) nrad2.f determines the first power of two larger than a given value pltbar.f draw progress bar to screen (like bargrid.c and exbar.c) polar.f E. A. Robinson's conversion from rectangular to polar form rand.f CMLIB: generates uniform pseudo-random number rect.f convert complex numbers from polar to rectangular form runif.f CMLIB: calls rand.f to generate longer period random sequence shape.f E. A. Robinson's least squares shaping filter tlist.f line printer style plot of a signal (also lists values) vshft.f shifts a signal by linear interpolation of samples xcor.f cross correlates two signals xcor1.f one sided autocorrelation of a signal xmax.f find maximum and minimum values in a vector C-INCLUDE FILES: Source Code Directory=bsu-3.0.0/src/C/include/ Installed Directory=/usr/local/include/bsu-3.0.0/ c_bsegy.h BSEGY header structure sub4.h prototypes of library functions FORTRAN INCLUDE FILES: Source Code Directory=bsu-3.0.0/src/Fort/include/ Installed Directory=/usr/local/include/ bsegy.inc BSEGY header declaration and equivalence statements bsegy.f90 BSEGY header declaration and equivalence statements OCTAVE/MATLAB CODES Octave: Installed Directory=/usr/local/share/octave/site-m bsegin.m Reads seismic traces in BSEGY format bsegout.m Write seismic traces in BSEGY format segyinfo.m Scan a BSEGY file traplt.m Plot a signal from a BSEGY data set and its spectrum segpic.m Pick first breaks using mouse on waveform profplot.m Plot all traces in a file, simple waveform format yulewalker.m Plot all pole spectrum of seismic trace or from an autocorrelation signal as input. DOWN HOLE SOFTWARE Octave/Matlab hodoplot.m Plot hodogram (two channels in same file) hodo2plot.m Plot hodogram (channels in two different *.seg files) seisazi.m Plot header azimuth of receiver component (intended for use prior to rotation to a constant az) vfitw.m Least Squares fit to first break down-hole data vplot.m Nice plot of vfitw.m results cainv3.m Kelvin-Voigt inversion of down-hole (VSP) data (requires bvas.his and bamp.his results) caplot3.m Nice plot of cainv3.m results cafwd3.m Forward modeling, Kelvin-Voigt computes dispersion REFRACTION SOFTWARE Octave/Matlab direct.m Direct wave analysis for overburden velocity delaytm.m Delay time analysis of refraction data conventional delaytmR.m Delay time analysis of refraction data reciprocal refplot.m First break analysis (apparent velocity, intercept) SURFACE WAVE SOFTWARE Octave/Matlab rayleigh.m Example on how to dynamically link rwv.f for dispersion curve computation in Octave environment. moho.m Example similar to rayleigh.m, but plots dispersion as a function of period. FwdR1.m Forward problem, Rayleigh wave given bvax results to compare to. model.txt is a file with 3 rows describing the soil profile. Example (nlay=3) nlay v1 v2 v3 z1 z2 z3 invR1.m Inverts a dispersion curve from bvax results (bvax.his) Truncated Singular Value method employed. Starting model in model.txt as in FwdR1.m above. SASW.m Spectral Analysis of Surface Waves Data= two time domain signals from a *.seg BSEGY data set. Computes required cross-spectra and coherence saswv.m Spectral Analysis of Surface Waves Data= Cross-Power Spectrum and Coherence, text file dx32f.txt sample data from NGES, Texas A&M Georisk 2011 Dispcurve.m Example program computes dispersion from spectral record Data= Frequency spectra recorded at many offsets 20mSourceOffset.mat sample data Christchurch New Zealand GeoCongress 2014 ASCE meeting, see GSP 234-235 PseudoTime.m Example program computes time series from recorded same frequency spectra data set as in Dispcurve.m above kvKVMBscan.m Kelvin Voigt to KVMB damping ratio for frame:water mass kdKVMBscan.m KV damping ratio vs hydraulic conductivity for porosity fqKVMBscan.m KV damping ratio vs frequency for hydraulic conductivity KD4kvmb.m Wave stiffness,damping + porosity solution hydraulic c. SCRIPTS: Installed Directory=/usr/local/share/bsu/scripts Example scripts which can be customized as needed. xplot X11 Plot waveform data using BSU program bplt psplot Postscript Plot wavform data using BSU program bplt xPlot-su X11 Plot waveform data using Seismic Unix (SU required) psPlot-su Postscript Plot wavform data using Seismic Unix rename-btor Automated renaming of files after btor execution mergeplots Concatonates group of Postscript files into a single PDF Merge-all Script to process all combinations of VSP data Merge2 VSP processing if load cell + 3 downhole + 3 ref. phones Merge VSP processing to P-wave and SH-wave data sets DOCUMENTATION: Installed Directory=/usr/local/share/doc/bsu README bsu-user-guide3-2.pdf (pdf user guide) bsu-html.tar.gz (html user guide) man-bsu3-html.zip (html man pages)