def test_get_distances(self): mag = 6.5 repi = 15. focal_depth = 10. comp_rrup, comp_rjb = get_equivalent_distances_west(mag, repi, focal_depth) expected_rrup = 7.5506 self.assertAlmostEqual(comp_rrup, expected_rrup, places=2) expected_rjb = 8.60615 self.assertAlmostEqual(comp_rjb, expected_rjb, places=2)
def test_get_distances(self): mag = 6.5 repi = 15. focal_depth = 10. comp_rrup, comp_rjb = get_equivalent_distances_west( mag, repi, focal_depth) expected_rrup = 7.5506 self.assertAlmostEqual(comp_rrup, expected_rrup, places=2) expected_rjb = 8.60615 self.assertAlmostEqual(comp_rjb, expected_rjb, places=2)
def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types): """ """ # distances distsl = copy.copy(dists) distsl.rjb, distsl.rrup = \ get_equivalent_distances_west(rup.mag, dists.repi) # get original values mean, stddevs = super().get_mean_and_stddevs(sites, rup, distsl, imt, stddev_types) stds = [np.ones(len(distsl.rjb))*get_sigma(imt)] return mean, stds
def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types): """ """ rupl = copy.deepcopy(rup) rupl.mag -= 0.5 # distances distsl = copy.copy(dists) distsl.rjb, distsl.rrup = \ get_equivalent_distances_west(rup.mag, dists.repi) mean, stddevs = super().get_mean_and_stddevs(sites, rupl, distsl, imt, stddev_types) stddevs = [np.ones(len(dists.repi)) * get_sigma(imt)] return mean, stddevs
def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types): """ """ rupl = copy.deepcopy(rup) rupl.mag -= 0.5 # distances distsl = copy.copy(dists) distsl.rjb, distsl.rrup = \ get_equivalent_distances_west(rup.mag, dists.repi) mean, stddevs = super().get_mean_and_stddevs(sites, rupl, distsl, imt, stddev_types) stddevs = [np.ones(len(dists.repi))*get_sigma(imt)] return mean, stddevs
def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types): # distances distsl = copy.copy(dists) distsl.rjb, distsl.rrup = \ get_equivalent_distances_west(rup.mag, dists.repi) # get original values mean, _ = super().get_mean_and_stddevs(sites, rup, distsl, imt, stddev_types) # adjust mean values using the reccomended delta (see Atkinson and # Adams, 2013) tmp = 0.1+0.0007*distsl.rjb tmp = np.vstack((tmp, np.ones_like(tmp)*0.3)) delta = np.log(10.**(np.amin(tmp, axis=0))) mean_adj = mean - delta stddevs = [np.ones(len(distsl.rjb))*get_sigma(imt)] return mean_adj, stddevs
def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types): """ """ rupl = copy.deepcopy(rup) rupl.mag -= 0.5 # distances distsl = copy.copy(dists) distsl.rjb, distsl.rrup = \ get_equivalent_distances_west(rup.mag, dists.repi) mean, stddevs = super().get_mean_and_stddevs(sites, rupl, distsl, imt, stddev_types) # Adjust mean values using the reccomended delta (see Atkinson and # Adams, 2013) tmp = 0.1+0.0007*distsl.rjb tmp = np.vstack((tmp, np.ones_like(tmp)*0.3)) delta = np.log(10.**(np.amin(tmp, axis=0))) mean_adj = mean + delta stddevs = [np.ones(len(dists.repi))*get_sigma(imt)] return mean_adj, stddevs
def compute(self, ctx, imts, mean, sig, tau, phi): # first fix the magnitude for the Oceanic subclass if self.delta_mag: ctx = copy.copy(ctx) ctx.mag += self.delta_mag # then possibly convert distances from repi to rjb if self.REQUIRES_DISTANCES == {'repi'}: ctx = copy.copy(ctx) ctx.rjb, ctx.rrup = get_equivalent_distances_west( ctx.mag, ctx.repi) # set original values super().compute(ctx, imts, mean, sig, tau, phi) for m, imt in enumerate(imts): if self.sgn: # adjust mean values using the reccomended delta # (see Atkinson and Adams, 2013) tmp = 0.1 + 0.0007 * ctx.rjb tmp = np.vstack((tmp, np.full_like(tmp, 0.3))) delta = np.log(10.**np.amin(tmp, axis=0)) mean[m] += self.sgn * delta sig[m] = get_sigma(imt)