next up [*] print clean
Next: Why another book? Up: Table of Contents

A note to the reader

In many branches of engineering and science there is a substantial computational element. Earth-imaging seismology is one of these. In taking up computational problems we should abandon books, journals, and reports and replace them with electronic documents that can be used to recreate any print document, including its figures, from its underlying data and computations. Today, few published results are reproducible in any practical sense. To verify them requires almost as much effort as it took to create them originally. After a time, authors are often unable to reproduce their own results! For these reasons, many people ignore most of the literature. In the past this scandalous waste of time and energy may have been justified by the high cost and incompatibility of data-processing machines. But with standards for Fortran, C, UNIX,[*] LATEX, Postscript,[*] Xwindow,[*] CD-ROM, and shirt-pocket-sized two-gigabyte tapes, there is no longer any excuse for nonreproducible research. It is time to plunge into this new era.

This paper book of 300 pages presents theory implemented by sixty subroutines, all included in the book, which in turn made the book's 150 figures. Behind the paper book are about seventy figure-making directories, a large volume of Stanford Exploration Project utility software, and some real datasets you can experiment with if you have access to the electronic form of the book. I made nearly all of the figures myself. Even without the electronic book, from the printed subroutines only, you should be able to produce results similar to mine and, beyond this, use the subroutines in your own work.

If you have access to the electronic form of this book, you can read it from a computer screen and press the buttons in the figure captions to rebuild and redisplay the figures. Some of the figures are in color, some are interactive, and some are movies. But this is not the goal of the electronic book. Its goal is to enable you to reproduce all my figures with reasonable ease, to change parameters, to try other datasets, to modify the programs, and to experiment with the theoretical concepts.

I could have written the programs in this book in vanilla Fortran or C and suffered the verbosity and blemishes of these languages. Instead I chose to write the programs in a Fortran dialect that, like mathematics, is especially suited to the exposition of technical concepts. At Stanford we translate these programs to Fortran automatically by passing them first through a home-made processor named sat, which overcomes Fortran's inability to create temporary arrays of arbitrary dimension, and second through AT&T's Ratfor (Rational Fortran) preprocessor. If you wish, a program called f2c, freely available from AT&T, will translate the Fortran to C.

My goal in writing the programs in this book was not to write the best possible code with the clearest possible definitions of inputs and outputs. That would be a laudable goal for a reference work such as Numerical Recipes (Press et al.). Instead, I present a full mathematical analysis with simple and concise code along with meaningful examples of its use. I use the code as others might use pseudocode--to exemplify and clarify the concepts. These programs, which also made the book's figures, are not guaranteed to be free of errors. Since the word processor and the compiler got the programs from the same place, however, there can be no errors of transcription.


 
next up [*] print clean
Next: Why another book? Up: Table of Contents
Stanford Exploration Project
10/21/1998