VAPSDB3 Released

January 30th, 2018

The first version of VAPSDB3 is now finished. Currently it will show:

  • Comparative Statistics
  • Time vs Status
  • SS/DS3/DS4 Time vs Offset
  • Source Patterns
  • Areal Displays of attributes
  • Scatter Graphs of Attributes
  • Source Availability and VP rate
  • Historic displays of Attributes.

It handles very large data sets and is much faster than VAPSDB2

More here:

And the User manual here:


A New Year and VAPSDB3

January 1st, 2018

Hopefully 2018 will be a better year than the last two. I am not all that hopeful though. Far too many have bought into the renewables scam. It will probably be 10 or 15 years before people wake up and realise that renewables can supplement energy production, but not replace conventionals.  It will be a very expensive awakening.

VAPSDB3 is still moving along. A bit slower than I hoped, but the new features are worth the effort.

Now have the Areal displays done:

And Vib Patterns/COG offsets:

Next a tidy up of the user interface and it should be ready for testing. Just need a crew to test it on.

VAPSDB3 Progress

December 8th, 2017

The program is coming along slowly but steadily.

Now have the Stats section done:

The results are now in a scrollable panel, which overcomes one of the big problems I had with VAPSDB2 and a large number of vibrators. You can also specify the number of panels across and create custom selections to display only/all the information you want


A new one is DS3 and DS4 Time Distance checks:

Here a DS3 check. Numeric results can be output as CSV, Text or XML.

Rules can be easily defined in much the same way as in the recorder.


Next on the agenda is Areal displays and Vib Deviation displays.

Hopefully by this time next month, the whole thing will be ready for full on testing.

I just need some work so I can test it.

SITA508 Updates and VAPSDB3

November 13th, 2017

Some updates to SITA508 –

  • You can now output listings to CSV as well as Text and XML
  • Graphics can now be saved to PDF and Printed
  • Scales and limits can be specified for Field Noise Tests
  • Line graphs can now be segment style or continuous lines
  • And some other fixes and minor enhancements

See here for more info:

And the updated user manual here:

I am now working on VAPSDB3. It is much faster than VAPSDB2 and can handle huge date sets so will overcome one of the major problems of VAPSDB2.

So far, have Scatter Graphs, Time-Status, Availability and Production Rate and History



Still a lot to do, but it is coming along well.


SITA 508

September 25th, 2017

SITA508 will process Sercel508 Instrument test results from the recorded SEGD files. (Limited to FDU tests only)

This allows you to verify that the Sercel or other 3rd Party results are valid. It also gives you a way to see if numeric results have been edited, which is rare, but has been known to happen.
It is very easy to use. Simply point it at the folder where the test files reside and the program does the rest.
Currently the following tests can be processed by SITA508:

FDU Noise
FDU Gain Error
FDU Phase Error
FDU Distortion
FDU Pulse
Sensor Noise
Sensor Resistance
Sensor Pulse
Sensor Tilt

More information and the user manual here

Hosting Provider Update

September 5th, 2017

A couple of weeks ago, my hosting provider migrated the site to a new server and for them, a new platform.
For a variety of reasons it didn’t go all to plan.
The first problem was my side – I updated the .htaccess file just before the migration started
and then found the site could not be accessed at all.
I thought it was due to the migration, but I had screwed up the .htaccess file.
Once that was fixed, I found I wasn’t getting email.
That was something on the hosting side.
All’s well that ends well though, it all seems to be up and running now.
But any email sent to me between 22-August and the 1st September have probably been lost.

Lots of people seem to be visiting the Donate page:

But no one donates. I will bear this in mind with future software offerings.
I am getting quite sick of supporting people in an industry that doesn’t want to support me.

SEGD Header Scanner

August 12th, 2017

My latest Header scanner available here:

With it you can not only view decoded File Headers, you can Copy/Move/Delete and Rename files based on selections.

SMSFS handles both SEGD 2.1 and the latest abortion SEGD V3, so you can look at files from SN408/428 and the 508, along with Unite and DSD464 GF files (if they are SEGD)

Displayed attributes are specified in Setup.

You can arrange the display order to suit your needs.

Header Decodes are available for any loaded file.

There is more work to do on it, like adding the ability to output SPS, but that will have to wait.



SM Refract Savitzky-Golay Smoothing

June 13th, 2017

Added Savitzky-Golay smoothing as a filter option in the latest version.

A description of the algorithm can be seen here:

It essentially acts as a type of High Cut filter. Below, an unfiltered shot display

And here the same with an SG Filter applied:

As you can see below, it is not spectrally smooth, but can be quite useful in cleaning up noisy displays.

                     5 Point                                          9 Point

           19 Point                                       25 Point


As the program has not garnered much interest, I am suspending development of it for now.

There doesn’t seem to be much point in developing QC tools for an industry that doesn’t want them, or me.

I need to find some way of making some money, and this isn’t it!


The latest User Manual can be downloaded here:

SMRefract MultiPhase

June 6th, 2017

The latest version adds a Relative Phase display, accessed from the Relative Spectra Page.

Not a particularly elegant user interface, but it’s not something that will get a lot if use unless it is really needed.

Here a display of selected traces from a DSD GF file.

Possibly interesting for those who claim to understand the intricacies of vibrator control systems, but is likely to create all sorts of confusion for the rest of us.

Especially as any trace can be selected as the reference from which the phase difference is calculated, producing a totally different plot:

For diagnostic and research purposes it might be quite useful though, if interpreted carefully.


The latest user manual can be downloaded here:


SMrefract update

May 26th, 2017

Added a new display mode. I call it 3 Point Fill (3PF)
It is essentially the ‘Phase’ Scheme much beloved by processing types.

I don’t like it much, but it was relatively easy to implement and does produce some very colourful results.
If you like that sort of thing.

The latest user manual here:

Nong Khai and a Funeral

May 21st, 2017

Anyone who was in Bangkok in the 80s and involved in the oilfield would probably have known the Cock and Bull/Joker Club on the corner of Sukhmvit Soi 19.
Some may have met Peter Ernhjelm, the Swedish Owner.

Sadly Peter died early this month at 76 years old. He had been bedridden for some time after a stroke several years ago.

Peter was quite a character, and there are many good stories to be told about him. One involving a pig, but that is best told by people who knew him better than I. One that does stick in my mind though, is from about a dozen years ago on a visit to Laos.
At the time, Peter was the manager/part owner of the Taipan Hotel in Vientiane. It had a quiet, but very nice bar.
Peter was a connoisseur of Vodka, and quite capable of consuming vast amounts of it.
One of his favourites was a black Vodka, that he made by adding Anise or Licorice or some such. It was actually quite nice in small amounts.
The problem this time was that he had run out of the secret ingredient, but that didn’t stop him.
I remember him proudly pulling out a bottle with a lot of black sediment in it and then sheepishly explaining that the sediment was Laser-jet toner.
I was not interested in trying it, but I had to ask him what it was like.
In his dry, almost expressionless Swedish accent he says “It is not too bad”
So there you have it, vodka and laserjet toner as an aperitif.

His funeral was at Wat Meechai Tung in Nong Khai on the 11th May. It was a small turnout, but respectable given the short notice.
He will be missed.

On a lighter note, after the funeral, we traveled north and west along the river to Chiang Khan and then south to Loei.
From there west to Phitsanuloak, Sukhothai and Maesot. We had a day in Maesot with a quick trip over to Myawady in Burma.
Both Maesot and Mayawady were a little disappointing. Probably won’t bother going again.

We then headed back to Sukhothai, which was much more interesting. To the west of Sukhothai is an historical park. Well worth the visit. It is easy to spend a day there. Bicycles can be rented for the princely sum of 30 Baht per day – and to get around it all, you need one.

About 50Km north is another large historical site, but we didn’t have time to get there. Maybe next year.

After Sukhothai, a night in Phitsanulok, with a visit to the Wat Cham/old palace ruins – there is a new museum there which explained the history of the area, and Wat Phra Sri Rattana Mahatat Woramahawihan, which is highly revered.

And then back to Bangkok.

More pictures here:




SMRefract Another Update

May 6th, 2017

Three quick updates:

  • Refraction report now displays the geometry/pick list for more than 24 picked channels. If 24 or less, then the table remains, if more than 24, then the tables are printed on a second page. Use the ‘Next’ button in the top menu to toggle between the graphic and the list
  • Added ‘Notch Alt’ function for improved Notch filtering
  • Added ‘Remove DC Offset’ option in Setup to allow for optional removal of DC Offset

The most interesting being the New Notch filter

Although the ‘standard’ Notch filter is quite effective at attenuating the requested frequency, it has the undesirable side effect of introducing ringing.

Above is an unfiltered display with obvious power line noise

Below is the same record with the Standard Notch filter applied:

Although the Power line noise has been well attenuated, the ringing introduced is not really acceptable.

The new Notch filter shown below pretty well fixes this:

The Power line noise is gone, but the rest of the record is preserved.


The SMRefract page is here:


The user manual is available here:




SMRefract updates

May 2nd, 2017

A bunch of updates over the last couple of weeks:

• Improved Velocity Pick Display (Opaque background for value)

• Fixed crash on exit slice display without cancelling first. (A bugger to find: In programming as in life, one should never assume.)
• Weak Traces display now honours changes made in setup when close setup page
• Weak traces now include an offset limit for calculations (no limit is applied for noisy traces)
• Added support for Sercel GF files, both SEGD and SEGY. Channel names will be automatically assigned if viewing in MultiTrace
• Added ‘Control A’ function to select (up to) the first 12 traces in a file. Very useful with GF files
• Added Auto Trace Label feature. Only applies to SEGD V3 files. If enabled in Setup, the first 100 traces will have trace names assigned based on the SEGDV3   Trace Label header entry. This is only likely to be useful for similarities and only if the recorder operator assigns channels properly. The limit of 100 is to enhance loading speed and in any case anyone simming such a large number of vibs is likely doing it to show off.
• Added code to show available traces if less than specified number. IE if only 24 traces in a file, but 250 traces specified for display, now, the 24 will be displayed properly spaced. The original setting of 250 is saved so if opening a big file next time, it will display as expected.
• Added Autolabeller to Multitrace. You can label selected traces based on a trace attribute, and load and save label sets.


The latest User Manual can be downloaded from here:

Still some more to do, but it’s coming along well.

SMRefract now supports Sercel UNITE

April 21st, 2017

Some more updates to SMRefract.
Added support for UNITE and a new feature of Relative Spectra displays to Multitrace.

Relative Spectra is resizable and customisable.
The latest manual can be downloaded from here:

More SMRefract

April 7th, 2017

Continuing work on SMRefract.
The latest major feature is Header Decodes.
Full decoding of SEG2 and Sercel 408, 428 and 508 are complete, along with the file headers of SEGY files.

The 508, being SEGD V3 was quite tedious.
SEGD V3 really is an awful format. And as it stands is not even a viable standard.
Sercel were forced to use ‘optional’ blocks to provide needed information, the problem is that
other manufacturers (US ones most likely) will probably use the same block IDs.
The answer of course is to drop SEGD V3 completely and develop a sane, sensible format.
But without the input of the SEG “Standards Committee”

(Need I mention SaneSeis:

The scary thing is that these same idiots are apparently planning a new version of SEGY.
Considering the mess they made of SEGD, I dread to think what they will come up with in SEGY.


More details on updates to SMRefract, and the latest user manual can be found here:

SMRefract – my latest Seismic Data viewer

February 10th, 2017

It has taken a while, but I have finally finished the viewer.

When I say finished, I mean it is ready to be used – it will be a work in progress for a long time.

It handles

  • Sercel 408 and 428 SEGD
  • Sercel 508 SEGD V3
  • Sercel UNITE SEGD V1.0
  • SEGY
  • SEG2 (From Geometrics, maybe from other vendors too)

As well as the usual shot display and filter capability, it can show

  • FFT of a selected zone
  • Zoom on a selected zone
  • Full spread status
  • Single trace
  • Selected traces (up to 12) from anywhere in the record
  • Decoded Headers
  • Line profiles of available statuses
  • Weak and noisy traces
  • Refraction calculations

It also incorporates a database to keep track of failed stations (although this is in the early stages)

I am not making it freely available as I am currently out of work.

But if curious, you can download the user manual by following the link from here:

I will probably be prepared to provide a copy to anyone who can get me steady work.

New Seismic Viewer

March 28th, 2016

The new Seismic Viewer is coming along well, albeit a little slowly. I still need a good name for it though.

As well as the basic viewer, it now produces Single trace displays:

SMR Single Trace-s

MultiSelect displays – you can select up to 12 traces from anywhere in the record and display them side by side (With labels of your choice):

SMR MultiTrace-s

Spread error displays based on flagged errors in the file or on user specified values for resistance/leakage/tilt:

SMR Spread Resistance-s

It can produce Time and frequency slices and also(not shown here)

Line profiles:

SMR Profiles-s

Also Detection of weak and noisy traces that should otherwise be OK (IE resistance/leakage/tilt are good, but the trace is bad):


And it also includes an optional database that records spread errors.

So far, it only handles Sercel 408/428 and some limited SEGY, but I am expanding that.

The finished product will handle the abortion of SEGD V3 and SEG2 along with better support for SEGY.

I am not likely to release it until I get some more work – why give it to someone who would be doing work that I should be doing!

So, if you want a copy, get me some work.

SaneSeis and Seismic File Viewers

January 15th, 2016

Disappointingly SaneSeis doesn’t seem to be going anywhere.

I have seen little to no interest in the concept. Unsurprisingly no one from the SEG has commented.
I had hoped to at least provoke some discussion on acquisition file formats with a view to finally replacing the SEG abortions, but I guess I am too insignificant for the powers that be to notice. Or perhaps the SEG doesn’t know much about the big world outside.
At least I tried, unlike the SEG.

The last couple of months have been a bit of a change. Was involved in a multi-disciplined geophysical study aimed at understanding some shallow artefacts.
Although the job involved the usual – High res seismic, gravity and upholes, the new technique to me was TDEM. Although it has some sound physics behind it, I am not yet convinced it is the answer that some claim it to be.
There are just too many assumptions made to give me confidence, especially for deeper results.
That being said, I am convinced it works for shallow work, in the 10s of metres rather than the 100s required for oil and mineral work.
So I have a plan to build a small system and test its effectiveness for use in archaeology (or for fun if the truth be known).

But that all comes after I finish my latest seismic file viewer, which is coming on fairly well, albeit slowly at the moment.
It will handle SEGD (V2 and the new V3 disaster, Sercel variants only though), SEGY and SEG2.
It will include routines for refraction and time slices, frequency slices, and other types of analysis.
An early release should be available in a month or so, but it won’t have all features.

SMRefract Jan 2016 s



SaneSeis Update

October 18th, 2015

As is usually the case, soon after I published the first draft of SaneSeis, I realised I was missing things, and that with a few additions could make it better.
The biggest change in this updated version is the addition of a Receiver Table after the Source Table.
I was very reluctant to add another variable length block, but the advantages outweigh the drawbacks. And in any case each entry within a table is fixed length, and the number of entries are defined in the file header, so, unlike SEGD it is very easy to calculate memory requirements and start of data.

The latest updates can be seen here:

Other notable additions

  • Record type. Currently based on Sercel’s 428 definitions, there is plenty of room to add more
  • Recorder position. This seems to have been forgotten these days, but is still good information to have. SaneSeis records the Low Line/Point of where the recorder connects to the spread.
  • Source position mode in the source table. We need to know if the source position is the true position from the source navigation system or preplanned or something else.
  • Limits have been removed from the trace header – they are now in the Receiver table. This saves 20 bytes per trace header which on a big survey can add up to a useful saving. Resistance/Tilt/Capacitance errors are now indicated by 255=low, 0=in range, 1=High

So far very little feedback. PS has suggested that I incorporate EPSG codes. I am looking at this, but I do want to keep everything metric, so will not support feet, yards, miles etc. It is only the US that still uses these and it is about time they moved into at least the 18th century. SaneSeis coordinates must also remain Cartesian, so not all EPSG codes would be valid.
Comments and suggestions welcome.

SaneSeis – a new Seismic File Format

October 10th, 2015

I have been quite critical of the SEG file formats over the years. And with good reason. SEGD, SEGY and SEG2 should have been retired years ago. They are based on decades old ideas that perhaps suited the equipment at the time. Unfortunately, the SEG does not seem to have realised that time has moved on – recording systems, methods and requirements have changed (for the SEG – actually they changed a long time ago!). When SEGD and SEGY were first released, they arguably were suitable for use at the time. No Longer. And SEG2 of course should never have been released at all, but that is another story for another time.

The problem is that SEGY and SEGD were ‘extended’ by the SEG instead of replaced. I can maybe understand the first revision SEGD V1 to V2 for example, but now we have an abortion called SEGD V3. There is absolutely no excuse for its existence. Unfortunately there are people starting to use it (I don’t know why) and people who plan to use it (again, I don’t know why).

Some years ago, I proposed in a very basic way what a modern seismic acquisition file format should look like (IMNSHO). It was based around flat headers and no optional sections. So, instead of just complaining about SEGD V3, I have sat down and actually defined an alternative based on discussions and thoughts I have had. I will not claim it is perfect or even ready for use just yet, but it does solve the problems with SEGD V3 and does match the requirements of high production, high channel count multiple source recording. It does borrow a little from the existing formats, but only the good parts.

For anyone interested, see here, I call it SaneSeis:
I will welcome constructive criticism, and distribution of the ideas.