Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Sebastian Heimann
grond
Commits
a06f0c50
Commit
a06f0c50
authored
Mar 16, 2018
by
Sebastian Heimann
Browse files
updated readme
parent
ade8e28f
Changes
1
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
a06f0c50
...
@@ -19,7 +19,7 @@ sudo python setup.py install
...
@@ -19,7 +19,7 @@ sudo python setup.py install
## Updating an existing installation
## Updating an existing installation
```
bash
```
bash
cd
grond
# change to the directory where you cloned grond
to
initially
cd
grond
# change to the directory
to
where you cloned grond initially
git pull origin master
git pull origin master
sudo
python setup.py
install
sudo
python setup.py
install
```
```
...
@@ -30,16 +30,17 @@ sudo python setup.py install
...
@@ -30,16 +30,17 @@ sudo python setup.py install
Grond can be run as a command line tool or by calling Grond's library functions
Grond can be run as a command line tool or by calling Grond's library functions
from a Python script. To get a brief description on available options of
from a Python script. To get a brief description on available options of
Grond's command line tool, run
`grond --help`
or
`grond <subcommand> --help`
.
Grond's command line tool, run
`grond --help`
or
`grond <subcommand> --help`
.
Once dataset and configuration are ready, the command
Once dataset and configuration are ready, the command
`grond go <configfile>
`grond go <configfile> <eventname>`
starts the optimization algorithm for a
<eventname>`
starts the optimization algorithm for a selected event. Before
selected event. Before running the optimization, to debug problems with the
running the optimization, to debug problems with the dataset and configuration,
dataset and configuration, use
`grond check <configfile> <eventname>`
. To get
use
`grond check <configfile> <eventname>`
. To get a list of event names
a list of event names available in a configured setup, run
available in a configured setup, run
`grond events <configfile>`
. During the
`grond events <configfile>`
.
optimization, results are aggregated in a directory, referred to in the
During the optimization, results are aggregated in a directory,
configuration as
`<rundir>`
. To visualize the results run
`grond plot
referred to in the configuration as
`<rundir>`
. To visualize the results run
<plotnames> <rundir>`
. The results can be exported in various ways by running
`grond plot <plotnames> <rundir>`
. The results can be exported in various way
the subcommand
`grond export <what> <rundir>`
. Finally, you may run
`grond
by running the subcommand
`grond export <what> <rundir>`
.
report <rundir>`
to aggregate results to a browsable summary, (by default)
under the directory
`reports`
.
## Example configuration file
## Example configuration file
...
@@ -51,7 +52,6 @@ by running the subcommand `grond export <what> <rundir>`.
...
@@ -51,7 +52,6 @@ by running the subcommand `grond export <what> <rundir>`.
# Path, where to store output (run-directories)
# Path, where to store output (run-directories)
rundir_template
:
'
gruns/${problem_name}.run'
rundir_template
:
'
gruns/${problem_name}.run'
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
# Configuration section for dataset (input data)
# Configuration section for dataset (input data)
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
...
@@ -60,22 +60,31 @@ dataset_config: !grond.DatasetConfig
...
@@ -60,22 +60,31 @@ dataset_config: !grond.DatasetConfig
# List of files with station coordinates
# List of files with station coordinates
stations_stationxml_paths
:
stations_stationxml_paths
:
-
'
events/${event_name}/responses.stationxml'
-
'
events/${event_name}/responses-geofon.stationxml'
-
'
events/${event_name}/responses-iris.stationxml'
# File with hypocenter information and possibly reference solution
# File with hypocenter information and possibly reference solution
events_path
:
'
events/${event_name}/event.txt'
events_path
:
'
events/${event_name}/
prepared/
event.txt'
# List of directories with raw waveform data
# List of directories with raw waveform data
waveform_paths
:
waveform_paths
:
-
'
data
/${event_name}/raw'
-
'
events
/${event_name}/raw'
# List of files with instrument response information
# List of files with instrument response information
responses_stationxml_paths
:
responses_stationxml_paths
:
-
'
meta/${event_name}/responses.stationxml'
-
'
events/${event_name}/responses-geofon.stationxml'
-
'
events/${event_name}/responses-iris.stationxml'
# List with station/channel codes to exclude
# List with station/channel codes to exclude
blacklist
:
[
OTAV
,
RCBR
,
PTGA
,
AXAS2
,
SNAA
,
PAYG
,
RAR
,
SDV
,
VAL
,
XMAS
,
ODZ
,
#blacklist: ['STA','NET.STA', 'NET.STA.LOC', 'NET.STA.LOC.CHA']
Z51A
,
MSVF
,
SHEL
,
SUR
,
ROSA
,
'
IU.PTCN.00.T'
,
'
C1.VA02..T'
,
RPN
]
# Same but using a file, one exclusion entry per line
blacklist_paths
:
-
'
events/${event_name}/blacklist.txt'
# Make available picks for forced trace alignment, file must be in Pyrocko's
# marker file format
#picks_paths: ['events/${event_name}/picks.markers']
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
...
@@ -100,21 +109,21 @@ engine_config: !grond.EngineConfig
...
@@ -100,21 +109,21 @@ engine_config: !grond.EngineConfig
# represented by a !grond.TargetConfig section.
# represented by a !grond.TargetConfig section.
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
target_
config
s
:
target_
group
s
:
-
!grond.
TargetConfig
-
!grond.
WaveformTargetGroup
#
Name of the super-group to which this contribution belongs
#
misfits are normalized within each normalization_family separately
super_group
:
'
time_domain
'
normalization_family
:
'
td
'
# Name of the group to which this contribution belongs
# Name of the group to which this contribution belongs
group
:
'
rayleigh'
path
:
'
td.
rayleigh'
# Minimum distance of stations to be considered
# Minimum distance of stations to be considered
distance_min
:
100
0e3
distance_min
:
0e3
# Maximum distance of stations to be considered
# Maximum distance of stations to be considered
distance_max
:
1000
0
e3
distance_max
:
1000e3
# List with names of channels to be considered
# List with names of channels to be considered
channels
:
[
'
Z'
]
channels
:
[
'
Z'
]
...
@@ -123,52 +132,75 @@ target_configs:
...
@@ -123,52 +132,75 @@ target_configs:
weight
:
1.0
weight
:
1.0
# Subsection on how to fit the traces
# Subsection on how to fit the traces
inner_
misfit_config
:
!grond.
Inner
MisfitConfig
misfit_config
:
!grond.
Waveform
MisfitConfig
# Frequency band [Hz] of acausal filter (flat part of frequency taper)
# Frequency band [Hz] of acausal filter (flat part of frequency taper)
fmin
:
0.0
02
fmin
:
0.0
1
fmax
:
0.0
08
fmax
:
0.0
5
# Factor defining fall-off of frequency taper
# Factor defining fall-off of frequency taper
# (zero at fmin/ffactor, fmax*ffactor)
# (zero at fmin/ffactor, fmax*ffactor)
ffactor
:
1.5
ffactor
:
1.5
# Time window to include in the data fitting. Times can be defined offset
# Time window to include in the data fitting. Times can be defined offset
# to given phase arrivals. E.g. 'begin-100' would mean 100 s before arrival
# to given phase arrivals. E.g. '{stored:begin}-100' would mean 100 s
# of the phase named 'begin', which must be defined in the travel time
# before arrival of the phase named 'begin', which must be defined in the
# tables in the GF store.
# travel time tables in the GF store.
tmin
:
'
{stored:begin}-100'
tmax
:
'
{stored:end}+100'
tmin
:
'
{stored:anyP_no_Pdiff}'
tmax
:
'
{vel_surface:2.5}'
# Align traces by picks (will lose some control on origin time and
# location). Define the synthetic phasename, for which a travel time table
# must be available in the GF store,
#pick_synthetic_traveltime: 'anyP_no_Pdiff'
# and the name of the picks to use in the picks file (defined in
# dataset_config)
#pick_phasename: 'P'
# How to fit the data (available choices: 'time_domain',
# How to fit the data (available choices: 'time_domain',
# 'frequency_domain', 'absolute', 'envelope', 'cc_max_norm')
# 'frequency_domain', 'absolute', 'envelope', 'cc_max_norm')
domain
:
'
time_domain'
domain
:
'
time_domain'
# allow for some time-shifting of individual traces, maximum shift [s]
tautoshift_max
:
4.0
# whether to penalise time-shifting (0.0 for no penalty)
autoshift_penalty_max
:
0.0
# exponent of the norm used when comparing traces, 1 or 2
norm_exponent
:
1
# How to interpolate the Green's functions (available choices:
# How to interpolate the Green's functions (available choices:
# 'nearest_neighbor', 'multilinear')
# 'nearest_neighbor', 'multilinear'). Note that the GFs have to be densely
# sampled when using interpolation other than nearest_neighbor.
interpolation
:
'
nearest_neighbor'
interpolation
:
'
nearest_neighbor'
# Name of GF store to use
# Name of GF store to use
store_id
:
'
global_2
0s_shallow
'
store_id
:
'
global_2
s
'
# A second contribution to the misfit function (for descriptions, see above)
# A second contribution to the misfit function (for descriptions, see above)
-
!grond.
TargetConfig
-
!grond.
WaveformTargetGroup
super_group
:
'
time_domain
'
normalisation_family
:
'
td
'
group
:
'
love'
path
:
'
td.
love'
distance_min
:
100
0e3
distance_min
:
0e3
distance_max
:
1000
0
e3
distance_max
:
1000e3
channels
:
[
'
T'
]
channels
:
[
T
]
weight
:
1.0
weight
:
1.0
inner_misfit_config
:
!grond.InnerMisfitConfig
#limit: 20
fmin
:
0.002
misfit_config
:
!grond.WaveformMisfitConfig
fmax
:
0.008
fmin
:
0.01
fmax
:
0.05
ffactor
:
1.5
ffactor
:
1.5
tmin
:
'
{stored:begin}-100'
tmin
:
'
stored:anyP_no_Pdiff'
tmax
:
'
{stored:end}+100'
tmax
:
'
vel_surface:2.5'
domain
:
'
time_domain'
domain
:
time_domain
interpolation
:
'
nearest_neighbor'
tautoshift_max
:
4.0
store_id
:
'
global_20s_shallow'
autoshift_penalty_max
:
0.0
norm_exponent
:
1
interpolation
:
nearest_neighbor
store_id
:
'
global_2s'
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
...
@@ -179,20 +211,20 @@ target_configs:
...
@@ -179,20 +211,20 @@ target_configs:
problem_config
:
!grond.CMTProblemConfig
problem_config
:
!grond.CMTProblemConfig
# Name used when creating output directory
# Name used when creating output directory
name_template
:
'
cmt_surface_wave
_${event_name}'
name_template
:
'
timedomain
_${event_name}'
# Definition of model parameter space to be searched in the optimization
# Definition of model parameter space to be searched in the optimization
ranges
:
ranges
:
# Time relative to hypocenter origin time [s]
# Time relative to hypocenter origin time [s]
time
:
'
-10
0
..
10
0
|
add'
time
:
'
-10
..
10
|
add'
# Centroid location with respect to hypocenter origin [m]
# Centroid location with respect to hypocenter origin [m]
north_shift
:
'
-
20
0e3
..
20
0e3'
north_shift
:
'
-
4
0e3
..
4
0e3'
east_shift
:
'
-
20
0e3
..
20
0e3'
east_shift
:
'
-
4
0e3
..
4
0e3'
depth
:
'
0
..
50e3'
depth
:
'
0
..
50e3'
# Range of magnitudes to allow
# Range of magnitudes to allow
magnitude
:
'
7
.0
..
9
.0'
magnitude
:
'
4
.0
..
7
.0'
# Relative moment tensor component ranges (don't touch)
# Relative moment tensor component ranges (don't touch)
rmnn
:
'
-1.41421
..
1.41421'
rmnn
:
'
-1.41421
..
1.41421'
...
@@ -203,16 +235,12 @@ problem_config: !grond.CMTProblemConfig
...
@@ -203,16 +235,12 @@ problem_config: !grond.CMTProblemConfig
rmed
:
'
-1
..
1'
rmed
:
'
-1
..
1'
# Source duration range [s]
# Source duration range [s]
duration
:
'
3
0.
..
12
0.'
duration
:
'
0.
..
0.'
# Clearance distance around stations (no models with origin closer than this
# Clearance distance around stations (no models with origin closer than this
# distance to any station are produced by the sampler)
# distance to any station are produced by the sampler)
distance_min
:
0.
distance_min
:
0.
# Number of bootstrap realizations to be tracked simultaneously in the
# optimization
nbootstrap
:
100
# Type of moment tensor to restrict to (choices: 'full', 'deviatoric')
# Type of moment tensor to restrict to (choices: 'full', 'deviatoric')
mt_type
:
'
deviatoric'
mt_type
:
'
deviatoric'
...
@@ -220,38 +248,44 @@ problem_config: !grond.CMTProblemConfig
...
@@ -220,38 +248,44 @@ problem_config: !grond.CMTProblemConfig
# spreading etc.
# spreading etc.
apply_balancing_weights
:
true
apply_balancing_weights
:
true
# Under what norm to combine targets into the global misfit
# (exponent of norm, 1 or 2)
norm_exponent
:
1
nbootstrap
:
100
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
# Configuration of the optimization procedure
# Configuration of the optimization procedure
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
solver_config
:
!grond.SolverConfig
# Distribution used when drawing new candidate models (choices: 'normal',
# This configuration will run the BABO (Bayesian Bootstrap) optimization
# 'multivariate_normal') (used in 'transition', 'explorative', and
optimizer_config
:
!grond.HighScoreOptimizerConfig
# 'non_explorative' phase)
sampler_distribution
:
'
normal'
# Number of bootstrap realizations to be tracked simultaneously in the
# optimization
nbootstrap
:
100
sampler_phases
:
# Number of iterations to operate in 'uniform' mode
-
!grond.UniformSamplerPhase
niter_uniform
:
1000
# Number of iterations to operate in '
transition' mod
e
# Number of iterations to operate in '
uniform' phas
e
niter
_transi
tion
:
2
000
niter
a
tion
s
:
1
000
# Number of iterations to operate in 'explorative' mode
-
!grond.DirectedSamplerPhase
niter_explorative
:
2000
# Number of iterations to operate in '
non_explorative' mod
e
# Number of iterations to operate in '
directed' phas
e
niter
_non_explorative
:
0
niter
ations
:
1000
0
# Multiplicator for width of sampler distribution in 'explorative' and
# Multiplicator for width of sampler distribution at end of this phase
# 'non-explorative' phases
scatter_scale_begin
:
2.0
scatter_scale
:
0.25
# Multiplicator for width of sampler distribution at start of 'transition'
# Multiplicator for width of sampler distribution at end of this phase
# phase. (From there, it exponentially decreases to the value defined in
scatter_scale_end
:
0.5
# 'scatter_scale' during the 'transition' phase).
scatter_scale_transition
:
2.
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
...
@@ -263,5 +297,5 @@ analyser_config: !grond.AnalyserConfig
...
@@ -263,5 +297,5 @@ analyser_config: !grond.AnalyserConfig
# Number of iterations (number of models to forward model in the analysis,
# Number of iterations (number of models to forward model in the analysis,
# larger number -> better statistics)
# larger number -> better statistics)
niter
:
1000
niter
ations
:
1000
```
```
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment