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
- selector – Populated instance of
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.