# -*- coding: utf-8 -*-
# vim: tabstop=4 shiftwidth=4 softtabstop=4
#
# Copyright (C) 2014-2020 GEM Foundation
#
# OpenQuake is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# OpenQuake is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with OpenQuake. If not, see <http://www.gnu.org/licenses/>.
"""
Module exports :class:`BindiEtAl2014Rjb`,
:class:`BindiEtAl2014RjbEC8`,
:class:`BindiEtAl2014RjbEC8NoSOF`,
:class:`BindiEtAl2014Rhyp`,
:class:`BindiEtAl2014RhypEC8`,
:class:`BindiEtAl2014RhypEC8NoSOF`
"""
import numpy as np
from scipy.constants import g
from openquake.hazardlib.gsim.base import GMPE, CoeffsTable
from openquake.hazardlib import const
from openquake.hazardlib.imt import PGA, PGV, SA
[docs]class BindiEtAl2014Rjb(GMPE):
"""
Implements European GMPE:
D.Bindi, M. Massa, L.Luzi, G. Ameri, F. Pacor, R.Puglia and P. Augliera
(2014), "Pan-European ground motion prediction equations for the
average horizontal component of PGA, PGV and 5 %-damped PSA at spectral
periods of up to 3.0 s using the RESORCE dataset", Bulletin of
Earthquake Engineering, 12(1), 391 - 340
The regressions are developed considering the geometrical mean of the
as-recorded horizontal components
The printed version of the GMPE was corrected by Erratum:
D.Bindi, M. Massa, L.Luzi, G. Ameri, F. Pacor, R.Puglia and P. Augliera
(2014), "Erratum to Pan-European ground motion prediction equations for the
average horizontal component of PGA, PGV and 5 %-damped PSA at spectral
periods of up to 3.0 s using the RESORCE dataset", Bulletin of
Earthquake Engineering, 12(1), 431 - 448. The erratum notes that the
printed coefficients tables were in error. In this implementation
coefficients tables were taken from the Electronic Supplementary
material of the original paper, which are indicated as being unaffected.
"""
#: Supported tectonic region type is 'active shallow crust'
DEFINED_FOR_TECTONIC_REGION_TYPE = const.TRT.ACTIVE_SHALLOW_CRUST
#: Set of :mod:`intensity measure types <openquake.hazardlib.imt>`
#: this GSIM can calculate. A set should contain classes from module
#: :mod:`openquake.hazardlib.imt`.
DEFINED_FOR_INTENSITY_MEASURE_TYPES = set([
PGA,
PGV,
SA
])
#: Supported intensity measure component is the geometric mean of two
#: horizontal components
DEFINED_FOR_INTENSITY_MEASURE_COMPONENT = const.IMC.AVERAGE_HORIZONTAL
#: Supported standard deviation types are inter-event, intra-event
#: and total
DEFINED_FOR_STANDARD_DEVIATION_TYPES = set([
const.StdDev.TOTAL,
const.StdDev.INTER_EVENT,
const.StdDev.INTRA_EVENT
])
#: Required site parameter is only Vs30
REQUIRES_SITES_PARAMETERS = {'vs30'}
#: Required rupture parameters are magnitude and rake (eq. 1).
REQUIRES_RUPTURE_PARAMETERS = {'rake', 'mag'}
#: Required distance measure is Rjb (eq. 1).
REQUIRES_DISTANCES = {'rjb'}
def __init__(self, adjustment_factor=1.0):
super().__init__()
self.adjustment_factor = np.log(adjustment_factor)
[docs] def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types):
"""
See :meth:`superclass method
<.base.GroundShakingIntensityModel.get_mean_and_stddevs>`
for spec of input and result values.
"""
# extracting dictionary of coefficients specific to required
# intensity measure type.
C = self.COEFFS[imt]
imean = self._get_mean(C, rup, dists, sites)
if imt.name in "SA PGA":
# Convert units to g,
# but only for PGA and SA (not PGV):
mean = np.log((10.0 ** (imean - 2.0)) / g)
else:
# PGV:
mean = np.log(10.0 ** imean)
istddevs = self._get_stddevs(C, stddev_types, len(sites.vs30))
stddevs = np.log(10.0 ** np.array(istddevs))
return mean + self.adjustment_factor, stddevs
def _get_mean(self, C, rup, dists, sites):
"""
Returns the mean ground motion
"""
return (self._get_magnitude_scaling_term(C, rup.mag) +
self._get_distance_scaling_term(C, dists.rjb, rup.mag) +
self._get_style_of_faulting_term(C, rup) +
self._get_site_amplification_term(C, sites.vs30))
def _get_magnitude_scaling_term(self, C, mag):
"""
Returns the magnitude scaling term of the GMPE described in
equation 3
"""
dmag = mag - self.CONSTS["Mh"]
if mag < self.CONSTS["Mh"]:
return C["e1"] + (C["b1"] * dmag) + (C["b2"] * (dmag ** 2.0))
else:
return C["e1"] + (C["b3"] * dmag)
def _get_distance_scaling_term(self, C, rval, mag):
"""
Returns the distance scaling term of the GMPE described in equation 2
"""
r_adj = np.sqrt(rval ** 2.0 + C["h"] ** 2.0)
return (
(C["c1"] + C["c2"] * (mag - self.CONSTS["Mref"])) *
np.log10(r_adj / self.CONSTS["Rref"]) -
(C["c3"] * (r_adj - self.CONSTS["Rref"])))
def _get_style_of_faulting_term(self, C, rup):
"""
Returns the style-of-faulting term.
Fault type (Strike-slip, Normal, Thrust/reverse) is
derived from rake angle.
Rakes angles within 30 of horizontal are strike-slip,
angles from 30 to 150 are reverse, and angles from
-30 to -150 are normal.
Note that the 'Unspecified' case is not considered in this class
as rake is required as an input variable
"""
SS, NS, RS = 0.0, 0.0, 0.0
if np.abs(rup.rake) <= 30.0 or (180.0 - np.abs(rup.rake)) <= 30.0:
# strike-slip
SS = 1.0
elif rup.rake > 30.0 and rup.rake < 150.0:
# reverse
RS = 1.0
else:
# normal
NS = 1.0
return (C["sofN"] * NS) + (C["sofR"] * RS) + (C["sofS"] * SS)
def _get_site_amplification_term(self, C, vs30):
"""
Returns the site amplification term for the case in which Vs30
is used directly
"""
return C["gamma"] * np.log10(vs30 / self.CONSTS["Vref"])
def _get_stddevs(self, C, stddev_types, num_sites):
"""
Return standard deviations as defined in table 2.
"""
stddevs = []
for stddev_type in stddev_types:
assert stddev_type in self.DEFINED_FOR_STANDARD_DEVIATION_TYPES
if stddev_type == const.StdDev.TOTAL:
stddevs.append(C['sigma'] + np.zeros(num_sites))
elif stddev_type == const.StdDev.INTRA_EVENT:
stddevs.append(C['phi'] + np.zeros(num_sites))
elif stddev_type == const.StdDev.INTER_EVENT:
stddevs.append(C['tau'] + np.zeros(num_sites))
return stddevs
#: Coefficients from Table 2
COEFFS = CoeffsTable(sa_damping=5, table="""
imt e1 c1 c2 h c3 b1 b2 b3 gamma sofN sofR sofS tau phi phis2s sigma
pgv 2.264810000 -1.224080000 0.202085000 5.061240000 0.000000000 0.162802000 -0.092632400 0.044030100 -0.529443000 -0.009476750 0.040057400 -0.030580500 0.156062000 0.277714000 0.120398000 0.318560000
pga 3.328190000 -1.239800000 0.217320000 5.264860000 0.001186240 -0.085504500 -0.092563900 0.000000000 -0.301899000 -0.039769500 0.077525300 -0.037755800 0.149977000 0.282398000 0.165611000 0.319753000
0.02 3.370530000 -1.263580000 0.220527000 5.200820000 0.001118160 -0.089055400 -0.091615200 0.000000000 -0.294021000 -0.039236000 0.081051600 -0.041815600 0.158670000 0.282356000 0.183959000 0.323885000
0.04 3.439220000 -1.310250000 0.244676000 4.916690000 0.001091830 -0.116919000 -0.078378900 0.000000000 -0.241765000 -0.037720400 0.079778300 -0.042057900 0.154621000 0.291143000 0.187409000 0.329654000
0.07 3.596510000 -1.290510000 0.231878000 5.359220000 0.001820940 -0.085012400 -0.056996800 0.000000000 -0.207629000 -0.045943700 0.087496800 -0.041553000 0.172785000 0.291499000 0.199913000 0.338860000
0.10 3.686380000 -1.281780000 0.219406000 6.121460000 0.002114430 -0.113550000 -0.075332500 0.000000000 -0.173237000 -0.038052800 0.084710300 -0.046658500 0.169691000 0.301967000 0.208178000 0.346379000
0.15 3.686320000 -1.176970000 0.182662000 5.741540000 0.002540270 -0.092872600 -0.102433000 0.073904200 -0.202492000 -0.026729300 0.067844100 -0.041114700 0.152902000 0.305804000 0.212124000 0.341900000
0.20 3.682620000 -1.103010000 0.133154000 5.319980000 0.002420890 0.010085700 -0.105184000 0.150461000 -0.291228000 -0.032653700 0.075976900 -0.043323200 0.150055000 0.300109000 0.190469000 0.335532000
0.26 3.643140000 -1.085270000 0.115603000 5.134550000 0.001964370 0.029939700 -0.127173000 0.178899000 -0.354425000 -0.033843800 0.074982000 -0.041138100 0.151209000 0.302419000 0.187037000 0.338114000
0.30 3.639850000 -1.105910000 0.108276000 5.128460000 0.001499220 0.039190400 -0.138578000 0.189682000 -0.393060000 -0.037245300 0.076701100 -0.039455900 0.157946000 0.297402000 0.174118000 0.336741000
0.36 3.574800000 -1.099550000 0.103083000 4.905570000 0.001049050 0.052103000 -0.151385000 0.216011000 -0.453905000 -0.027906700 0.069789800 -0.041883200 0.165436000 0.294395000 0.175848000 0.337694000
0.40 3.530060000 -1.095380000 0.101111000 4.953860000 0.000851474 0.045846400 -0.162090000 0.224827000 -0.492063000 -0.025630900 0.072566800 -0.046936000 0.157728000 0.296992000 0.169883000 0.336278000
0.46 3.433870000 -1.065860000 0.109066000 4.659900000 0.000868165 0.060083800 -0.165897000 0.197716000 -0.564463000 -0.018663500 0.064599300 -0.045935800 0.173005000 0.291868000 0.164162000 0.339290000
0.50 3.405540000 -1.057670000 0.112197000 4.432050000 0.000788528 0.088318900 -0.164108000 0.154750000 -0.596196000 -0.017419400 0.060282600 -0.042863200 0.180820000 0.289957000 0.165090000 0.341717000
0.60 3.304420000 -1.050140000 0.121734000 4.216570000 0.000487285 0.120182000 -0.163325000 0.117576000 -0.667824000 -0.000486417 0.044920900 -0.044434500 0.182233000 0.292223000 0.175634000 0.344388000
0.70 3.238820000 -1.050210000 0.114674000 4.171270000 0.000159408 0.166933000 -0.161112000 0.112005000 -0.738390000 0.011203300 0.028150600 -0.039353900 0.189396000 0.289307000 0.168617000 0.345788000
0.80 3.153700000 -1.046540000 0.129522000 4.200160000 0.000000000 0.193817000 -0.156553000 0.051728500 -0.794076000 0.016525800 0.020352200 -0.036878300 0.189074000 0.288815000 0.168170000 0.345200000
0.90 3.134810000 -1.046120000 0.114536000 4.480030000 0.000000000 0.247547000 -0.153819000 0.081575400 -0.821699000 0.016449300 0.021242200 -0.037691300 0.191986000 0.293264000 0.183719000 0.350517000
1.00 3.124740000 -1.052700000 0.103471000 4.416130000 0.000000000 0.306569000 -0.147558000 0.092837300 -0.826584000 0.026307100 0.018604300 -0.044911100 0.195026000 0.297907000 0.200775000 0.356067000
1.30 2.898410000 -0.973828000 0.104898000 4.258210000 0.000000000 0.349119000 -0.149483000 0.108209000 -0.845047000 0.025233900 0.022362100 -0.047595700 0.181782000 0.306676000 0.209625000 0.356504000
1.50 2.847270000 -0.983388000 0.109072000 4.566970000 0.000000000 0.384546000 -0.139867000 0.098737200 -0.823200000 0.018673800 0.023089400 -0.041763000 0.177752000 0.316312000 0.218569000 0.362835000
1.80 2.680160000 -0.983082000 0.164027000 4.680080000 0.000000000 0.343663000 -0.135933000 0.000000000 -0.778657000 0.011371300 0.016688200 -0.028059400 0.163242000 0.326484000 0.221367000 0.365020000
2.00 2.601710000 -0.979215000 0.163344000 4.581860000 0.000000000 0.331747000 -0.148282000 0.000000000 -0.769243000 0.005535450 0.019856600 -0.025392000 0.164958000 0.329916000 0.225350000 0.368857000
2.60 2.390670000 -0.977532000 0.211831000 5.395170000 0.000000000 0.357514000 -0.122539000 0.000000000 -0.769609000 0.008734600 0.023314200 -0.032048600 0.170280000 0.320626000 0.210193000 0.363037000
3.00 2.253990000 -0.940373000 0.227241000 5.741730000 0.000000000 0.385526000 -0.111445000 0.000000000 -0.732072000 0.022989300 -0.020662000 -0.002327150 0.176546000 0.314165000 0.207247000 0.360373000
""")
CONSTS = {"Mref": 5.5,
"Mh": 6.75,
"Rref": 1.0,
"Vref": 800.0}
[docs]class BindiEtAl2014RjbEC8(BindiEtAl2014Rjb):
"""
Implements the Bindi et al (2014) GMPE for the case where Joyner-Boore
distance is specified but Eurocode 8 Site classification is used.
"""
def _get_site_amplification_term(self, C, vs30):
"""
Returns the site amplification given Eurocode 8 site classification
"""
f_s = np.zeros_like(vs30)
# Site class B
idx = np.logical_and(vs30 < 800.0, vs30 >= 360.0)
f_s[idx] = C["eB"]
# Site Class C
idx = np.logical_and(vs30 < 360.0, vs30 >= 180.0)
f_s[idx] = C["eC"]
# Site Class D
idx = vs30 < 180.0
f_s[idx] = C["eD"]
return f_s
#: Coefficients from Table 1
COEFFS = CoeffsTable(sa_damping=5, table="""
imt e1 c1 c2 h c3 b1 b2 b3 eA eB eC eD sofN sofR sofS sofU tau phi phis2s sigma
pgv 2.375220000 -1.304700000 0.209460000 5.761910000 0.000000000 0.273952000 -0.051424900 0.000000000 0.000000000 0.122258000 0.276738000 0.380306000 -0.001827210 0.057498900 0.022657800 0.000000000 0.186089000 0.271268000 0.177104000 0.328961000
pga 3.450780000 -1.360610000 0.215873000 6.147170000 0.000732525 -0.020871500 -0.072242500 0.000000000 0.000000000 0.137715000 0.233048000 0.214227000 -0.032284600 0.073677800 -0.019431300 0.000000000 0.180904000 0.276335000 0.206288000 0.330284000
0.02 3.478060000 -1.375190000 0.218095000 5.906840000 0.000710063 -0.026825000 -0.072604300 0.000000000 0.000000000 0.134904000 0.226827000 0.213357000 -0.028085300 0.077531800 -0.020641400 0.000000000 0.182533000 0.278823000 0.208393000 0.333258000
0.04 3.580060000 -1.433270000 0.238839000 5.793940000 0.000685158 -0.056875100 -0.063729800 0.000000000 0.000000000 0.133973000 0.218136000 0.176183000 -0.038661200 0.060308000 -0.033402300 0.000000000 0.180630000 0.289652000 0.220859000 0.341358000
0.07 3.781630000 -1.461340000 0.225844000 6.620190000 0.001175680 -0.043052000 -0.049789000 0.000000000 0.000000000 0.139714000 0.206862000 0.145621000 -0.038893400 0.071260300 -0.027363900 0.000000000 0.194176000 0.296609000 0.235714000 0.354515000
0.10 3.792600000 -1.414410000 0.208667000 6.892480000 0.001601790 -0.058451800 -0.064433500 0.000000000 0.000000000 0.155236000 0.210168000 0.156052000 -0.019545700 0.084246100 -0.022831500 0.000000000 0.181926000 0.306918000 0.244969000 0.356785000
0.15 3.778380000 -1.293440000 0.163550000 6.717350000 0.002028820 -0.035863600 -0.091537900 0.085537200 0.000000000 0.158937000 0.199726000 0.186495000 -0.020557800 0.074269000 -0.026728700 0.000000000 0.181380000 0.305998000 0.241833000 0.355716000
0.20 3.692760000 -1.181950000 0.119101000 5.786590000 0.002122900 0.067201900 -0.091505400 0.145251000 0.000000000 0.138968000 0.216584000 0.199500000 0.018953200 0.133352000 0.026665200 0.000000000 0.177903000 0.300131000 0.219913000 0.348896000
0.26 3.676100000 -1.165490000 0.102609000 5.451920000 0.001653610 0.129716000 -0.097514500 0.135986000 0.000000000 0.126737000 0.249141000 0.229736000 0.023562700 0.143428000 0.039233500 0.000000000 0.178211000 0.300652000 0.200662000 0.349501000
0.30 3.669660000 -1.175200000 0.099164000 5.407320000 0.001247800 0.145499000 -0.104880000 0.135159000 0.000000000 0.113881000 0.259274000 0.252504000 0.018438300 0.138662000 0.043489300 0.000000000 0.184254000 0.295463000 0.193285000 0.348207000
0.36 3.597210000 -1.144790000 0.095007700 5.020640000 0.000918966 0.168179000 -0.114223000 0.149582000 0.000000000 0.109638000 0.274211000 0.282686000 0.012675100 0.122472000 0.036661700 0.000000000 0.184085000 0.295192000 0.187569000 0.347887000
0.40 3.556710000 -1.145200000 0.094317300 5.080660000 0.000672779 0.173884000 -0.120149000 0.151849000 0.000000000 0.110223000 0.280836000 0.301657000 0.022149900 0.129181000 0.046122800 0.000000000 0.191734000 0.292878000 0.180758000 0.350056000
0.46 3.501770000 -1.130800000 0.100456000 4.957770000 0.000583160 0.190813000 -0.123177000 0.130847000 0.000000000 0.108079000 0.298022000 0.347080000 0.017164500 0.115968000 0.044778200 0.000000000 0.199690000 0.291096000 0.182941000 0.353006000
0.50 3.457170000 -1.116310000 0.101994000 4.698770000 0.000508794 0.203522000 -0.126077000 0.122339000 0.000000000 0.108783000 0.305295000 0.370989000 0.016711700 0.114252000 0.049822200 0.000000000 0.200063000 0.291640000 0.175988000 0.353665000
0.60 3.387990000 -1.104700000 0.104529000 4.546430000 0.000249318 0.242603000 -0.126011000 0.095964800 0.000000000 0.106929000 0.321296000 0.440581000 0.013694500 0.100223000 0.042017600 0.000000000 0.207756000 0.289459000 0.176453000 0.356299000
0.70 3.343810000 -1.116090000 0.099989200 4.640170000 0.000000000 0.280922000 -0.124614000 0.092047500 0.000000000 0.102965000 0.331801000 0.503562000 0.024399300 0.092189300 0.049608600 0.000000000 0.208828000 0.290952000 0.178954000 0.358137000
0.80 3.258020000 -1.109070000 0.119754000 4.638490000 0.000000000 0.291242000 -0.122604000 0.032747700 0.000000000 0.097480900 0.341281000 0.542709000 0.024482700 0.078739400 0.049226200 0.000000000 0.211136000 0.294168000 0.180310000 0.362096000
0.90 3.168990000 -1.087140000 0.117879000 4.504810000 0.000000000 0.311362000 -0.123730000 0.052576100 0.000000000 0.087056700 0.342803000 0.581633000 0.042375500 0.091253700 0.068451600 0.000000000 0.220213000 0.293618000 0.194549000 0.367022000
1.00 3.146490000 -1.093870000 0.114285000 4.531180000 0.000000000 0.359324000 -0.117738000 0.044584200 0.000000000 0.086495700 0.345210000 0.590175000 0.053679200 0.091382100 0.067455400 0.000000000 0.221524000 0.295365000 0.196091000 0.369206000
1.30 2.895150000 -1.030420000 0.136666000 4.532080000 0.000000000 0.393471000 -0.115441000 0.000000000 0.000000000 0.092091300 0.345292000 0.618805000 0.087972000 0.119863000 0.100768000 0.000000000 0.222493000 0.296657000 0.196817000 0.370822000
1.50 2.763660000 -1.014370000 0.144100000 4.611720000 0.000000000 0.432513000 -0.104296000 0.000000000 0.000000000 0.103385000 0.342842000 0.653192000 0.123393000 0.165217000 0.143638000 0.000000000 0.218105000 0.303878000 0.198490000 0.374047000
1.80 2.636620000 -1.048380000 0.180838000 5.396070000 0.000000000 0.434162000 -0.096297900 0.000000000 0.000000000 0.107251000 0.333706000 0.618956000 0.161886000 0.193198000 0.201695000 0.000000000 0.212905000 0.310360000 0.201126000 0.376367000
2.00 2.621500000 -1.054300000 0.181367000 5.567720000 0.000000000 0.458752000 -0.095576300 0.000000000 0.000000000 0.099358000 0.329709000 0.604177000 0.139794000 0.167929000 0.185814000 0.000000000 0.222240000 0.309638000 0.202676000 0.381138000
2.60 2.463180000 -1.073080000 0.226407000 6.234910000 0.000000000 0.475305000 -0.078811800 0.000000000 0.000000000 0.105913000 0.312454000 0.577657000 0.125695000 0.153396000 0.173281000 0.000000000 0.223041000 0.310755000 0.207080000 0.382513000
3.00 2.396800000 -1.057060000 0.248126000 6.767400000 0.000000000 0.481080000 -0.071968900 0.000000000 0.000000000 0.127642000 0.318684000 0.597588000 0.052424200 0.047118500 0.116645000 0.000000000 0.236576000 0.302186000 0.212410000 0.383777000
""")
[docs]class BindiEtAl2014RjbEC8NoSOF(BindiEtAl2014RjbEC8):
"""
Implements the Bindi et al (2014) GMPE for the case in which
the site amplification is defined according to the Eurocode 8
classification, but style-of-faulting is neglected
"""
#: Required rupture parameters are magnitude
REQUIRES_RUPTURE_PARAMETERS = {'mag'}
def _get_mean(self, C, rup, dists, sites):
"""
Returns the mean value of ground motion - noting that in this case
the style-of-faulting term is neglected
"""
return (self._get_magnitude_scaling_term(C, rup.mag) +
self._get_distance_scaling_term(C, dists.rjb, rup.mag) +
self._get_site_amplification_term(C, sites.vs30))
[docs]class BindiEtAl2014Rhyp(BindiEtAl2014Rjb):
"""
Implements the Bindi et al (2014) GMPE for the case in which hypocentral
distance is preferred, style-of-faulting is specfieid and for which the
site amplification is dependent directly on Vs30
"""
#: Required distance measure is Rhypo (eq. 1).
REQUIRES_DISTANCES = set(('rhypo', ))
def _get_mean(self, C, rup, dists, sites):
"""
Returns the mean value of ground motion
"""
return (self._get_magnitude_scaling_term(C, rup.mag) +
self._get_distance_scaling_term(C, dists.rhypo, rup.mag) +
self._get_style_of_faulting_term(C, rup) +
self._get_site_amplification_term(C, sites.vs30))
#: Coefficients from Table 4
COEFFS = CoeffsTable(sa_damping=5, table="""
imt e1 c1 c2 h c3 b1 b2 b3 gamma sofN sofR sofS tau phi phis2s sigma
pgv 3.242490000 -1.575560000 0.079177400 4.389180000 0.0000000000 0.472433000 -0.072548400 0.436952000 -0.508833000 -0.015719500 0.071385900 -0.055666000 0.193206000 0.295126000 0.178867000 0.352744000
pga 4.273910000 -1.578210000 0.108218000 4.827430000 0.0000963923 0.217109000 -0.068256300 0.352976000 -0.293242000 -0.047214500 0.110979000 -0.063763900 0.145783000 0.291566000 0.186662000 0.325981000
0.02 4.339700000 -1.604020000 0.103401000 4.478520000 0.0000263293 0.230422000 -0.066535400 0.363906000 -0.286524000 -0.046923100 0.115063000 -0.068140000 0.154538000 0.290986000 0.188250000 0.329477000
0.04 4.468390000 -1.685360000 0.126703000 4.580630000 0.0000000000 0.205651000 -0.052810200 0.323734000 -0.232462000 -0.045172300 0.114597000 -0.069425000 0.158402000 0.298261000 0.192664000 0.337714000
0.07 4.572400000 -1.638630000 0.123954000 5.120960000 0.0007222300 0.226272000 -0.029801500 0.311109000 -0.195629000 -0.053205000 0.121653000 -0.068447700 0.169775000 0.302117000 0.205229000 0.346552000
0.10 4.552550000 -1.579470000 0.125609000 5.675110000 0.0012390400 0.167382000 -0.050906600 0.348968000 -0.168432000 -0.047039300 0.119021000 -0.071982100 0.165148000 0.310963000 0.212643000 0.352097000
0.15 4.511190000 -1.447100000 0.084609700 4.824800000 0.0016920200 0.194714000 -0.078450700 0.448903000 -0.194539000 -0.036312300 0.102481000 -0.066168600 0.145533000 0.310621000 0.216313000 0.343023000
0.20 4.495710000 -1.370390000 0.038535800 4.569650000 0.0015859300 0.289627000 -0.081549900 0.533244000 -0.270912000 -0.038675400 0.107555000 -0.068879300 0.144701000 0.308845000 0.202040000 0.341063000
0.26 4.492240000 -1.366790000 0.012937400 3.948020000 0.0010587800 0.321065000 -0.104184000 0.596455000 -0.323555000 -0.036577100 0.103236000 -0.066658900 0.156869000 0.313737000 0.199484000 0.350769000
0.30 4.517260000 -1.400780000 0.001979970 4.268160000 0.0005648190 0.336096000 -0.115261000 0.612107000 -0.363199000 -0.038065000 0.104818000 -0.066753200 0.165195000 0.311052000 0.186722000 0.352197000
0.36 4.465590000 -1.409730000 0.000488761 4.399780000 0.0000596605 0.346351000 -0.127114000 0.600314000 -0.430464000 -0.028534300 0.095509300 -0.066974900 0.164907000 0.310509000 0.180734000 0.351583000
0.40 4.468340000 -1.428930000 -0.009095590 4.603900000 0.0000000000 0.353351000 -0.137776000 0.621323000 -0.467397000 -0.026162600 0.097198300 -0.071035500 0.165146000 0.310959000 0.182064000 0.352092000
0.46 4.371500000 -1.406550000 0.001009530 4.602540000 0.0000000000 0.357170000 -0.142768000 0.589127000 -0.531694000 -0.019281900 0.090202000 -0.070919800 0.181401000 0.306033000 0.176797000 0.355756000
0.50 4.341980000 -1.397510000 0.004238030 4.430450000 0.0000000000 0.384532000 -0.140916000 0.543301000 -0.555531000 -0.017579800 0.086012300 -0.068432100 0.189686000 0.304174000 0.178065000 0.358473000
0.60 4.214950000 -1.379190000 0.013733000 3.696150000 0.0000000000 0.408720000 -0.141998000 0.504772000 -0.627036000 0.001156930 0.071288600 -0.070131400 0.200502000 0.306270000 0.189183000 0.366066000
0.70 4.148320000 -1.371690000 0.002264110 3.009780000 0.0000000000 0.466754000 -0.138065000 0.498126000 -0.698998000 0.010002700 0.054387600 -0.064390000 0.201810000 0.308270000 0.264361000 0.368453000
0.80 4.092460000 -1.377360000 0.008956000 3.157270000 0.0000000000 0.510102000 -0.132630000 0.437529000 -0.757522000 0.015018400 0.045864700 -0.060882800 0.211664000 0.308550000 0.208994000 0.374172000
0.90 4.083240000 -1.386490000 -0.004531510 3.453700000 0.0000000000 0.567727000 -0.127244000 0.458110000 -0.786632000 0.016380200 0.044223600 -0.060603500 0.225279000 0.313873000 0.225906000 0.386351000
1.00 4.072070000 -1.387350000 -0.018545800 3.316300000 0.0000000000 0.631338000 -0.121241000 0.474982000 -0.791438000 0.026395700 0.041136600 -0.067531900 0.238973000 0.318631000 0.246861000 0.398289000
1.30 3.779540000 -1.273430000 -0.013766200 3.049760000 0.0000000000 0.650829000 -0.129005000 0.488244000 -0.803656000 0.024922000 0.038329000 -0.063250700 0.212162000 0.324083000 0.245588000 0.387354000
1.50 3.694470000 -1.264770000 -0.003373340 3.654820000 0.0000000000 0.674600000 -0.119081000 0.461122000 -0.780198000 0.019123100 0.038696600 -0.057819500 0.208441000 0.334250000 0.244150000 0.393917000
1.80 3.454080000 -1.273640000 0.083746000 4.599880000 0.0000000000 0.563304000 -0.117803000 0.184126000 -0.749008000 0.011675900 0.029249000 -0.040924700 0.203238000 0.342873000 0.256308000 0.398582000
2.00 3.389010000 -1.282830000 0.086724000 4.952850000 0.0000000000 0.548353000 -0.129571000 0.171017000 -0.744073000 0.004992770 0.033587300 -0.038579800 0.205751000 0.347114000 0.261830000 0.403511000
2.60 3.066010000 -1.234270000 0.150146000 4.455110000 0.0000000000 0.541750000 -0.103699000 0.009302580 -0.744468000 0.006026810 0.030508100 -0.036534700 0.190711000 0.339373000 0.242015000 0.389288000
3.00 2.893910000 -1.164610000 0.162354000 4.623210000 0.0000000000 0.590765000 -0.085328600 0.034058400 -0.693999000 0.018621100 -0.018982400 0.000361328 0.183363000 0.326297000 0.228650000 0.374289000
""")
[docs]class BindiEtAl2014RhypEC8(BindiEtAl2014RjbEC8):
"""
Implements the Bindi et al (2014) GMPE for the case in which hypocentral
distance is preferred, style-of-faulting is specfied and site amplification
is characterised according to the Eurocode 8 site class
"""
#: Required distance measure is Rhypo
REQUIRES_DISTANCES = set(('rhypo', ))
def _get_mean(self, C, rup, dists, sites):
"""
Returns the mean value of ground motion
"""
return (self._get_magnitude_scaling_term(C, rup.mag) +
self._get_distance_scaling_term(C, dists.rhypo, rup.mag) +
self._get_style_of_faulting_term(C, rup) +
self._get_site_amplification_term(C, sites.vs30))
#: Coefficients from Table 3
COEFFS = CoeffsTable(sa_damping=5, table="""
imt e1 c1 c2 h c3 b1 b2 b3 eA eB eC eD sofN sofR sofS sofU tau phi phis2s sigma
pgv 3.292610000 -1.665480000 0.136478000 6.310130000 0.0000000000 0.436373000 -0.049720200 0.264336000 0.000000000 0.130319000 0.272298000 0.350870000 -0.090869900 0.013282500 -0.067381500 0.000000000 0.241933000 0.284305000 0.231138000 0.373311000
pga 4.366930000 -1.752120000 0.150507000 7.321920000 0.0000000000 0.144291000 -0.066081100 0.284211000 0.000000000 0.143778000 0.231064000 0.187402000 -0.071745100 0.084957800 -0.057096500 0.000000000 0.195249000 0.284622000 0.213455000 0.345155000
0.02 4.420440000 -1.777540000 0.147715000 7.064280000 0.0000000000 0.147874000 -0.066205600 0.297090000 0.000000000 0.141110000 0.225339000 0.187033000 -0.065306900 0.091731900 -0.056125500 0.000000000 0.197407000 0.287767000 0.216309000 0.348969000
0.04 4.549920000 -1.854600000 0.165968000 6.982270000 0.0000000000 0.124402000 -0.056602000 0.260601000 0.000000000 0.140350000 0.217010000 0.146507000 -0.065379200 0.088098100 -0.057670900 0.000000000 0.204345000 0.297881000 0.222929000 0.361234000
0.07 4.732850000 -1.878220000 0.157048000 8.133700000 0.0000000000 0.138028000 -0.040786500 0.276090000 0.000000000 0.145543000 0.206101000 0.115846000 -0.051289600 0.113143000 -0.037623000 0.000000000 0.208843000 0.304438000 0.242821000 0.369185000
0.10 4.675030000 -1.799170000 0.151808000 8.380980000 0.0005478660 0.098832300 -0.056937000 0.322027000 0.000000000 0.158622000 0.208849000 0.125428000 -0.037486800 0.120065000 -0.036904000 0.000000000 0.195390000 0.313320000 0.251339000 0.369252000
0.15 4.569650000 -1.614050000 0.105601000 7.496250000 0.0011834100 0.125747000 -0.083500900 0.464456000 0.000000000 0.162534000 0.197589000 0.158161000 -0.047089600 0.098045600 -0.050605600 0.000000000 0.193856000 0.310861000 0.247987000 0.366353000
0.20 4.450170000 -1.465010000 0.056754500 6.272220000 0.0014308100 0.236642000 -0.083463900 0.542025000 0.000000000 0.143446000 0.213637000 0.170195000 -0.021448300 0.139454000 -0.012459600 0.000000000 0.191231000 0.306652000 0.226544000 0.361392000
0.26 4.455930000 -1.443420000 0.032061300 5.480400000 0.0009816830 0.313239000 -0.089717600 0.555789000 0.000000000 0.133443000 0.244854000 0.202162000 -0.030488000 0.132769000 -0.015155100 0.000000000 0.192222000 0.308241000 0.214042000 0.363266000
0.30 4.471710000 -1.460160000 0.025927200 5.503160000 0.0005543760 0.332549000 -0.097217900 0.551296000 0.000000000 0.121637000 0.254554000 0.226009000 -0.042269100 0.119803000 -0.019226600 0.000000000 0.199096000 0.304125000 0.207111000 0.363499000
0.36 4.387990000 -1.418420000 0.022150300 4.769520000 0.0002687480 0.355357000 -0.106041000 0.543724000 0.000000000 0.118062000 0.268087000 0.258058000 -0.056669000 0.092863000 -0.034960300 0.000000000 0.199491000 0.304728000 0.201784000 0.364220000
0.40 4.376090000 -1.428430000 0.016902400 4.819740000 0.0000000000 0.368987000 -0.111955000 0.547881000 0.000000000 0.119481000 0.275041000 0.275672000 -0.053267600 0.091980000 -0.032188300 0.000000000 0.207716000 0.302796000 0.194828000 0.367194000
0.46 4.333720000 -1.425030000 0.025903300 5.109610000 0.0000000000 0.379142000 -0.115152000 0.511833000 0.000000000 0.117659000 0.291964000 0.321124000 -0.062509500 0.073772300 -0.039294000 0.000000000 0.216313000 0.301380000 0.197633000 0.370974000
0.50 4.293590000 -1.414650000 0.028367500 4.955190000 0.0000000000 0.389410000 -0.118151000 0.495459000 0.000000000 0.118871000 0.298870000 0.344584000 -0.064737900 0.069448700 -0.037414200 0.000000000 0.225415000 0.300553000 0.198934000 0.375691000
0.60 4.239150000 -1.406030000 0.026979900 4.635970000 0.0000000000 0.430341000 -0.119284000 0.475308000 0.000000000 0.117717000 0.314097000 0.412316000 -0.076075300 0.045870600 -0.054880500 0.000000000 0.234484000 0.299514000 0.208675000 0.380383000
0.70 4.196960000 -1.412970000 0.020875700 4.293770000 0.0000000000 0.470648000 -0.118095000 0.460014000 0.000000000 0.115734000 0.325887000 0.477053000 -0.074956400 0.028574500 -0.055644400 0.000000000 0.246498000 0.301897000 0.212696000 0.389747000
0.80 4.114530000 -1.404290000 0.038146400 4.010590000 0.0000000000 0.481962000 -0.116743000 0.393948000 0.000000000 0.110981000 0.334461000 0.517530000 -0.081627800 0.008428810 -0.063434400 0.000000000 0.249844000 0.305995000 0.224068000 0.395038000
0.90 4.032490000 -1.389770000 0.037093500 3.978120000 0.0000000000 0.504043000 -0.116645000 0.400442000 0.000000000 0.103765000 0.334934000 0.559004000 -0.064291400 0.019498400 -0.045615800 0.000000000 0.261433000 0.307220000 0.240384000 0.403399000
1.00 4.011400000 -1.395430000 0.034061400 4.096680000 0.0000000000 0.550001000 -0.110860000 0.386023000 0.000000000 0.103026000 0.336196000 0.566463000 -0.057167500 0.014892500 -0.051388400 0.000000000 0.274446000 0.309616000 0.244465000 0.413742000
1.30 3.684020000 -1.302310000 0.069534500 3.732900000 0.0000000000 0.544404000 -0.113618000 0.282169000 0.000000000 0.108865000 0.337519000 0.592894000 -0.034663900 0.029823500 -0.025078900 0.000000000 0.265310000 0.311777000 0.244067000 0.409383000
1.50 3.535870000 -1.273510000 0.082245800 4.074080000 0.0000000000 0.570581000 -0.103758000 0.249760000 0.000000000 0.119032000 0.333110000 0.626267000 -0.010667700 0.060266600 0.007385850 0.000000000 0.269363000 0.316539000 0.236824000 0.415637000
1.80 3.465880000 -1.361020000 0.137018000 6.097100000 0.0000000000 0.524014000 -0.101089000 0.046975200 0.000000000 0.123814000 0.323505000 0.600530000 -0.002974540 0.058459200 0.039470900 0.000000000 0.275390000 0.323622000 0.257636000 0.424936000
2.00 3.469100000 -1.381110000 0.137878000 6.539170000 0.0000000000 0.551312000 -0.098766100 0.000000000 0.000000000 0.115091000 0.320404000 0.586654000 -0.023796000 0.034963600 0.025270300 0.000000000 0.277179000 0.325724000 0.259839000 0.427696000
2.60 3.283840000 -1.389770000 0.188643000 7.040110000 0.0000000000 0.547984000 -0.084231400 0.000000000 0.000000000 0.124833000 0.306133000 0.548523000 -0.050663600 0.003435150 0.007395600 0.000000000 0.278908000 0.327756000 0.263531000 0.430364000
3.00 3.264700000 -1.399740000 0.216533000 8.339210000 0.0000000000 0.552993000 -0.071343600 0.000000000 0.000000000 0.143969000 0.315187000 0.559213000 -0.146666000 -0.128655000 -0.067567300 0.000000000 0.283885000 0.320266000 0.267078000 0.427973000
4.00 3.051920000 -1.333280000 0.203724000 8.409960000 0.0000000000 0.652840000 -0.054790600 0.000000000 0.000000000 0.124787000 0.285654000 0.532224000 -0.141040000 -0.153993000 -0.059989300 0.000000000 0.259933000 0.305458000 0.000000000 0.401086000
""")
[docs]class BindiEtAl2014RhypEC8NoSOF(BindiEtAl2014RhypEC8):
"""
Implements the Bindi et al. (2014) GMPE for the case in which
hypocentral distance is preferred, Eurocode 8 site amplification is used
and style-of-faulting is unspecfied.
"""
#: Required rupture parameters are magnitude
REQUIRES_RUPTURE_PARAMETERS = {'mag'}
def _get_mean(self, C, rup, dists, sites):
"""
Returns the mean value of ground motion - noting that in this case
the style-of-faulting term is neglected
"""
return (self._get_magnitude_scaling_term(C, rup.mag) +
self._get_distance_scaling_term(C, dists.rhypo, rup.mag) +
self._get_site_amplification_term(C, sites.vs30))