openquake.hazardlib.scalerel package#

Area-magnitude scaling relationships#

base#

Module openquake.hazardlib.scalerel.base defines abstract base classes for ASR, MSR, ASRSigma, and MSRSigma

class openquake.hazardlib.scalerel.base.BaseASR[source]#

Bases: object

A base class for Area-Magnitude Scaling Relationship. Allows calculation of rupture magnitude from area.

abstract get_median_mag(area, rake)[source]#

Return median magnitude (Mw) given the area and rake.

Parameters:
  • area – Area in square km.

  • rake – Rake angle (the rupture propagation direction) in degrees, from -180 to 180.

class openquake.hazardlib.scalerel.base.BaseASRSigma[source]#

Bases: BaseASR

Extend BaseASR and allows to include uncertainties (sigma) in rupture magnitude estimation.

abstract get_std_dev_mag(area, rake)[source]#

Return the standard deviation on the magnitude.

Parameters:

rake – Rake angle (the rupture propagation direction) in degrees, from -180 to 180.

class openquake.hazardlib.scalerel.base.BaseMSR[source]#

Bases: object

A base class for Magnitude-Area Scaling Relationship. Allows calculation of rupture area from magnitude.

abstract get_median_area(mag, rake)[source]#

Return median area (in square km) from magnitude mag and rake.

To be overridden by subclasses.

Parameters:
  • mag – Moment magnitude (Mw).

  • rake – Rake angle (the rupture propagation direction) in degrees, from -180 to 180.

class openquake.hazardlib.scalerel.base.BaseMSRSigma[source]#

Bases: BaseMSR

Extends BaseMSR and allows to include uncertainties (sigma) in rupture area estimation.

abstract get_std_dev_area(mag, rake)[source]#

Return the standard deviation of the area distribution given magnitude mag and rake.

To be overridden by subclasses.

Parameters:
  • mag – Moment magnitude (Mw).

  • rake – Rake angle (the rupture propagation direction) in degrees, from -180 to 180.

ceus2011#

Module openquake.hazardlib.scalerel.ceus2011 implements CEUS2011.

class openquake.hazardlib.scalerel.ceus2011.CEUS2011[source]#

Bases: BaseMSR

Magnitude-Scaling Relationship used for calculations in the CEUS SSC project completed in 2011.

References:
  • CEUS SSC Hazard Input Document - Appendix H, page H-3

  • CEUS SSC Final Report - Chapter 5, page 5-57

get_median_area(mag, rake)[source]#

Calculates median area as 10 ** (mag - 4.366). Rake is ignored.

germany2018#

Module openquake.hazardlib.scalerel.germany2018 implements GermanyMSR.

class openquake.hazardlib.scalerel.germany2018.GermanyMSR[source]#

Bases: BaseMSRSigma

Implements a magnitude-area scaling relationship used within the 2018 national seismic hazard model of Germany.

Log10 A = -2.44 + 0.59 * mag (sigma = 0.16)

get_median_area(mag, rake)[source]#

The values are a function of magnitude only

get_std_dev_area(mag, rake)[source]#

Standard deviation fixed at 0.16

gsc_offshore_thrusts#

Rupture scaling models as used for the 2015 Seismic Hazard Model of Canada, as described in Adams, J., S. Halchuk, T. Allen, and G. Rogers (2015). Canada’s 5th Generation seismic hazard model, as prepared for the 2015 National Building Code of Canada, 11th Canadian Conference on Earthquake Engineering, Victoria, Canada, Paper 93775.

Module openquake.hazardlib.scalerel.gsc_offshore_thrusts implements GSCCascadia GSCEISO GSCEISB GSCEISI GSCOffshoreThrustsWIN GSCOffshoreThrustsHGT.

class openquake.hazardlib.scalerel.gsc_offshore_thrusts.GSCCascadia[source]#

Bases: BaseMSRSigma

Implements magnitude-area scaling relationship for the Juan de Fuca segment of the Cascadia subduction zone.

Parameters:

SEIS_WIDTH – Hard-wired seismogenic width of the CIS source (125 km)

SEIS_WIDTH = 125.0#
get_median_area(mag, rake)[source]#

The values are a function of magnitude.

get_std_dev_area(mag, rake)[source]#

Standard deviation for GSCCascadia. Magnitude is ignored.

class openquake.hazardlib.scalerel.gsc_offshore_thrusts.GSCEISB[source]#

Bases: BaseMSRSigma

Implements magnitude-area scaling relationship for best estimate landward extent of rupture (22 km depth) for the Explorer segment of the Cascadia subduction zone with an upper seismogenic depth of 5 km and a dip of 18 degrees.

SEIS_WIDTH = 55.01315561749643#
get_median_area(mag, rake)[source]#

The values are a function of magnitude.

get_std_dev_area(mag, rake)[source]#

Standard deviation for GSCCascadia. Magnitude is ignored.

class openquake.hazardlib.scalerel.gsc_offshore_thrusts.GSCEISI[source]#

Bases: BaseMSRSigma

Implements magnitude-area scaling relationship for the inboard estimate of rupture (28 km depth) for the Explorer segment of the Cascadia subduction zone with an upper seismogenitc depth of 5 km and a dip of 18 degrees.

SEIS_WIDTH = 74.42956348249517#
get_median_area(mag, rake)[source]#

The values are a function of magnitude.

get_std_dev_area(mag, rake)[source]#

Standard deviation for GSCCascadia. Magnitude is ignored.

class openquake.hazardlib.scalerel.gsc_offshore_thrusts.GSCEISO[source]#

Bases: BaseMSRSigma

Implements magnitude-area scaling relationship for the outboard estimate of rupture (16 km depth) for the Explorer segment of the Cascadia subduction zone with an upper seismogenic depth of 5 km and a dip of 18 degrees.

SEIS_WIDTH = 35.59674775249769#
get_median_area(mag, rake)[source]#

The values are a function of magnitude.

get_std_dev_area(mag, rake)[source]#

Standard deviation for GSCCascadia. Magnitude is ignored.

class openquake.hazardlib.scalerel.gsc_offshore_thrusts.GSCOffshoreThrustsHGT[source]#

Bases: BaseMSRSigma

Implements magnitude-area scaling relationship that is approximately scaled to give a rupture length of 300 km for a MW 8 earthquake and fit the rupture length of the M7.8 2012 Haida Gwaii earthquake. Ruptures assume an upper and lower seismogenitc depth of 3 km and 22 km, respectively, with a dip of 25 degrees.

SEIS_WIDTH = 44.95783007989747#
get_median_area(mag, rake)[source]#

The values are a function of magnitude.

get_std_dev_area(mag, rake)[source]#

Standard deviation for GSCOffshoreThrustsHGT. Magnitude is ignored.

class openquake.hazardlib.scalerel.gsc_offshore_thrusts.GSCOffshoreThrustsWIN[source]#

Bases: BaseMSRSigma

Implements magnitude-area scaling relationship for the Winona segment of the Jan de Fuca subduction zone that is approximately scaled to give a rupture length of 300 km for a MW 8 earthquake and fit the rupture length of the M7.8 2012 Haida Gwaii earthquake. Ruptures assume an upper and lower seismogenic depth of 2 km and 5 km respectively, with a dip of 15 degrees.

SEIS_WIDTH = 11.59110991546882#
get_median_area(mag, rake)[source]#

The values are a function of magnitude.

get_std_dev_area(mag, rake)[source]#

Standard deviation for GSCOffshoreThrustsWIN. Magnitude is ignored.

leonard2014#

Module openquake.hazardlib.scalerel.leonard2014 implements Leonard2014_SCR Leonard2014_Interplate

class openquake.hazardlib.scalerel.leonard2014.Leonard2014_Interplate[source]#

Bases: BaseMSRSigma, BaseASRSigma

Leonard, M., 2014. Self-consistent earthquake fault-scaling relations: Update and extension to stable continental strike-slip faults. Bulletin of the Seismological Society of America, 104(6), pp 2953-2965.

Implements both magnitude-area and area-magnitude scaling relationships.

get_median_area(mag, rake)[source]#

Calculates median fault area from magnitude.

get_median_mag(area, rake)[source]#

Calculates median magnitude from fault area.

get_std_dev_area(mag, rake)[source]#

Returns zero for now

get_std_dev_mag(area, rake)[source]#

Returns None for now

class openquake.hazardlib.scalerel.leonard2014.Leonard2014_SCR[source]#

Bases: BaseMSRSigma, BaseASRSigma

Leonard, M., 2014. Self-consistent earthquake fault-scaling relations: Update and extension to stable continental strike-slip faults. Bulletin of the Seismological Society of America, 104(6), pp 2953-2965.

Implements both magnitude-area and area-magnitude scaling relationships.

get_median_area(mag, rake)[source]#

Calculates median fault area from magnitude.

get_median_mag(area, rake)[source]#

Returns magnitude for a given fault area

get_std_dev_area(mag, rake)[source]#

Returns zero for now

get_std_dev_mag(area, rake)[source]#

Returns zero for now

peer#

Module openquake.hazardlib.scalerel.peer implements PeerMSR.

class openquake.hazardlib.scalerel.peer.PeerMSR[source]#

Bases: BaseMSRSigma

Magnitude-Scaling Relationship defined for PEER PSHA test cases.

See “Verification of Probabilistic Seismic Hazard Analysis Computer Programs”, Patricia Thomas and Ivan Wong, PEER Report 2010/106, May 2010.

get_median_area(mag, rake)[source]#

Calculates median area as 10 ** (mag - 4). Rake is ignored.

get_std_dev_area(mag, rake)[source]#

Standard deviation for PeerMSR. Mag and rake are ignored.

>>> peer = PeerMSR()
>>> 0.25 == peer.get_std_dev_area(4.0, 50)
True

point#

Module openquake.hazardlib.scalerel.point implements PointMSR.

class openquake.hazardlib.scalerel.point.PointMSR[source]#

Bases: BaseMSR

Implements magnitude-area scaling relationship to mimic point ruptures. Independently of the magnitude value, this scaling relationship returns always a very small value (1e-4 squared km, corresponding to a 10 by 10 m square) for the median area.

NOTE: This scaling-relationship is meant to be used in area and point sources to mimic point ruptures. Is not intended to be used in fault sources, as it would require a fault surface discretization step to small (less than 10 m, using an aspect ratio equal to 1) which is unfeasible for realistic applications.

get_median_area(mag, rake)[source]#

Returns a value equal to 1e-4 squared km independently of mag and rake values.

>>> point_msr = PointMSR()
>>> 1e-4 == point_msr.get_median_area(4.0, 50)
True
>>> 1e-4 == point_msr.get_median_area(9.0, 0)
True

strasser2010#

Module openquake.hazardlib.scalerel.strasser2010 implements StrasserInterface, StrasserIntraslab.

class openquake.hazardlib.scalerel.strasser2010.StrasserInterface[source]#

Bases: BaseMSRSigma, BaseASRSigma

Strasser, Arango and Bommer magnitude – rupture area relationships for interface events.

See F. O. Strasser, M. C. Arango, and J. J. Bommer Scaling of the Source Dimensions of Interface and Intraslab Subduction-zone Earthquakes with Moment Magnitude Seismological Research Letters, November/December 2010, v. 81, p. 941-950, doi:10.1785/gssrl.81.6.941

Implements both magnitude-area and area-magnitude scaling relationships.

get_median_area(mag, rake)[source]#

Calculates median areas as 10** (a + b*mag). The values are a function of magnitude. Rake is ignored.

get_median_mag(area, rake)[source]#

Return magnitude (Mw) given the area Rake is ignored.

Parameters:

area – Area in square km.

get_std_dev_area(mag, rake)[source]#

Standard deviation for Strasser et al 2010. Magnitude is ignored.

get_std_dev_mag(area, rake)[source]#

Standard deviation on the magnitude for the Strasser et al. (2010) area relation.

class openquake.hazardlib.scalerel.strasser2010.StrasserIntraslab[source]#

Bases: BaseMSRSigma, BaseASRSigma

Strasser, Arango and Bommer magnitude – rupture area relationships for intraslab events.

See F. O. Strasser, M. C. Arango, and J. J. Bommer Scaling of the Source Dimensions of Interface and Intraslab Subduction-zone Earthquakes with Moment Magnitude Seismological Research Letters, November/December 2010, v. 81, p. 941-950, doi:10.1785/gssrl.81.6.941

Implements both magnitude-area and area-magnitude scaling relationships.

get_median_area(mag, rake)[source]#

Calculates median areas as 10** (a + b*mag). The values are a function of magnitude. Rake is ignored.

get_median_mag(area, rake)[source]#

Return magnitude (Mw) given the area Rake is ignored.

Parameters:

area – Area in square km.

get_std_dev_area(mag, rake)[source]#

Standard deviation for Strasser et al 2010. Magnitude is ignored.

get_std_dev_mag(rake)[source]#

Standard deviation on the magnitude for the Strasser et al. (2010) area relation.

thingbaijam2017#

Module openquake.hazardlib.scalerel.thingbaijam2017 implements Thingbaijam2017_Interface Thingbaijam2017_Crustal

class openquake.hazardlib.scalerel.thingbaijam2017.ThingbaijamInterface[source]#

Bases: BaseMSRSigma, BaseASRSigma

Thingbaijam, K. K. S., P. M. Mai, and K. Goda (2017). New Empirical Earthquake Source-Scaling Laws. Bulletin of the Seismological Society of America, 107(5), pp 2225-2946, doi: 10.1785/0120170017.

Implements both magnitude-area and area-magnitude scaling relationships.

get_median_area(mag, rake)[source]#

Calculates median fault area from magnitude.

get_median_mag(area, rake)[source]#

Returns magnitude for a given fault area

get_std_dev_area(mag, rake)[source]#

Returns std

get_std_dev_mag(area, rake)[source]#

Returns std

class openquake.hazardlib.scalerel.thingbaijam2017.ThingbaijamStrikeSlip[source]#

Bases: BaseMSRSigma, BaseASRSigma

Thingbaijam, K. K. S., P. M. Mai, and K. Goda (2017). New Empirical Earthquake Source-Scaling Laws. Bulletin of the Seismological Society of America, 107(5), pp 2225-2946, doi: 10.1785/0120170017.

Implements both magnitude-area and area-magnitude scaling relationships.

get_median_area(mag, rake)[source]#

Calculates median fault area from magnitude.

get_median_mag(area, rake)[source]#

Returns magnitude for a given fault area

get_std_dev_area(mag, rake)[source]#

Returns std

get_std_dev_mag(area, rake)[source]#

Returns std

wc1994#

Module openquake.hazardlib.scalerel.wc1994 implements WC1994.

class openquake.hazardlib.scalerel.wc1994.WC1994[source]#

Bases: BaseMSRSigma, BaseASRSigma

Wells and Coppersmith magnitude – rupture area relationships, see 1994, Bull. Seism. Soc. Am., pages 974-2002.

Implements both magnitude-area and area-magnitude scaling relationships.

get_median_area(mag, rake)[source]#

The values are a function of both magnitude and rake.

Setting the rake to None causes their “All” rupture-types to be applied.

get_median_mag(area, rake)[source]#

Return magnitude (Mw) given the area and rake.

Setting the rake to None causes their “All” rupture-types to be applied.

Parameters:
  • area – Area in square km.

  • rake – Rake angle (the rupture propagation direction) in degrees, from -180 to 180.

get_std_dev_area(mag, rake)[source]#

Standard deviation for WC1994. Magnitude is ignored.

get_std_dev_mag(area, rake)[source]#

Standard deviation on the magnitude for the WC1994 area relation.

wc1994_qcss#

Module openquake.hazardlib.scalerel.wc1994_qcss implements WC1994_QCSS.

class openquake.hazardlib.scalerel.wc1994_qcss.WC1994_QCSS[source]#

Bases: BaseMSRSigma

Local modification of WC1994 to mimic behaviour of GSCFRISK code for the Queen Charlotte Strike-Slip (QCSS) fault based on rupture length for the 2015 Seismic Hazard Model of Canada as documented in Adams, J., S. Halchuk, T. Allen, and G. Rogers (2015). Canada’s 5th Generation seismic hazard model, as prepared for the 2015 National Building Code of Canada, 11th Canadian Conference on Earthquake Engineering, Victoria, Canada, Paper 93775.

Implements magnitude-length scaling relationship for strike-slip faults

Coefficents taken from Table 2A (P990) of Wells, D. L., and K. J. Coppersmith (1994). New empirical relationships among magnitude, rupture length, rupture width, rupture area, and surface displacement, Bull. Seism. Soc. Am. 84, 974-1002.

get_median_area(mag, rake)[source]#

The values are a function of magnitude.

get_std_dev_area(mag, rake)[source]#

Standard deviation for WC1994. Magnitude is ignored.

Module contents#

Package openquake.hazardlib.scalerel contains base classes and implementations of magnitude-area and area-magnitude scaling relationships.

openquake.hazardlib.scalerel.get_available_area_scalerel()[source]#

Return an ordered dictionary with the available Area ScaleRel classes, keyed by class name.

openquake.hazardlib.scalerel.get_available_magnitude_scalerel()[source]#

Return an ordered dictionary with the available Magnitude ScaleRel classes, keyed by class name.

openquake.hazardlib.scalerel.get_available_scalerel()[source]#

Return an ordered dictionary with the available ScaleRel classes, keyed by class name.

openquake.hazardlib.scalerel.get_available_sigma_area_scalerel()[source]#

Return an ordered dictionary with the available Sigma Area ScaleRel classes, keyed by class name.

openquake.hazardlib.scalerel.get_available_sigma_magnitude_scalerel()[source]#

Return an ordered dictionary with the available Sigma Magnitude ScaleRel classes, keyed by class name.