From e3203b13270e9383aaee69495b700d5d00df69d9 Mon Sep 17 00:00:00 2001
From: Peter Powers <pmpowers@usgs.gov>
Date: Mon, 9 Dec 2024 13:31:48 -0700
Subject: [PATCH] ngaw2 prvi subclasses

---
 .../nshmp/gmm/AbrahamsonEtAl_2014.java           | 14 ++++++++++++--
 .../earthquake/nshmp/gmm/BooreEtAl_2014.java     | 16 +++++++++++++---
 .../nshmp/gmm/CampbellBozorgnia_2014.java        | 16 +++++++++++++---
 .../earthquake/nshmp/gmm/ChiouYoungs_2014.java   | 14 ++++++++++++--
 4 files changed, 50 insertions(+), 10 deletions(-)

diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/AbrahamsonEtAl_2014.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/AbrahamsonEtAl_2014.java
index 3d159789..bab0c00b 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/AbrahamsonEtAl_2014.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/AbrahamsonEtAl_2014.java
@@ -115,7 +115,7 @@ public class AbrahamsonEtAl_2014 implements GroundMotionModel {
     // Japan model
     // final double a25, a28, a29, a31, a36, a37, a38, a39, a40, a41, a42;
 
-    Coefficients(Imt imt) {
+    Coefficients(Imt imt, boolean prvi) {
 
       this.imt = imt;
       Map<String, Double> coeffs = COEFFS.get(imt);
@@ -153,7 +153,11 @@ public class AbrahamsonEtAl_2014 implements GroundMotionModel {
   private final Coefficients coeffs;
 
   AbrahamsonEtAl_2014(Imt imt) {
-    coeffs = new Coefficients(imt);
+    this(imt, false);
+  }
+
+  AbrahamsonEtAl_2014(Imt imt, boolean prvi) {
+    coeffs = new Coefficients(imt, prvi);
   }
 
   @Override
@@ -458,4 +462,10 @@ public class AbrahamsonEtAl_2014 implements GroundMotionModel {
     }
   }
 
+  static final class Prvi extends AbrahamsonEtAl_2014 {
+    Prvi(Imt imt) {
+      super(imt, true);
+    }
+  }
+
 }
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/BooreEtAl_2014.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/BooreEtAl_2014.java
index 8a656896..a5d695a6 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/BooreEtAl_2014.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/BooreEtAl_2014.java
@@ -95,7 +95,7 @@ public class BooreEtAl_2014 implements GroundMotionModel {
     // unused regional coeffs
     // double Dc3CnTr, Dc3ItJp;
 
-    Coefficients(Imt imt) {
+    Coefficients(Imt imt, boolean prvi) {
 
       this.imt = imt;
       Map<String, Double> coeffs = COEFFS.get(imt);
@@ -136,8 +136,12 @@ public class BooreEtAl_2014 implements GroundMotionModel {
   private final Coefficients coeffsPGA;
 
   BooreEtAl_2014(Imt imt) {
-    coeffs = new Coefficients(imt);
-    coeffsPGA = new Coefficients(PGA);
+    this(imt, false);
+  }
+
+  BooreEtAl_2014(Imt imt, boolean prvi) {
+    coeffs = new Coefficients(imt, prvi);
+    coeffsPGA = new Coefficients(PGA, prvi);
   }
 
   @Override
@@ -342,4 +346,10 @@ public class BooreEtAl_2014 implements GroundMotionModel {
     }
   }
 
+  static final class Prvi extends BooreEtAl_2014 {
+    Prvi(Imt imt) {
+      super(imt, true);
+    }
+  }
+
 }
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/CampbellBozorgnia_2014.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/CampbellBozorgnia_2014.java
index c927084a..f4390511 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/CampbellBozorgnia_2014.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/CampbellBozorgnia_2014.java
@@ -114,7 +114,7 @@ public class CampbellBozorgnia_2014 implements GroundMotionModel {
     // unused regional and other coeffs
     // double c15, Dc20_CA, Dc20_JP, Dc20_CH, phiC;
 
-    Coefficients(Imt imt) {
+    Coefficients(Imt imt, boolean prvi) {
 
       this.imt = imt;
       Map<String, Double> coeffs = COEFFS.get(imt);
@@ -158,8 +158,12 @@ public class CampbellBozorgnia_2014 implements GroundMotionModel {
   private final Coefficients coeffsPGA;
 
   CampbellBozorgnia_2014(Imt imt) {
-    coeffs = new Coefficients(imt);
-    coeffsPGA = new Coefficients(PGA);
+    this(imt, false);
+  }
+
+  CampbellBozorgnia_2014(Imt imt, boolean prvi) {
+    coeffs = new Coefficients(imt, prvi);
+    coeffsPGA = new Coefficients(PGA, prvi);
   }
 
   @Override
@@ -493,4 +497,10 @@ public class CampbellBozorgnia_2014 implements GroundMotionModel {
     }
   }
 
+  static final class Prvi extends CampbellBozorgnia_2014 {
+    Prvi(Imt imt) {
+      super(imt, true);
+    }
+  }
+
 }
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/ChiouYoungs_2014.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/ChiouYoungs_2014.java
index e4751a83..49979383 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/ChiouYoungs_2014.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/ChiouYoungs_2014.java
@@ -112,7 +112,7 @@ public class ChiouYoungs_2014 implements GroundMotionModel {
     // double c8, c8a, c8b, sigma2_JP, gamma_JP_IT, gamma_WN, phi1_JP,
     // phi5_JP, phi6_JP;
 
-    Coefficients(Imt imt) {
+    Coefficients(Imt imt, boolean prvi) {
 
       this.imt = imt;
       Map<String, Double> coeffs = COEFFS.get(imt);
@@ -155,7 +155,11 @@ public class ChiouYoungs_2014 implements GroundMotionModel {
   private final Coefficients coeffs;
 
   ChiouYoungs_2014(Imt imt) {
-    coeffs = new Coefficients(imt);
+    this(imt, false);
+  }
+
+  ChiouYoungs_2014(Imt imt, boolean prvi) {
+    coeffs = new Coefficients(imt, prvi);
   }
 
   @Override
@@ -389,4 +393,10 @@ public class ChiouYoungs_2014 implements GroundMotionModel {
     }
   }
 
+  static final class Prvi extends ChiouYoungs_2014 {
+    Prvi(Imt imt) {
+      super(imt, true);
+    }
+  }
+
 }
-- 
GitLab