Ad Hoc Programing – Seismic

Seismic processing in remote locations can be an exercise in improvisation.  Likewise, when a system update leaves the office without vital software while IT scrambles to reverse the damage.  After the first few times, it became necessary to write my own utilities for plotting, geometry application, binning, etc.  I mention this in the Resume, but I don’t think you all are getting the idea.  Hence this graphic presentation.

Excel includes a background Visual Basic interpreter to supply code to  the command buttons you see above.  This utility reads a SEG-Y dataset and uses the parameters entered to write a bitmap of exactly one pixel per sample in Time and one per trace in X.  Grey levels or various color schemes represent amplitude. I did not copy any algorithms, but rather wrote this and many other utilities  “from scratch”. An example of a 5688 trace USGS dataset is  plotted below.
This is a stacked section from a USGS 1978 Marine survey offshore of the Northeastern Seaboard.  The data is a public domain SEG-Y, downloaded from a USGS website.  The header was “built” from USGS metadata and appended in Microsoft Paint.  One second timing lines. Downlines are an option, but too “busy” at this scale.
This utility reads trace headers and allows manipulation and alteration of geometry that is subsequently written back to the headers.  Even header locations as yet unassigned by the Format can be read or written.  These headers are from that USGS SEG-Y, above. Other sheets in the workbook can read and write to the ebcidic reel header or the line header.  Again, all from “scratch”.
To give you some idea of the extent of this activity, I present the directory listing where these Ad Hoc utilities reside.  There are binning applications that read P190 multi-streamer navigation and plot a holoSeis dataset with full fold and near, near-mid, far-mid and far offset partial fold planes.  I even adapted it to multi-boat operation – before PGS had managed that.  Theirs was running on a big augmented Linux box – mine ran on a standard Windows laptop.  Why? Because they stored offset hits in  four-byte integers while I stored them in single  bits. I made a utility to read a SEG-Y trace and write a WAV file.  It needs a sound system with great big woofers, but the result is most impressive.