@ -0,0 +1 @@ | |||
src/data/examples |
@ -1,46 +0,0 @@ | |||
Grond Project Layout | |||
==================== | |||
For detailed instructions see the documentation https://pyrocko.org/grond/current. | |||
Folder Layout | |||
------------- | |||
``` | |||
├── config | |||
│ ├── laquila2009_joint.gronf | |||
│ ├── ... | |||
│ : | |||
│ | |||
├── data | |||
│ └── events # several events could be set up here | |||
│ ├── laquila2009 | |||
│ │ ├── event.txt | |||
│ │ ├── insar | |||
│ │ │ ├── dsc_insar.npz | |||
│ │ │ ├── dsc_insar.yml | |||
│ │ │ : | |||
│ │ │ | |||
│ │ ├── waveforms | |||
│ │ │ ├── raw # contains Mini-SEED files | |||
│ │ │ │ ├── trace_BK-CMB--BHE_2009-04-06_00-38-31.mseed | |||
│ │ │ │ ├── trace_BK-CMB--BHN_2009-04-06_00-38-31.mseed | |||
│ │ │ │ : | |||
│ │ │ └── stations.xml | |||
│ │ │ | |||
│ │ └── gnss | |||
│ │ └── gnss.yml | |||
│ : | |||
│ | |||
├── gf_stores # contains Green's functions | |||
│ ├── Abruzzo_Ameri_nearfield # static near-field GF store | |||
│ │ └── ... | |||
│ ├── global_2s_25km # dynamic far-field GF store | |||
│ │ └── ... | |||
│ : | |||
│ | |||
├── runs # created at runtime, contains individual optimisation results | |||
│ └── ... | |||
└── reports | |||
└── ... | |||
``` |
@ -1,199 +0,0 @@ | |||
%YAML 1.1 | |||
# Example: Inversion of planar RectangularSource from local InSAR Observations. | |||
--- !grond.Config | |||
# All file paths referenced below are treated relative to the location of this | |||
# configuration file, here we may give a common prefix. E.g. setting it to '..' | |||
# if the configuration file is in the sub-directory '${project_root}/config' | |||
# allows us to give the paths below relative to '${project_root}'. | |||
path_prefix: '..' | |||
# Path, where to store output (run directories). The placeholder | |||
# '${problem_name}' will be expanded to a name configured below in | |||
# problem_config.name_template and will typically include a config identifier | |||
# and the event name. | |||
rundir_template: runs/${problem_name}.grun | |||
# If given, restrict to processing of listed events | |||
#event_names: | |||
#- 'gfz2018pmjk' | |||
# ----------------------------------------------------------------------------- | |||
# Configuration section for dataset (input data) | |||
# | |||
# The placeholder '${event_name}' will be expanded to the current event. This | |||
# enables us to use the same configuration for multiple events. The available | |||
# events are detected by looking into possible expansions of | |||
# dataset_config.events_path | |||
# ----------------------------------------------------------------------------- | |||
dataset_config: !grond.DatasetConfig | |||
# File with hypocenter information and possibly reference solution | |||
events_path: 'data/events/${event_name}/event.txt' | |||
# List of directories for the InSAR scenes | |||
kite_scene_paths: ['data/events/${event_name}/insar'] | |||
# ----------------------------------------------------------------------------- | |||
# Configuration section for the observational data fitting | |||
# | |||
# This defines the objective function to be minimized in the optimisation. It | |||
# can be composed of one or more contributions, each represented by a | |||
# !grond.*TargetGroup section. | |||
# ----------------------------------------------------------------------------- | |||
target_groups: | |||
- !grond.SatelliteTargetGroup | |||
# Normalisation family (see the Grond documentation for how it works). | |||
# Use distinct normalisation families when mixing misfit contributors with | |||
# different magnitude scaling, like e.g. cross-correlation based misfit and | |||
# time-domain Lx norm. | |||
normalisation_family: 'static' | |||
# Just a name used to identify targets from this group. Use dot-separated path | |||
# notation to group related contributors | |||
path: 'insar' | |||
# How to weight contributions from this group in the global misfit | |||
weight: 1.0 | |||
# Selector for kite scene ids, '*all' is a wildcard and load all scenes present | |||
kite_scenes: ['*all'] | |||
# Subsection on how to fit the traces | |||
misfit_config: !grond.SatelliteMisfitConfig | |||
# Optimise a planar orbital ramp | |||
optimise_orbital_ramp: false | |||
# Parameters for the orbital ramp | |||
ranges: | |||
# Vertical offset in [m] | |||
offset: -0.5 .. 0.5 | |||
# Ranges for the East-West and North-South inclination of the ramp | |||
ramp_east: -1e-4 .. 1e-4 | |||
ramp_north: -1e-4 .. 1e-4 | |||
# How to interpolate the Green's functions (available choices: | |||
# 'nearest_neighbor', 'multilinear'). Choices other than 'nearest_neighbor' | |||
# may require dense GF stores to avoid aliasing artifacts in the forward | |||
# modelling. | |||
interpolation: multilinear | |||
# Name of the GF Store to use | |||
store_id: crust2_ib_static | |||
# ----------------------------------------------------------------------------- | |||
# Definition of the problem to be solved | |||
# | |||
# In this section the source model to be fitted is chosen, the parameter space | |||
# defined, and how to combine the misfit contributions defined in the | |||
# target_groups section above. | |||
# | |||
# The marker !grond.RectangularProblemConfig selects a finite rectancular | |||
# source model. | |||
# ----------------------------------------------------------------------------- | |||
problem_config: !grond.RectangularProblemConfig | |||
# Name used to identify the output | |||
name_template: rect_2009LaAquila | |||
# How to combine the target misfits. For L1 norm: 1, L2 norm: 2, etc. | |||
norm_exponent: 2 | |||
# Definition of model parameter space to be searched in the optimisation | |||
ranges: | |||
# Scaling ranges in [m] | |||
depth: 2500 .. 7000 | |||
east_shift: 0 .. 20000 | |||
north_shift: 0 .. 20000 | |||
length: 5000 .. 10000 | |||
width: 2000 .. 10000 | |||
slip: .2 .. 2 | |||
# Orientation ranges in [deg] | |||
dip: 10 .. 50 | |||
rake: 120 .. 360 | |||
strike: 220 .. 360 | |||
# We are using a dense GF store and will reduce the number of discrete | |||
# subsources by this factor. Decrease the decimation for a finer sub-source | |||
# resolution, and increased computational time | |||
decimation_factor: 12 | |||
# Clearance distance around stations (no models with origin closer than this | |||
# distance to any station are produced by the sampler) | |||
distance_min: 0.0 | |||
# ----------------------------------------------------------------------------- | |||
# Configuration of pre-optimisation analysis phases. | |||
# determined during this phase. | |||
# ----------------------------------------------------------------------------- | |||
# | |||
analyser_configs: | |||
# DOES NOT APPLY FOR INSAR! Balancing weights are determined with this analyser | |||
- !grond.TargetBalancingAnalyserConfig | |||
niterations: 1000 | |||
# ----------------------------------------------------------------------------- | |||
# Configuration of the optimisation procedure | |||
# ----------------------------------------------------------------------------- | |||
optimiser_config: !grond.HighScoreOptimiserConfig | |||
# Number of bootstrap realisations to be tracked simultaneously in the | |||
# optimisation | |||
nbootstrap: 25 | |||
# Stages of the sampler then narrow down to the interesting regions | |||
# (!grond.DirectedSamplerPhase). | |||
sampler_phases: | |||
# Start with uniform sampling of the model space | |||
- !grond.UniformSamplerPhase | |||
# Number of iterations | |||
niterations: 10000 | |||
# How often we shall try to find a valid sample | |||
ntries_preconstrain_limit: 1000 | |||
# Narrow down to the interesting regions | |||
- !grond.DirectedSamplerPhase | |||
# Number of iterations | |||
niterations: 40000 | |||
# How often we shall try to find a valid sample | |||
ntries_preconstrain_limit: 1000 | |||
# Multiplicator for width of sampler distribution at start of this phase | |||
scatter_scale_begin: 2.0 | |||
# Multiplicator for width of sampler distribution at end of this phase | |||
scatter_scale_end: 0.5 | |||
starting_point: excentricity_compensated | |||
sampler_distribution: normal | |||
standard_deviation_estimator: median_density_single_chain | |||
ntries_sample_limit: 2000 | |||
# This parameter determines the length of the chains | |||
chain_length_factor: 8.0 | |||
# ----------------------------------------------------------------------------- | |||
# Configuration section for synthetic seismogram engine | |||
# | |||
# Configures where to look for GF stores. | |||
# ----------------------------------------------------------------------------- | |||
engine_config: !grond.EngineConfig | |||
# Whether to use GF store directories listed in ~/.pyrocko/config.pf | |||
gf_stores_from_pyrocko_config: true | |||
# List of directories with GF stores | |||
gf_store_superdirs: ['gf_stores'] |
@ -1,296 +0,0 @@ | |||
%YAML 1.1 | |||
# Example: Inversion of centroid moment tensor from regional waveform observations. | |||
--- !grond.Config | |||
# All file paths referenced below are treated relative to the location of this | |||
# configuration file, here we may give a common prefix. E.g. setting it to '..' | |||
# if the configuration file is in the sub-directory '${project_root}/config' | |||
# allows us to give the paths below relative to '${project_root}'. | |||
path_prefix: '..' | |||
# Path, where to store output (run directories). The placeholder | |||
# '${problem_name}' will be expanded to a name configured below in | |||
# problem_config.name_template and will typically include a config identifier | |||
# and the event name. | |||
rundir_template: 'runs/${problem_name}.grun' | |||
# If given, restrict to processing of listed events | |||
#event_names: | |||
#- 'gfz2018pmjk' | |||
# ----------------------------------------------------------------------------- | |||
# Configuration section for dataset (input data) | |||
# | |||
# The placeholder '${event_name}' will be expanded to the current event. This | |||
# enables us to use the same configuration for multiple events. The available | |||
# events are detected by looking into possible expansions of | |||
# dataset_config.events_path | |||
# ----------------------------------------------------------------------------- | |||
dataset_config: !grond.DatasetConfig | |||
# List of files with station coordinates. | |||
stations_stationxml_paths: | |||
- 'data/events/${event_name}/waveforms/stations.geofon.xml' | |||
- 'data/events/${event_name}/waveforms/stations.iris.xml' | |||
# File with hypocenter information and possibly reference solution | |||
events_path: 'data/events/${event_name}/event.txt' | |||
# List of directories with raw waveform data | |||
waveform_paths: ['data/events/${event_name}/waveforms/raw'] | |||
# List of stations/components to be excluded according to their STA, NET.STA, | |||
# NET.STA.LOC, or NET.STA.LOC.CHA codes | |||
blacklist: ['GE.UGM', 'GE.PLAI'] | |||
# List of files with additional exclusion lists (one entry per line, same | |||
# format as above) | |||
blacklist_paths: | |||
- 'data/events/${event_name}/waveforms/blacklist.txt' | |||
# List of files with instrument response information (can be the same as in | |||
# stations_stationxml_paths above) | |||
responses_stationxml_paths: | |||
- 'data/events/${event_name}/waveforms/stations.geofon.xml' | |||
- 'data/events/${event_name}/waveforms/stations.iris.xml' | |||
# ----------------------------------------------------------------------------- | |||
# Configuration section for the observational data fitting | |||
# | |||
# This defines the objective function to be minimized in the optimisation. It | |||
# can be composed of one or more contributions, each represented by a | |||
# !grond.*TargetGroup section. | |||
# ----------------------------------------------------------------------------- | |||
target_groups: | |||
- !grond.WaveformTargetGroup | |||
# Normalisation family (see the Grond documentation for how it works). | |||
# Use distinct normalisation families when mixing misfit contributors with | |||
# different magnitude scaling, like e.g. cross-correlation based misfit and | |||
# time-domain Lx norm. | |||
normalisation_family: 'td' | |||
# Just a name used to identify targets from this group. Use dot-separated path | |||
# notation to group related contributors | |||
path: 'td.love' | |||
# Epicentral distance range of stations to be considered in meter | |||
distance_min: 1e3 | |||
distance_max: 900e3 | |||
# Names of components to be included. Available: N=north, E=east, Z=vertical | |||
# (up), R=radial (away), T=transverse (right) | |||
channels: ['T'] | |||
# How to weight contributions from this group in the global misfit | |||
weight: 1.0 | |||
# subsection on how to fit the traces | |||
misfit_config: !grond.WaveformMisfitConfig | |||
# Frequency band [Hz] of acausal filter (flat part of frequency taper) | |||
fmin: 0.01 | |||
fmax: 0.05 | |||
# Factor defining fall-off of frequency taper (zero at fmin/ffactor and | |||
# fmax*ffactor) | |||
ffactor: 1.5 | |||
# Time window to include in the data fitting. Times can be defined offset | |||
# to given phase arrivals. E.g. '{stored:P}-600' would mean 600 s | |||
# before arrival of the phase named 'P'. The phase must be defined in the | |||
# travel time tables in the GF store. | |||
tmin: '{stored:any_P}' | |||
tmax: '{vel_surface:2.5}' | |||
# tfade: 120.0 | |||
# How to fit the data (available: 'time_domain', 'frequency_domain', | |||
# 'log_frequency_domain', 'absolute', 'envelope', 'cc_max_norm') | |||
domain: 'time_domain' | |||
tautoshift_max: 4.0 | |||
autoshift_penalty_max: 0.05 | |||
# For L1 norm: 1, L2 norm: 2, etc. | |||
norm_exponent: 1 | |||
# How to interpolate the Green's functions (available choices: | |||
# 'nearest_neighbor', 'multilinear'). Choices other than 'nearest_neighbor' | |||
# may require dense GF stores to avoid aliasing artifacts in the forward | |||
# modelling. | |||
interpolation: 'nearest_neighbor' | |||
# Name of the GF Store to use | |||
store_id: 'crust2_j3' | |||
- !grond.WaveformTargetGroup | |||
# Normalisation family (see the Grond documentation for how it works). | |||
# Use distinct normalisation families when mixing misfit contributors with | |||
# different magnitude scaling, like e.g. cross-correlation based misfit and | |||
# time-domain Lx norm. | |||
normalisation_family: 'td' | |||
# Just a name used to identfy targets from this group. Use dot-separated path | |||
# notation to group related contributors | |||
path: 'td.rayleigh' | |||
# Epicentral distance range of stations to be considered in meter | |||
distance_min: 1e3 | |||
distance_max: 900e3 | |||
# Names of components to be included. Available: N=north, E=east, Z=vertical | |||
# (up), R=radial (away), T=transverse (right) | |||
channels: ['R', 'Z'] | |||
# How to weight contributions from this group in the global misfit | |||
weight: 1.0 | |||
# subsection on how to fit the traces | |||
misfit_config: !grond.WaveformMisfitConfig | |||
# Frequency band [Hz] of acausal filter (flat part of frequency taper) | |||
fmin: 0.01 | |||
fmax: 0.05 | |||
# Factor defining fall-off of frequency taper (zero at fmin/ffactor and | |||
# fmax*ffactor) | |||
ffactor: 1.5 | |||
# Time window to include in the data fitting. Times can be defined offset | |||
# to given phase arrivals. E.g. '{stored:P}-600' would mean 600 s | |||
# before arrival of the phase named 'P'. The phase must be defined in the | |||
# travel time tables in the GF store. | |||
tmin: '{stored:any_P}' | |||
tmax: '{vel_surface:2.5}' | |||
# tfade: 120.0 | |||
# How to fit the data (available: 'time_domain', 'frequency_domain', | |||
# 'log_frequency_domain', 'absolute', 'envelope', 'cc_max_norm') | |||
domain: 'time_domain' | |||
tautoshift_max: 4.0 | |||
autoshift_penalty_max: 0.05 | |||
# For L1 norm: 1, L2 norm: 2, etc. | |||
norm_exponent: 1 | |||
# How to interpolate the Green's functions (available choices: | |||
# 'nearest_neighbor', 'multilinear'). Choices other than 'nearest_neighbor' | |||
# may require dense GF stores to avoid aliasing artifacts in the forward | |||
# modelling. | |||
interpolation: 'nearest_neighbor' | |||
# Name of the GF Store to use | |||
store_id: 'crust2_j3' | |||
# ----------------------------------------------------------------------------- | |||
# Definition of the problem to be solved | |||
# | |||
# In this section the source model to be fitted is chosen, the parameter space | |||
# defined, and how to combine the misfit contributions defined in the | |||
# target_groups section above. | |||
# | |||
# The marker !grond.CMTProblemConfig selects a centroid moment tensor source | |||
# model. | |||
# ----------------------------------------------------------------------------- | |||
problem_config: !grond.CMTProblemConfig | |||
# Name used to identify the output | |||
name_template: 'cmt_${event_name}' | |||
# Definition of model parameter space to be searched in the optimisation | |||
ranges: | |||
# Time relative to hypocenter origin time [s] | |||
time: '-10 .. 10 | add' | |||
# Centroid location with respect to hypocenter origin [m] | |||
north_shift: '-15e3 .. 15e3' | |||
east_shift: '-15e3 .. 15e3' | |||
depth: '5e3 .. 30e3' | |||
# Range of magnitudes to allow | |||
magnitude: '5.7 .. 6.2' | |||
# Relative moment tensor component ranges (don't touch) | |||
rmnn: '-1.41421 .. 1.41421' | |||
rmee: '-1.41421 .. 1.41421' | |||
rmdd: '-1.41421 .. 1.41421' | |||
rmne: '-1 .. 1' | |||
rmnd: '-1 .. 1' | |||
rmed: '-1 .. 1' | |||
# Source duration range [s] | |||
duration: '1. .. 5.' | |||
# Clearance distance around stations (no models with origin closer than this | |||
# distance to any station are produced by the sampler) | |||
distance_min: 1e3 | |||
# Type of moment tensor to restrict to (choices: 'full', 'deviatoric', 'dc') | |||
mt_type: 'deviatoric' | |||
# How to combine the target misfits. For L1 norm: 1, L2 norm: 2, etc. | |||
norm_exponent: 1 | |||
# ----------------------------------------------------------------------------- | |||
# Configuration of pre-optimisation analysis phases. | |||
# determined during this phase. | |||
# ----------------------------------------------------------------------------- | |||
# | |||
analyser_configs: | |||
# Balancing weights are determined with this analyser | |||
- !grond.TargetBalancingAnalyserConfig | |||
# Number of models to forward model in the analysis, larger number -> better | |||
# statistics) | |||
niterations: 1000 | |||
# ----------------------------------------------------------------------------- | |||
# Configuration of the optimisation procedure | |||
# ----------------------------------------------------------------------------- | |||
optimiser_config: !grond.HighScoreOptimiserConfig | |||
# Number of bootstrap realisations to be tracked simultaneously in the | |||
# optimisation | |||
nbootstrap: 100 | |||
# stages of the sampler. Start with uniform sampling of the model space | |||
# (!grond.UniformSamplerPhase), then narrow down to the interesting regions | |||
# (!grond.DirectedSamplerPhase). | |||
sampler_phases: | |||
- !grond.UniformSamplerPhase | |||
# Number of iterations | |||
niterations: 1000 | |||
- !grond.DirectedSamplerPhase | |||
# Number of iterations | |||
niterations: 20000 | |||
# Multiplicator for width of sampler distribution at start of this phase | |||
scatter_scale_begin: 2.0 | |||
# Multiplicator for width of sampler distribution at end of this phase | |||
scatter_scale_end: 0.5 | |||
# ----------------------------------------------------------------------------- | |||
# Configuration section for synthetic seismogram engine | |||
# | |||
# Configures where to look for GF stores. | |||
# ----------------------------------------------------------------------------- | |||
engine_config: !grond.EngineConfig | |||
# Whether to use GF store directories listed in ~/.pyrocko/config.pf | |||
gf_stores_from_pyrocko_config: false | |||
# List of directories with GF stores | |||
gf_store_superdirs: ['gf_stores'] |
@ -1,240 +0,0 @@ | |||
%YAML 1.1 | |||
# Example: Inversion of W-Phase from teleseismic observations. | |||
--- !grond.Config | |||
# All file paths referenced below are treated relative to the location of this | |||
# configuration file, here we may give a common prefix. E.g. setting it to '..' | |||
# if the configuration file is in the sub-directory '${project_root}/config' | |||
# allows us to give the paths below relative to '${project_root}'. | |||
path_prefix: '..' | |||
# Path, where to store output (run directories). The placeholder | |||
# '${problem_name}' will be expanded to a name configured below in | |||
# problem_config.name_template and will typically include a config identifier | |||
# and the event name. | |||
rundir_template: 'runs/${problem_name}.grun' | |||
# If given, restrict to processing of listed events | |||
#event_names: | |||
#- 'gfz2015sfdd' | |||
# ----------------------------------------------------------------------------- | |||
# Configuration section for dataset (input data) | |||
# | |||
# The placeholder '${event_name}' will be expanded to the current event. This | |||
# enables us to use the same configuration for multiple events. The available | |||
# events are detected by looking into possible expansions of | |||
# dataset_config.events_path | |||
# ----------------------------------------------------------------------------- | |||
dataset_config: !grond.DatasetConfig | |||
# List of files with station coordinates. | |||
stations_stationxml_paths: | |||
- 'data/events/${event_name}/waveforms/stations.geofon.xml' | |||
- 'data/events/${event_name}/waveforms/stations.iris.xml' | |||
- 'data/events/${event_name}/waveforms/stations.orfeus.xml' | |||
# File with hypocenter information and possibly reference solution | |||
events_path: 'data/events/${event_name}/event.txt' | |||
# List of directories with raw waveform data | |||
waveform_paths: ['data/events/${event_name}/waveforms/raw'] | |||
# List of stations/components to be excluded according to their STA, NET.STA, | |||
# NET.STA.LOC, or NET.STA.LOC.CHA codes | |||
blacklist: [] | |||
# List of files with additional exclusion lists (one entry per line, same | |||
# format as above) | |||
blacklist_paths: | |||
- 'data/events/${event_name}/waveforms/blacklist.txt' | |||
# List of files with instrument response information (can be the same as in | |||
# stations_stationxml_paths above) | |||
responses_stationxml_paths: | |||
- 'data/events/${event_name}/waveforms/stations.geofon.xml' | |||
- 'data/events/${event_name}/waveforms/stations.iris.xml' | |||
- 'data/events/${event_name}/waveforms/stations.orfeus.xml' | |||
# ----------------------------------------------------------------------------- | |||
# Configuration section for the observational data fitting | |||
# | |||
# This defines the objective function to be minimized in the optimisation. It | |||
# can be composed of one or more contributions, each represented by a | |||
# !grond.*TargetGroup section. | |||
# ----------------------------------------------------------------------------- | |||
target_groups: | |||
- !grond.WaveformTargetGroup | |||
# Normalisation family (see the Grond documentation for how it works). | |||
# Use distinct normalisation families when mixing misfit contributors with | |||
# different magnitude scaling, like e.g. cross-correlation based misfit and | |||
# time-domain Lx norm. | |||
normalisation_family: 'td' | |||
# Just a name used to identfy targets from this group. Use dot-separated path | |||
# notation to group related contributors | |||
path: 'td.wphase' | |||
# Epicentral distance range of stations to be considered | |||
distance_min: 3000e3 | |||
distance_max: 10000e3 | |||
# Names of components to be included. Available: N=north, E=east, Z=vertical | |||
# (up), R=radial (away), T=transverse (right) | |||
channels: ['Z','R'] | |||
# How to weight contributions from this group in the global misfit | |||
weight: 1.0 | |||
# subsection on how to fit the traces | |||
misfit_config: !grond.WaveformMisfitConfig | |||
# Frequency band [Hz] of acausal filter (flat part of frequency taper) | |||
fmin: 0.001 | |||
fmax: 0.005 | |||
# Factor defining fall-off of frequency taper (zero at fmin/ffactor and | |||
# fmax*ffactor) | |||
ffactor: 1.5 | |||
# Time window to include in the data fitting. Times can be defined offset | |||
# to given phase arrivals. E.g. '{stored:P}-600' would mean 600 s | |||
# before arrival of the phase named 'P'. The phase must be defined in the | |||
# travel time tables in the GF store. | |||
tmin: '{stored:P}-600' | |||
tmax: '{stored:S}-60' | |||
# tfade: 120.0 | |||
# How to fit the data (available: 'time_domain', 'frequency_domain', | |||
# 'log_frequency_domain', 'absolute', 'envelope', 'cc_max_norm') | |||
domain: 'time_domain' | |||
# For L1 norm: 1, L2 norm: 2, etc. | |||
norm_exponent: 1 | |||
# How to interpolate the Green's functions (available choices: | |||
# 'nearest_neighbor', 'multilinear'). Choices other than 'nearest_neighbor' | |||
# may require dense GF stores to avoid aliasing artifacts in the forward | |||
# modelling. | |||
interpolation: 'nearest_neighbor' | |||
# Name of the GF Store to use | |||
store_id: 'global_20s_shallow' | |||
# ----------------------------------------------------------------------------- | |||
# Definition of the problem to be solved | |||
# | |||
# In this section the source model to be fitted is chosen, the parameter space | |||
# defined, and how to combine the misfit contributions defined in the | |||
# target_groups section above. | |||
# | |||
# The marker !grond.CMTProblemConfig selects a centroid moment tensor source | |||
# model. | |||
# ----------------------------------------------------------------------------- | |||
problem_config: !grond.CMTProblemConfig | |||
# Name used to identify the output | |||
name_template: 'wphase_cmt_${event_name}' | |||
# Definition of model parameter space to be searched in the optimisation | |||
ranges: | |||
# Time relative to hypocenter origin time [s] | |||
time: '-100 .. 100 | add' | |||
# Centroid location with respect to hypocenter origin [m] | |||
north_shift: '-200e3 .. 200e3' | |||
east_shift: '-200e3 .. 200e3' | |||
depth: '5e3 .. 40e3' | |||
# Range of magnitudes to allow | |||
magnitude: '7.5 .. 8.5' | |||
# Relative moment tensor component ranges (don't touch) | |||
rmnn: '-1.41421 .. 1.41421' | |||
rmee: '-1.41421 .. 1.41421' | |||
rmdd: '-1.41421 .. 1.41421' | |||
rmne: '-1 .. 1' | |||
rmnd: '-1 .. 1' | |||
rmed: '-1 .. 1' | |||
# Source duration range [s] | |||
duration: '50. .. 200.' | |||
# Clearance distance around stations (no models with origin closer than this | |||
# distance to any station are produced by the sampler) | |||
distance_min: 0. | |||
# Type of moment tensor to restrict to (choices: 'full', 'deviatoric', 'dc') | |||
mt_type: 'deviatoric' | |||
# How to combine the target misfits. For L1 norm: 1, L2 norm: 2, etc. | |||
norm_exponent: 1 | |||
# ----------------------------------------------------------------------------- | |||
# Configuration of pre-optimisation analysis phases. | |||
# determined during this phase. | |||
# ----------------------------------------------------------------------------- | |||
# | |||
analyser_configs: | |||
# Balancing weights are determined with this analyser | |||
- !grond.TargetBalancingAnalyserConfig | |||
# Number of models to forward model in the analysis, larger number -> better | |||
# statistics) | |||
niterations: 1000 | |||
# ----------------------------------------------------------------------------- | |||
# Configuration of the optimisation procedure | |||
# ----------------------------------------------------------------------------- | |||
optimiser_config: !grond.HighScoreOptimiserConfig | |||
# Number of bootstrap realisations to be tracked simultaneously in the | |||
# optimisation | |||
nbootstrap: 100 | |||
# stages of the sampler. Start with uniform sampling of the model space | |||
# (!grond.UniformSamplerPhase), then narrow down to the interesting regions | |||
# (!grond.DirectedSamplerPhase). | |||
sampler_phases: | |||
- !grond.UniformSamplerPhase | |||
# Number of iterations | |||
niterations: 1000 | |||
- !grond.DirectedSamplerPhase | |||
# Number of iterations | |||
niterations: 20000 | |||
# Multiplicator for width of sampler distribution at start of this phase | |||
scatter_scale_begin: 2.0 | |||
# Multiplicator for width of sampler distribution at end of this phase | |||
scatter_scale_end: 0.5 | |||
# ----------------------------------------------------------------------------- | |||
# Configuration section for synthetic seismogram engine | |||
# | |||
# Configures where to look for GF stores. | |||
# ----------------------------------------------------------------------------- | |||
engine_config: !grond.EngineConfig | |||
# Whether to use GF store directories listed in ~/.pyrocko/config.pf | |||
gf_stores_from_pyrocko_config: false | |||
# List of directories with GF stores | |||
gf_store_superdirs: ['gf_stores'] |