Skip to content
Snippets Groups Projects
Commit 75c040d9 authored by Powers, Peter M.'s avatar Powers, Peter M.
Browse files

updated gmmInput and site with zSed

parent d2af342a
No related branches found
No related tags found
1 merge request!253Gulf coast margin zSed handlers and config updates
......@@ -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);
}
......
......@@ -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 &&
......
......@@ -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() {
......
......@@ -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 ...";
}
......@@ -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);
......
......@@ -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();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment