Travel Time

Updated 9/19/2006

This program plots and curve fits data read in from the Jeffreys and Bullen Seismological Tables (1). The program, required tables, and other required files are contained in the zip file In addition the great circle distance between an earthquake and seismic station may be computed along with the expected arrival times for that station. A text file with the JB tables for S-P time is located here: s-p.txt .

Earthquakes and underground explosions generate seismic waves that can travel through the entire earth, being refracted, reflected, and possibly changed from P to S types, or S to P, at velocity boundaries. A seismometer station senses these various waves, called "phases" at times primarily dependent on the depth of the source event, and its distance from the event.

The J-B Tables list in tabular form the travel times for various phases versus distance from the event and depth of the event. This program allows the user to view these tables in graphical form, and work with them in several ways.

To use the program, click on "File" and "Open", and browse the file list. After selecting and loading the file data for the phase of interest, click on "Plot File" and select "Plot all depths in table", "Plot min and max depths", "Plot one depth from table", or "Plot any arbitrary depth". The plot and its name will appear on the screen. "Plot one depth from table" plots only the data for the line number selected by entering it in the dialog box that appears. "Plot any arbitrary depth" uses interpolation of the tables to display the travel time for the user supplied event depth.

If you wish, you can do some curve fitting on one of the plot lines by clicking on "Curve Fit", and entering the depth number of the curve, and the order of the least squares fit to be computed. The coefficients are displayed in a message box, and can be copied to the clipboard for retrieval and use in other documents or applications.

The fitted curve can be plotted by clicking on "PlotCurveFit". A table of fit coefficients, distance, table values and fit values is automatically copied to the clipboard whenever "PlotCurveFit" is selected.

"CopyScreen" copies the plot to the clipboard, from where it can be pasted into a program such as MSPaint or MSWord and saved as a .gif file.

Multiple plots can be displayed on the same screen. Everything stays until "ClearScreen" is clicked.

Plots fold back on angles greater than 180 degrees. Actually plotting this way is most logical, since the observer actually sees the fold back as two incidences of the same wave by different paths.

Two plotting frames are provided, one scaled in Y at 5 seconds per pixel, and one at 4 seconds per pixel. The user can modify the scale factors of both X and Y by entering expansion factors. Numbers of less than 1.0 will compress the scale. If the user has made up a gif frame file, the opportunity is provided to specify that file. The gif must be 549 pixels in height to correctly register the x axis in the plotting space. MSPaint numbers the pixels starting in the upper left corner at [0,0]. The origin of the plotting axis in a JB frame gif must be at [0,548]. Width of the gif is not critical. The width of the plotting window in JB2 is 781 pixels. A narrower frame will result in white space on the right. A wider gif will be partially hidden on the right. Upon specifying a custom frame gif, the user must specify its scale factor in degrees per pixel, and seconds per pixel.

The program can plot either a single phase from a file (ending in .jb) or a group of phases specified in a batch plotting file (ending in .jbb). A batch plotting file is a specially formatted text file formatted as follows:

First Line: An asterisk in the first column, optionally followed by comments.

Succeeding Lines: J-B phase file names, without the .jb extension. Names are not case sensitive, but must include the underline symbol when it is part of the file name.

The program recognizes this as list of phases to be plotted, and proceeds through the list with startling speed. Batch plotting files can be given any name, so long as they have the correct format, have a .jbb extension, and reside in the same folder as the J-B files to be plotted. The user enters plotting instructions at run time.

This program can be used to compute the expected travel and arrival times for an event of known location, depth, and time of the event. The results are displayed in a format similar to the on-line calculator found at . The online program computes times based on the IASP91 velocity vs depth model, whereas this program uses the older Jeffreys-Bullen tables, so there will not be exact agreement between the two programs.

To use the travel time feature, enter data into all of the event entry boxes on the right side of the screen, or paste in an event string in the box provided and double click on it. When entries are complete, click the "Submit" command button. You will get a notice that the event details are posted on the Clipboard, where you can inspect them or not, as you please. They will be repeated later, along with a list of phases and travel times. If you paste in an event string, it should have the format like:

"2005/03/28 16:09:36 2.08N 97.01E 30.0 8.7", where date (yyyy/mm/dd), time, latitude, longitude, depth, and magnitude are listed in that order. The newer format like: "8.7 2005/03/28 16:09:36 2.08 -97.01 30.0" is also acceptable.

Next, click on "Open" in the File menu, look for "JB Batch Files" and select "BIGLIST.jbb" or "SHORTLIST.jbb" as the file to open. All phases in the batch file having data for the event depth will be plotted. When plotting is complete, click on "CopyPhaseList" under the "Copy---" menu. This will place the completed travel time report on the Clipboard. The user can create a customized batch file, with phases of choice, by following the examples of "BIGLIST.jbb" and "SHORTLIST.jbb."

All of the outputs of TravelTime.exe are made to the Clipboard, which can be pasted them into another application, such as NotePad or MSPaint. All controls are located on the Menu Bar and the possible choices are listed below:

   Load Station Location
   Save Station Location

   Plot all depths in table
   Plot min and max depth
   Plot one depth from table
   Plot an arbitrary depth

   5 sec/pixel
   4 sec/pixel
   User GIF and scales (see note (2))

Depth Table





   Copy Reformatted File
   Copy EventData

The files needed for TravelTime.exe to run seamlessly include "TT.ini", "BigFrame.gif", "BigFrame1.gif", "TTReadMe.txt", "BIGLIST.jbb", "SHORTLIST.jbb, and all the JB table files listed in "BIGLIST.jbb". Batch files can have either the extension ".jb" or ".jbb" but using .jbb allows them to be listed separately.


References and Notes:

(1). Jeffreys, H. and Bullen, K.E., 1940, Seismological Tables, British Association for the Advancement of Science, Gray Milne Trust. Reprinted 1970. The files included with this program were obtained from Larry Cochran's Public Seismic Network (PSN) site. (The J-B files are located on the PSN site under "Other Files" via the link "J-B Travel Time Tables.")

(2). The user can substitute their own GIF picture file and scale factors using this option. The gif file MUST be exactly 549 pixels high, with plot origin at the lower left corner.


This progam is written in Visual Basic 6.0, and may not run on your machine. It may be necessary to download the file


from . This is a self-extracting Exe File, which installs the run-time files necessary for Visual Basic applications

Bob McClure