Fortran Specialist Group

A Chronology of Programs Using Command Line Instructions

J.B. Young

ICE (Input Controlled Execution) Program
Mid 1960s

This FORTRAN Program was the 'brain-child' of T.L. van Raalte and I was the programmer who was fortunate enough to develop it. The structure of the program consisted of a series of subroutines each of which performed a specific task. For example, there was a Fourier Analysis program, programs for interpolation, baseline and hanning routines, input and output routines, etc. Each line of input to the ICE program was a 'free-format' command (or instruction) defining the action required by the user. The 'heart' of the program was the use of the COMPUTED GO TO statement with (if memory serves) over 100 branches. This concept was probably years ahead of its time and the program never made it beyond its development stage. However, T.L. van Raalte did develop an ICE2 in the 1980s but written in Pascal.

SSS (Shifts-Scale-Sum) Program
Mid 1970s - 1992

This FORTRAN Program was specifically developed to generate artificial seismograms either from model or real seismograms. The concept of using lines as commands lent itself to the manipulation of a time series like a seismogram and being able to scale it, shift it, and then add it to another. The structure of the program went further than being able to use just subroutines but also to using other whole programs like Earthquake Modelling and Array Processing programs. This program used the RETURN no. and * option in subroutine calls. While this program was not used much it ran to 13 versions and partly influenced the next program to be described.

SAC (Seismic Analysis Code) Program
Late 1970s - Present

This Program was (and is) developed at the Lawrence Livermore National Laboratory (LLNL) in California. In concept it is similar to the SSS Program particularly in the early days. In 1981 I spent 6 weeks at LLNL transferring a number of FORTRAN programs. Then there were only two instructions more in SAC than in SSS. However, development of SAC has been continued and today SAC is used world-wide by seismologists for processing seismograms and for seismic research. The one drawback is that the current version is written in C. But there are elements of the current SAC still in Fortran surviving from 1981. Below is the description of SAC as on the Incorporated Research Institutions for Seismology web page (link updated December 2011).

SAC (Seismic Analysis Code) is a general purpose interactive program designed for the study of sequential signals, especially timeseries data. Emphasis has been placed on analysis tools used by research seismologists in the detailed study of seismic events. Analysis capabilities include general arithmetic operations, Fourier transforms, three spectral estimation techniques, IIR and FIR filtering, signal stacking, decimation, interpolation, correlation, and seismic phase picking, SAC also contains an extensive graphics capability.

Fortran Golden Jubilee Meeting.
25th January 2007.


Valid XHTML 1.0! Comments on this or any other of the Group's pages should be sent by email to the FSG Web Editor.

Last modified: Sun 9 Dec 2012 15:00:51