Fortran 77 package NET version 3.35
Prague, December 2018
- Ludek Klimes
- Department of Geophysics, Charles University Prague,
Ke Karlovu 3, 121 16 Praha 2, Czech Republic
- Michal Kvasnicka
- Formerly
Department of Geophysics, Charles University Prague,
Ke Karlovu 3, 121 16 Praha 2, Czech Republic
This is just a general overview, the detailed description of input
data, procedures, and other important topics is included within the
individual FORTRAN77 source code files.
Copyright note
This software package is property of its authors,
is distributed in source form,
and may be used free of charge.
If any result obtained with help of any part of this package
is published, we appreciate citation
of all papers related to the used part of this package.
Refer to the references
related to this package.
General description of network ray tracing package NET
Purpose:
Network ray tracing is designed to calculate first-arrival travel
times and the corresponding rays. For your application, please,
do not confuse the first-arrival travel times with the ray-theory
body-wave travel times. The first-arrival travel times from the
given source of any shape are calculated at all grid points of a
given rectangular grid of points. Together with the first-arrival
travel times, also the maximum travel-time errors may be automatically
estimated.
Model specification:
For network ray tracing, the seismic model is specified in terms
of grid velocities at a rectangular grid. The density of the grid
should correspond to the accuracy required and to the computer
memory available. In a layered or blocky medium, also the indices
of geological blocks at gridpoints are recommended to be specified
in addition to the velocities, in order to improve accuracy
considerably.
The model specification subroutine package MODEL is recommended
to describe the models and to generate the grid values, unless the
user prefers his own model specification system.
Programming language,
error messages, screen output, etc.
Unified memory management.
Array dimensions MRAM,
MFS,
MSRC and MREC and
MREFL in
net.inc
should be adjusted according to a particular
computer memory and particular application. In the basic version
delivered, arrays in 'net.for' are roughly dimensioned for a
computer with 16MB of RAM
(see ram.inc).
History files.
Alphabetical list of input parameters of all programs.
New in version 3.35
Compiling and linking programs of package NET
(a) Program NET:
- Copy all files (or at least files
ram.inc, error.for, sep.for, sep.inc,
length.for, forms.for, eigen.for
and f.pl) 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.
At http://sw3d.cz, *.zip contain ASCII files in the DOS format.
At http://sw3d.cz, *.tar contain ASCII files in the UNIX format.
On the UNIX disk, *.zip and *.tar contain ASCII files
in the UNIX format.
On the DOS disk, *.zip and *.tar contain ASCII files
in the DOS format.
- Edit include file
ram.inc
and Perl script f.pl
according to the description
in package FORMS.
- 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, net.fs2 and net.fs3) 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 program
net.for
by entering command
perl f.pl 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'.
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:
- You may also compile and link program
netind.for
by entering command
perl f.pl netind
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.
For the description of input data of individual programs refer to
the list of files below.
Application of the network shortest path ray tracing program NET in
the models described in terms of model specification subroutines of
package MODEL (ver. 5.40 or later is recommended):
- Install package NET into your working directory.
- Compile and link program
grid.for
of package MODEL.
See package MODEL for details.
- Prepare the input data for package MODEL, describing the
seismic model of the medium.
Example:
In the demo data of subdirectory - len
of package DATA, the model data file 'len-mod.dat' is assumed.
- Program 'grid.for' of the package MODEL generates the velocities
and indices of geological blocks in the given rectangular grid of
points.
Example:
In the demo data of subdirectory
- len,
the input model file is 'len-mod.dat' and the grid is
described within history file 'len-net.h'.
- Program 'net.for' of this package performs the network
shortest path calculation of the first-arrival travel times in the
generated discretized (raster) representation of the model.
Example:
In the demo data of subdirectory
- len,
the input data file for 'net.for' is called 'len-net.dat'.
Other input files are 'lenn-src.dat', 'lenn-rec.dat' and
the output files of program 'grid.for'.
The generated output files 'tt.out' and 'err.out' contain
first-arrival travel times and their estimated maximum
errors.
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.
General documentation to NET (main HTML file containing basic
description and links the files of this package).
- 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 NET.
The source code also contains the description
of the input and output data, and the brief comments on
the program.
-
Description of input data (regular network ray tracing).
- 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 according 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) Indexing of Fresnel volumes (accuracy enhancement of two-point
rays by means of network ray tracing within Fresnel volumes):
- netfv.htm
-
Notes on two-point network ray tracing within Fresnel volumes.
- netind.for
-
Program NETIND 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.
-
Description of input data
(network ray tracing inside Fresnel volumes).
Acknowledgements
The development of the NET package and the related algorithms has
been partially supported by:
- Faculty of Mathematics and Physics, Charles University, Prague.
- Energy, Mines and Resources Canada, Ottawa, Ontario.
- Institute of Geotechnics, Czechoslovak Academy of Sciences, Prague.
- Geophysical Institute, Academy of Sciences of the Czech Republic.
- Grant Agency of the Academy of Sciences of the Czech Republic
under Contracts 31223 and 346110.
- Grant Agency of the Charles University under Contracts 8/94 and
38/94.
- Grant Agency of the Czech Republic under Contract 205/95/1465.
- European Commission within the framework of the JOULE II Project
"Integrated Structural Imaging of Seismic Data".
- Members of consortium "Seismic Waves in Complex 3-D Structures".
References
- Klimes L. and Kvasnicka M. (1994): 3-D network ray tracing.
Geophys.J.int., 116, 726-738.
- Klimes L. (1996): Grid travel-time tracing: second-order method
for the first arrivals in smooth media.
PAGEOPH, 148, 539-563.