diff --git a/gradle.properties b/gradle.properties index fd65d2e0cd7aaf975d6b61b1dbd9f091b2b6d4cf..f821af2f30423103645bfd91b42924c3f77f9c3a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ junitVersion = 5.5.2 micronautVersion = 2.4.1 mnPluginVersion = 1.4.2 nodeVersion = 3.0.1 -nshmpLibVersion = 0.6.1 +nshmpLibVersion = 0.7.0 nshmpWsUtilsVersion = 0.1.2 shadowVersion = 5.2.0 spotbugsVersion = 4.2.4 diff --git a/src/main/java/gov/usgs/earthquake/nshmp/DeaggCalc.java b/src/main/java/gov/usgs/earthquake/nshmp/DeaggCalc.java index 2ea4f3d51de9b4bec9b29a33cdc1a940138055e1..7f516914a0e690acaaa846687837ee3f492ce548 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/DeaggCalc.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/DeaggCalc.java @@ -97,7 +97,7 @@ public class DeaggCalc { log.info(config.toString()); log.info(""); - Sites sites = HazardCalc.readSites(args[1], config, log); + Sites sites = HazardCalc.readSites(args[1], config, model.siteData(), log); log.info("Sites: " + sites); double returnPeriod = Double.valueOf(args[2]); diff --git a/src/main/java/gov/usgs/earthquake/nshmp/DeaggEpsilon.java b/src/main/java/gov/usgs/earthquake/nshmp/DeaggEpsilon.java index 562a384a158a1aabf79778d1c102ce4ff7014eae..c208ec73b130fccdfee8e29b51b6f1417f2e2ef7 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/DeaggEpsilon.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/DeaggEpsilon.java @@ -109,7 +109,7 @@ public class DeaggEpsilon { } log.info(config.toString()); - List<Site> sites = ImmutableList.copyOf(Sites.fromCsv(siteFile, config, true)); + List<Site> sites = ImmutableList.copyOf(Sites.fromCsv(siteFile, config, model.siteData())); log.info("Sites: " + sites.size()); log.info("Site data columns: " + colsToSkip); @@ -134,11 +134,21 @@ public class DeaggEpsilon { } } + // TODO removed this set from Site; temp repair + static final Set<String> SITE_KEYS = ImmutableSet.of( + "name", + "lat", + "lon", + "vs30", + "vsInf", + "z1p0", + "z2p5"); + /* returns the number of site data columns are present. */ private static int headerCount(Path path) throws IOException { String header = Files.lines(path).findFirst().get(); Set<String> columns = ImmutableSet.copyOf(Splitter.on(',').trimResults().split(header)); - return Sets.intersection(columns, Site.KEYS).size(); + return Sets.intersection(columns, SITE_KEYS).size(); } private static List<Imt> readImtList(Path path, int colsToSkip) throws IOException { diff --git a/src/main/java/gov/usgs/earthquake/nshmp/DeaggIml.java b/src/main/java/gov/usgs/earthquake/nshmp/DeaggIml.java index e24795f3374af7ec00fe869ea6b2ddaa5c7359ae..e711d2ac0ede643c9be77f3db0a3394439d67e2f 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/DeaggIml.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/DeaggIml.java @@ -98,7 +98,7 @@ public class DeaggIml { log.info(config.toString()); log.info(""); - Sites sites = HazardCalc.readSites(args[1], config, log); + Sites sites = HazardCalc.readSites(args[1], config, model.siteData(), log); log.info("Sites: " + sites); double iml = Double.valueOf(args[2]); diff --git a/src/main/java/gov/usgs/earthquake/nshmp/Hazard2018.java b/src/main/java/gov/usgs/earthquake/nshmp/Hazard2018.java index 144a258ad7d9938a6f935804ec0714778ba93b78..1be075b4edfbc2929078b1b05cb04323c58db763 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/Hazard2018.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/Hazard2018.java @@ -34,6 +34,7 @@ import gov.usgs.earthquake.nshmp.calc.Site; import gov.usgs.earthquake.nshmp.calc.Sites; import gov.usgs.earthquake.nshmp.internal.Logging; import gov.usgs.earthquake.nshmp.model.HazardModel; +import gov.usgs.earthquake.nshmp.model.SiteData; /** * Compute probabilisitic seismic hazard for the 2018 Conterminous U.S. hazard @@ -98,7 +99,7 @@ public class Hazard2018 { log.info(wusConfig.toString()); log.info(""); - Sites sites = readSites(args[1], wusConfig, log); + Sites sites = readSites(args[1], wusConfig, SiteData.EMPTY, log); log.info("Sites: " + sites); Models models = new Models(wusModel, wusConfig, ceusModel, ceusConfig); @@ -119,19 +120,23 @@ public class Hazard2018 { } } - static Sites readSites(String arg, CalcConfig defaults, Logger log) { + static Sites readSites( + String arg, + CalcConfig defaults, + SiteData siteData, + Logger log) { try { if (arg.toLowerCase().endsWith(".csv")) { Path path = Paths.get(arg); log.info("Site file: " + path.toAbsolutePath().normalize()); - return Sites.fromCsv(path, defaults); + return Sites.fromCsv(path, defaults, siteData); } if (arg.toLowerCase().endsWith(".geojson")) { Path path = Paths.get(arg); log.info("Site file: " + path.toAbsolutePath().normalize()); - return Sites.fromJson(path, defaults); + return Sites.fromJson(path, defaults, siteData); } - return Sites.fromString(arg, defaults); + return Sites.fromString(arg, defaults, siteData); } catch (Exception e) { throw new IllegalArgumentException(NEWLINE + " sites = \"" + arg + "\" must either be a 3 to 7 argument," + NEWLINE + diff --git a/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java b/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java index b45944e03b9fc6b1d9731ba0c741df100655fe66..d18a2ebddcd0d0f4384f7dcab80c290976fb001f 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java @@ -32,6 +32,7 @@ import gov.usgs.earthquake.nshmp.calc.Sites; import gov.usgs.earthquake.nshmp.calc.ThreadCount; import gov.usgs.earthquake.nshmp.internal.Logging; import gov.usgs.earthquake.nshmp.model.HazardModel; +import gov.usgs.earthquake.nshmp.model.SiteData; /** * Compute probabilisitic seismic hazard from a {@link HazardModel}. @@ -108,7 +109,7 @@ public class HazardCalc { log.info(config.toString()); log.info(""); - Sites sites = readSites(args[1], config, log); + Sites sites = readSites(args[1], config, model.siteData(), log); log.info("Sites: " + sites); Path out = calc(model, config, sites, log); @@ -131,19 +132,23 @@ public class HazardCalc { } } - static Sites readSites(String arg, CalcConfig defaults, Logger log) { + static Sites readSites( + String arg, + CalcConfig defaults, + SiteData siteData, + Logger log) { try { if (arg.toLowerCase().endsWith(".csv")) { Path path = Paths.get(arg); log.info("Site file: " + path.toAbsolutePath().normalize()); - return Sites.fromCsv(path, defaults); + return Sites.fromCsv(path, defaults, siteData); } if (arg.toLowerCase().endsWith(".geojson")) { Path path = Paths.get(arg); log.info("Site file: " + path.toAbsolutePath().normalize()); - return Sites.fromJson(path, defaults); + return Sites.fromJson(path, defaults, siteData); } - return Sites.fromString(arg, defaults); + return Sites.fromString(arg, defaults, siteData); } catch (Exception e) { throw new IllegalArgumentException(NEWLINE + " sites = \"" + arg + "\" must either be a 3 to 7 argument," + NEWLINE + diff --git a/src/main/java/gov/usgs/earthquake/nshmp/RateCalc.java b/src/main/java/gov/usgs/earthquake/nshmp/RateCalc.java index b0ccce12457576f64524d4248471e8aee85da0bc..3709e22e7b49bb1e3b8904e9aec2222c43585ba2 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/RateCalc.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/RateCalc.java @@ -107,7 +107,7 @@ public class RateCalc { log.info(config.toString()); log.info(""); - Sites sites = HazardCalc.readSites(args[1], config, log); + Sites sites = HazardCalc.readSites(args[1], config, model.siteData(), log); log.info("Sites: " + sites); Path out = calc(model, config, sites, log);