From f7f0e4dae5c685272638029bbe1bc5de9b9e1df1 Mon Sep 17 00:00:00 2001
From: Peter Powers <pmpowers@usgs.gov>
Date: Wed, 15 Jun 2022 22:24:06 -0600
Subject: [PATCH] added seattle interface M9 condition

---
 .../usgs/earthquake/nshmp/gmm/AbrahamsonGulerce_2020.java    | 2 +-
 .../java/gov/usgs/earthquake/nshmp/gmm/KuehnEtAl_2020.java   | 2 +-
 .../java/gov/usgs/earthquake/nshmp/gmm/ParkerEtAl_2020.java  | 5 +++--
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/AbrahamsonGulerce_2020.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/AbrahamsonGulerce_2020.java
index b5b02506..0a16d036 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/AbrahamsonGulerce_2020.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/AbrahamsonGulerce_2020.java
@@ -266,7 +266,7 @@ public abstract class AbrahamsonGulerce_2020 implements GroundMotionModel {
       double lnzPrime = calcLnzPrime(z2p5m, exp(lnZ2p5ref));
       if (lnzPrime > 0) {
         fBasin = c.a39 * lnzPrime;
-        if (seattle && z2p5 > 6.0 & c.imt.period() > 1.9) {
+        if (!slab && seattle && z2p5 > 6.0 & c.imt.period() > 1.9) {
           double lnzPrimeAdj = calcLnzPrime(z2p5m, Z2P5_REF_AG);
           double m9adj = log(2.0) - c.a39 * lnzPrimeAdj;
           fBasin += m9adj;
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/KuehnEtAl_2020.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/KuehnEtAl_2020.java
index 7db6a4f9..8577328b 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/KuehnEtAl_2020.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/KuehnEtAl_2020.java
@@ -369,7 +369,7 @@ public abstract class KuehnEtAl_2020 implements GroundMotionModel {
 
     double z2p5m = z2p5 * 1000.0;
     double δlnZ = log(z2p5m) - basinZref(vs30);
-    double fb = 0.0; // Seattle cap
+    double fb = 0.0;
     if (seattle) {
       fb = c.θ11S;
       if (!slab && z2p5 > 6.0 & c.imt.period() > 1.9) {
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/ParkerEtAl_2020.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/ParkerEtAl_2020.java
index b10e9fd9..c521baea 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/ParkerEtAl_2020.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/ParkerEtAl_2020.java
@@ -304,7 +304,7 @@ public abstract class ParkerEtAl_2020 implements GroundMotionModel {
     /* Equation 7 */
     double Fslin = siteTermLinear(c, vs30);
     double Fsnl = siteTermNonLinear(c, pgaRef, vs30);
-    double Fsb = basin ? siteBasinTerm(c, vs30, z2p5, seattle) : 0.0;
+    double Fsb = basin ? siteBasinTerm(c, vs30, z2p5, slab, seattle) : 0.0;
     double Fs = Fslin + Fsnl + Fsb;
 
     return c.c0 + Fp + Fm + Fd + Fs;
@@ -378,6 +378,7 @@ public abstract class ParkerEtAl_2020 implements GroundMotionModel {
       Coefficients c,
       double vs30,
       double z2p5,
+      boolean slab,
       boolean seattle) {
 
     if (Double.isNaN(z2p5)) {
@@ -398,7 +399,7 @@ public abstract class ParkerEtAl_2020 implements GroundMotionModel {
 
     double Fb = calcFb(c, δz2p5);
 
-    if (seattle && z2p5 > 6.0 & c.imt.period() > 1.9) {
+    if (!slab && seattle && z2p5 > 6.0 & c.imt.period() > 1.9) {
       double δz2p5adj = log(z2p5m) - LN_Z2P5_REF_PARKER;
       double m9adj = log(2.0) - calcFb(c, δz2p5adj);
       Fb += m9adj;
-- 
GitLab