diff --git a/build.gradle b/build.gradle index 0700d558..15088005 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ apply from: '../opensha/build-common.gradle' dependencies { - api "ghsc:nshmp-lib:1.7.10" + api "ghsc:nshmp-lib:1.7.14" implementation 'org.apache.pdfbox:pdfbox:2.0.6' implementation 'org.apache.commons:commons-collections4:4.1' diff --git a/src/main/java/gov/usgs/earthquake/nshmp/model/NshmErf.java b/src/main/java/gov/usgs/earthquake/nshmp/model/NshmErf.java index ab2b73b3..60a78ff5 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/model/NshmErf.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/model/NshmErf.java @@ -190,6 +190,18 @@ private List sourcesFromBranch( ? ruptureSetToSources(ruptureSet, weight, duration) : List.of(); + case INTERFACE_CLUSTER: + ClusterRuptureSet icrs = (ClusterRuptureSet) ruptureSet; + return (subInterface && faults) + ? clusterRuptureSetToSources(icrs, weight, duration) + : List.of(); + + case INTERFACE_SYSTEM: + SystemRuptureSet isrs = (SystemRuptureSet) ruptureSet; + return (faults) + ? systemRuptureSetToSources(isrs, weight, duration) + : List.of(); + case SLAB: return (subSlab && faults) ? ruptureSetToSources(ruptureSet, weight, duration) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/model/NshmErfTest.java b/src/main/java/gov/usgs/earthquake/nshmp/model/NshmErfTest.java index 605e357b..ab7adebd 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/model/NshmErfTest.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/model/NshmErfTest.java @@ -28,24 +28,24 @@ public class NshmErfTest { // private static final Path MODEL = // Path.of("../nshmp-lib/src/test/resources/model/test-model"); // private static final Path MODEL = Path.of("../nshm-conus-2018-5.x-maint"); - private static final Path MODEL = Path.of("../nshm-conus"); + private static final Path MODEL = Path.of("../nshm-prvi"); - // static gov.usgs.earthquake.nshmp.geo.Location testLoc = - // gov.usgs.earthquake.nshmp.geo.Location.create(-122, 39.0); - static gov.usgs.earthquake.nshmp.geo.Location testLoc = - gov.usgs.earthquake.nshmp.geo.Location.create(-80, 33.2); + static gov.usgs.earthquake.nshmp.geo.Location testLoc = + gov.usgs.earthquake.nshmp.geo.Location.create(-66.117, 18.465); +// static gov.usgs.earthquake.nshmp.geo.Location testLoc = +// gov.usgs.earthquake.nshmp.geo.Location.create(-80, 33.2); // static gov.usgs.earthquake.nshmp.geo.Location testLoc = // gov.usgs.earthquake.nshmp.geo.Location.create(-110, 37.5); public static void main(String[] args) { - Set trts = - EnumSet.of(TectonicRegionType.STABLE_SHALLOW); - // Set trts = EnumSet.noneOf(TectonicRegionType.class); +// Set trts = +// EnumSet.of(TectonicRegionType.STABLE_SHALLOW); + Set trts = EnumSet.noneOf(TectonicRegionType.class); HazardModel model = HazardModel.load(MODEL); - NshmErf erf = new NshmErf(model, trts, IncludeBackgroundOption.EXCLUDE); + NshmErf erf = new NshmErf(model, trts, IncludeBackgroundOption.INCLUDE); System.out.println("NSHM ERF size: " + erf.getNumSources()); erf.getTimeSpan().setDuration(1.0); erf.updateForecast(); @@ -125,7 +125,7 @@ public static void main(String[] args) { } } - // calcHazard(erf); + calcHazard(erf); } private static void calcHazard(NshmErf erf) { @@ -133,8 +133,10 @@ private static void calcHazard(NshmErf erf) { gmpe.setParamDefaults(); gmpe.setIntensityMeasure(PGA_Param.NAME); - Site site = new Site(new Location(34, -118)); // Los Angeles + Site site = new Site(new Location(18.465, -66.117)); // San Juan +// Site site = new Site(new Location(34, -118)); // Los Angeles // Site site = new Site(new Location(40.75, -111.90)); // Salt lake City + for (Parameter param : gmpe.getSiteParams()) { site.addParameter((Parameter) param.clone()); diff --git a/src/main/java/gov/usgs/earthquake/nshmp/model/NshmSurface.java b/src/main/java/gov/usgs/earthquake/nshmp/model/NshmSurface.java index 0bf3f27a..0cb02419 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/model/NshmSurface.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/model/NshmSurface.java @@ -156,6 +156,10 @@ public LocationList getEvenlyDiscritizedListOfLocsOnSurface() { public double getAveLength() { return delegate.length(); } + + @Override public double getQuickDistance(Location siteLoc) { + return calcQuickDistance(siteLoc); + } // Unnecessary methods for hazard calculations @@ -168,7 +172,6 @@ public double getAveLength() { @Override public FaultTrace getEvenlyDiscritizedUpperEdge() { throw new UnsupportedOperationException(); } @Override public LocationList getEvenlyDiscritizedLowerEdge() { throw new UnsupportedOperationException(); } @Override public double getAveGridSpacing() { throw new UnsupportedOperationException(); } - @Override public double getQuickDistance(Location siteLoc) { throw new UnsupportedOperationException(); } @Override public double getAveDipDirection() { throw new UnsupportedOperationException(); } @Override public FaultTrace getUpperEdge() { throw new UnsupportedOperationException(); } @Override public double getFractionOfSurfaceInRegion(Region region) { throw new UnsupportedOperationException(); }