LOCSAT¶
Locator in SeisComP for computing source time and hypocenter coordinates from phase picks.
Description¶
LOCSAT is a locator with a travel-time interface in SeisComP for computing source time and hypocenter coordinates from phase picks considering:
Pick time and pick uncertainty,
Backazimuth and backazimuth uncertainty,
Slowness and slowness uncertainty,
Phase-specfic travel-time tables.
The LOCSAT locator interface implements a wrapper for the LocSAT locator by Bratt and Nagy [51] (according to the README file shipped with the LocSAT distribution) referred to as LOCSAT in SeisComP. The LOCSAT travel-time interface provides travel time for specfic phases, epicentral distance, source depth and station elevation.
Locator Interface¶
LOCSAT provides the hypocenter parameters through the locator interface. Instead of specifying an Earth model, LOCSAT queries travel times via the LOCSAT travel-time interface which makes use of pre-defined travel-time tables. Note the limitations.
Use “LOCSAT” as a value for the locator interface along with a profile when configurable, e.g., by scolv, scautoloc or screloc.
Travel-Time Interface¶
LOCSAT provides an interface for computing travel times based on station and source coordinates with non-negative source depths. Note the limitations.
The travel times are used for predicting phase arrival times in various applications such as scautoloc or scolv. The times are visualized, e.g., as blue marks in the scolv picker window.
Use “LOCSAT” as a value for the travel-time interface when configurable, e.g., by FixedHypocenter or StdLoc.
Travel-Time Tables¶
SeisComP ships with two sets of predefined travel-time tables which are made available as the profiles tab and iasp91.
The default profile is iasp91.
LOCSAT travel time tables are located as plain ascii files under
@DATADIR@/locsat/tables/.
The tables provide the travel times for particular seismic phases at
given depth and epicentral distance in one file per Earth model and seismic
phase. E.g. P-wave arrival times in the iasp91 model are found in
@DATADIR@/locsat/tables/iasp91.P. You may easily add your own tables
for any available Earth model and seismic phase by adopting existing ones in new
files which are added by configuration to
your SeisComP modules.
Limitations¶
The source depth is limited to non-negative values up to 800 km.
Only phases for which a travel-time table exists can be considered.
LOCSAT currently considers travel-time tables for phases which are hard-coded
seismic body waves: P, Pb, Pg, Pn, pP, PP, PcP, PKiKP, PKIKP, PKKP, PKP, PKPab, PKPbc, PKPdf, pPKPab, pPKPbc, pPKPdf,
S, Sb, Sg, Sn, sP, sS, SS, ScP, ScS, SKKP, SKP, SKPdf, SKS, SKSac, SKSdf, sPKPab, sPKPbc, sPKPdf,
where P and S are the frist-arrival direct P and S phases, respectively, at all distances no matter the take-off angle at the source.
seismic surface waves: LQ, LR, Lg, Rg.
infrasound: Is, It, Iw.
The maximum number of distance and depth intervals per table file is currently 210 and 50, respectively.
Warning
Travel-time tables with larger numbers of distance or depth samples are reported along with command-line error output (stderr). The travel-time tables should therefore be tested, e.g., with scolv before unsupervised application.
Travel times at distance and depth samples exceeding the limits are ignored. This may lead to undesired behavior during location.
Phase picks observed outside the distance and depth ranges defined by travel-time tables may lead to undesired behavior during location.
The considered minimum depth is 0 km. Elevations and depths above datum are not natively considered. The effects of station elevation can be empirically corrected for.
Station elevations¶
LOCSAT does not natively support corrections of travel times for station elevations. At least checking the code:
sta_cor[i] = 0.0; /* FIX !!!!!!*/
However, the SeisComP wrapper adds this feature. It allows to define a
.stacor file which defines emperic corrections of observed travel times.
The corrections are provided in seconds and subtracted (not added) from
the observation time to be compatible with the NonLinLoc [61]
station correction definitions.
Each LOCSAT profile (travel time table) can have one associated station
correction file. E.g. for adding station corrections to the iasp91 tables, the
file $SEISCOMP_ROOT/share/locsat/tables/iasp91.stacor needs to be
created.
Station correction files take the form (example):
# LOCDELAY code phase numReadings delay
LOCDELAY GE.MORC P 1 0.15
LOCDELAY IU.ANMO.00 P 1 0.36
LOCDELAY IU.KONO.20 P 1 -0.03
with
LOCDELAY: Required fixed string.
code (string): Stream code (after all alias evaluations) up to sensor location code with network and station code as a minium. Exception: If only a station code is given, then only the station code is checked. This is a fallback for data centers ignoring network codes and should be used exceptionally only.
Network, station and sensor location codes are separated by ‘.’. If no sensor location is given, an empty code is assumed. Wildcards are not supported.
phase (string): Phase type (any of the available travel time tables)
numReadings (integer): Number of residuals used to calculate mean residual/delay. Not used by LOCSAT, included for compatibility reasons with NonLinLoc
delay (float): Delay in seconds, subtracted from observed time.
Note
Station corrections are only considered by the locator, not the travel-time interface. Therefore, they do not find application for locating by FixedHypocenter or for phase association in scautoloc.
The example file for station corrections above reflect the format not any empirically derived relationship and the values themselves have no meaning.
Application and Setup¶
LOCSAT is the default and only locator for scautoloc with iasp91 as the default profile. However, LOCSAT can be used optionally in other modules such as scolv or screloc.
Custom travel-time tables¶
Generate your travel-time tables from a custom Earth model, depth and distance intervals. Use the same format as the defaults as the iasp91 tables. Tools such as TauP [29] allow the generation.
Add your custom travel-time tables along with station corrections to
@DATADIR@/locsat/tables/Add your available custom LOCSAT travel-time tables in global configuration, e.g., to the list of tables of travel-time interfaces
ttt.LOCSAT.tables = iasp91, custom
and to the list of locator profiles
LOCSAT.profiles = iasp91, custom
and optionally to locators which make use of LOCSAT tables, e.g., FixedHypocenter.
Application with modules¶
LOCSAT-specific parameters may be configured by global module configuration (LOCSAT.*) and overridden per module:
The profiles for locating may be extended or limited by
LOCSAT.profiles.When using picks with time uncertainties, consider
LOCSAT.usePickUncertaintiesandLOCSAT.defaultTimeError.Measurements of backazimuth and slowness may be obtained as attributes to picks from array processing or from feature extraction by scautopick. These pick attributes may be activated for default application by configuration of the global module parameters
LOCSAT.usePickBackazimuthandLOCSAT.usePickSlowness.scautoloc and scolv will consider backazimuth and slowness when
LOCSAT.usePickBackazimuthandLOCSAT.usePickSlowness, respectively, are true.
Specific modules:
-
define the profile to be used by default in scolv module configuration
interactively adjust the settings for uncertainties and the pick attributes. The changes only apply during runtime:
scolv Location tab with LOCSAT selected and the settings menu.¶
scautoloc: Define the profile used for automatic locations in scautoloc module configuration.
screloc: Define LOCSAT as a locator along with the profile for automatic relocation in screloc module configuration.
Module Configuration¶
Note
LOCSAT.* Locator parameters: LOCSAT
- LOCSAT.profiles¶
Default:
iasp91, tabType: list:string
Defines a list of available LOCSAT travel-time tables.
- LOCSAT.depthInit¶
Default:
20.0Type: double
Unit: km
The initial depth estimate for LOCSAT.
- LOCSAT.usePickUncertainties¶
Default:
falseType: boolean
Whether to use pick time uncertainties for arrivals rather than a fixed time error. If true, the uncertainties are retrieved from each individual phase pick. If they are not defined, the default pick time uncertainty will be used as fallback.
- LOCSAT.defaultTimeError¶
Default:
1.0Type: double
Unit: s
The default pick time uncertainty assigned to LOCSAT’s arrival attribute if pick uncertainties are not going to be used or if they are absent. A time uncertainty of 0 s may result in errors of the SVD decomposition in LOCSAT.
- LOCSAT.usePickBackazimuth¶
Default:
falseType: boolean
Forward backazimuth measured for phase picks to LOCSAT. Backazimuth measured automaticaly may be inaccurate and disabling their usage in LOCSAT can be controlled with this parameter.
- LOCSAT.usePickSlowness¶
Default:
falseType: boolean
Forward horizontal slowness measured for phase picks to LOCSAT. Slowness values measured automatically may be inaccurate and disabling their usage in LOCSAT can be controlled with this parameter.
- LOCSAT.degreesOfFreedom¶
Default:
9999Type: int
Number of degrees of freedom.
- LOCSAT.confLevel¶
Default:
0.9Type: double
Confidence level between 0.5 and 1.0.
- LOCSAT.enableConfidenceEllipsoid¶
Default:
falseType: boolean
Compute the confidence ellipsoid from covariance matrix in 3D.