openquake.hmtk.sources package#
Submodules#
openquake.hmtk.sources.area_source module#
Defines the openquake.hmtk.sources.mtk_area_source.mtkAreaSource
which represents the openquake.hmtk defition of an area source.
- class openquake.hmtk.sources.area_source.mtkAreaSource(identifier, name, trt=None, geometry=None, upper_depth=None, lower_depth=None, mag_scale_rel=None, rupt_aspect_ratio=None, mfd=None, nodal_plane_dist=None, hypo_depth_dist=None)[source]#
Bases:
object
Describes the Area Source
- Parameters:
identifier (str) – ID code for the source
name (str) – Source name
trt (str) – Tectonic region type
geometry – Instance of :class: nhlib.geo.polygon.Polygon class
upper_depth (float) – Upper seismogenic depth (km)
lower_depth (float) – Lower seismogenic depth (km)
mag_scale_rel (str) – Magnitude scaling relationsip
rupt_aspect_ratio (float) – Rupture aspect ratio
mfd – Magnitude frequency distribution as instance of :class: nrml.models.IncrementalMFD or :class: nrml.models.TGRMFD
nodal_plane_dist (list) – List of :class: nrml.models.NodalPlane objects representing nodal plane distribution
hypo_depth_dist (list) – List of :class: nrml.models.HypocentralDepth instances describing the hypocentral depth distribution
catalogue – Earthquake catalogue associated to source as instance of openquake.hmtk.seismicity.catalogue.Catalogue object
- create_geometry(input_geometry, upper_depth, lower_depth)[source]#
If geometry is defined as a numpy array then create instance of nhlib.geo.polygon.Polygon class, otherwise if already instance of class accept class
- Parameters:
input_geometry – Input geometry (polygon) as either i) instance of nhlib.geo.polygon.Polygon class ii) numpy.ndarray [Longitude, Latitude]
upper_depth (float) – Upper seismogenic depth (km)
lower_depth (float) – Lower seismogenic depth (km)
- create_oqhazardlib_source(tom, mesh_spacing, area_discretisation, use_defaults=False)[source]#
Converts the source model into an instance of the :class: openquake.hazardlib.source.area.AreaSource
- Parameters:
tom – Temporal Occurrence model as instance of :class: openquake.hazardlib.tom.TOM
mesh_spacing (float) – Mesh spacing
- select_catalogue(selector, distance=None)[source]#
Selects the catalogue of earthquakes attributable to the source
- Parameters:
selector – Populated instance of
openquake.hmtk.seismicity.selector.CatalogueSelector
distance (float) – Distance (in km) to extend or contract (if negative) the zone for selecting events
openquake.hmtk.sources.complex_fault_source module#
Defines the :class:
openquake.hmtk.sources.complex_fault_source.mtkComplexFaultSource, which
represents the openquake.hmtk defition of a complex fault source. This extends
the nrml.models.ComplexFaultSource
- class openquake.hmtk.sources.complex_fault_source.mtkComplexFaultSource(identifier, name, trt=None, geometry=None, mag_scale_rel=None, rupt_aspect_ratio=None, mfd=None, rake=None)[source]#
Bases:
object
New class to describe the mtk complex fault source object
- Parameters:
identifier (str) – ID code for the source
name (str) – Source name
trt (str) – Tectonic region type
geometry – Instance of :class: nhlib.geo.surface.complex_fault.ComplexFaultSource
mag_scale_rel (str) – Magnitude scaling relationsip
rupt_aspect_ratio (float) – Rupture aspect ratio
mfd – Magnitude frequency distribution as instance of
nrml.models.IncrementalMFD
ornrml.models.TGRMFD
rake (float) – Rake of fault
upper_depth (float) – Upper seismogenic depth (km)
lower_depth (float) – Lower seismogenic depth (km)
catalogue – Earthquake catalogue associated to source as instance of
openquake.hmtk.seismicity.catalogue.Catalogue
object
- create_geometry(input_geometry, mesh_spacing=1.0)[source]#
If geometry is defined as a numpy array then create instance of nhlib.geo.line.Line class, otherwise if already instance of class accept class
- Parameters:
input_geometry – List of at least two fault edges of the fault source from shallowest to deepest. Each edge can be represented as as either i) instance of nhlib.geo.polygon.Polygon class ii) numpy.ndarray [Longitude, Latitude, Depth]
mesh_spacing (float) – Spacing of the fault mesh (km) {default = 1.0}
- create_oqhazardlib_source(tom, mesh_spacing, use_defaults=False)[source]#
Creates an instance of the source model as :class: openquake.hazardlib.source.complex_fault.ComplexFaultSource
- select_catalogue(selector, distance, distance_metric='joyner-boore', upper_eq_depth=None, lower_eq_depth=None)[source]#
Selects earthquakes within a distance of the fault
- Parameters:
selector – Populated instance of :class: openquake.hmtk.seismicity.selector.CatalogueSelector
distance – Distance from point (km) for selection
- :param str distance_metric
Choice of fault source distance metric ‘joyner-boore’ or ‘rupture’
- Parameters:
upper_eq_depth (float) – Upper hypocentral depth of hypocentres to be selected
lower_eq_depth (float) – Lower hypocentral depth of hypocentres to be selected
openquake.hmtk.sources.point_source module#
Module implements openquake.hmtk.sources.point_source.mtkPointSource class, which represents the mtk implementation of the point source typology. This extends the class nrml.models.PointSource
- class openquake.hmtk.sources.point_source.mtkPointSource(identifier, name, trt=None, geometry=None, upper_depth=None, lower_depth=None, mag_scale_rel=None, rupt_aspect_ratio=None, mfd=None, nodal_plane_dist=None, hypo_depth_dist=None)[source]#
Bases:
object
New class to describe the mtkPointsource object
- Parameters:
identifier (str) – ID code for the source
name (str) – Source name
trt (str) – Tectonic region type
geometry – Instance of :class: nhlib.geo.point.Point class
upper_depth (float) – Upper seismogenic depth (km)
lower_depth (float) – Lower seismogenic depth (km)
mag_scale_rel (str) – Magnitude scaling relationsip
rupt_aspect_ratio (float) – Rupture aspect ratio
mfd – Magnitude frequency distribution as instance of :class: openquake.hazardlib.mfd.BaseMFD
nodal_plane_dist (list) – List of :class: openquake.hazardlib.geo.nodal_plane.NodalPlane objects representing nodal plane distribution
hypo_depth_dist (list) – List of :class: nrml.models.HypocentralDepth instances describing the hypocentral depth distribution
catalogue – Earthquake catalogue associated to source as instance of openquake.hmtk.seismicity.catalogue.Catalogue object
- create_geometry(input_geometry, upper_depth, lower_depth)[source]#
If geometry is defined as a numpy array then create instance of nhlib.geo.point.Point class, otherwise if already instance of class accept class
- Parameters:
input_geometry – Input geometry (point) as either i) instance of nhlib.geo.point.Point class ii) numpy.ndarray [Longitude, Latitude]
upper_depth (float) – Upper seismogenic depth (km)
lower_depth (float) – Lower seismogenic depth (km)
- create_oqhazardlib_source(tom, mesh_spacing, use_defaults=False)[source]#
Converts the point source model into an instance of the :class: openquake.hazardlib.source.point_source.PointSource
- Parameters:
use_defaults (bool) – If set to true, will use put in default values for magitude scaling relation, rupture aspect ratio, nodal plane distribution or hypocentral depth distribution where missing. If set to False then value errors will be raised when information is missing.
- select_catalogue(selector, distance, selector_type='circle', distance_metric='epicentral', point_depth=None, upper_eq_depth=None, lower_eq_depth=None)[source]#
Selects the catalogue associated to the point source. Effectively a wrapper to the two functions select catalogue within a distance of the point and select catalogue within cell centred on point
- Parameters:
selector – Populated instance of :class: openquake.hmtk.seismicity.selector.CatalogueSelector
distance (float) – Distance from point (km) for selection
selector_type (str) – Chooses whether to select within {‘circle’} or within a {‘square’}.
distance_metric (str) – ‘epicentral’ or ‘hypocentral’ (only for ‘circle’ selector type)
point_depth (float) – Assumed hypocentral depth of the point (only applied to ‘circle’ distance type)
upper_depth (float) – Upper seismogenic depth (km) (only for ‘square’)
lower_depth (float) – Lower seismogenic depth (km) (only for ‘square’)
- select_catalogue_within_cell(selector, distance, upper_depth=None, lower_depth=None)[source]#
Selects catalogue of earthquakes within distance from point
- Parameters:
selector – Populated instance of :class: openquake.hmtk.seismicity.selector.CatalogueSelector
distance – Distance from point (km) for selection
- select_catalogue_within_distance(selector, distance, distance_metric='epicentral', point_depth=None)[source]#
Selects catalogue of earthquakes within distance from point
- Parameters:
selector – Populated instance of :class: openquake.hmtk.seismicity.selector.CatalogueSelector
distance – Distance from point (km) for selection
distance_metric (str) – Choice of point source distance metric ‘epicentral’ or ‘hypocentral’
openquake.hmtk.sources.simple_fault_source module#
Defines the :class openquake.hmtk.sources.simple_fault_source.mtkSimpleFaultSource, which represents the openquake.hmtk defition of a simple fault source. This extends the :class: nrml.models.SimpleFaultSource
- class openquake.hmtk.sources.simple_fault_source.mtkSimpleFaultSource(identifier, name, trt=None, geometry=None, dip=None, upper_depth=None, lower_depth=None, mag_scale_rel=None, rupt_aspect_ratio=None, mfd=None, rake=None)[source]#
Bases:
object
New class to describe the mtk Simple fault source object
- Parameters:
identifier (str) – ID code for the source
name (str) – Source name
trt (str) – Tectonic region type
geometry – Instance of :class: openquake.hazardlib.geo.surface.simple_fault.SimpleFaultSource
dip (float) – Dip of the fault surface
upper_depth (float) – Upper seismogenic depth (km)
lower_depth (float) – Lower seismogenic depth (km)
mag_scale_rel (str) – Magnitude scaling relationsip
rupt_aspect_ratio (float) – Rupture aspect ratio
mfd – Magnitude frequency distribution as instance of :class: openquake.hazardlib.mfd.base.BaseMFD
rake (float) – Rake of fault
catalogue – Earthquake catalogue associated to source as instance of openquake.hmtk.seismicity.catalogue.Catalogue object
- create_geometry(input_geometry, dip, upper_depth, lower_depth, mesh_spacing=1.0)[source]#
If geometry is defined as a numpy array then create instance of nhlib.geo.line.Line class, otherwise if already instance of class accept class
- Parameters:
input_geometry – Trace (line) of the fault source as either i) instance of nhlib.geo.line.Line class ii) numpy.ndarray [Longitude, Latitude]
dip (float) – Dip of fault surface (in degrees)
upper_depth (float) – Upper seismogenic depth (km)
lower_depth (float) – Lower seismogenic depth (km)
mesh_spacing (float) – Spacing of the fault mesh (km) {default = 1.0}
- create_oqhazardlib_source(tom, mesh_spacing, use_defaults=False)[source]#
Returns an instance of the :class: openquake.hazardlib.source.simple_fault.SimpleFaultSource
- Parameters:
tom – Temporal occurrance model
mesh_spacing (float) – Mesh spacing
- select_catalogue(selector, distance, distance_metric='joyner-boore', upper_eq_depth=None, lower_eq_depth=None)[source]#
Selects earthquakes within a distance of the fault
- Parameters:
selector – Populated instance of :class: openquake.hmtk.seismicity.selector.CatalogueSelector
distance – Distance from point (km) for selection
- :param str distance_metric
Choice of fault source distance metric ‘joyner-boore’ or ‘rupture’
- Parameters:
upper_eq_depth (float) – Upper hypocentral depth of hypocentres to be selected
lower_eq_depth (float) – Lower hypocentral depth of hypocentres to be selected
openquake.hmtk.sources.source_conversion_utils module#
- openquake.hmtk.sources.source_conversion_utils.hdd_to_pmf(hypo_depth_dist, use_default=False)[source]#
Returns the hypocentral depth distribtuion as an instance of the :class: openquake.hazardlib.pmf.
- openquake.hmtk.sources.source_conversion_utils.mag_scale_rel_to_hazardlib(mag_scale_rel, use_default=False)[source]#
Returns the magnitude scaling relation in a format readable by openquake.hazardlib
- openquake.hmtk.sources.source_conversion_utils.npd_to_pmf(nodal_plane_dist, use_default=False)[source]#
Returns the nodal plane distribution as an instance of the PMF class
- openquake.hmtk.sources.source_conversion_utils.render_aspect_ratio(aspect_ratio, use_default=False)[source]#
Returns the aspect ratio if one is defined for the source, otherwise if defaults are accepted a default value of 1.0 is returned or else a ValueError is raised
- Parameters:
aspect_ratio (float) – Ratio of along strike-length to down-dip width of the rupture
use_default (bool) – If true, when aspect_ratio is undefined will return default value of 1.0, otherwise will raise an error.
- openquake.hmtk.sources.source_conversion_utils.simple_edge_to_wkt_linestring(edge)[source]#
Coverts a simple fault trace to well-known text format
- Parameters:
trace – Fault trace as instance of :class: openquake.hazardlib.geo.line.Line
- Returns:
Well-known text (WKT) Linstring representation of the trace
- openquake.hmtk.sources.source_conversion_utils.simple_trace_to_wkt_linestring(trace)[source]#
Coverts a simple fault trace to well-known text format
- Parameters:
trace – Fault trace as instance of :class: openquake.hazardlib.geo.line.Line
- Returns:
Well-known text (WKT) Linstring representation of the trace
openquake.hmtk.sources.source_model module#
Module implements
openquake.hmtk.sources.source_model.mtkSourceModel
, the
general class to describe a set of seismogenic sources
- class openquake.hmtk.sources.source_model.mtkSourceModel(identifier=None, name=None, sources=None)[source]#
Bases:
object
Object to describe a seismogenic source model (composite of multiple sources with mixed typologies)
- Parameters:
id (str) – Identifier for the source model
name (str) – Source model name
sources (list) – List of seismogenic sources
- convert_to_oqhazardlib(tom, simple_mesh_spacing=1.0, complex_mesh_spacing=2.0, area_discretisation=10.0, use_defaults=False)[source]#
Converts the source model to an iterator of sources of :class: openquake.hazardlib.source.base.BaseSeismicSource
- serialise_to_nrml(filename, complex_mesh_spacing=2, use_defaults=False)[source]#
Writes the source model to a nrml source model file given by the filename
- Parameters:
filename (str) – Path to output file
use_defaults (bool) – Boolean to indicate whether to use default values (True) or not. If set to False, ValueErrors will be raised when an essential attribute is missing.