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