diff --git a/src/main/java/gov/usgs/earthquake/nshmp/calc/Site.java b/src/main/java/gov/usgs/earthquake/nshmp/calc/Site.java index 3abfd2affca200b48f6c94771f3ced5d720003fd..8a90c3a02c56acef816033576804e603e481fe00 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/calc/Site.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/calc/Site.java @@ -175,7 +175,7 @@ public class Site { double z1p0, double z2p5, double zSed) { return String.format( - "Vs30=%s %s Z1.0=%s Z2.5=%s Zsed=%s", + "vs30=%s %s z1.0=%s z2.5=%s zSed=%s", vs30, vsInf ? "inferred " : "measured ", z1p0, z2p5, zSed); } diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/GmmInput.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/GmmInput.java index bc159b536161688040bfad3e1eb49c85840164b0..9f30ac78a1a0f3c6704e19c6d98df0edb881d7c3 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/GmmInput.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/GmmInput.java @@ -380,14 +380,6 @@ public class GmmInput { return this; } - /** - * Set both the vs30 at site and whether {@code vs30} is inferred or - * measured. - */ - public Builder vs30(double vs30, boolean vsInf) { - return vs30(vs30).vsInf(vsInf); - } - /** Set the depth to 1.0 km/s (in km). */ public Builder z1p0(double z1p0) { this.z1p0 = validateAndFlag(Z1P0, z1p0); @@ -402,7 +394,7 @@ public class GmmInput { /** Set the sediment thickness (in km). */ public Builder zSed(double zSed) { - this.z2p5 = validateAndFlag(ZSED, zSed); + this.zSed = validateAndFlag(ZSED, zSed); return this; } @@ -449,7 +441,7 @@ public class GmmInput { .vsInf(VSINF.defaultValue > 0.0) .z1p0(Z1P0.defaultValue) .z2p5(Z2P5.defaultValue) - .z2p5(ZSED.defaultValue) + .zSed(ZSED.defaultValue) .build(); /** @@ -631,9 +623,9 @@ public class GmmInput { boolean z2p5Check = Double.isNaN(in.z2p5) ? Double.isNaN(this.z2p5) : this.z2p5 == in.z2p5; - boolean zSedCheck = Double.isNaN(in.z2p5) - ? Double.isNaN(this.z2p5) - : this.z2p5 == in.z2p5; + boolean zSedCheck = Double.isNaN(in.zSed) + ? Double.isNaN(this.zSed) + : this.zSed == in.zSed; return this.Mw == in.Mw && this.rJB == in.rJB && this.rRup == in.rRup && diff --git a/src/test/java/gov/usgs/earthquake/nshmp/calc/SiteTests.java b/src/test/java/gov/usgs/earthquake/nshmp/calc/SiteTests.java index f0283b2575f48fa6e9d7b91be0e28586d7dd4fa9..03bb085691f6463b1c15f4db31f013824839f333 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/calc/SiteTests.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/calc/SiteTests.java @@ -16,11 +16,12 @@ class SiteTests { static final boolean VS_INF = false; static final double Z1P0 = 0.5; static final double Z2P5 = 3.0; + static final double ZSED = 7.5; static final String TO_STRING_VSINF_TRUE = - "Unnamed -118.000 34.000 Vs30=760.0 inferred Z1.0=NaN Z2.5=NaN"; + "Unnamed -118.000 34.000 vs30=760.0 inferred z1.0=NaN z2.5=NaN zSed=NaN"; static final String TO_STRING_VSINF_FALSE = - "TestSite -118.000 34.000 Vs30=530.0 measured Z1.0=0.5 Z2.5=3.0"; + "TestSite -118.000 34.000 vs30=530.0 measured z1.0=0.5 z2.5=3.0 zSed=7.5"; static Site.Builder siteBuilder() { return Site.builder() @@ -29,7 +30,8 @@ class SiteTests { .vs30(VS_30) .vsInferred(VS_INF) .z1p0(Z1P0) - .z2p5(Z2P5); + .z2p5(Z2P5) + .zSed(ZSED); } @Test @@ -43,6 +45,7 @@ class SiteTests { assertEquals(VS_INF, site1.vsInferred()); assertEquals(Z1P0, site1.z1p0()); assertEquals(Z2P5, site1.z2p5()); + assertEquals(ZSED, site1.zSed()); // check single use assertThrows(IllegalStateException.class, () -> { @@ -55,10 +58,12 @@ class SiteTests { Site site3 = siteBuilder() .z1p0(Double.NaN) .z2p5(Double.NaN) + .zSed(Double.NaN) .build(); assertEquals(Double.NaN, site3.z1p0()); assertEquals(Double.NaN, site3.z2p5()); + assertEquals(Double.NaN, site3.zSed()); // named location NamedLocation loc = new NamedLocation() { diff --git a/src/test/java/gov/usgs/earthquake/nshmp/calc/SitesTests.java b/src/test/java/gov/usgs/earthquake/nshmp/calc/SitesTests.java index e30b36cdf7f4222140d3468fc0955c5cf598c6ca..74e00ffdecebfc9c4bc2996f55ed760e378f4653 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/calc/SitesTests.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/calc/SitesTests.java @@ -49,11 +49,11 @@ class SitesTests { static final String TO_STRING = "Sites [size=6]\n" + - " Hilo HI -155.060 19.700 Vs30=760.0 inferred Z1.0=NaN Z2.5=NaN\n" + - " Salt Lake City UT -111.900 40.750 Vs30=530.0 inferred Z1.0=0.3 Z2.5=3.0\n" + - " San Jose CA -121.900 37.350 Vs30=350.0 measured Z1.0=NaN Z2.5=NaN\n" + - " Seattle WA -122.300 47.600 Vs30=760.0 inferred Z1.0=1.2 Z2.5=6.7\n" + - " Memphis TN -90.050 35.150 Vs30=3000.0 inferred Z1.0=NaN Z2.5=NaN\n" + + " Hilo HI -155.060 19.700 vs30=760.0 inferred z1.0=NaN z2.5=NaN zSed=NaN\n" + + " Salt Lake City UT -111.900 40.750 vs30=530.0 inferred z1.0=0.3 z2.5=3.0 zSed=NaN\n" + + " San Jose CA -121.900 37.350 vs30=350.0 measured z1.0=NaN z2.5=NaN zSed=NaN\n" + + " Seattle WA -122.300 47.600 vs30=760.0 inferred z1.0=1.2 z2.5=6.7 zSed=NaN\n" + + " Memphis TN -90.050 35.150 vs30=3000.0 inferred z1.0=NaN z2.5=NaN zSed=NaN\n" + " ... and 1 more ..."; } diff --git a/src/test/java/gov/usgs/earthquake/nshmp/gmm/GmmInputTest.java b/src/test/java/gov/usgs/earthquake/nshmp/gmm/GmmInputTest.java index e425d6f8c630dc8da6de6542c56e3aec27cf2e53..6d7fa401daa34b427b03afcf29418574743b1600 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/gmm/GmmInputTest.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/gmm/GmmInputTest.java @@ -12,6 +12,7 @@ import static gov.usgs.earthquake.nshmp.gmm.GmmInput.Field.WIDTH; import static gov.usgs.earthquake.nshmp.gmm.GmmInput.Field.Z1P0; import static gov.usgs.earthquake.nshmp.gmm.GmmInput.Field.Z2P5; import static gov.usgs.earthquake.nshmp.gmm.GmmInput.Field.ZHYP; +import static gov.usgs.earthquake.nshmp.gmm.GmmInput.Field.ZSED; import static gov.usgs.earthquake.nshmp.gmm.GmmInput.Field.ZTOR; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -46,6 +47,7 @@ class GmmInputTest { private static final double width = WIDTH.defaultValue; private static final double z1p0 = Z1P0.defaultValue; private static final double z2p5 = Z2P5.defaultValue; + private static final double zSed = ZSED.defaultValue; private static final double zHyp = ZHYP.defaultValue; private static final double zTor = ZTOR.defaultValue; @@ -64,6 +66,7 @@ class GmmInputTest { VALUES.put(WIDTH, Double.toString(width)); VALUES.put(Z1P0, Double.toString(z1p0)); VALUES.put(Z2P5, Double.toString(z2p5)); + VALUES.put(ZSED, Double.toString(zSed)); VALUES.put(ZHYP, Double.toString(zHyp)); VALUES.put(ZTOR, Double.toString(zTor)); } @@ -103,6 +106,7 @@ class GmmInputTest { assertEquals(gmmCopy.width, model.width, 0); assertEquals(gmmCopy.z1p0, model.z1p0, 0); assertEquals(gmmCopy.z2p5, model.z2p5, 0); + assertEquals(gmmCopy.zSed, model.zSed, 0); assertEquals(gmmCopy.zHyp, model.zHyp, 0); assertEquals(gmmCopy.zTor, model.zTor, 0); } @@ -124,6 +128,7 @@ class GmmInputTest { gmmBuilder.set(WIDTH, Double.toString(val)); gmmBuilder.set(Z1P0, Double.toString(val)); gmmBuilder.set(Z2P5, Double.toString(val)); + gmmBuilder.set(ZSED, Double.toString(val)); gmmBuilder.set(ZHYP, Double.toString(val)); gmmBuilder.set(ZTOR, Double.toString(val)); GmmInput gmm = gmmBuilder.build(); @@ -139,6 +144,7 @@ class GmmInputTest { assertEquals(gmm.width, val, 0); assertEquals(gmm.z1p0, val, 0); assertEquals(gmm.z2p5, val, 0); + assertEquals(gmm.zSed, val, 0); assertEquals(gmm.zHyp, val, 0); assertEquals(gmm.zTor, val, 0); @@ -163,6 +169,7 @@ class GmmInputTest { assertEquals(gmm.width, width, 0); assertEquals(gmm.z1p0, z1p0, 0); assertEquals(gmm.z2p5, z2p5, 0); + assertEquals(gmm.zSed, zSed, 0); assertEquals(gmm.zHyp, zHyp, 0); assertEquals(gmm.zTor, zTor, 0); } @@ -199,6 +206,7 @@ class GmmInputTest { .vsInf(vsInf) .z1p0(z1p0) .z2p5(z2p5) + .zSed(zSed) .build(); assertEquals(gmm.dip, dip, 0); @@ -212,6 +220,7 @@ class GmmInputTest { assertEquals(gmm.width, width, 0); assertEquals(gmm.z1p0, z1p0, 0); assertEquals(gmm.z2p5, z2p5, 0); + assertEquals(gmm.zSed, zSed, 0); assertEquals(gmm.zHyp, zHyp, 0); assertEquals(gmm.zTor, zTor, 0); } @@ -238,6 +247,7 @@ class GmmInputTest { assertFalse(gmm.equals(gmmBuilder.withDefaults().width(v).build())); assertFalse(gmm.equals(gmmBuilder.withDefaults().z1p0(v).build())); assertFalse(gmm.equals(gmmBuilder.withDefaults().z2p5(v).build())); + assertFalse(gmm.equals(gmmBuilder.withDefaults().zSed(v).build())); assertFalse(gmm.equals(gmmBuilder.withDefaults().zHyp(v).build())); assertFalse(gmm.equals(gmmBuilder.withDefaults().zTor(v).build())); } @@ -247,7 +257,7 @@ class GmmInputTest { GmmInput gmm = GmmInput.builder().withDefaults().build(); GmmInput gmmCopy = GmmInput.builder().fromCopy(gmm).build(); GmmInput gmmDiff = GmmInput.builder().withDefaults() - .mag(10.0).z1p0(10.0).z2p5(10.0).build(); + .mag(10.0).z1p0(10.0).z2p5(10.0).zSed(10.0).build(); assertEquals(gmm.hashCode(), gmmCopy.hashCode()); assertNotEquals(gmm.hashCode(), gmmDiff.hashCode()); @@ -271,6 +281,7 @@ class GmmInputTest { assertTrue(toString.contains("width=")); assertTrue(toString.contains("z1p0=")); assertTrue(toString.contains("z2p5=")); + assertTrue(toString.contains("zSed=")); assertTrue(toString.contains("zHyp=")); assertTrue(toString.contains("zTor=")); assertEquals(toString, toStringCopy); diff --git a/src/test/java/gov/usgs/earthquake/nshmp/gmm/GmmTest.java b/src/test/java/gov/usgs/earthquake/nshmp/gmm/GmmTest.java index 13a1f3310a9e7cbb08381c20c4b91d83de3591a1..4c01320d9fde3b22ca87ea74d7b9eb0cc9564278 100644 --- a/src/test/java/gov/usgs/earthquake/nshmp/gmm/GmmTest.java +++ b/src/test/java/gov/usgs/earthquake/nshmp/gmm/GmmTest.java @@ -144,9 +144,11 @@ class GmmTest { .zTor(it.next()) .zHyp(it.next()) .rake(it.next()) - .vs30(it.next(), it.next() > 0.0) + .vs30(it.next()) + .vsInf(it.next() > 0.0) .z1p0(it.next()) .z2p5(it.next()) + .zSed(Double.NaN) .build(); }