Ground motion models

This part of the documentation covers all the interfaces of pyGMM.

Generic Interface

The interfaces for models have been simplified to use same parameter names and values where possible.

Abbreviation Name
u Unspecified
ss Strike-slip
ns Normal slip
rs Reverse slip

All model share the following interface:

class pygmm.model.Model(**kwds)[source]

Abstract class for ground motion prediction models.

Compute the response predicted the model.

No default implementation.

interp_ln_stds(periods)[source]

Return the logarithmic standard deviation (\(\sigma_{ \ln}\)) of spectral acceleration at the provided damping at specified periods.

Parameters:period (numpy.array) – periods of interest (sec).
Returns:numpy.array pseudo-spectral accelerations.
interp_spec_accels(periods)[source]

Return the pseudo-spectral acceleration at the provided damping at specified periods.

Parameters:period (numpy.array) – periods of interest (sec).
Returns:pseudo-spectral accelerations.
Return type:(numpy.array)
ln_std_pga

Logarithmic standard deviation (\(\sigma_{ \ln}\)) of the peak ground acceleration computed by the model.

Returns:float
Raises:NotImplementedError – If model does not provide an estimate.
ln_std_pgd

Logarithmic standard deviation (\(\sigma_{ \ln}\)) of the peak ground displacement computed by the model.

Returns:float
Raises:NotImplementedError – If model does not provide an estimate.
ln_std_pgv

Logarithmic standard deviation (\(\sigma_{ \ln}\)) of the peak ground velocity computed by the model.

Returns:float
Raises:NotImplementedError – If model does not provide an estimate.
ln_stds

Logarithmic standard deviation of the pseudo-spectral accelerations.

Returns:numpy.array
periods

Periods specified by the model.

Returns:numpy.array
pga

Peak ground acceleration (PGA) computed by the model (g).

Returns:

float

Raises:

NotImplementedError

If model does not provide an estimate.

pgd

Peak ground displacement (PGD) computed by the model (cm).

Returns:float
Raises:NotImplementedError – If model does not provide an estimate.
pgv

Peak ground velocity (PGV) computed by the model (cm/sec).

Returns:float
Raises:NotImplementedError – If model does not provide an estimate.
spec_accels

Pseudo-spectral accelerations computed by the model (g).

Returns:numpy.array

Specific Models

class pygmm.AbrahamsonSilvaKamai2014(**kwds)[source]

The Abrahamson, Silva, and Kamai (2014) [1] ground motion model for active tectonic regions.

__init__(**kwds)[source]

Initialize the model.

Keyword Arguments:
 
  • depth_1_0 (Optional[float]) – depth to the 1.0 km∕s shear-wave velocity horizon beneath the site, \(Z_{1.0}\) in (km). Used to estimate depth_2_5.
  • depth_2_5 (Optional[float]) – depth to the 2.5 km∕s shear-wave velocity horizon beneath the site, \(Z_{2.5}\) in (km). If None, then it is computed from depth_1_0 or v_s30 and the region parameter.
  • depth_tor (Optional[float]) – depth to the top of the rupture plane (\(Z_{tor}\), km). If None, then the average model is used.
  • depth_bor (Optional[float]) – depth to the bottom of the rupture plane (\(Z_{bor}\), km). If None, then the average model is used.
  • dip (float) – fault dip angle (\(\phi\), deg).
  • dist_jb (float) – Joyner-Boore distance to the rupture plane (\(R_\text{JB}\), km)
  • dist_rup (float) – closest distance to the rupture plane (\(R_\text{rup}\), km)
  • dist_x (float) – site coordinate measured perpendicular to the fault strike from the fault line with the down-dip direction being positive (\(R_x\), km).
  • dist_y0 (Optional[float]) – the horizontal distance off the end of the rupture measured parallel to strike (\(R_{y0}\), km).
  • mag (float) – moment magnitude of the event (\(M_w\))
  • mechanism (str) – fault mechanism. Valid options: “SS”, “NS”, “RS”.
  • on_hanging_wall (Optional[bool]) – If the site is located on the hanging wall of the fault. If None, then False is assumed.
  • region (Optional[str]) – region. Valid options: “global”, “california”, “china”, “italy”, “japan”, “taiwan”. If None, then “global” is used as a default value.
  • v_s30 (float) – time-averaged shear-wave velocity over the top 30 m of the site (\(V_{s30}\), m/s).
  • vs_source (Optional[str]) – source of the v_s30 value. Valid options: “measured”, “inferred”
  • width (Optional[float]) – Down-dip width of the fault. If None, then the model average is used.
static calc_depth_1_0(v_s30, region='california')[source]

Estimate the depth to 1 km/sec horizon (\(Z_{1.0}\)) based on \(V_{s30}\) and region.

This is based on equations 18 and 19 in the [1] and differs from the equations in the [2].

Parameters:v_s30 (float) – time-averaged shear-wave velocity over the top 30 m of the site (\(V_{s30}\), m/s).
Keyword Arguments:
 region (Optional[str]) – region of basin model. Valid options: “california”, “japan”. If None, then “california” is used as the default value.
Returns:depth to a shear-wave velocity of 1,000 m/sec (\(Z_{1.0}\), km).
Return type:float
static calc_depth_tor(mag)[source]

Calculate the depth to top of rupture (km).

Parameters:mag (float) – moment magnitude of the event (\(M_w\))
Returns:estimated depth (km)
Return type:float
static calc_width(mag, dip)[source]

Compute the fault width based on equation in NGW2 spreadsheet.

This equation is not provided in the paper.

Parameters:
  • mag (float) – moment magnitude of the event (\(M_w\))
  • dip (float) – Fault dip angle (\(\phi\), deg)
Returns:

estimated fault width (\(W\), km)

Return type:

float

class pygmm.AtkinsonBoore2006(**kwds)[source]

Atkinson and Boore (2006) [3] ground motion prediction model.

Developed for the Eastern North America with a reference velocity of 760 or 2000 m/s.

__init__(**kwds)[source]

Initialize the model.

Parameters:
  • mag (float) – moment magnitude of the event (\(M_w\))
  • dist_rup (float) – Closest distance to the rupture plane (\(R_\text{rup}\), km)
  • v_s30 (float) – time-averaged shear-wave velocity over the top 30 m of the site (\(V_{s30}\), m/s).
class pygmm.BooreStewartSeyhanAtkinson2014(**kwds)[source]

Boore, Stewart, Seyhan, and Atkinson (2014) [4] ground motion model.

Developed for the California and other active tectonic environments.

The BSSA14 model defines the following distance attenuation models:

Name Description
global Global; California and Taiwan
china_turkey China and Turkey
italy_japan Italy and Japan

and the following basin region models:

Name Description
global Global / California
japan Japan

These are simplified into one regional parameter with the following possibilities:

Region Attenuation Basin
global global global
california global global
china china_turkey global
italy italy_japan global
japan italy_japan japan
new zealand italy_japan global
taiwan global global
turkey china_turkey global
__init__(**kwds)[source]

Compute the response predicted the Boore, Stewart, Seyhan, and Atkinson (2014) ground motion model.

Keyword Arguments:
 
  • mag (float) – moment magnitude of the event (\(M_w\))
  • depth_1_0 (Optional[float]) – depth to the 1.0 km∕s shear-wave velocity horizon beneath the site, \(Z_{1.0}\) in (km). If None is specified, then no adjustment is applied.
  • dist_jb (float) – Joyner-Boore distance to the rupture plane (\(R_\text{JB}\), km)
  • v_s30 (float) – time-averaged shear-wave velocity over the top 30 m of the site (\(V_{s30}\), m/s).
  • mechanism (str) – fault mechanism. Valid options: “U”, “SS”, “NS”, “RS”
  • region (Optional[str]) – region for distance attenuation and basin model. Valid options: “global”, “california”, “china”, “italy”, “japan”, “new_zealand”, “taiwan”, “turkey”. If None is specified, then “global” is used as default.
class pygmm.Campbell2003(**kwds)[source]

Campbell (2003) [5] ground motion model for Eastern US.

__init__(**kwds)[source]

Initialize the ground motion model.

Keyword Arguments:
 
  • mag (float) – moment magnitude of the event (\(M_w\))
  • dist_rup (float) – closest distance to the rupture plane (\(R_\text{rup}\), km)
class pygmm.CampbellBozorgnia2014(**kwds)[source]

Campbell and Bozorgnia (2014) [6] ground motion model for active tectonic regions.

__init__(**kwds)[source]

Compute the response predicted the Campbell and Bozorgnia (2014) ground motion model.

Keyword Arguments:
 
  • depth_1_0 (Optional[float]) – depth to the 1.0 km∕s shear-wave velocity horizon beneath the site, \(Z_{1.0}\) in (km). Used to estimate depth_2_5.
  • depth_2_5 (Optional[float]) – depth to the 2.5 km∕s shear-wave velocity horizon beneath the site, \(Z_{2.5}\) in (km). If None, then it is computed from depth_1_0 or v_s30 and the region parameter.
  • depth_tor (Optional[float]) – depth to the top of the rupture plane (\(Z_{tor}\), km). If None, then the average model is used.
  • depth_bor (Optional[float]) – depth to the bottom of the rupture plane (\(Z_{bor}\), km). If None, then the average model is used.
  • depth_bot (Optional[float]) – depth to bottom of seismogenic crust (km). Used to calculate fault width if none is specified. If None, then a value of 15 km is used.
  • depth_hyp (Optional[float]) – depth of the hypocenter (km). If None, then the model average is used.
  • dip (float) – fault dip angle (\(\phi\), deg).
  • dist_jb (float) – Joyner-Boore distance to the rupture plane (\(R_\text{JB}\), km)
  • dist_rup (float) – closest distance to the rupture plane (\(R_\text{rup}\), km)
  • dist_x (float) – site coordinate measured perpendicular to the fault strike from the fault line with the down-dip direction being positive (\(R_x\), km).
  • mag (float) – moment magnitude of the event (\(M_w\))
  • mechanism (str) – fault mechanism. Valid values: “SS”, “NS”, “RS”.
  • region (Optional[str]) – region. Valid values: “california”, “china”, “italy”, “japan”. If None, then “california” is used as a default value.
  • v_s30 (float) – time-averaged shear-wave velocity over the top 30 m of the site (\(V_{s30}\), m/s).
  • width (Optional[float]) – Down-dip width of the fault. If None, then the model average is used.
static calc_depth_2_5(v_s30, region='global', depth_1_0=None)[source]

Calculate the depth to a shear-wave velocity of 2.5 km/sec (\(Z_{2.5}\)).

Provide either v_s30 or depth_1_0.

Parameters:

v_s30 (Optional[float]) – time-averaged shear-wave velocity over the top 30 m of the site (\(V_{s30}\), m/s).

Keyword Arguments:
 
  • region (Optional[str]) – region of the basin model. Valid values: “california”, “japan”.
  • depth_1_0 (Optional[float]) – depth to the 1.0 km∕s shear-wave velocity horizon beneath the site, \(Z_{1.0}\) in (km).
Returns:

estimated depth to a shear-wave velocity of 2.5 km/sec (km).

Return type:

float

static calc_depth_bor(depth_tor, dip, width)[source]

Compute the depth to bottom of the rupture (km).

Parameters:
  • dip (float) – fault dip angle (\(\phi\), deg).
  • depth_tor (float) – depth to the top of the rupture plane (\(Z_{tor}\), km).
  • width (float) – Down-dip width of the fault.
Returns:

depth to bottom of the fault rupture (km)

Return type:

float

static calc_depth_hyp(mag, dip, depth_tor, depth_bor)[source]

Estimate the depth to hypocenter.

Parameters:
  • mag (float) – moment magnitude of the event (\(M_w\))
  • dip (float) – fault dip angle (\(\phi\), deg).
  • depth_tor (float) – depth to the top of the rupture plane (\(Z_{tor}\), km).
  • depth_bor (float) – depth to the bottom of the rupture plane (\(Z_{bor}\), km).
Returns:

estimated hypocenter depth (km)

Return type:

float

static calc_width(mag, dip, depth_tor, depth_bot=15.0)[source]

Estimate the fault width using Equation (39) of CB14.

Parameters:
  • mag (float) – moment magnitude of the event (\(M_w\))
  • dip (float) – fault dip angle (\(\phi\), deg).
  • depth_tor (float) – depth to the top of the rupture plane (\(Z_{tor}\), km).
Keyword Arguments:
 

depth_bot (Optional[float]) – depth to bottom of seismogenic crust (km). Used to calculate fault width if none is specified. If None, then a value of 15 km is used.

Returns:

estimated fault width (km)

Return type:

float

class pygmm.ChiouYoungs2014(**kwds)[source]

Chiou and Youngs (2014) [2] model.

__init__(**kwds)[source]

Compute the response predicted the Chiou and Youngs (2014) ground motion model.

Keyword Arguments:
 
  • depth_1_0 (Optional[float]) – depth to the 1.0 km∕s shear-wave velocity horizon beneath the site, \(Z_{1.0}\) in (km). Used to estimate depth_2_5.
  • depth_tor (Optional[float]) – depth to the top of the rupture plane (\(Z_{tor}\), km). If None, then the average model is used.
  • dist_jb (float) – Joyner-Boore distance to the rupture plane (\(R_\text{JB}\), km)
  • dist_rup (float) – closest distance to the rupture plane (\(R_\text{rup}\), km)
  • dist_x (float) – site coordinate measured perpendicular to the fault strike from the fault line with the down-dip direction being positive (\(R_x\), km).
  • dip (float) – fault dip angle (\(\phi\), deg).
  • dpp_centered (Optional[float]) – direct point parameter for directivity effect (see Chiou and Spudich (2014)) centered on the earthquake-specific average DPP for California. If None, then value of 0 used to provide the average directivity.
  • mag (float) – moment magnitude of the event (\(M_w\))
  • mechanism (str) – fault mechanism. Valid options: “U”, “SS”, “NS”, “RS”.
  • on_hanging_wall (Optional[bool]) – If the site is located on the hanging wall of the fault. If None, then False is assumed.
  • region (Optional[str]) – region. Valid options: “california”, “china”, “italy”, “japan”. If None, then “california” is used as a default value.
  • v_s30 (float) – time-averaged shear-wave velocity over the top 30 m of the site (\(V_{s30}\), m/s).
  • vs_source (Optional[str]) – source of the v_s30 value. Valid options: “measured”, “inferred”
static calc_depth_1_0(v_s30, region)[source]

Calculate an estimate of the depth to 1 km/sec (\(Z_{1.0}\)) based on \(V_{s30}\) and region.

Parameters:
  • v_s30 (float) – time-averaged shear-wave velocity over the top 30 m of the site (\(V_{s30}\), m/s).
  • region (str) – basin region. Valid options: “california”, “japan”
Returns:

estimated depth to a shear-wave velocity of 1 km/sec (km)

Return type:

float

static calc_depth_tor(mag, mechanism)[source]

Calculate an estimate of the depth to top of rupture (km).

Parameters:
  • mag (float) – moment magnitude of the event (\(M_w\))
  • mechanism (str) – fault mechanism. Valid options: “U”, “SS”, “NS”, “RS”.
Returns:

estimated depth to top of rupture (km)

Return type:

float

class pygmm.Idriss2014(**kwds)[source]

Idriss (2014) [7] ground motion model.

__init__(**kwds)[source]

Initialize the ground motion model.

Keyword Arguments:
 
  • dist_rup (float) – Closest distance to the rupture plane (\(R_\text{rup}\), km)
  • mag (float) – moment magnitude of the event (\(M_w\))
  • mechanism (str) – fault mechanism. Valid options: “SS”, “NS”, “RS”. SS and NS mechanism are treated the same with \(F=0\) in the model.
  • v_s30 (float) – time-averaged shear-wave velocity over the top 30 m of the site (\(V_{s30}\), m/s).
class pygmm.PezeshkZandiehTavakoli2011(**kwds)[source]

Pezeshk, Zandieh, and Tavakoli (2011) [8] ground motion prediction model.

Developed for the Eastern North America with a reference velocity of 2000 m/s.

__init__(**kwds)[source]

Initialize the model.

Keyword Arguments:
 
  • mag (float) – moment magnitude of the event (\(M_w\))
  • dist_rup (float) – Closest distance to the rupture plane (\(R_\text{rup}\), km)
class pygmm.TavakoliPezeshk05(**kwds)[source]

Tavakoli and Pezeshk (2005) [9] ground motion prediction model.

Developed for the Eastern North America with a reference velocity of 2880 m/s.

__init__(**kwds)[source]

Initialize the model.

Keyword Arguments:
 
  • mag (float) – moment magnitude of the event (\(M_w\))
  • dist_rup (float) – Closest distance to the rupture plane (\(R_\text{rup}\), km)