Source code for openquake.hazardlib.gsim.example_a_2021
# -*- coding: utf-8 -*-# vim: tabstop=4 shiftwidth=4 softtabstop=4## Copyright (C) 2012-2023 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/>.importnumpyasnpfromopenquake.baselib.performanceimportjittablefromopenquake.hazardlib.gsim.baseimportCoeffsTable,GMPEfromopenquake.hazardlibimportconstfromopenquake.hazardlib.imtimportPGA,SA@jittabledef_compute_term1(C,mag):mag_diff=mag-6returnC['c2']*mag_diff+C['c3']*mag_diff**2@jittabledef_compute_term2(C,mag,rjb):RM=np.sqrt(rjb**2+(C['c7']**2)*np.exp(-1.25+0.227*mag)**2)res=(-C['c4']*np.log(RM)-(C['c5']-C['c4'])*np.maximum(np.log(RM/100),0)-C['c6']*RM)returnres