Skip to content

Commit

Permalink
Merge branch 'master' into new_agpl_seiscomp
Browse files Browse the repository at this point in the history
  • Loading branch information
luca-s committed Nov 30, 2020
2 parents bbbf024 + e7ef155 commit 14b23d6
Show file tree
Hide file tree
Showing 12 changed files with 544 additions and 466 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,11 +184,11 @@ In addition to the options we have already seen, there are also some other inter

E.g.
```
scrtdd --dump-catalog-xml station.csv,event.csv,phase.csv
scrtdd --dump-catalog-xml station.csv,event.csv,phase.csv > mycatalog.xml
```
or
```
scrtdd --dump-catalog-xml myCatalog.csv
scrtdd --dump-catalog-xml myCatalog.csv > mycatalog.xml
```

`--merge-catalogs` and `--merge-catalogs-keepid` are useful to merge several catalogs in a single one. The difference between the two is that "keepid" properly handle repeted events. e.g.
Expand Down
111 changes: 57 additions & 54 deletions apps/scrtdd/descriptions/scrtdd.xml
Original file line number Diff line number Diff line change
Expand Up @@ -221,29 +221,29 @@
for which exist phases for both events.
To build the event pairs a clustering algorithm is performed, joining
together events within a given distance and fulfilling specific
requirements which are confiurable in here
requirements which are configurable in here
</description>
<parameter name="minNumNeigh" type="int">
<description>
Minimum number of neighboring events required to relocate an event.
This is useful to avoid including solutions that are poorly
constrained.
Useful to avoid inclusion of poorly constrained events.
</description>
</parameter>
<parameter name="maxNumNeigh" type="int">
<description>
Maximum number of neighbors per event. When setting this
value make it consistent with numEllipsoids parameter (that is
numEllipsoids * 8) if numEllipsoids is not 0.
A value of 0 or less disables this limit
Maximum number of neighbors per event. Useful to reduce
computation time when relocating a large number events.
This value should be consistent with numEllipsoids parameter (that
is numEllipsoids * 8) if numEllipsoids is not 0.
A value of 0 or less disables this limit
</description>
</parameter>
<parameter name="minObservationPerEvtPair" type="int" >
<description>
Minimum number of differential travel times (Including P+S) per
event pair required.
Event pairs not satisfying this condition will not be used.
This is useful to force inclusion of well connected
Useful to force inclusion of well connected
neighbours only.
</description>
</parameter>
Expand Down Expand Up @@ -354,29 +354,29 @@
for which exist phases for both events.
To build the event pairs a clustering algorithm is performed, joining
together events within a given distance and fulfilling specific
requirements which are confiurable in here
requirements which are configurable in here
</description>
<parameter name="minNumNeigh" type="int">
<description>
Minimum number of neighboring events required to relocate an event.
This is useful to avoid including solutions that are poorly
constrained.
Useful to avoid inclusion of poorly constrained events.
</description>
</parameter>
<parameter name="maxNumNeigh" type="int">
<description>
Maximum number of neighbors per event. When setting this
value make it consistent with numEllipsoids parameter (that is
numEllipsoids * 8) if numEllipsoids is not 0.
A value of 0 or less disables this limit
Maximum number of neighbors per event. Useful to reduce
computation time when relocating a large number events.
This value should be consistent with numEllipsoids parameter (that
is numEllipsoids * 8) if numEllipsoids is not 0.
A value of 0 or less disables this limit
</description>
</parameter>
<parameter name="minObservationPerEvtPair" type="int" >
<description>
Minimum number of differential travel times (Including P+S) per
event pair required.
Event pairs not satisfying this condition will not be used.
This is useful to force inclusion of well connected
Useful to force inclusion of well connected
neighbours only.
</description>
</parameter>
Expand Down Expand Up @@ -602,7 +602,13 @@
<group name="solver">
<description>
Configuration for the double-difference equations system solver.
</description>
The solver finds the solution to the double-difference system (the
origin locations/times) starting from the initial origins locations,
then it iterates the process multiple times updating the
double-difference observations based on the previous iteration solutions
and also updating the observations weights accordingly to
downWeightingByResidual settings.
</description>
<parameter name="solverType" type="string" default="LSMR" >
<description>
Solver algorithm to use: either LSMR or LSQR. Both works solving
Expand All @@ -613,21 +619,22 @@
</parameter>
<parameter name="algoIterations" type="int" default="20">
<description>
The solver finds the solution to the double-differnce system
starting from the initial origins locations, then it iterates
the process multiple times updating the double-difference observations
based on the origin newly found locations (the observations weights are
also updated, see downWeightingByResidual). This parameter control
how many times the process is performed. The logs of the relocation
contain information on the residuals of the double-difference system
at the end of each iteration. That information should be used to
evaluate when it is worth increasing the number of interations.
This parameter control how many iterations the solver performs.
The logs of the relocation contain information on the residuals
of the double-difference system at the end of each iteration.
That information should be used to evaluate when it is worth
increasing/decreasing the number of interations.
</description>
</parameter>
</parameter>
<parameter name="useTTResiduals" type="boolean" default="true">
<description>Include travel time residuals in the double-difference
system. The relocated origins will improve in absolute locations but the relative locations might lose in resolution
</description>
</parameter>
<group name="downWeightingByResidual">
<description>
When the double difference system is created all observations have
weight 1.0 (unless a priori weights options is used). In subsequent
Initially all double-difference observations have weight 1.0 (unless
a priori weights options is used). In subsequent
iterations each observation is downweighted accordingly to its
residuals, which allows to eventualy get rid of bad observations
and also to scale observation wights accordingly to their quality
Expand All @@ -640,34 +647,30 @@
residual value (see Waldhauser/Ellsworth paper)
A value of 0 disables downweighting
</description>
<parameter name="startingValue" type="double" default="10"></parameter>
<parameter name="finalValue" type="double" default="3"></parameter>
<parameter name="startingValue" type="double" default="10">
<description>Value for the first iteration of the solver</description>
</parameter>
<parameter name="finalValue" type="double" default="3">
<description>Value for the last iteration of the solver</description>
</parameter>
</group>
<group name="dampingFactor">
<description>
Setting a value different than 0 enables the solver to use a damped least
squares system instead of a standard linear least squares.
The damping factor value constrains the changes in earthquakes parameters
(location and time) to avoid huge earthquakes shift during relocation.
The units used in the double-difference sytem are km and seconds,
so a dampingFactor value of 1 weighs as much as 1 km on changes
to lat/lon/depth and 1 second to changes in origin time
</description>
<parameter name="startingValue" type="double" default="0.3"></parameter>
<parameter name="finalValue" type="double" default="0.3"></parameter>
</group>
<group name="meanShiftconstraintWeight">
<description>
Constrain the mean shift of all earthquakes during relocation to zero.
This is a more "crude" way than 'dampingFactor' option to avoid
the shifting of the full cluster as the result of the relocation.
This paramenter should not be mixed with 'dampingFactor' and one of
the two should be set to 0.
4 weight values are required: longitude, latitude, depth and time
constraint weights. A weight of zero means no constraint.
<description>
Setting a value different than 0 enables the solver to use a damped
(regularized) least squares system.
The damping factor value constrains the changes in earthquakes
parameters (location and time) preventing them becoming very large,
and it also helps in case of ill-conditioned systems.
A too high value prevents the events from changing at all. A too low
value might result in a huge shift of the event cluster after
relocation, although the structure should persists.
</description>
<parameter name="startingValue" type="double" default="0,0,0,0"></parameter>
<parameter name="finalValue" type="double" default="0,0,0,0"></parameter>
<parameter name="startingValue" type="double" default="0.3">
<description>Value for the first iteration of the solver</description>
</parameter>
<parameter name="finalValue" type="double" default="0.3">
<description>Value for the last iteration of the solver</description>
</parameter>
</group>
<group name="aPrioriWeights">
<description>
Expand Down
Loading

0 comments on commit 14b23d6

Please sign in to comment.