From 67e81094191d5b049fe1afbb95158bf5aaa232f6 Mon Sep 17 00:00:00 2001 From: Peter Powers Date: Thu, 11 Sep 2025 12:14:49 -0600 Subject: [PATCH 1/3] updated interface types --- .../gov/usgs/earthquake/nshmp/model/NshmErf.java | 12 ++++++++++++ .../gov/usgs/earthquake/nshmp/model/NshmErfTest.java | 10 +++++----- 2 files changed, 17 insertions(+), 5 deletions(-) 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..ac90ad1e 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/model/NshmErfTest.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/model/NshmErfTest.java @@ -28,7 +28,7 @@ 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); @@ -40,12 +40,12 @@ public class NshmErfTest { 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(); From cbc4c36468c954c796b3ad6f26147ce0b9b59ea8 Mon Sep 17 00:00:00 2001 From: Peter Powers Date: Thu, 11 Sep 2025 13:13:13 -0600 Subject: [PATCH 2/3] updated lib --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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' From df62c35e78743afad0bf6eecdcc7ab73678a5aff Mon Sep 17 00:00:00 2001 From: Peter Powers Date: Thu, 11 Sep 2025 14:08:35 -0600 Subject: [PATCH 3/3] distance calc update --- .../usgs/earthquake/nshmp/model/NshmErfTest.java | 14 ++++++++------ .../usgs/earthquake/nshmp/model/NshmSurface.java | 5 ++++- 2 files changed, 12 insertions(+), 7 deletions(-) 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 ac90ad1e..ab7adebd 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/model/NshmErfTest.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/model/NshmErfTest.java @@ -30,10 +30,10 @@ public class NshmErfTest { // private static final Path MODEL = Path.of("../nshm-conus-2018-5.x-maint"); 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); @@ -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(); }