Browse Source

reorganising examples

tags/v1.0.0
miili 1 year ago
parent
commit
8911ad4e93
20 changed files with 2 additions and 782 deletions
  1. +1
    -0
      examples
  2. +0
    -0
      src/data/examples/grond-playground-insar/README.md
  3. +0
    -0
      src/data/examples/grond-playground-insar/bin/download_gf_stores.sh
  4. +0
    -0
      src/data/examples/grond-playground-insar/bin/download_insar_data.sh
  5. +0
    -0
      src/data/examples/grond-playground-insar/config/insar_rectangular.gronf
  6. +0
    -0
      src/data/examples/grond-playground-regional/README.md
  7. +0
    -0
      src/data/examples/grond-playground-regional/bin/download_gf_stores.sh
  8. +0
    -0
      src/data/examples/grond-playground-regional/bin/grondown
  9. +0
    -0
      src/data/examples/grond-playground-regional/bin/grondown_regional.sh
  10. +0
    -0
      src/data/examples/grond-playground-regional/config/regional_cmt.gronf
  11. +0
    -0
      src/data/examples/grond-playground-wphase/README.md
  12. +0
    -0
      src/data/examples/grond-playground-wphase/bin/download_gf_stores.sh
  13. +0
    -0
      src/data/examples/grond-playground-wphase/bin/grondown
  14. +0
    -0
      src/data/examples/grond-playground-wphase/bin/grondown_wphase.sh
  15. +0
    -0
      src/data/examples/grond-playground-wphase/config/wphase_cmt.gronf
  16. +1
    -5
      src/data/init/README.md
  17. +0
    -45
      src/data/init/README_example.md
  18. +0
    -198
      src/data/init/example_insar_rectangular.gronf
  19. +0
    -295
      src/data/init/example_regional_cmt.gronf
  20. +0
    -239
      src/data/init/example_wphase_cmt.gronf

+ 1
- 0
examples View File

@@ -0,0 +1 @@
src/data/examples

examples/grond-playground-insar/README.md → src/data/examples/grond-playground-insar/README.md View File


examples/grond-playground-insar/bin/download_gf_stores.sh → src/data/examples/grond-playground-insar/bin/download_gf_stores.sh View File


examples/grond-playground-insar/bin/download_insar_data.sh → src/data/examples/grond-playground-insar/bin/download_insar_data.sh View File


examples/grond-playground-insar/config/insar_rectangular.gronf → src/data/examples/grond-playground-insar/config/insar_rectangular.gronf View File


examples/grond-playground-regional/README.md → src/data/examples/grond-playground-regional/README.md View File


examples/grond-playground-regional/bin/download_gf_stores.sh → src/data/examples/grond-playground-regional/bin/download_gf_stores.sh View File


examples/grond-playground-regional/bin/grondown → src/data/examples/grond-playground-regional/bin/grondown View File


examples/grond-playground-regional/bin/grondown_regional.sh → src/data/examples/grond-playground-regional/bin/grondown_regional.sh View File


examples/grond-playground-regional/config/regional_cmt.gronf → src/data/examples/grond-playground-regional/config/regional_cmt.gronf View File


examples/grond-playground-wphase/README.md → src/data/examples/grond-playground-wphase/README.md View File


examples/grond-playground-wphase/bin/download_gf_stores.sh → src/data/examples/grond-playground-wphase/bin/download_gf_stores.sh View File


examples/grond-playground-wphase/bin/grondown → src/data/examples/grond-playground-wphase/bin/grondown View File


examples/grond-playground-wphase/bin/grondown_wphase.sh → src/data/examples/grond-playground-wphase/bin/grondown_wphase.sh View File


examples/grond-playground-wphase/config/wphase_cmt.gronf → src/data/examples/grond-playground-wphase/config/wphase_cmt.gronf View File


+ 1
- 5
src/data/init/README.md View File

@@ -2,18 +2,14 @@

The filename's prefix defines the configuration's category and shall start with one of the following:

* `example_*.gronf`
For complete configuration examples
* `section_*.gronf`
For sections
* `snippet_*.gronf`
Pure snippets
* `event_*.txt`
For event files

## Convention

First comment describes the category as *Example*, *Section* or *Snippet*, followed by a collon. (the category is optional).
First comment describes the category as, *Section* or *Snippet*, followed by a collon. (the category is optional).

```yaml
%YAML 1.1


+ 0
- 45
src/data/init/README_example.md View File

@@ -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
└── ...
```

+ 0
- 198
src/data/init/example_insar_rectangular.gronf View File

@@ -1,199 +0,0 @@
%YAML 1.1
# Example: Inversion of planar RectangularSource from local InSAR Observations.

# 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']

+ 0
- 295
src/data/init/example_regional_cmt.gronf View File

@@ -1,296 +0,0 @@
%YAML 1.1
# Example: Inversion of centroid moment tensor from regional waveform observations.

# 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']

+ 0
- 239
src/data/init/example_wphase_cmt.gronf View File

@@ -1,240 +0,0 @@
%YAML 1.1
# Example: Inversion of W-Phase from teleseismic observations.

# 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']

Loading…
Cancel
Save