From e006046f500473ffd98d6cf68e302a72a5f37e6e Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Wed, 13 Jul 2022 10:13:25 -0600 Subject: [PATCH] Add total mfd --- .../gov/usgs/earthquake/nshmp/model/Models.java | 6 +++++- .../gov/usgs/earthquake/nshmp/model/RuptureSet.java | 13 +++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/model/Models.java b/src/main/java/gov/usgs/earthquake/nshmp/model/Models.java index 5f9b8a6b..c84537fd 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/model/Models.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/model/Models.java @@ -15,7 +15,9 @@ import java.util.stream.Collectors; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import gov.usgs.earthquake.nshmp.data.XySequence; import gov.usgs.earthquake.nshmp.mfd.Mfd; +import gov.usgs.earthquake.nshmp.mfd.Mfds; import gov.usgs.earthquake.nshmp.model.SourceTree.Leaf; import gov.usgs.earthquake.nshmp.tree.Branch; @@ -70,7 +72,6 @@ public class Models { // System.out.println(GSON.toJson(tree(model, 2591))); // Stonewall Ant. System.out.println(GSON.toJson(tree(model, 2535))); // Steens - } /** @@ -156,6 +157,7 @@ public class Models { final String path; final TectonicSetting setting; final SourceType type; + final XySequence totalMfd; final List<SourceBranch> branches; Tree(SourceTree tree, Path modelRoot) { @@ -164,6 +166,8 @@ public class Models { this.path = modelRoot.relativize(tree.path()).toString(); this.setting = tree.setting(); this.type = tree.type(); + this.totalMfd = Mfds.combine(tree.stream().map(branch -> branch.value().totalMfd()) + .collect(Collectors.toList())).data(); List<SourceBranch> branches = new ArrayList<>(); diff --git a/src/main/java/gov/usgs/earthquake/nshmp/model/RuptureSet.java b/src/main/java/gov/usgs/earthquake/nshmp/model/RuptureSet.java index 420bd546..b3fcaa53 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/model/RuptureSet.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/model/RuptureSet.java @@ -16,6 +16,13 @@ import gov.usgs.earthquake.nshmp.tree.LogicTree; */ public interface RuptureSet<T extends Source> extends Iterable<T> { + /** + * Return the total Mfd. + */ + default Mfd totalMfd() { + return ModelTrees.reduceMfdTree(mfdTree()); + }; + /** * The display name of the rupture set. */ @@ -97,12 +104,6 @@ public interface RuptureSet<T extends Source> extends Iterable<T> { */ Predicate<T> distanceFilter(Location loc, double distance); - /** - * Return the total - * @return - */ - // Mfd mfd(); - // instead of Source // interface .Model -- GitLab