History files

The history files are introduced according to the SEP (Stanford Exploration Project) history files, although there are some differences, especially in running the programs.

The history files are designed to contain both the data and the information how to execute the programs. The following items are recognized in the history files:

#Comments:
Everything from a # (hash mark) to the end of line is assumed to be a comment and is ignored. If a line contains a hash mark, its content is thus interpreted just between the beginning of the line and the hash mark.
=Data:
Each = (equal sign) immediately preceded by a string is interpreted as the PARAMETER=VALUE couple specifying the value of the parameter named PARAMETER. For example, N1=27 means that the value of the parameter named N1 is 27. This convention is identical to the SEP (Stanford Exploration Project) parameter files. For more details refer to Fortran file sep.for.
:Programs:
Each : (colon) immediately preceded by a string is interpreted as the instruction to execute a program. The string between the last space (or the beginning of the line if there are no spaces to the left of :) and the colon is the name of the program. If the name contains substring ".pl", it is assumed to represent a Perl script. Otherwise, it is assumed to represent executable program, compiled from the Fortran source. Everything to the right from the colon is assumed to represent the DATA for the program. This convention differs from the SEP (Stanford Exploration Project) history files.
If the DATA is blank, it defaults to the name of the corresponding history file in apostrophes, followed by a space and a slash. This default is useful for Fortran programs, not for Perl scripts. Data for Perl scripts are assumed to be read from the command line. The perl scripts are thus executed by a command like
perl program.pl DATA
Data for executable programs are assumed to be read from the console, within a single READ statement. The executable programs are thus executed by a command like
program
and the DATA are submitted from the standard input.

No other items are interpreted in this version. All text containing neither equals nor colons has thus the effect of comments.

If the DATA for a program (i.e., string right to the colon) contain a substring identical to the name of the history file, the program is assumed to read the history file. In such a case, only the PARAMETER=VALUE couples between the beginning of the history file and the "colon" instruction to execute the program are assumed to apply to the program. If there is more PARAMETER=VALUE couples for the same parameter in the history file, the last couple before the "colon" of the currently executed program takes preference. This convention enables to modify the data for the program by entering additional PARAMETER=VALUE couples and additional "colon" instructions to execute the programs within the same history file.

When executing the history file, it is copied line by line to the output history file. When a "colon" instruction to execute the program is encountered, the program is executed with the name of the output history file substituted for the name of the input history file in order to hide the PARAMETER=VALUE couples between the "colon" instruction and end of file to the program.

The history files may be executed by Perl script go.pl. For example, history file 'file.h' may be executed by command
perl go.pl file.h
generating the output history file named 'file.out'. If you wish to name the output history file, e.g., 'new.out', the history file may be executed by command perl go.pl file.h new.out

Perl interpreter should be available at www.perl.org

Example of the history file: corfun.h.

Examples of papers devoted to the description of history files (ordered chronologically):

Alphabetical list of input parameters of all programs.