LaserTC
Table of Contents
Overview
LaserTC is a small program designed to calculate accurate near-station terrain corrections for land gravity stations. It is designed specifically to calculate terrain corrections for gravity stations accompanied by data sets of irregularly-spaced terrain samples. Such samples can be rapidly generated using modern laser surveying instruments; hence, the name of the program. What LaserTC does is to fit a smooth surface to such elevation samples, then numerically integrate that surface in order to calculate the terrain correction. The surface fitted, while smooth, can also be constructed using a tension factor that will greatly minimize "overshoot" near extremely steep terrain features. The resulting terrain corrections are extremely accurate, being limited largely by how well-sampled the terrain is near the gravity station.
How LaserTC works
LaserTC reads the elevation samples associated with a
gravity station and calculates the innermost gravity terrain correction
from such samples by numerical integration. Specifically, a smooth surface
is fit to the elevation samples using procedures develped by Renka (1984, 1996a, 1996b). The calculated surface is
then numerically integrated along radial lines from a minimum radius (Rmin)
to a maximum radius (Rmax), using an adaptive integrator. The basic method
is the same as that described by Cogbill (1990) for
calculating the innermost part of a terrain correction calculated from
Digital Elevation Models. Terrain corrections are calculated assuming a
constant terrain density provided by the user (a default of 2.67 g/cc is
used, though).
The elevation data used to fit the smooth surface are
commonly provided in such a way that duplicate or near-duplicate spatial
samples may be present on the elevation data file. LaserTC
averages the elevation data that occur at the "same" location, thus
eliminating duplicate spatial samples. At present, elevation samples are
considered to occur at the same location if their coordinates, rounded
to integral values, are the same. The rounding is performed on the
input elevation data directly. For example, if the elevation data are
provided in feet, their coordinates are rounded to the nearest foot prior
to eliminating duplicate sample locations. The same is true if the
elevation data are provided in meters. This means that the surface fitted
to elevation data might be very slightly different if the elevation data
are provided in meters rather than feet.
LaserTC is completely command-line
driven; it accepts a small number of arguments, separated by spaces, on the
command line. When an argument requires one to specify a value, the
argument is separated from its value by an equals sign
(=), with no intervening spaces. For example, to provide
the name of an output file, -of=outputfilename would be
used, where "outputfilename" is the name of the desired
output file. A summary of the command-line options is presented below.
- -d Run the program in debug mode (prints copious information onto stdout).
-
-h Provide a quick help listing.
-
-1 The coordinates of each gravity station will not be read
from the gravity input file (see below for a description of that file), but
instead, the first coordinate triple read from the elevation file provided
will be used as the position of the gravity station. This option is
provided in order to permit users to easily provide the (relative)
coordinates of a gravity station with respect to the digital elevation data
provided.
-
-:When this option is present, the coordinates on both the gravity
station file and any elevation files are assumed to be in the order:
Northing, Easting, Elevation (the default is Easting, Northing, Elevation).
-
-rmin=value Specify the value of the minimum radius to be used for
the calculation (default: 1.0 m).
-
-rmax=value Specify the value of the maximum radius to be used for
the calculation (default: 50 m).
-
-angle=value Specify the value of the angular increment used for
the circular portion of the numerical integration. The value supplied must
divide evenly into 360; values such as 7 are unacceptable, for example
(default: 3 degrees).
-
-of=filename Specify the name of the output file to be created (default:
LaserTC.out).
-
-if=filename Specify the name of the input data file (NO default
value).
-
-eu=value Specify the value (0 or non-zero) of the units flag; 0
corresponds to meters, non-zero to feet. Both the horizontal (x,y) coordinates
and the elevations are affected by this flag. For example, if the flag
is set to 0, both (x,y) coordinates as well as the elevations are assumed
to be in meters. Note that the units of the coordinates provided on the
gravity input file must be the same as the units of the coordinates provided
on the elevation data file (default: 1).
-
-rho=value Specify the terrain density, in grams/cc, to be used
(default: 2.67 grams/cc).
-
-sigma=value Provides a value for the tension factor
that will be used for the interpolating surface. Values from 0 to 1000 may be
used. A value of 0 implies that the surface will be constructed with NO tension
applied; in such a case, the surface will approximate a classical spline. As the
the tension factor is increased, the interpolating surface exhibits less and less
"overshoot" at locations where the elevation changes very rapidly. A tension factor
of 1000 will result in a smooth surface that approximates a bilinear surface; little
or no overshoot will occur.
Generally, using a value of 0 for sigma provides very accurate results, and
is somewhat faster in execution. Values of sigma > 0 should be used when the
terrain surrounding the gravity station is extremely steep, as may happen near
cliffs or in mines, where near-vertical rock faces may be present.
-
-ss=value When this flag is used,
LaserTC will create a grid file for each terrain
correction calculation. The parameter value can be either 1 or 2 (other
values are simply ignored). The grid file created will be written in one of
two formats. If -ss=1 is used, the grid will be in Golden
Software's "GS binary" grid format. If one has Golden Software's
SURFER© graphics package installed, one can then quickly view
each terrain surface. SURFER© is available from Golden Software of
Golden, Colorado, USA. If -ss=2 is used, the grid file
created will be written in Geosoft's 16-bit grid file format (Geosoft grid
format version 2). In either case, the grid files are named
"station.grd", where "station" is the gravity station
designator. For each grid file written out, a "posting" file named
"station.txt" is also written. The posting file is an
ASCII text file that contains the (x,y,z) triples used to construct the
terrain surface. The positions and/or values from the posting file may be
plotted to determine the extent of terrain coverage for a given station.
Be aware that if you are processing many gravity stations, using
the -ss option can result in a large number of grid files
being created, as a grid file will be created for each station. Each grid file
will be 40860 bytes in length when -ss=1 is used, or 20914
bytes in length when -ss=2 is used. In addition, of
course, for each station, a posting file will be created. The length of the
posting files depends upon how many elevation samples fall with
Rmax of the gravity station.
-
-L displays the software license, the version, and the build date,
then exits.
Output Files
LaserTC creates three output files. The primary output file (default
name: LaserTC.out) contains a summary listing of the gravity stations
processed, the calculated terrain corrections, and the estimated uncertainties
in the numerical integration. At this time, only those uncertainties associated
with the radial portion of the integration are estimated. Future versions
will include estimates of the total integration error. A second file,
always called LaserTC.log, is created, as well. This file contains
a more detailed, step-by-step listing of the calculational steps for each
station. Finally, a third file, always called LaserTC.csv, is a
comma-separated-value (CSV) file that contains the results of the terrain correction
calculations. LaserTC.csv permits easy importation of the results
of the calculation into 3rd-party spreadsheets.
Example Output Files
Examples of the primary output file and the log file are provided below.
Primary Output File
Innermost terrain correction calculations. Fri Feb 28 07:19:16 1997
All corrections calculated for a unit density (1.0 g/cc).
Minimum radius for calculation: 1.0 m.
Maximum radius for calculation: 50.0 m.
Angular increment for integration: 5 degrees.
Terrain corrections below are in microGals.
Station X-Value Y-Value Elev Obs Grav Inner TC No. Eval. Err Est
Getchell 0.0 0.0 0.0 0.000 22.1 2376 0.005
MallData 0.0 0.0 0.0 0.000 94.6 2376 0.004
Log File
Processing inner-zone elevation data. Fri Feb 28 07:19:16 1997
Station: Getchell
Elevation file: mine.dat
Obs grav: 0.00 Station coordinates: 0.00 0.00 0.00
Number of elevation data read is: 495.
Number of elevations retained is: 440.
Station: MallData
Elevation file: mall.dat
Obs grav: 0.00 Station coordinates: 0.00 0.00 0.00
Number of elevation data read is: 100.
Number of elevations retained is: 100.
Limitations
There are no explicit limitations on the number of elevation data that
can be used on each elevation file, nor on the number of elevation data
that may fall within the radius Rmax about each
station. However, approximately 60×N bytes of memory are
needed for each terrain correction calculation, where N is
the number of elevation samples falling within the radius Rmax.
Note also that computational time for the terrain correction calculation
will be roughly N×log(N), where, as before,
N is the number of elevation samples falling within the
radius Rmax.
Licensing
LaserTC© is copyright 1997-2012, Geophysical Software, Inc., all rights reserved. The program
LaserTC© is licensed, not sold, and may not be redistributed in
any form without express written consent of Geophysical Software.
Copyright 2012, Geophysical Software, Inc.
Last modified 24 August 2012