shakelib.conversions.imc.boore_kishida_2017

Module implements BooreKishida2017 class to convert between various horizontal intensity measure components.

class shakelib.conversions.imc.boore_kishida_2017.BooreKishida2017(imc_in, imc_out)[source]

Bases: shakelib.conversions.convert_imc.ComponentConverter

This class implements the Boore and Kishida (2017) conversions for horizontal intensity measure components.

This class explicitly supports the following subset of the conversions provided by B&K (specified as OpenQuake IMCs):

  • RotD50 <=> GMRotI50

  • RotD50 <=> GEOMETRIC_MEAN (i.e., Geometric Mean “as recorded”)

  • RotD100 <=> RotD50

  • RotD50 <=> GREATER_OF_TWO_HORIZONTAL

  • RotD100 <=> GREATER_OF_TWO_HORIZONTAL

  • GMRotI50 <=> GREATER_OF_TWO_HORIZONTAL

  • GEOMETRIC_MEAN <=> GREATER_OF_TWO_HORIZONTAL

Chain conversions are supported when using convertAmps. Otherwise conversions must be done in two+ steps using convertAmpsOnce. For IMCs not explicitly supported by B&K, we assume the IMC is equivalent to the geometric mean (which B&K call GM_AR).

Notes
  • Assumes ALL unknown IMC types are GEOMETRIC_MEAN.

References

Boore, D.M. and T. Kishida (2017). Relations between some horizontal-component ground-motion intensity measures used in practice. Bulletin of the Seismological Society of America, 107(1), 334-343, doi: 10.1785/0120160250.

Beyer, K., & Bommer, J. J. (2006). Relationships between median values and between aleatory variabilities for different definitions of the horizontal component of motion. Bulletin of the Seismological Society of America, 96(4A), 1512-1522.

convertAmpsOnce(imt, amps, rrups=None, mag=None)[source]

Return an array of amps converted from one IMC to another.

Parameters:
  • imt (OpenQuake IMT) – The intensity measure type of the input ground motions. Valid IMTs are PGA, PGV, and SA.

  • amps (array) – A numpy array of the (logged) ground motions to be converted.

  • rrups (array) – A numpy array of the same shape as amps, containing the rupture distances of the ground motions.

  • mag (float) – The earthquake magnitude.

Returns:

A numpy array of converted ground motions (logged).

Return type:

array

Raises:
  • ValueError – If mag and rrup are none or the IMT

  • is not an allowed type.

convertSigmasOnce(imt, sigmas)[source]

Return an array of standard deviations converted from one IMC to another.

Note that the action of this method is to always increase the input standard deviations. Thus, while converting from one IMC to another and then back again will yield the original ground motions via convertAmps(), the standard deviations will be inflated by both conversions via this method.

Parameters:
  • imt (OpenQuake IMT) – The intensity measure type of the input ground motions. Valid IMTs are PGA, PGV, and SA.

  • sigmas (array) – A numpy array of the standard deviations of the logged ground motions.

Returns:

A numpy array of converted standard deviations.

Return type:

array

Raises:
  • ValueError – If mag and rrup are none or the IMT

  • is not an allowed type.