diff --git a/src/main/java/gov/usgs/earthquake/nshmp/calc/Disaggregation.java b/src/main/java/gov/usgs/earthquake/nshmp/calc/Disaggregation.java index 940515dd773d985c6e794bfdc4097fb765c3639f..cef4d8285de2982d7b5d5fc856771bd3fed4c986 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/calc/Disaggregation.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/calc/Disaggregation.java @@ -342,7 +342,7 @@ public final class Disaggregation { double ruptureSetRate = RATE_INTERPOLATER.findY(ruptureSetCurve, config.iml); if (Double.isNaN(ruptureSetRate) || ruptureSetRate == 0.0) { // Consider logging statement below - // System.out.println("Skipping: " + curveSet.ruptureSet.name()); + System.err.println("Skipping: " + curveSet.ruptures.name()); continue; } Map<Gmm, DisaggDataset> ruptureSetDatasets = Disaggregator.disaggregate( diff --git a/src/main/java/gov/usgs/earthquake/nshmp/calc/Disaggregator.java b/src/main/java/gov/usgs/earthquake/nshmp/calc/Disaggregator.java index 6fa3be477fa6375c8e5c1348379b6acb6ce03e52..e40bf69ae56b050c26e453d3241a163515b34fb3 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/calc/Disaggregator.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/calc/Disaggregator.java @@ -209,6 +209,7 @@ final class Disaggregator { * are [rate, residual, rScaled, mScaled, εScaled]. */ Map<Gmm, double[]> gmmData = createDataMap(gmmKeys); + double srcWeight = ruptures.weight(); /* Add rupture data to builders */ for (int i = 0; i < inputs.size(); i++) { @@ -233,11 +234,7 @@ final class Disaggregator { double ε = Maths.epsilon(μ, σ, iml); double probAtIml = probModel.exceedance(μ, σ, trunc, imt, iml); - - // TODO need ruptures.weight - // double rate = probAtIml * in.rate * sources.weight() * gmmWeight * - // branch.weight(); - double rate = probAtIml * in.rate * 1.0 * gmmWeight * branch.weight(); + double rate = probAtIml * in.rate * srcWeight * gmmWeight * branch.weight(); double rScaled = rRup * rate; double mScaled = Mw * rate; @@ -314,6 +311,7 @@ final class Disaggregator { /* Safe covariant cast assuming switch handles variants. */ SystemRuptureSet systemRuptures = (SystemRuptureSet) ruptures; + double srcWeight = ruptures.weight(); Map<Gmm, DisaggDataset.Builder> builders = createBuilders(gmmSet.gmms(), model); for (DisaggDataset.Builder builder : builders.values()) { @@ -411,10 +409,7 @@ final class Disaggregator { double ε = Maths.epsilon(μ, σ, iml); double probAtIml = probModel.exceedance(μ, σ, trunc, imt, iml); - // TODO need ruptures.weight - // double rate = probAtIml * in.rate * sources.weight() * - // gmmWeight * branch.weight(); - double rate = probAtIml * in.rate * 1.0 * gmmWeight * branch.weight(); + double rate = probAtIml * in.rate * srcWeight * gmmWeight * branch.weight(); SystemContributor.Builder contributor = contributors.get(gmm);