Fortran 77 package NET version 3.10
General description
Programming language,
error messages, screen output, etc.
Unified memory management.
New in version 3.10
History files.
Compiling and linking programs of package NET
(a) Program NET:
- Copy all files (or at least files
ram.inc, sep.for, sep.inc,
length.for and forms.for)
of package FORMS
into your working directory.
All the files including subdirectories may also be extracted using
pkunzip -d forms.zip or
tar -xvf forms.tar
On a computer with a very small memory (less than 16 MB), you may
need to decrease array dimension MRAM in the include file
ram.inc.
It is also recommended to compile and link all programs of package
FORMS according to the description in
forms.htm.
- Copy all files (or at least all *.for and *.inc
files) of package NET
into your working directory.
All the files including subdirectories may also be extracted using
pkunzip -d net.zip or
tar -xvf net.tar
- Now you may compile and link following program of package NET:
All necessary subroutine files and include files are included
by the Fortran 90 INCLUDE command.
Fortran 77 subroutine files are included at the end of file net.for.
You may perform the above task by editing Perl script
f.pl
designed to compile and link a single file and then entering command
perl f.pl net.
If you have no Perl interpreter, it should be available at
www.perl.org
(b) Additional program NETIND for network ray tracing within Fresnel volumes:
- In addition to the above steps, copy all files of subdirectory
fv of package NET
into your working directory.
- Now you may compile and link following program of package NET:
All necessary subroutine files and include files are included
by the Fortran 90 INCLUDE command.
Fortran 77 subroutine files are included at the end of file
netind.for.
Running programs of package NET
It is recommended to run the programs from the
history files.
The history files may contain the information how to execute the programs,
the data read from standard input (Fortran)
or from the command line (Perl) and the data read
from the SEP parameter files.
- Data from standard input *:
-
Main input data of each program are read from the standard input,
and mostly consist of a single line containing filenames and
at most few numerical parameters.
-
Description of input data for the NET program
- Regular network ray tracing.
-
Description of input data for the NETIND program
- Network ray tracing inside Fresnel volumes.
Two-point network ray tracing within Fresnel volumes
Description of the algorithm employing programs NET and NETIND.
List of error messages
File list of package NET
- (A) Documentation:
- net.htm
-
This file (main HTML file containing basic description and links
the files of this package).
- netdoc.htm
-
General documentation to NET.
File containing a brief overview of the NET
package. The detailed description of input data,
procedures, and other important topics is included within
the individual FORTRAN77 source code files.
- netver.htm
-
List of released versions.
- neterr.htm
-
List of error messages with the links to their descriptions.
- (B) Network ray tracing program NET:
-
FORTRAN77 codes listed herein, together with auxiliary
data files 'net.fs2' and 'net.fs3' containing template
forward stars, form the complete and functional network
ray tracing program 'NET'. Usually, no other files of
this package are required to perform network ray tracing.
- net.for
-
FORTRAN77 source code of the network ray tracing
program. The source code also contains the description
of the input and output data, and the brief comments on
the program.
- net.inc
-
Include file with most COMMON blocks for 'net.for'.
- netnode.inc
-
Include file with a COMMON block for 'net.for'.
- ttt.for
-
Part of the FORTRAN77 source code of the NET program
responsible for the 2-D "second-order" grid travel-time
tracing acording to Klimes (1996).
- ttt.inc
-
Include file with a COMMON block for 'ttt.for'.
- net.fs2
-
Optimized circular 2-D forward stars.
- net.fs3
-
Optimized spherical 3-D forward stars.
- (C) Programs designed to generate forward stars for the NET program:
-
These programs are not required when using the NET
program, because the forward stars for the net program are
already generated and stored in 'net.fs2' and 'net.fs3'.
They may be used if (1) larger forward stars than stored
in the current versions of 'net.fs2' or 'net.fs3' are
required (unlikely for most applications on most nowadays
computers), or (2) if other than optimized forward stars
are required for the purposes of comparing the
performances of different algorithms or programs.
- fs (subdirectory)
- fs-opt2.for
-
Program generating 2-D optimized circular forward
stars according to Section 4.3 of the paper by Klimes and
Kvasnicka (1994).
- fs-opt3.for
-
Program generating 3-D optimized spherical
forward stars according to Section 4.3 of the paper by
Klimes and Kvasnicka (1994).
- fs-mcir2.for
-
Program generating 2-D circular Moser-Saito
forward stars, containing all nodes within a circle except
for the end nodes of the edges that would be parallel with
shorter edges in a homogeneous medium.
- fs-msph3.for
-
Program generating 3-D spherical Moser-Saito
forward stars, containing all nodes within a sphere except
for the end nodes of the edges that would be parallel with
shorter edges in a homogeneous medium.
- fs-msqr2.for
-
Program generating 2-D square Moser-Saito
forward stars, containing all nodes within a square except
for the end nodes of the edges that would be parallel with
shorter edges in a homogeneous medium. Such forward stars
have been used, e.g., by T-J.Moser or H.Saito.
- fs-mcub3.for
-
Program generating 3-D cubic Moser-Saito forward
stars, containing all nodes within a cube except for the
end nodes of the edges that would be parallel with shorter
edges in a homogeneous medium. Such forward stars have
been used, e.g., by T-J.Moser or H.Saito.
- (D) Demo data files for the network ray tracing program itself:
- net.h
-
SEP parameter file describing the grid dimensions.
- net.dat
-
Sample input data file for the 'net.for' program, to
perform 2-D network ray tracing in a simple model without
interfaces. The velocities are gridded in 'vel.dat'.
The data correspond to the example described in Subsection
6.1 of Klimes and Kvasnicka (1994).
- src.dat
-
Coordinates of a point source.
- rec.dat
-
Receiver coordinates.
- vel.dat
-
Grid velocities in a 1-D constant velocity gradient
model by P.Podvin and I.Lecomte (1991), Geophys.J.int.,
105, 271-284.
- (E) Subdirectories with data files for network ray tracing
in models specified by means of the FORMS or MODEL
subroutine packages:
- n2 (subdirectory)
- n2-net.h
-
SEP history file describing the grid dimensions and program
execution.
- n2-mod.dat
-
Input data for the MODEL subroutine package to
specify the model used in the example described in
Subsection 6.2 of Klimes and Kvasnicka (1994).
- n2-grid.dat
-
Main input data file for the 'grid.for' program
of the package 'MODEL'. The data file refers files
'n2-mod.dat' and 'n2-net.dat' of this package. The two
referred files should be located in the current directory.
Program 'grid.for' should generate output file 'vel.out'.
- n2-net.dat
-
Main input data file for the 'net.for' program
of the package 'NET'. The data file refers two files
'n2-src.dat' and 'n2-rec.dat' of this package, and to
output file 'vel.out' of the 'grid.for'
program. The three referred files should be located in
the current directory. Program 'net.for' should generate
four output files 'rays.out', 'end.out', 'tt.out', and
'err.out', containing rays, the first-arrival travel times
at the receivers (endpoints), and the first-arrival travel
times and their estimated errors in the rectangular grid
of points.
The data correspond to the example described in Subsection
6.2 of Klimes and Kvasnicka (1994) with the exception of
the number of gridpoints and maximum forward-star size.
Whereas 100*100*50 gridpoints are used in the paper, only
50*50*25 gridpoints are considered within the demo data
in order to comply with the array dimensions of the basic
version of 'net.for'.
- n2-src.dat
-
Additional input data file for the 'net.for'
program with the coordinates of a source point.
- n2-rec.dat
-
Additional input data file for the 'net.for'
program with the coordinates of receiver points.
- n2-sec.dat
-
Main input data file for the 'sec.for' program
of the package MODEL to generate the velocity isolines
in Fig.6 of Klimes and Kvasnicka (1994). The data file
refers file 'n2-mod.dat' of this package. The referred
file should be located in the current directory.
- len (subdirectory)
- len-net.h
-
SEP history file describing the grid dimensions and program
execution.
- len-grid.dat
-
Main input data file for the 'grid.for' program
of package MODEL. The data file refers files
'model.dat' of package MODEL, and 'len-net.dat' of
this package. The two referred files should be located in
the current directory. Program 'grid.for' should generate
output files 'vel.out' and 'icb.out'.
- len-net.dat
-
Input data file for the 'net.for' program
of package NET. The data file refers two files
'lenn-src.dat' and 'lenn-rec.dat' of this package, and two
output files 'vel.out' and 'icb.out' of the 'grid.for'
program. The four referred files should be located in
the current directory. Program 'net.for' should generate
four output files 'rays.out', 'end.out', 'tt.out', and
'err.out', containing rays, the first-arrival travel times
at the receivers (endpoints), and the first-arrival travel
times and their estimated errors in the rectangular grid
of points.
The data correspond to the example described in Subsection
6.3 of Klimes and Kvasnicka (1994) with the exception of
the number of gridpoints and maximum forward-star size.
Whereas 120*80*60 gridpoints are used in the paper, only
60*40*30 gridpoints are considered within the demo data
in order to comply with the array dimensions of the basic
version of 'net.for'.
- lenn-src.dat
-
Additional input data file for the 'net.for'
program with the coordinates of a source point.
- lenn-rec.dat
-
Additional input data file for the 'net.for'
program with the coordinates of receiver points.
- ran (subdirectory)
-
Data and script files to generate a
representation of a random medium and to calculate
the first-arrival travel times in it.
- (F) Indexing of Fresnel volumes (accuracy enhancement of two-point
rays by means of network ray tracing within Fresnel volumes):
- fv (subdirectory)
- netfv.htm
-
Notes on two-point network ray tracing within Fresnel volumes.
- netind.for
-
Program to generate the index file mapping
gridpoints onto the network nodes situated within the
Fresnel volume corresponding to the maximum two-point
travel-time error. It also may adjust the grid density in
the input data for the 'net.for' program in order to
achieve the best possible accuracy of network ray tracing.
- fv.pl
-
Perl script designed to control two-point
network ray tracing within Fresnel volumes. It repeatedly
runs programs 'grid.for' (package MODEL), 'net.for', and
'netind.for'. If another operating system is used, the
batch file may be used as a guide how to run these three
programs to complete the task. Then it may be useful to
know that only the label ':FV' (1 line), command
'GOTO :FV' (1 line), commands running the programs
(6 lines with piping), and the COPY commands (6 lines) are
important. All other lines may simply be deleted in order
not to be confusing.
The only important batch file parameter is the first one.
The first batch file parameter is the prefix of the name
of 6 input data files required by the batch file.
The names of the data files are composed of the prefix
immediately followed by 'gri1.dat', 'net1.dat',
'net2.dat', 'gri3.dat', 'net3.dat', and 'net4.dat',
respectively. The first 3 files are for the first
iteration and specify the data for model gridding, the
data for network ray tracing from the first given point
to the second given point, and the data for network ray
tracing from the second given point to the first given
point. The other 3 files are used for all subsequent
iterations. Important note: Data '...gri3.dat' for the
subsequent iterations should refer to '...net3.out'
instead of '...net3.dat'. File '...net3.out' is created
from '...net3.dat' by adjusting the numbers of gridpoints.
For example refer to the demo data files.
- (G) Demo data files for network ray tracing within Fresnel volumes:
-
For network ray tracing within Fresnel volumes, dimension
MIND in 'net.for' has to be adjusted properly (MIND=1 in
the basic version). If there are no structural interfaces
in the model, that is also the case of the following data,
dimension MICB in 'net.for' may be decreased to NICB=1 to
save the memory (MICB=MGRID in the basic version).
Dimension MGRID in 'net.for' may be adjusted according to
the memory available (MGRID=666666 in the basic version
roughly corresponds to 16 MB of RAM). When having
adjusted the dimensions in 'net.for', it is recommended to
adjust the dimensions in 'netind.for' accordingly.
The following data may be run by entering
perl go.pl fv-net.h
or, alternatively, by entering
perl fv.pl fv-
from the command line (the first method is recommended).
Here 'fv-' is the prefix of the
input data files for the 'fv.pl' Perl script.
- fv (subdirectory)
- fv-net.h
-
SEP history file describing the grid dimensions and program
execution.
- vgr-mod.dat
-
Data for the MODEL package specifying a 1-D
constant velocity gradient model used by P.Podvin and
I.Lecomte (1991), Geophys.J.int., 105, 271-284.
- fv-gri1.dat
-
The data controlling model gridding for the first
iteration. In particular, the data specify the model and
the names of output files with gridded velocities and, if
needed, indices of geological blocks.
File 'fv-gri1.dat' refers model data file 'vgr-mod.dat',
and file 'fv-net1.dat' to specify the grid dimensions
which has to be, of course, the same as in 'fv-net2.dat'.
The referred data files has to be located in current
directory. Output file 'fv-vel.out' with gridded
velocities will be generated.
- fv-net1.dat
-
The data for network ray tracing from the first
given point (file 'fv-src.dat') to the second given point
(file 'fv-rec.dat') during the first iteration when no
volume indexing is applied (no index file is specified).
Velocities gridded in 'fv-vel.out' are referred.
Output files 'fv-rays1.out' containing the two-point ray,
'fv-end1.out' containing the two-point travel time and its
error, and 'fv-tt1.out' containing the travel-time field
will be generated.
- fv-net2.dat
-
The data for network ray tracing from the second
given point (file 'fv-rec.dat') to the first given point
(file 'fv-src.dat') during the first iteration when no
volume indexing is applied (no index file is specified).
Velocities gridded in 'fv-vel.out' are referred.
Output files 'fv-rays2.out' containing the two-point ray,
'fv-end2.out' containing the two-point travel time and its
error, and 'fv-tt2.out' containing the travel-time field
will be generated.
- fv-gri3.dat
-
The data controlling model gridding during all
subsequent iterations.
File 'fv-gri3.dat' refers model data file 'vgr-mod.dat',
and file 'fv-net3.out' specifying the grid dimensions
which has to be, of course, the same as in 'fv-net4.out'.
Files 'fv-net3.out' and 'fv-net4.out' are created
from 'fv-net3.dat' and 'fv-net4.dat' by adjusting the
numbers of gridpoints according to the results of the
previous iteration. Unlike 'fv-gri1.dat', 'fv-gri3.dat'
refers to input index file 'fv-ind.out' describing the
Fresnel volume. The Fresnel volume corresponding to the
two-point travel-time error, and the updated grid density
are determined by program 'netind.for'.
The referred data files has to be located in current
directory. Output file 'fv-vel.out' with gridded
velocities will be generated.
- fv-net3.dat
-
The data for network ray tracing from the first
given point (file 'fv-src.dat') to the second given point
(file 'fv-rec.dat') during the subsequent iterations.
File 'fv-net3.dat' differs from 'fv-net1.dat' only by
specifying input index file 'fv-ind.out' generated by
program 'netind.for' according to the results of the
previous iteration. The numbers of gridpoints in this
file are not important. They are updated by program
'netind.for' and new updated file 'fv-net.out' is used for
network ray tracing during each subsequent iteration.
- fv-net4.dat
-
The data for network ray tracing from the second
given point (file 'fv-rec.dat') to the first given point
(file 'fv-src.dat') during the subsequent iterations.
The numbers of gridpoints in this file are not important.
They are updated by program 'netind.for' and new updated
file 'fv-net.out' is used for network ray tracing during
each subsequent iteration.