A probabilistic earthquake source inversion framework. Designed and crafted in Mordor. https://pyrocko.org/grond
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

59 lines
2.1 KiB

from __future__ import absolute_import
import os
import shutil
from grond import config
from grond import Environment
from . import common
from .common import grond, chdir
_multiprocess_can_split = True
def test_scenario():
playground_dir = common.get_playground_dir()
common.get_test_data('gf_stores/crust2_ib/')
common.get_test_data('gf_stores/crust2_ib_static/')
gf_stores_path = common.test_data_path('gf_stores')
with chdir(playground_dir):
scenario_dir = 'scenario'
if os.path.exists(scenario_dir):
shutil.rmtree(scenario_dir)
grond('scenario', '--targets=waveforms,insar,gnss', '--nevents=2',
'--nstations=3', '--gf-store-superdirs=%s' % gf_stores_path,
scenario_dir)
with chdir(scenario_dir):
config_path = 'config/scenario.gronf'
quick_config_path = 'config/scenario_quick.gronf'
event_names = grond('events', config_path).strip().split('\n')
env = Environment([config_path] + event_names)
conf = env.get_config()
mod_conf = conf.clone()
mod_conf.set_elements(
'analyser_configs[:].niterations', 100)
mod_conf.set_elements(
'optimiser_config.sampler_phases[:].niterations', 100)
mod_conf.set_elements(
'optimiser_config.nbootstrap', 5)
mod_conf.set_basepath(conf.get_basepath())
config.write_config(mod_conf, quick_config_path)
grond('diff', config_path, quick_config_path)
grond('check', quick_config_path, *event_names)
grond('go', quick_config_path, *event_names)
rundir_paths = common.get_rundir_paths(config_path, event_names)
grond('report', *rundir_paths)
grond(
'go', quick_config_path,
'--parallel=2',
'--force',
*event_names)
rundir_paths = common.get_rundir_paths(config_path, event_names)
grond('report', '--parallel=2', *rundir_paths)