From 1a196f23ed92419956e1329a8fb9e9065d439b44 Mon Sep 17 00:00:00 2001
From: Peter Powers <pmpowers@usgs.gov>
Date: Wed, 15 Jun 2022 21:17:18 -0600
Subject: [PATCH] ag20 seattle

---
 .../nshmp/gmm/AbrahamsonGulerce_2020.java     | 47 +++++++++++++++++++
 .../gov/usgs/earthquake/nshmp/gmm/Gmm.java    | 14 ++++++
 2 files changed, 61 insertions(+)

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 b2e632f0..b5b02506 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
@@ -171,6 +171,16 @@ public abstract class AbrahamsonGulerce_2020 implements GroundMotionModel {
   @Override
   public final LogicTree<GroundMotion> calc(GmmInput in) {
 
+    /*
+     * need flag from siteData; check gmmSiteModel array
+     *
+     * if siteData.gmmSiteModel.contains(SiteModel.M9)
+     *
+     * in siteData seattlePoly.contains and ad M9 to
+     *
+     * boolean m9amp = true;
+     */
+
     if (coeffs.imt == PGV) {
       GroundMotion pgv = UsgsPgvSupport.calcAB20Pgv(subtype, in);
       return GroundMotions.createTree(pgv.mean(), pgv.sigma());
@@ -524,6 +534,25 @@ public abstract class AbrahamsonGulerce_2020 implements GroundMotionModel {
     }
   }
 
+  static final class SeattleAdjustedInterfaceBasin extends CascadiaAdjustedInterface {
+    static final String NAME = CascadiaAdjustedInterface.NAME + " (Seattle basin)";
+
+    SeattleAdjustedInterfaceBasin(Imt imt) {
+      super(imt, Gmm.AG_20_SEATTLE_ADJ_INTERFACE_BASIN);
+    }
+
+    @Override
+    boolean basin() {
+      return true;
+    }
+
+    @Override
+    boolean seattle() {
+      return true;
+    }
+
+  }
+
   static final class CascadiaAdjustedSlabBasin extends CascadiaAdjustedSlab {
     static final String NAME = CascadiaAdjustedSlab.NAME + " (basin)";
 
@@ -550,6 +579,24 @@ public abstract class AbrahamsonGulerce_2020 implements GroundMotionModel {
     }
   }
 
+  static final class SeattleInterfaceBasin extends CascadiaInterface {
+    static final String NAME = CascadiaInterface.NAME + " (Seattle basin)";
+
+    SeattleInterfaceBasin(Imt imt) {
+      super(imt, Gmm.AG_20_SEATTLE_INTERFACE_BASIN);
+    }
+
+    @Override
+    boolean basin() {
+      return true;
+    }
+
+    @Override
+    boolean seattle() {
+      return true;
+    }
+  }
+
   static final class CascadiaSlabBasin extends CascadiaSlab {
     static final String NAME = CascadiaSlab.NAME + " (basin)";
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/Gmm.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/Gmm.java
index b0e95f8c..5c8382f1 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/Gmm.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/Gmm.java
@@ -372,6 +372,13 @@ public enum Gmm {
       AbrahamsonGulerce_2020.COEFFS,
       AbrahamsonGulerce_2020.CONSTRAINTS_INTERFACE),
 
+  /** @see AbrahamsonGulerce_2020 */
+  AG_20_SEATTLE_INTERFACE_BASIN(
+      AbrahamsonGulerce_2020.SeattleInterfaceBasin.class,
+      AbrahamsonGulerce_2020.SeattleInterfaceBasin.NAME,
+      AbrahamsonGulerce_2020.COEFFS,
+      AbrahamsonGulerce_2020.CONSTRAINTS_INTERFACE),
+
   /** @see AbrahamsonGulerce_2020 */
   AG_20_CASCADIA_SLAB_BASIN(
       AbrahamsonGulerce_2020.CascadiaSlabBasin.class,
@@ -386,6 +393,13 @@ public enum Gmm {
       AbrahamsonGulerce_2020.COEFFS,
       AbrahamsonGulerce_2020.CONSTRAINTS_INTERFACE),
 
+  /** @see AbrahamsonGulerce_2020 */
+  AG_20_SEATTLE_ADJ_INTERFACE_BASIN(
+      AbrahamsonGulerce_2020.SeattleAdjustedInterfaceBasin.class,
+      AbrahamsonGulerce_2020.SeattleAdjustedInterfaceBasin.NAME,
+      AbrahamsonGulerce_2020.COEFFS,
+      AbrahamsonGulerce_2020.CONSTRAINTS_INTERFACE),
+
   /** @see AbrahamsonGulerce_2020 */
   AG_20_CASCADIA_ADJ_SLAB_BASIN(
       AbrahamsonGulerce_2020.CascadiaAdjustedSlabBasin.class,
-- 
GitLab