Browse Source

reorganising examples

miili 1 year ago
parent
commit
8911ad4e93

+ 1 - 0
examples

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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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

@@ -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 - 46
src/data/init/README_example.md

@@ -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 - 199
src/data/init/example_insar_rectangular.gronf

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

+ 0 - 296
src/data/init/example_regional_cmt.gronf

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

+ 0 - 240
src/data/init/example_wphase_cmt.gronf

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