From a14fa08790e50ef0c6c46162492dfa1feef94fe3 Mon Sep 17 00:00:00 2001
From: Peter Powers <pmpowers@usgs.gov>
Date: Mon, 23 Oct 2017 10:17:22 -0600
Subject: [PATCH] refactored Z16.ZhaoSiteClass to Z16.SiteClass; exposed

---
 .../earthquake/nshmp/gmm/ZhaoEtAl_2016.java   | 162 +++++++++---------
 1 file changed, 81 insertions(+), 81 deletions(-)

diff --git a/src/gov/usgs/earthquake/nshmp/gmm/ZhaoEtAl_2016.java b/src/gov/usgs/earthquake/nshmp/gmm/ZhaoEtAl_2016.java
index cd9148379..b810f4ef7 100644
--- a/src/gov/usgs/earthquake/nshmp/gmm/ZhaoEtAl_2016.java
+++ b/src/gov/usgs/earthquake/nshmp/gmm/ZhaoEtAl_2016.java
@@ -129,12 +129,12 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
    * and model. The interface model has depth dependent values; zTop is ignored
    * by other implementations.
    */
-  abstract double elasticSiteAmpRatio(ZhaoSiteClass siteClass, double zTop);
+  abstract double elasticSiteAmpRatio(SiteClass siteClass, double zTop);
 
   /*
    * Model and site-class dependent nonlinear soil site smoothing factor.
    */
-  abstract double smoothingFactor(ZhaoSiteClass siteClass);
+  abstract double smoothingFactor(SiteClass siteClass);
 
   abstract double sigma();
 
@@ -148,13 +148,13 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
   }
 
   private double siteTerm(GmmInput in, double saRock) {
-    Range<ZhaoSiteClass> siteRange = siteRange(in.vs30);
+    Range<SiteClass> siteRange = siteRange(in.vs30);
     /*
      * Reverse range values here because lower site classes correspond to higher
      * Vs30 values.
      */
-    ZhaoSiteClass lower = siteRange.upperEndpoint();
-    ZhaoSiteClass upper = siteRange.lowerEndpoint();
+    SiteClass lower = siteRange.upperEndpoint();
+    SiteClass upper = siteRange.lowerEndpoint();
     if (lower == upper) {
       return siteTerm(lower, in.zTop, saRock);
     }
@@ -166,7 +166,7 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
         in.vs30);
   }
 
-  private double siteTerm(ZhaoSiteClass siteClass, double zTop, double saRock) {
+  private double siteTerm(SiteClass siteClass, double zTop, double saRock) {
     double aNmax = elasticSiteAmpRatio(siteClass, zTop);
     double aMax = siteAmp.aMax.get(siteClass);
     double sRC = siteAmp.sRc.get(siteClass);
@@ -189,7 +189,7 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
 
       /* Site amplification */
       final double AmSCI, s2, s3, s4;
-      final Map<ZhaoSiteClass, Double> fsr;
+      final Map<SiteClass, Double> fsr;
 
       /* Unused or constant: FumRV, FumNS, gum, eum, evcr, sigma, tau */
 
@@ -215,24 +215,24 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
         s4 = coeffs.get("S4");
 
         fsr = Maps.immutableEnumMap(ImmutableMap.of(
-            ZhaoSiteClass.I, coeffs.get("FsrCrI"),
-            ZhaoSiteClass.II, coeffs.get("FsrCrII"),
-            ZhaoSiteClass.III, coeffs.get("FsrCrIII"),
-            ZhaoSiteClass.IV, coeffs.get("FsrCrIV")));
+            SiteClass.I, coeffs.get("FsrCrI"),
+            SiteClass.II, coeffs.get("FsrCrII"),
+            SiteClass.III, coeffs.get("FsrCrIII"),
+            SiteClass.IV, coeffs.get("FsrCrIV")));
       }
     }
 
     private final Coefficients c;
-    private final Map<ZhaoSiteClass, Double> aNmax;
+    private final Map<SiteClass, Double> aNmax;
 
     ShallowCrust(Imt imt) {
       super(imt);
       c = new Coefficients(imt, COEFFS_CRUST);
       aNmax = Maps.immutableEnumMap(ImmutableMap.of(
-          ZhaoSiteClass.I, c.AmSCI,
-          ZhaoSiteClass.II, c.AmSCI * exp(c.s2),
-          ZhaoSiteClass.III, c.AmSCI * exp(c.s3),
-          ZhaoSiteClass.IV, c.AmSCI * exp(c.s4)));
+          SiteClass.I, c.AmSCI,
+          SiteClass.II, c.AmSCI * exp(c.s2),
+          SiteClass.III, c.AmSCI * exp(c.s3),
+          SiteClass.IV, c.AmSCI * exp(c.s4)));
     }
 
     @Override
@@ -261,12 +261,12 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
     }
 
     @Override
-    final double elasticSiteAmpRatio(final ZhaoSiteClass siteClass, double zTop) {
+    final double elasticSiteAmpRatio(final SiteClass siteClass, double zTop) {
       return aNmax.get(siteClass);
     }
 
     @Override
-    double smoothingFactor(ZhaoSiteClass siteClass) {
+    double smoothingFactor(SiteClass siteClass) {
       return c.fsr.get(siteClass);
     }
 
@@ -290,7 +290,7 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
 
       /* Site amplification */
       final double AmSCI, s2, s3, s4;
-      final Map<ZhaoSiteClass, Double> fsr;
+      final Map<SiteClass, Double> fsr;
 
       /* Unused or constant: FcrN, bcr, gcr, ecr, evcr, sigma, tau */
 
@@ -316,24 +316,24 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
         s4 = coeffs.get("S4");
 
         fsr = Maps.immutableEnumMap(ImmutableMap.of(
-            ZhaoSiteClass.I, coeffs.get("FsrUmI"),
-            ZhaoSiteClass.II, coeffs.get("FsrUmII"),
-            ZhaoSiteClass.III, coeffs.get("FsrUmIII"),
-            ZhaoSiteClass.IV, coeffs.get("FsrUmIV")));
+            SiteClass.I, coeffs.get("FsrUmI"),
+            SiteClass.II, coeffs.get("FsrUmII"),
+            SiteClass.III, coeffs.get("FsrUmIII"),
+            SiteClass.IV, coeffs.get("FsrUmIV")));
       }
     }
 
     private final Coefficients c;
-    private final Map<ZhaoSiteClass, Double> aNmax;
+    private final Map<SiteClass, Double> aNmax;
 
     UpperMantle(Imt imt) {
       super(imt);
       c = new Coefficients(imt, COEFFS_CRUST);
       aNmax = Maps.immutableEnumMap(ImmutableMap.of(
-          ZhaoSiteClass.I, c.AmSCI,
-          ZhaoSiteClass.II, c.AmSCI * exp(c.s2),
-          ZhaoSiteClass.III, c.AmSCI * exp(c.s3),
-          ZhaoSiteClass.IV, c.AmSCI * exp(c.s4)));
+          SiteClass.I, c.AmSCI,
+          SiteClass.II, c.AmSCI * exp(c.s2),
+          SiteClass.III, c.AmSCI * exp(c.s3),
+          SiteClass.IV, c.AmSCI * exp(c.s4)));
     }
 
     @Override
@@ -362,12 +362,12 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
     }
 
     @Override
-    final double elasticSiteAmpRatio(final ZhaoSiteClass siteClass, double zTop) {
+    final double elasticSiteAmpRatio(final SiteClass siteClass, double zTop) {
       return aNmax.get(siteClass);
     }
 
     @Override
-    double smoothingFactor(ZhaoSiteClass siteClass) {
+    double smoothingFactor(SiteClass siteClass) {
       return c.fsr.get(siteClass);
     }
 
@@ -395,7 +395,7 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
 
       /* Site amplification */
       final double AmSCI, s2, s3, s4, s5, s6, s7;
-      final Map<ZhaoSiteClass, Double> fsr;
+      final Map<SiteClass, Double> fsr;
 
       /* Unused or constant: c2, eV, sigma, tau */
 
@@ -424,30 +424,30 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
         s7 = coeffs.get("S7");
 
         fsr = Maps.immutableEnumMap(ImmutableMap.of(
-            ZhaoSiteClass.I, coeffs.get("FsrI"),
-            ZhaoSiteClass.II, coeffs.get("FsrII"),
-            ZhaoSiteClass.III, coeffs.get("FsrIII"),
-            ZhaoSiteClass.IV, coeffs.get("FsrIV")));
+            SiteClass.I, coeffs.get("FsrI"),
+            SiteClass.II, coeffs.get("FsrII"),
+            SiteClass.III, coeffs.get("FsrIII"),
+            SiteClass.IV, coeffs.get("FsrIV")));
       }
     }
 
     private final Coefficients c;
-    private final Map<ZhaoSiteClass, Double> aNmax_shallow;
-    private final Map<ZhaoSiteClass, Double> aNmax_deep;
+    private final Map<SiteClass, Double> aNmax_shallow;
+    private final Map<SiteClass, Double> aNmax_deep;
 
     Interface(Imt imt) {
       super(imt);
       c = new Coefficients(imt, COEFFS_INTER);
       aNmax_shallow = Maps.immutableEnumMap(ImmutableMap.of(
-          ZhaoSiteClass.I, c.AmSCI,
-          ZhaoSiteClass.II, c.AmSCI * exp(c.s2),
-          ZhaoSiteClass.III, c.AmSCI * exp(c.s3),
-          ZhaoSiteClass.IV, c.AmSCI * exp(c.s4)));
+          SiteClass.I, c.AmSCI,
+          SiteClass.II, c.AmSCI * exp(c.s2),
+          SiteClass.III, c.AmSCI * exp(c.s3),
+          SiteClass.IV, c.AmSCI * exp(c.s4)));
       aNmax_deep = Maps.immutableEnumMap(ImmutableMap.of(
-          ZhaoSiteClass.I, c.AmSCI,
-          ZhaoSiteClass.II, c.AmSCI * exp(c.s5),
-          ZhaoSiteClass.III, c.AmSCI * exp(c.s6),
-          ZhaoSiteClass.IV, c.AmSCI * exp(c.s7)));
+          SiteClass.I, c.AmSCI,
+          SiteClass.II, c.AmSCI * exp(c.s5),
+          SiteClass.III, c.AmSCI * exp(c.s6),
+          SiteClass.IV, c.AmSCI * exp(c.s7)));
     }
 
     @Override
@@ -475,12 +475,12 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
     }
 
     @Override
-    final double elasticSiteAmpRatio(final ZhaoSiteClass siteClass, double zTop) {
+    final double elasticSiteAmpRatio(final SiteClass siteClass, double zTop) {
       return (zTop > 25.0 ? aNmax_deep : aNmax_shallow).get(siteClass);
     }
 
     @Override
-    double smoothingFactor(ZhaoSiteClass siteClass) {
+    double smoothingFactor(SiteClass siteClass) {
       return c.fsr.get(siteClass);
     }
 
@@ -509,7 +509,7 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
 
       /* Site amplification */
       final double AmSCI, s2, s3, s4;
-      final Map<ZhaoSiteClass, Double> fsr;
+      final Map<SiteClass, Double> fsr;
 
       /* Unused or constant: c2, eV, sigma, tau */
 
@@ -534,24 +534,24 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
         s4 = coeffs.get("S4");
 
         fsr = Maps.immutableEnumMap(ImmutableMap.of(
-            ZhaoSiteClass.I, coeffs.get("FsrI"),
-            ZhaoSiteClass.II, coeffs.get("FsrII"),
-            ZhaoSiteClass.III, coeffs.get("FsrIII"),
-            ZhaoSiteClass.IV, coeffs.get("FsrIV")));
+            SiteClass.I, coeffs.get("FsrI"),
+            SiteClass.II, coeffs.get("FsrII"),
+            SiteClass.III, coeffs.get("FsrIII"),
+            SiteClass.IV, coeffs.get("FsrIV")));
       }
     }
 
     private final Coefficients c;
-    private final Map<ZhaoSiteClass, Double> aNmax;
+    private final Map<SiteClass, Double> aNmax;
 
     Slab(Imt imt) {
       super(imt);
       c = new Coefficients(imt, COEFFS_SLAB);
       aNmax = Maps.immutableEnumMap(ImmutableMap.of(
-          ZhaoSiteClass.I, c.AmSCI,
-          ZhaoSiteClass.II, c.AmSCI * exp(c.s2),
-          ZhaoSiteClass.III, c.AmSCI * exp(c.s3),
-          ZhaoSiteClass.IV, c.AmSCI * exp(c.s4)));
+          SiteClass.I, c.AmSCI,
+          SiteClass.II, c.AmSCI * exp(c.s2),
+          SiteClass.III, c.AmSCI * exp(c.s3),
+          SiteClass.IV, c.AmSCI * exp(c.s4)));
     }
 
     @Override
@@ -583,12 +583,12 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
     }
 
     @Override
-    final double elasticSiteAmpRatio(final ZhaoSiteClass siteClass, double zTop) {
+    final double elasticSiteAmpRatio(final SiteClass siteClass, double zTop) {
       return aNmax.get(siteClass);
     }
 
     @Override
-    double smoothingFactor(ZhaoSiteClass siteClass) {
+    double smoothingFactor(SiteClass siteClass) {
       return c.fsr.get(siteClass);
     }
 
@@ -600,23 +600,23 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
 
   static class SiteAmp {
 
-    final Map<ZhaoSiteClass, Double> aMax;
-    final Map<ZhaoSiteClass, Double> sRc;
+    final Map<SiteClass, Double> aMax;
+    final Map<SiteClass, Double> sRc;
 
     SiteAmp(Imt imt, CoefficientContainer cc) {
       Map<String, Double> coeffs = cc.get(imt);
 
       aMax = Maps.immutableEnumMap(ImmutableMap.of(
-          ZhaoSiteClass.I, coeffs.get("AmaxI"),
-          ZhaoSiteClass.II, coeffs.get("AmaxII"),
-          ZhaoSiteClass.III, coeffs.get("AmaxIII"),
-          ZhaoSiteClass.IV, coeffs.get("AmaxIV")));
+          SiteClass.I, coeffs.get("AmaxI"),
+          SiteClass.II, coeffs.get("AmaxII"),
+          SiteClass.III, coeffs.get("AmaxIII"),
+          SiteClass.IV, coeffs.get("AmaxIV")));
 
       sRc = Maps.immutableEnumMap(ImmutableMap.of(
-          ZhaoSiteClass.I, coeffs.get("SrcI"),
-          ZhaoSiteClass.II, coeffs.get("SrcII"),
-          ZhaoSiteClass.III, coeffs.get("SrcIII"),
-          ZhaoSiteClass.IV, coeffs.get("SrcIV")));
+          SiteClass.I, coeffs.get("SrcI"),
+          SiteClass.II, coeffs.get("SrcII"),
+          SiteClass.III, coeffs.get("SrcIII"),
+          SiteClass.IV, coeffs.get("SrcIV")));
     }
   }
 
@@ -672,21 +672,21 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
     return (t < β) ? 0.0 : sqrt(t - β);
   }
 
-  private static Range<ZhaoSiteClass> siteRange(double vs30) {
-    if (vs30 >= ZhaoSiteClass.I.vs30) {
-      return Range.singleton(ZhaoSiteClass.I);
-    } else if (vs30 >= ZhaoSiteClass.II.vs30) {
-      return Range.closedOpen(ZhaoSiteClass.I, ZhaoSiteClass.II);
-    } else if (vs30 >= ZhaoSiteClass.III.vs30) {
-      return Range.closedOpen(ZhaoSiteClass.II, ZhaoSiteClass.III);
-    } else if (vs30 >= ZhaoSiteClass.IV.vs30) {
-      return Range.closedOpen(ZhaoSiteClass.III, ZhaoSiteClass.IV);
+  static Range<SiteClass> siteRange(double vs30) {
+    if (vs30 >= SiteClass.I.vs30) {
+      return Range.singleton(SiteClass.I);
+    } else if (vs30 >= SiteClass.II.vs30) {
+      return Range.closedOpen(SiteClass.I, SiteClass.II);
+    } else if (vs30 >= SiteClass.III.vs30) {
+      return Range.closedOpen(SiteClass.II, SiteClass.III);
+    } else if (vs30 >= SiteClass.IV.vs30) {
+      return Range.closedOpen(SiteClass.III, SiteClass.IV);
     } else {
-      return Range.singleton(ZhaoSiteClass.IV);
+      return Range.singleton(SiteClass.IV);
     }
   }
 
-  static enum ZhaoSiteClass {
+  static enum SiteClass {
     I(760.0, 0.91),
     II(450.0, 1.023),
     III(250.0, 1.034),
@@ -695,7 +695,7 @@ public abstract class ZhaoEtAl_2016 implements GroundMotionModel {
     final double vs30;
     final double impedance;
 
-    private ZhaoSiteClass(double vs30, double impedance) {
+    private SiteClass(double vs30, double impedance) {
       this.vs30 = vs30;
       this.impedance = impedance;
     }
-- 
GitLab