rename ewrica -> siria

pull/14/head
mmetz 1 year ago
parent b43498cd72
commit 0fb4d176c6

@ -1 +1,4 @@
Here could be your Readme
Siria - Package for *S*ource *I*nversion and *R*apid *I*mpact *A*ssessment
--------------------------------------------------------------------------

@ -3,7 +3,7 @@ import os
import numpy as num
from pyrocko.gf import LocalEngine, ws
from ewrica import sources as esrc
from siria import sources as esrc
# The store we are going to use for patch interpolation of the PseudoDynamicRup
store_id = 'crust2_m2'

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,6 +1,6 @@
%YAML 1.1
--- !ewrica.sources.SourceHeader
help_string: "EwricaMTSource; Full moment tensor (MT) point source\n ; lat: latitude
--- !siria.sources.SourceHeader
help_string: "SiriaMTSource; Full moment tensor (MT) point source\n ; lat: latitude
of reference point [deg]; lon: longitude of reference point [deg]; north_shift:
northward cartesian offset from reference point [m]; east_shift: eastward cartesian
offset from reference point [m]; elevation: surface elevation, above sea level [m];
@ -11,7 +11,7 @@ help_string: "EwricaMTSource; Full moment tensor (MT) point source\n ; lat: l
component of moment tensor in [Nm]; mnd: north-down component of moment tensor in
[Nm]; med: east-down component of moment tensor in [Nm]; misfit: Misfit value of
the source; probability: Probability of the occurence of the source"
--- !ewrica.sources.EwricaMTSource
--- !siria.sources.SiriaMTSource
lat: 37.83341242478117
lon: 26.67652329921679
depth: 8030.320355365457
@ -27,7 +27,7 @@ mne: 1.857958884140419e+17
mnd: -3.8275956203400704e+18
med: -5.906212371970734e+18
misfit: 0.6258603975138171
--- !ewrica.sources.EwricaMTSource
--- !siria.sources.SiriaMTSource
lat: 37.83341242478117
lon: 26.67652329921679
depth: 8030.320355365457

@ -1,6 +1,6 @@
%YAML 1.1
--- !ewrica.sources.SourceHeader
help_string: "EwricaRectangularSource; \n Simplified constant slip rectangular
--- !siria.sources.SourceHeader
help_string: "SiriaRectangularSource; \n Simplified constant slip rectangular
fault model.\n ; lat: latitude of reference point [deg]; lon: longitude of reference
point [deg]; north_shift: northward cartesian offset from reference point [m]; east_shift:
eastward cartesian offset from reference point [m]; elevation: surface elevation,
@ -24,7 +24,7 @@ help_string: "EwricaRectangularSource; \n Simplified constant slip rectangula
for basesource discretization. When using 'multilinear' interpolation oversampling
has practically no effect.; misfit: Misfit value of the source.; probability: Probability
of the occurence of the source."
--- !ewrica.sources.EwricaRectangularSource
--- !siria.sources.SiriaRectangularSource
lat: 37.9
lon: 26.82
north_shift: 8717.319707554088
@ -50,7 +50,7 @@ velocity: 3460.0
opening_fraction: 0.0
aggressive_oversampling: false
misfit: 1.1132028519812334
--- !ewrica.sources.EwricaRectangularSource
--- !siria.sources.SiriaRectangularSource
lat: 37.9
lon: 26.82
north_shift: 8717.319707554088
@ -76,7 +76,7 @@ velocity: 3460.0
opening_fraction: 0.0
aggressive_oversampling: false
misfit: 1.1132028519812334
--- !ewrica.sources.EwricaRectangularSource
--- !siria.sources.SiriaRectangularSource
lat: 37.9
lon: 26.82
north_shift: 7844.7200353572725

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,5 +1,5 @@
from ewrica.gm.gm_mapping import GMMapping
import ewrica.gm.config as GMcfg
from siria.gm.gm_mapping import GMMapping
import siria.gm.config as GMcfg
print('\nTesting NN_MT:')
@ -37,4 +37,4 @@ args = GMcfg.GroundMotionConfig(config_path='test_gmpe.yaml').get_config()
directory = './data/examples/Samos2020/MTSource/'
ensemblefile = directory + '/data_one.yaml'
GMMapping(ensemblefile, directory, args)
print('Finished testing GMPE.\n')
print('Finished testing GMPE.\n')

@ -1,4 +1,4 @@
--- !ewrica.gm.config.GroundMotionConfig
--- !siria.gm.config.GroundMotionConfig
run: true
config_path: ''
method: GMPE

@ -1,4 +1,4 @@
--- !ewrica.gm.config.GroundMotionConfig
--- !siria.gm.config.GroundMotionConfig
run: true
config_path: ''
method: NN

@ -1,4 +1,4 @@
--- !ewrica.gm.config.GroundMotionConfig
--- !siria.gm.config.GroundMotionConfig
run: true
config_path: ''
method: NN

@ -1,4 +1,4 @@
--- !ewrica.gm.config.GroundMotionConfig
--- !siria.gm.config.GroundMotionConfig
run: true
config_path: ''
method: Pyrocko

@ -16,7 +16,7 @@ except ImportError:
return ''
packname = 'ewrica'
packname = 'siria'
version = '2022.05.30'
@ -83,7 +83,7 @@ setup(
},
packages=packages,
package_dir={'ewrica': 'src'},
package_dir={'siria': 'src'},
entry_points=entry_points,
classifiers=[
'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',

@ -10,9 +10,9 @@ from argparse import ArgumentParser
from pyrocko import util
from ewrica.ids import IDSRunner, IDSConfigFull, IDSError
from siria.ids import IDSRunner, IDSConfigFull, IDSError
logger = logging.getLogger('ewrica.apps.ids')
logger = logging.getLogger('siria.apps.ids')
def d2u(d):
@ -131,7 +131,7 @@ def command_init(args):
def command_go(args):
def setup(parser):
parser.add_argument(
'config', help='ewrica.ids.config configuration file')
'config', help='siria.ids.config configuration file')
parser.add_argument(
'--force', dest='force', action='store_true',

@ -14,9 +14,9 @@ import os.path as op
from pyrocko import util
from ewrica import store
from siria import store
logger = logging.getLogger('ewrica.apps.mole')
logger = logging.getLogger('siria.apps.mole')
def d2u(d):

@ -25,26 +25,26 @@ def no_encode(s):
return s
ewrica_dir_tmpl = os.environ.get('EWRICA_DIR', op.join('~', '.ewrica'))
siria_dir_tmpl = os.environ.get('SIRIA_DIR', op.join('~', '.siria'))
def make_conf_path_tmpl(name='config'):
return op.join(ewrica_dir_tmpl, '%s.pf' % name)
return op.join(siria_dir_tmpl, '%s.pf' % name)
class EwricaConfig(ConfigBase):
class SiriaConfig(ConfigBase):
run_dir = PathWithPlaceholders.T(
default=op.join(ewrica_dir_tmpl, 'runs'),
default=op.join(siria_dir_tmpl, 'runs'),
help='Directory, where all data, results, etc. generated during '
'the run of Ewrica are stored.')
'the run of Siria are stored.')
data_dir = PathWithPlaceholders.T(
default=op.join(ewrica_dir_tmpl, 'data'),
help='Storage directory. All data needed for the runs of Ewrica as '
default=op.join(siria_dir_tmpl, 'data'),
help='Storage directory. All data needed for the runs of Siria as '
'the bayesian networks are stored here.')
config_cls = {
'config': EwricaConfig
'config': SiriaConfig
}

@ -1,6 +1,6 @@
# Ewrica WP2 Data repository
# Siria Data repository
Data that ships with `ewrica` is living in here.
Data that ships with `siria` is living in here.
## tsumaps_all_params.mat

File diff suppressed because it is too large Load Diff

@ -2,7 +2,7 @@
# IDS configuration
# More options can be found within the config documentations
--- !ewrica.ids.config.IDSConfigFull
--- !siria.ids.config.IDSConfigFull
# Version of IDS
ids_version: '2020'
@ -10,7 +10,7 @@ ids_version: '2020'
# Path prefix for all event, waveform and response files
# Do not set it, if you use the IDS config within the mole.
path_prefix: ''
dataset_config: !ewrica.ids.dataset.DatasetConfig
dataset_config: !siria.ids.dataset.DatasetConfig
# Path to the Pyrocko event file.
# Don't set events_path, if you use the IDS config within
# the mole. It will handle that itself
@ -32,7 +32,7 @@ dataset_config: !ewrica.ids.dataset.DatasetConfig
# Set of waveform targets. Add more, if different settings shall
# be applied for different records
waveform_config:
- !ewrica.ids.targets.waveform.WaveformTargetGroupConfig
- !siria.ids.targets.waveform.WaveformTargetGroupConfig
# List of filenames with stations, which shall not be used
# The desired format is STA, NET.STA or NET.STA.LOC, e.g. 'STA',
@ -76,13 +76,13 @@ waveform_config:
'path/to/meta/data.xml']
# IDS misfit weighting of each component (range: 0. to 1.)
component_weights: !ewrica.ids.targets.waveform.ComponentWeight
component_weights: !siria.ids.targets.waveform.ComponentWeight
north: 1.0
east: 1.0
up: 1.0
# Configuration of data restitution
restitution_config: !ewrica.ids.targets.waveform.RestitutionConfig
restitution_config: !siria.ids.targets.waveform.RestitutionConfig
# 4-tuple with corner frequencies in Hz.
frequency_limits:
@ -117,18 +117,18 @@ waveform_config:
static_weight: 0.0
# Configuration of the static GNSS records (BETA so far).
gnss_config: !ewrica.ids.targets.gnss.GNSSTargetGroupConfigFull
gnss_config: !siria.ids.targets.gnss.GNSSTargetGroupConfigFull
weight: 0.0
fn_dat: gnss_data.dat
# Configuration of the static InSAR records (BETA so far).
insar_config: !ewrica.ids.targets.insar.InSARTargetGroupConfig
insar_config: !siria.ids.targets.insar.InSARTargetGroupConfig
weight: 0.0
n_grids: 0
dat_path: ./NoInSARData.dat
# Configuration of the IDS run.
run_config: !ewrica.ids.config.RunConfig
run_config: !siria.ids.config.RunConfig
# Maximum number of IDS iterations.
n_iterations: 100
@ -146,7 +146,7 @@ run_config: !ewrica.ids.config.RunConfig
t_max_snapshots: 50.0
# Engine and further IDS configurations.
engine_config: !ewrica.ids.config.EngineConfig
engine_config: !siria.ids.config.EngineConfig
# Absolute path(s) to the IDS store directories. If multiple paths are
# given, they are all searched for the ids_waveform_store_id and
@ -176,7 +176,7 @@ engine_config: !ewrica.ids.config.EngineConfig
Z: uz
# Filter settings used within IDS main code
ids_synthetic_bp_filter: !ewrica.ids.config.FilterSetting
ids_synthetic_bp_filter: !siria.ids.config.FilterSetting
# Order of the applied buttworth band pass filter
order: 3

@ -11,7 +11,7 @@ from collections import OrderedDict
import json
from pyrocko import util as putil
from ewrica import util
from siria import util
km = 1e3
@ -25,7 +25,7 @@ def parse_3tup(s):
return [None, None, None]
logger = logging.getLogger('ewrica.dataset.fault_loader.activefaults')
logger = logging.getLogger('siria.dataset.fault_loader.activefaults')
def active_faults_fn():
@ -123,7 +123,7 @@ class Fault(object):
raise AttributeError('Not all necessary attributes defined. Check '
'the list in '
'ewrica.dataset.fault_loader.active_faults.')
'siria.dataset.fault_loader.active_faults.')
def get_surface_line(self):
arr = num.empty((len(self.lat), 2))

@ -12,7 +12,7 @@ import numpy as num
from pyrocko import orthodrome as od, moment_tensor as pmt
from pyrocko.model import Event
from ewrica.util import HiddenDataDir, is_dir
from siria.util import HiddenDataDir, is_dir
from . import SeismogenicSource
km = 1000.

@ -16,10 +16,10 @@ import datetime
from pyrocko import orthodrome as od, moment_tensor as pmt, util as putil
from pyrocko.model import Event
from ewrica.util import HiddenDataDir, is_dir
from siria.util import HiddenDataDir, is_dir
from . import SeismogenicSource
logger = logging.getLogger('ewrica.dataset.fault_loader.edsf')
logger = logging.getLogger('siria.dataset.fault_loader.edsf')
km = 1000.

@ -11,11 +11,11 @@ from osgeo import gdal # GDAL package
from pyrocko import util as putil
from ewrica.util import HiddenDataDir, is_dir
from siria.util import HiddenDataDir, is_dir
from .active_faults import ActiveFault
from . import SeismogenicSource
logger = logging.getLogger('ewrica.dataset.fault_loader.noafaults')
logger = logging.getLogger('siria.dataset.fault_loader.noafaults')
km = 1000.

@ -8,7 +8,7 @@ import numpy as num
from pyrocko import orthodrome as pod
logger = logging.getLogger('ewrica.dataset.faults')
logger = logging.getLogger('siria.dataset.faults')
def load_diss(*args, **kwargs):

@ -7,7 +7,7 @@ import numpy as num
from scipy import io as sio
from scipy.interpolate import griddata
from ewrica import util
from siria import util
class NotInRegion(Exception):
@ -25,9 +25,10 @@ def tsumaps_file():
def load(fn=None):
'''Load tsumaps mat file into dictionary
'''
Load tsumaps mat file into dictionary.
The tsumaps mat file stored in ewrica.data is loaded. The dictionary which
The tsumaps mat file stored in siria.data is loaded. The dictionary which
is returned has three keys:
- latlon: :py:class:`numpy.ndarray`, size: `(No points, 2)
coordinates of each grid point in lat, lon
@ -36,7 +37,7 @@ def load(fn=None):
strike, dip, rake
- prob: :py:class`numpy.ndarray`, size: `(No points, No focal mecs)
probabilities for each given focal mechanism nodal plane
orientation at each point of the grid
orientation at each point of the grid.
'''
if fn is None:
fn = tsumaps_file()
@ -52,31 +53,48 @@ def get_probs(
nmodels_max=None,
*args,
**kwargs):
'''Get tsumap focal mechanism probabilites at a given location
:param lat: latitude of the chosen point in [deg]
:type lat: float
:param lon: longitude of the chosen point in [deg]
:type lon: float
:param interpolation: interpolation method to get probabilities at
`lat, lon`. Choices are:
'''
Get tsumap focal mechanism probabilites at a given location.
:param lat:
Latitude of the chosen point in [deg].
:type lat:
float
:param lon:
Longitude of the chosen point in [deg].
:type lon:
float
:param interpolation:
Interpolation method to get probabilities at `lat, lon`. Choices are:
- nearest_neighbor
- multilinear
:type interpolation: optional, string
:param cumulative_probability_max: return sorted models needed to
exceed the given cumulative probability
:type cumulative_probability_max: optional, float
:param probability_gradient_min: return sorted models needed to undercut
the given proability gradient
:type probability_gradient_min: optional, float
:param nmodels_max: return only the given number of most probable models
:type nmodels_max: optional, int
:rtype: :py:class`numpy.ndarray`, size: `(No focal mecs, 3),
:py:class`numpy.ndarray`, size: `(No focal mecs, )
:returns: Focal mechanism nodal plane orientations (strike, dip, rake) and
- multilinear.
:type interpolation:
optional, str
:param cumulative_probability_max:
Return sorted models needed to exceed the given cumulative probability.
:type cumulative_probability_max:
optional, float
:param probability_gradient_min:
Return sorted models needed to undercut the given proability gradient.
:type probability_gradient_min:
optional, float
:param nmodels_max:
Return only the given number of most probable models.
:type nmodels_max:
optional, int
:returns:
Focal mechanism nodal plane orientations (strike, dip, rake) and
the corresponding interpolated probabilities. The sum of all
probabilites is 1, if not giving any further constraint.
:rtype:
:py:class:`numpy.ndarray`, size: ``(No focal mecs, 3)``,
:py:class:`numpy.ndarray`, size: ``(No focal mecs, )``
'''
n_metrics = sum(1 for _ in filter(
None.__ne__, (

@ -4,11 +4,11 @@
from pyrocko.guts import Float, String, Bool, List, Int, load, StringChoice
from ewrica.module import ModuleConfig
from siria.module import ModuleConfig
import logging
logger = logging.getLogger('ewrica.gm.config')
logger = logging.getLogger('siria.gm.config')
def get_config(*args, **kwargs):

@ -11,13 +11,13 @@ from multiprocessing import Pool, Manager
from pyrocko import gf
import ewrica.sources as ews
import siria.sources as ews
import ewrica.gm.util as GMu
import ewrica.gm.sources as GMs
import siria.gm.util as GMu
import siria.gm.sources as GMs
logger = logging.getLogger('ewrica.gm.gm_mapping')
logger = logging.getLogger('siria.gm.gm_mapping')
def GMMapping(ensemblefile, directory, args):
@ -65,7 +65,7 @@ def GMMapping(ensemblefile, directory, args):
#######################################
# Neuronal Networks
if args.method == 'NN':
import ewrica.gm.nn as GMn
import siria.gm.nn as GMn
lons = list(coords.T[0])
lats = list(coords.T[1])
@ -113,7 +113,7 @@ def GMMapping(ensemblefile, directory, args):
# GMPES
elif args.method == 'GMPE':
import ewrica.gm.gmpe as GMgmpe
import siria.gm.gmpe as GMgmpe
# Processing
xs = []
@ -255,7 +255,7 @@ Processing time ({} sources, {} points, {} processors):
#############################
if args.enable_plotting is True:
import os
import ewrica.gm.plot as GMp
import siria.gm.plot as GMp
for add in ['mean', 'wmean', 'std', 'wstd', prob_src_cnt]:
if add in ['std', 'stds', 'wstd', 'wstds']:

@ -14,9 +14,9 @@ from openquake.hazardlib.geo import Point, Mesh
from pyrocko import moment_tensor as pmt
import ewrica.gm.sources as gm_src
import siria.gm.sources as gm_src
logger = logging.getLogger('ewrica.gm.gmpe')
logger = logging.getLogger('siria.gm.gmpe')
#############################
@ -42,7 +42,7 @@ def create_surface(src):
return surface
def gmpe_contexts_ewrica_sources(source, coords, vs30):
def gmpe_contexts_siria_sources(source, coords, vs30):
# Rupture Params
rctx = RuptureContext()
rctx.hypo_depth = num.array([source.depth])
@ -197,7 +197,7 @@ def get_openquake_container(source, gmpes, coords, imts, freqs):
vs30 = num.zeros(len(coords)) + 800.
rctx, sctx, dctx = gmpe_contexts_ewrica_sources(source, coords, vs30)
rctx, sctx, dctx = gmpe_contexts_siria_sources(source, coords, vs30)
openquake_cont = gm_src.StationContainer(
refSource=source,

@ -8,7 +8,7 @@ from ..module import BaseModule
from gm_mapping import GMMapping
logger = logging.getLogger('ewrica.gm.module')
logger = logging.getLogger('siria.gm.module')
def get_module(*args, **kwargs):

@ -15,11 +15,11 @@ from pyrocko import moment_tensor as pmt
import tensorflow as tf
import ewrica.gm.util as GMu
import ewrica.gm.sources as GMs
import siria.gm.util as GMu
import siria.gm.sources as GMs
logger = logging.getLogger('ewrica.gm.nn')
logger = logging.getLogger('siria.gm.nn')
#####

@ -14,9 +14,9 @@ from matplotlib.colors import BoundaryNorm
from mpl_toolkits import basemap
from mpl_toolkits.axes_grid1 import make_axes_locatable
import ewrica.gm.sources as GMs
import siria.gm.sources as GMs
logger = logging.getLogger('ewrica.gm.plot')
logger = logging.getLogger('siria.gm.plot')
#############################
# Plot functions

@ -17,7 +17,7 @@ from pyrocko.guts import (
from openquake.hazardlib.geo import geodetic, Point, Mesh, PlanarSurface
logger = logging.getLogger('ewrica.gm.sources')
logger = logging.getLogger('siria.gm.sources')
#############################
# Constants

@ -9,7 +9,7 @@ import random
from pyrocko import orthodrome
from pyrocko import moment_tensor as pmt
logger = logging.getLogger('ewrica.gm.util')
logger = logging.getLogger('siria.gm.util')
####
# Read in ensemble file

@ -15,7 +15,7 @@ from .targets import (
GNSSTargetGroupConfigFull, InSARTargetGroupConfig)
from .dataset import DatasetConfig
logger = logging.getLogger('ewrica.ids.config')
logger = logging.getLogger('siria.ids.config')
km = 1e3

@ -14,14 +14,14 @@ import os.path as op
from pyrocko.guts import Object, Bool
from pyrocko.model.gnss import GNSSCampaign
from ewrica.sources import dump_sources, EwricaIDSSource, load_one_source
from ewrica.io.ids import (
from siria.sources import dump_sources, SiriaIDSSource, load_one_source
from siria.io.ids import (
load_ids_source, load_obssyn, load_obssyn_gnss, WaveformResultList)
from .config import IDSConfigFull
from .dataset import Dataset
from .targets import WaveformTargetGroup, GNSSTargetGroup, InSARTargetGroup
logger = logging.getLogger('ewrica.ids.core')
logger = logging.getLogger('siria.ids.core')
km = 1e3
@ -40,7 +40,7 @@ class IDSRunner(Object):
config = IDSConfigFull.T(
default=IDSConfigFull())
source = EwricaIDSSource.T(optional=True)
source = SiriaIDSSource.T(optional=True)
keep_tmp = Bool.T(default=False)
@ -292,7 +292,7 @@ class IDSRunner(Object):
Available ids backends and download links to the modelling codes are listed
on
https://git.pyrocko.org/wanderelch/ewrica
https://git.pyrocko.org/wanderelch/siria
''' % program)
@ -419,7 +419,7 @@ in the directory %s'''.lstrip() % (
return source
def report(self, cwd='.'):
from ewrica.ids.report import create_report
from siria.ids.report import create_report
source = load_one_source(filename=self.sourcefile)
waveform_result = WaveformResultList.load(filename=self.tracefile)

@ -17,7 +17,7 @@ from pyrocko.gf.meta import OutOfBounds
from .targets import \
WaveformTargetGroup, GNSSTargetGroup, InSARTargetGroup, TargetGroupConfig
logger = logging.getLogger('ewrica.ids.dataset')
logger = logging.getLogger('siria.ids.dataset')
km = 1e3
@ -789,9 +789,9 @@ duration: {} -> {}
config = self.config
if config.subfault_path is None and config.fault_database is not None:
from ewrica.io import ids as idsio
from ewrica.dataset import faults as faultio
from ewrica.dataset.fault_loader import edsf
from siria.io import ids as idsio
from siria.dataset import faults as faultio
from siria.dataset.fault_loader import edsf
if config.subfault_path is not None:
logger.info('Found subfault data at {} ...'.format(

@ -9,7 +9,7 @@ import logging
from .plot import plot_classes, plot_classes_gnss
logger = logging.getLogger('ewrica.ids.report.base')
logger = logging.getLogger('siria.ids.report.base')
path_event = op.join('{reportdir}', '{event_name}')

@ -12,9 +12,9 @@ from pyrocko.plot.automap import gmtpy
from pyrocko.util import tts
from pyrocko.cake import m2d
from ewrica.plot import ids as idsplot, nice_plot_simple
from siria.plot import ids as idsplot, nice_plot_simple
logger = logging.getLogger('ewrica.ids.report.plot')
logger = logging.getLogger('siria.ids.report.plot')
mpl_init(fontsize=15)

@ -7,7 +7,7 @@ import os.path as op
from pyrocko.guts import Object, List, String
logger = logging.getLogger('ewrica.ids.targets.base')
logger = logging.getLogger('siria.ids.targets.base')
class TargetError(Exception):

@ -10,7 +10,7 @@ from pyrocko.guts import Float, List, String
from .base import TargetGroupConfig, TargetGroup
logger = logging.getLogger('ewrica.ids.targets.gnss')
logger = logging.getLogger('siria.ids.targets.gnss')
class GNSSTargetGroupConfig(TargetGroupConfig):

@ -7,7 +7,7 @@ from pyrocko.guts import Float, List, Int, String
from .base import TargetGroup, TargetGroupConfig
logger = logging.getLogger('ewrica.ids.targets.insar')
logger = logging.getLogger('siria.ids.targets.insar')
class InSARTargetGroupConfig(TargetGroupConfig):

@ -10,10 +10,10 @@ from pyrocko import orthodrome as pod, gf, marker, pile
from pyrocko.guts import Float, List, String, Tuple, StringChoice, Object
from pyrocko.io import stationxml
from ewrica import util
from siria import util
from .base import TargetGroupConfig, TargetGroup
logger = logging.getLogger('ewrica.ids.targets.waveform')
logger = logging.getLogger('siria.ids.targets.waveform')
km = 1e3

@ -5,7 +5,7 @@ import json
import numpy as num
from pyrocko.gf import STF
from ewrica.sources import EwricaIDSSTF, EwricaIDSLog, EwricaIDSPatch
from siria.sources import SiriaIDSSTF, SiriaIDSLog, SiriaIDSPatch
def _unpack_num_array(array):
@ -19,7 +19,7 @@ def _unpack_num_array(array):
return [v for v in array]
def _unpack_ewrica_ids_feature(feature):
def _unpack_siria_ids_feature(feature):
cls_name = feature.T.classname
out = {k: v for k, v in feature.__dict__.items()}
out['cls'] = cls_name
@ -39,12 +39,12 @@ def _unpack_ewrica_ids_feature(feature):
return out
def _unpack_ewrica_stf(stf):
return _unpack_ewrica_ids_feature(stf)
def _unpack_siria_stf(stf):
return _unpack_siria_ids_feature(stf)
def _unpack_ewrica_ids_log(log):
return _unpack_ewrica_ids_feature(log)
def _unpack_siria_ids_log(log):
return _unpack_siria_ids_feature(log)
def _unpack_patches(patches):
@ -66,8 +66,8 @@ def _unpack_patches(patches):
val[k] = vv
elif isinstance(vv, (EwricaIDSSTF, EwricaIDSLog)):
val[k] = _unpack_ewrica_ids_feature(vv)
elif isinstance(vv, (SiriaIDSSTF, SiriaIDSLog)):
val[k] = _unpack_siria_ids_feature(vv)
out.append(val)
@ -107,10 +107,10 @@ def sources_to_json(sources):
val = val.__dict__
val['cls'] = cls_name
elif isinstance(val, (EwricaIDSSTF, EwricaIDSLog)):
val = _unpack_ewrica_ids_feature(val)
elif isinstance(val, (SiriaIDSSTF, SiriaIDSLog)):
val = _unpack_siria_ids_feature(val)
elif isinstance(val, list) and type(val[0]) == EwricaIDSPatch:
elif isinstance(val, list) and type(val[0]) == SiriaIDSPatch:
val = _unpack_patches(val)
elif isinstance(val, num.bool_):

@ -10,7 +10,7 @@ from grond.problems.base import ProblemDataNotAvailable
from pyrocko import guts # noqa
logger = logging.getLogger('ewrica.io.grond')
logger = logging.getLogger('siria.io.grond')
def get_problem_and_history(rundir, subset='harvest'):
@ -56,7 +56,7 @@ def get_ensemble_sources_and_misfit(*args, **kwargs):
Return all tested sources and corresponding misfit from a Grond run.
Arguments and keyword arguments for
:py:func:`ewrica.io.grond.get_problem_and_history` need to be defined.
:py:func:`siria.io.grond.get_problem_and_history` need to be defined.
:returns:
Tested sorted sources, sorted misfits (starting with smallest).
@ -76,7 +76,7 @@ def get_best_source_and_misfit(*args, **kwargs):
Return best tested source and corresponding misfit from a Grond run.
Arguments and keyword arguments for
:py:func:`ewrica.io.grond.get_problem_and_history` need to be defined
:py:func:`siria.io.grond.get_problem_and_history` need to be defined
:returns:
Best source, corresponding misfit.
@ -93,7 +93,7 @@ def get_mean_source_and_misfit(*args, **kwargs):
Return mean tested source and corresponding misfit from a Grond run.
Arguments and keyword arguments for
:py:func:`ewrica.io.grond.get_problem_and_history` need to be defined.
:py:func:`siria.io.grond.get_problem_and_history` need to be defined.
:returns:
Mean source, corresponding misfit.
@ -108,7 +108,7 @@ def get_mean_source_and_misfit(*args, **kwargs):
def pyrocko_to_sources(sources, misfits):
'''
Convert source and misfits into ewrica.sources of appropiate type.
Convert source and misfits into siria.sources of appropiate type.
Misfits are allocated with the corresponding sources models
@ -127,7 +127,7 @@ def pyrocko_to_sources(sources, misfits):
:rtype:
list, :py:class:`numpy.ndarray`
'''
from ewrica import sources as ewsources
from siria import sources as ewsources
base_class = None
for src_cls in ewsources.source_classes:
@ -136,7 +136,7 @@ def pyrocko_to_sources(sources, misfits):
if base_class is None:
raise TypeError(
'Could find a Ewrica source equivalent for the Grond source model')
'Could find a Siria source equivalent for the Grond source model')
return [
base_class(
@ -147,11 +147,11 @@ def pyrocko_to_sources(sources, misfits):
def grond_to_sources(*args, **kwargs):
'''
Convert grond history into ewrica.sources of appropiate type.
Convert grond history into siria.sources of appropiate type.
Misfits are allocated with the corresponding sources models
Arguments and keyword arguments for
:py:func:`ewrica.io.grond.get_problem_and_history` need to be defined.
:py:func:`siria.io.grond.get_problem_and_history` need to be defined.
:returns:
Tested sorted sources, sorted misfits (starting with smallest)

@ -17,13 +17,13 @@ from pyrocko.model import \
from pyrocko.trace import Trace, snuffle
from pyrocko.gf.seismosizer import map_anchor, Location
from ewrica.sources import (EwricaIDSSource, EwricaIDSPatch, EwricaIDSSTF,
EwricaIDSLog)
from siria.sources import (SiriaIDSSource, SiriaIDSPatch, SiriaIDSSTF,
SiriaIDSLog)
op = os.path
logger = logging.getLogger('ewrica.io.ids')
logger = logging.getLogger('siria.io.ids')
km = 1e3
@ -469,7 +469,7 @@ def load_patch_stf_file(fn):
'''Load all information from PT_STF.dat patch source time function file
The patch order is the same as in the corresponding slipmodel.dat file (
see :py:func:`ewrica.io.ids.load_slipmodel_file`). Here only the relative
see :py:func:`siria.io.ids.load_slipmodel_file`). Here only the relative
time after event origin time and the corresponding patch moment rates are
given.
@ -537,8 +537,8 @@ def load_rupture_front_file(fn):
'''Load all information from Rup_Front.dat rupture front file
Here only the relative time after event origin time is given. The order of
patches is not the same as in :py:func:`ewrica.io.ids.load_patch_stf_file`
or :py:func:`ewrica.io.ids.load_slipmodel_file`.
patches is not the same as in :py:func:`siria.io.ids.load_patch_stf_file`
or :py:func:`siria.io.ids.load_slipmodel_file`.
:param fn: filename of the rupture front file
:type fn: str
@ -579,7 +579,7 @@ def load_idslog_file(fn):
:type fn: str
:returns: Detailed IDS Log information
:rtype: :py:class:`ewrica.sources.EwricaIDSLog`
:rtype: :py:class:`siria.sources.SiriaIDSLog`
'''
forward_modeling = False
@ -612,7 +612,7 @@ def load_idslog_file(fn):
nrv_gns='gnss',
nrv_sar='insar')
log = EwricaIDSLog(
log = SiriaIDSLog(
misfit_all=num.array(
[i[names.index('nrv_all')] for i in data]).astype(num.float),
misfit_subsets={
@ -884,7 +884,7 @@ def load_rectangular_source(
patches = []
for ip in range(lats.shape[0]):
stf = EwricaIDSSTF(deltat=deltat, amplitudes=patch_stfs[:, ip])
stf = SiriaIDSSTF(deltat=deltat, amplitudes=patch_stfs[:, ip])
stf_moment = stf.moment
time = None
@ -906,7 +906,7 @@ def load_rectangular_source(
stf.amplitudes *= moments[ip] / stf_moment
patches.append(EwricaIDSPatch(
patches.append(SiriaIDSPatch(
lat=float(anch_lat),
lon=float(anch_lon),
time=time,
@ -924,7 +924,7 @@ def load_rectangular_source(
anchor='center',
stf=stf))
source = EwricaIDSSource(
source = SiriaIDSSource(
curved=False,
lat=float(anch_lat),
lon=float(anch_lon),
@ -974,7 +974,7 @@ def load_curved_source(
patches = []
for ip in range(lats.shape[0]):
stf = EwricaIDSSTF(deltat=deltat, amplitudes=patch_stfs[:, ip])
stf = SiriaIDSSTF(deltat=deltat, amplitudes=patch_stfs[:, ip])
stf_moment = stf.moment
time = None
@ -996,7 +996,7 @@ def load_curved_source(
stf.amplitudes *= moments[ip] / stf_moment
patches.append(EwricaIDSPatch(
patches.append(SiriaIDSPatch(
lat=float(anch_lat),
lon=float(anch_lon),
time=time,
@ -1014,7 +1014,7 @@ def load_curved_source(
anchor='center',
stf=stf))
source = EwricaIDSSource(
source = SiriaIDSSource(
curved=True,
lat=float(anch_lat),
lon=float(anch_lon),
@ -1043,9 +1043,9 @@ def load_ids_source(config_fn):
:param config_fn: filename of the ids config file
:type config_fn: str
:returns: Ewrica IDS Source object with as mutch information converted as
:returns: Siria IDS Source object with as mutch information converted as
possible
:rtype: :py:class:`ewrica.sources.EwricaIDSSource`
:rtype: :py:class:`siria.sources.SiriaIDSSource`
'''
config = load_ids_config_file(config_fn)

@ -3,10 +3,10 @@
# The Developers, 21st Century
import logging
from ewrica.module import ModuleConfig
from siria.module import ModuleConfig
logger = logging.getLogger('ewrica.ls.config')
logger = logging.getLogger('siria.ls.config')
def get_config(*args, **kwargs):

@ -6,7 +6,7 @@ import logging
from ..module import BaseModule
logger = logging.getLogger('ewrica.ls.module')
logger = logging.getLogger('siria.ls.module')
def get_module(*args, **kwargs):

@ -6,13 +6,14 @@ import os.path as op
from pyrocko.guts import load, dump, Bool, Object
from ewrica import util
from siria import util
logger = logging.getLogger('ewrica.module')
logger = logging.getLogger('siria.module')
class ModuleConfig(Object):
'''Configuration of the module run
'''
Configuration of the module run.
'''
run = Bool.T(
default=True,
@ -20,7 +21,6 @@ class ModuleConfig(Object):
def dump_module_config(conf, filename=None, include_help=False):
# TODO check, if help can be dumped as well
dump(conf, filename=filename, header=True)
@ -29,8 +29,6 @@ def load_module_config(filename):
class BaseModule(Object):
# TODO generate basic functionalities as start function, evaluate, etc?
config = ModuleConfig.T(default=ModuleConfig())
@property

@ -2,7 +2,7 @@
import numpy as num
from ewrica.io import grond as gio
from siria.io import grond as gio
from pyrocko.plot import dynamic_rupture, gmtpy