From 630fa407e4e242d754cd5b27d5d5bd855c9dd665 Mon Sep 17 00:00:00 2001 From: Peter Powers <pmpowers@usgs.gov> Date: Mon, 4 Nov 2024 13:39:03 -0700 Subject: [PATCH] fixed ba08 site amp in MA05 --- .../nshmp/gmm/MotazedianAtkinson_2005.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/MotazedianAtkinson_2005.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/MotazedianAtkinson_2005.java index 1024432d..6cb0affe 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/MotazedianAtkinson_2005.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/MotazedianAtkinson_2005.java @@ -242,14 +242,14 @@ public class MotazedianAtkinson_2005 implements GroundMotionModel { // Get μ from MA_05_BASE for current IMT (interpolate if necessary) double μ = GroundMotions.combine(super.calc(in)).mean(); - double μPga = calcMean(coeffsPGA, in.rRup, in.Mw); + double pgaRef = Math.exp(calcMean(coeffsPGA, in.rRup, in.Mw)); double site = siteAmp.isPresent() - ? siteAmp.get().siteAmp(μPga, in.vs30) - : calcInterpolatedSite(super.coeffs.imt, μPga, in.vs30); + ? siteAmp.get().siteAmp(pgaRef, in.vs30) + : calcInterpolatedSite(super.coeffs.imt, pgaRef, in.vs30); return GroundMotions.createTree(μ + site, SIGMA); } - private static double calcInterpolatedSite(Imt imt, double μPga, double vs30) { + private static double calcInterpolatedSite(Imt imt, double pgaRef, double vs30) { Range<Imt> imtRange = INTERPOLATED_SITE_IMTS.get(imt); Imt imtLo = imtRange.lowerEndpoint(); Imt imtHi = imtRange.upperEndpoint(); @@ -263,8 +263,8 @@ public class MotazedianAtkinson_2005 implements GroundMotionModel { double tTarget = imt.period(); BooreAtkinson_2008 ba08lo = (BooreAtkinson_2008) BA_08_BASE.instance(imtLo); BooreAtkinson_2008 ba08hi = (BooreAtkinson_2008) BA_08_BASE.instance(imtHi); - double siteLo = ba08lo.siteAmp(μPga, vs30); - double siteHi = ba08hi.siteAmp(μPga, vs30); + double siteLo = ba08lo.siteAmp(pgaRef, vs30); + double siteHi = ba08hi.siteAmp(pgaRef, vs30); return Interpolator.findY(tLo, siteLo, tHi, siteHi, tTarget); } } -- GitLab