Source code for openquake.hazardlib.gsim.nz22.nz_nshm2022_abrahamson_gulerce_2020
"""New Zealand National Seismic Hazard Model 2022 Revision modification of Abrahamson and Gulerce 2020 GMMs.Backarc term added.Bradley, B. A., S. Bora, R. L. Lee, E. F. Manea, M. C. Gerstenberger, P.J. Stafford, G. M. Atkinson, G. Weatherill, J. Hutchinson, C. A. dela Torre, et al. (2022). Summary of the ground-motion character-isation model for the 2022 New Zealand National Seismic HazardModel, GNS Science Rept. 2022/46, GNS Science, Lower Hutt, NewZealand, 44 pp.Bradley, B., S. Bora, R. Lee, E. Manea, M. Gerstenberger, P. Stafford, G.Atkinson, G. Weatherill, J. Hutchinson, C. de la Torre, et al.(2023). Summary of the ground-motion characterisation modelfor the 2022 New Zealand National Seismic Hazard Model,Bull. Seismol. Soc. Am.Lee, R.L., B.A. Bradley, E.F. Manea, J.A. Hutchinson, S.S.Bora (2022). Evaluation of Empirical Ground-Motion Models for the 2022 NewZealand National Seismic Hazard Model Revision, Bull. Seismol. Soc. Am.Module exports :class:`NZNSHM2022_AbrahamsonGulerce2020SInter` :class:`class NZNSHM2022_AbrahamsonGulerce2020SSlab`"""importnumpyasnpfromscipy.interpolateimportinterp1dfromopenquake.hazardlibimportconstfromopenquake.hazardlib.imtimportPGAfromopenquake.hazardlib.gsim.baseimportadd_aliasfromopenquake.hazardlib.gsim.abrahamson_gulerce_2020import(AbrahamsonGulerce2020SInter,get_acceleration_on_reference_rock,get_epistemic_adjustment,get_mean_acceleration,get_tau_phi,SUPPORTED_REGIONS,)fromopenquake.hazardlib.gsim.nz22.constimportperiods,theta7s,theta8s
[docs]defget_backarc_term(trt,imt,ctx):""" The backarc correction factors to be applied with the ground motion prediction. In the NZ context, it is applied to only subduction intraslab events. It is essentially the correction factor taken from BC Hydro 2016. Abrahamson et al. (2016) Earthquake Spectra. The correction is applied only for backarc sites as function of distance. """period=imt.periodw_epi_factor=1.008theta7_itp=interp1d(np.log(periods[1:]),theta7s[1:])theta8_itp=interp1d(np.log(periods[1:]),theta8s[1:])# Note that there is no correction for PGV. Hence, I make theta7# and theta8 as 0 for periods < 0.ifperiod<0:theta7=0.0theta8=0.0elifperiod>=0andperiod<0.02:theta7=1.0988theta8=-1.42else:theta7=theta7_itp(np.log(period))theta8=theta8_itp(np.log(period))dists=ctx.rrupiftrt==const.TRT.SUBDUCTION_INTRASLAB:min_dist=85.0backarc=np.bool_(ctx.backarc)f_faba=np.zeros_like(dists)fixed_dists=dists[backarc]fixed_dists[fixed_dists<min_dist]=min_distf_faba[backarc]=theta7+theta8*np.log(fixed_dists/40.0)returnf_faba*w_epi_factorelse:f_faba=np.zeros_like(dists)returnf_faba
[docs]defcompute(self,ctx:np.recarray,imts,mean,sig,tau,phi):""" See :meth:`superclass method <.base.GroundShakingIntensityModel.compute>` for spec of input and result values. """trt=self.DEFINED_FOR_TECTONIC_REGION_TYPEC_PGA=self.COEFFS[PGA()]pga1000=get_acceleration_on_reference_rock_ba(C_PGA,trt,self.region,ctx,self.apply_usa_adjustment)pga1000=np.exp(pga1000)form,imtinenumerate(imts):C=self.COEFFS[imt]mean[m]=get_mean_acceleration_ba(C,trt,self.region,ctx,pga1000,self.apply_usa_adjustment,imt,)ifself.sigma_mu_epsilon:# Apply an epistmic adjustment factormean[m]+=self.sigma_mu_epsilon*get_epistemic_adjustment(C,ctx.rrup)# Get the standard deviationstau_m,phi_m=get_tau_phi(C,C_PGA,self.region,imt.period,ctx.rrup,ctx.vs30,pga1000,self.ergodic,)tau[m]=tau_mphi[m]=phi_msig+=np.sqrt(tau**2.0+phi**2.0)
[docs]classNZNSHM2022_AbrahamsonGulerce2020SSlab(NZNSHM2022_AbrahamsonGulerce2020SInter):REQUIRES_RUPTURE_PARAMETERS={"mag","ztor"}REQUIRES_SITES_PARAMETERS={"vs30","backarc"}#: Supported tectonic region type is subduction inslabDEFINED_FOR_TECTONIC_REGION_TYPE=const.TRT.SUBDUCTION_INTRASLAB