diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/NgaEast.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/NgaEast.java index 2b7bedf73cf2f706c4348d785a24407d6a86b62d..0873f55f01ba9a1e7e1e7a32828428c63a8e3e12 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/NgaEast.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/NgaEast.java @@ -260,10 +260,12 @@ public abstract class NgaEast implements GroundMotionModel { private static final class CoefficientsNgaAdj2023 { final double nga_adj; + final double vs30_b; CoefficientsNgaAdj2023(Imt imt, CoefficientContainer cc) { Map<String, Double> coeffs = cc.get(imt); nga_adj = coeffs.get("nga_adj"); + vs30_b = coeffs.get("vs30_b"); } } @@ -485,8 +487,12 @@ public abstract class NgaEast implements GroundMotionModel { @Override public LogicTree<GroundMotion> calc(GmmInput in) { double zScale = zSiteScale(in.zSed); + double ngsAdj = coeffsNgaAdj.nga_adj; + if (in.vs30 > 1000.0) { + ngsAdj += coeffsNgaAdj.vs30_b * log(min(in.vs30, 2000.0) / 1000.0); + } double μAdj = adjusted() - ? (1.0 - zScale) * coeffsNgaAdj.nga_adj + ? (1.0 - zScale) * ngsAdj : 0.0; boolean cpa = cpa() && zScale > 0.0; double fCpa = cpa @@ -687,8 +693,12 @@ public abstract class NgaEast implements GroundMotionModel { public LogicTree<GroundMotion> calc(GmmInput in) { GmmInput inRock = GmmInput.builder().fromCopy(in).vs30(3000).build(); double zScale = zSiteScale(in.zSed); + double ngsAdj = coeffsNgaAdj.nga_adj; + if (in.vs30 > 1000.0) { + ngsAdj += coeffsNgaAdj.vs30_b * log(min(in.vs30, 2000.0) / 1000.0); + } double μAdj = adjusted() - ? (1.0 - zScale) * coeffsNgaAdj.nga_adj + ? (1.0 - zScale) * ngsAdj : 0.0; boolean cpa = cpa() && zScale > 0.0; double fCpa = cpa diff --git a/src/main/java/gov/usgs/earthquake/nshmp/model/ModelLoader.java b/src/main/java/gov/usgs/earthquake/nshmp/model/ModelLoader.java index 1a6f9e796dbd9428b9060207983376993f7dab30..256962ed86a183387e5c13850990edfc6bd524bb 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/model/ModelLoader.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/model/ModelLoader.java @@ -103,9 +103,9 @@ abstract class ModelLoader { public static void main(String[] args) throws IOException { - // Path testModel = Paths.get("../nshm-conus-2018-5.2.x-maint"); + Path testModel = Paths.get("../nshm-conus-2018-5.2.x-maint"); // Path testModel = Paths.get("../nshm-conus"); - Path testModel = Paths.get("../nshm-alaska"); + // Path testModel = Paths.get("../nshm-alaska"); // Path testModel = Paths.get("../nshm-alaska-2007-2.2.x-maint"); // Path testModel = Paths.get("../nshm-hawaii"); @@ -128,6 +128,7 @@ abstract class ModelLoader { System.out.println(model.types()); // System.out.println(model.features().keySet()); + System.out.println(model.config()); System.out.println("ModelLoader Done"); // todo for AK need this for Shaw width limited diff --git a/src/main/resources/gmm/coeffs/nga-east-usgs-adj-2023.csv b/src/main/resources/gmm/coeffs/nga-east-usgs-adj-2023.csv index 1824e65c4caa11479abaa4099209ff7b1c4b53c3..479bf8618dec2bc6628d9bdaa006909fde3c6890 100644 --- a/src/main/resources/gmm/coeffs/nga-east-usgs-adj-2023.csv +++ b/src/main/resources/gmm/coeffs/nga-east-usgs-adj-2023.csv @@ -1,24 +1,24 @@ - T, nga_adj - PGV, -0.031 - PGA, -0.089 - 0.01, -0.089 - 0.02, -0.230 - 0.03, -0.320 - 0.05, -0.340 - 0.075, -0.310 - 0.1, -0.280 - 0.15, -0.238 - 0.2, -0.195 - 0.25, -0.160 - 0.3, -0.134 - 0.4, -0.095 - 0.5, -0.070 - 0.75, -0.019 - 1.0, 0.020 - 1.5, 0.065 - 2.0, 0.100 - 3.0, 0.240 - 4.0, 0.330 - 5.0, 0.395 - 7.5, 0.500 - 10.0, 0.440 + T, nga_adj, vs30_b + PGV, -0.085, -0.250 + PGA, -0.040, -0.346 + 0.01, -0.070, -0.352 + 0.02, -0.210, -0.305 + 0.03, -0.211, -0.261 + 0.05, -0.212, -0.220 + 0.075, -0.205, -0.220 + 0.1, -0.205, -0.220 + 0.15, -0.192, -0.220 + 0.2, -0.149, -0.220 + 0.25, -0.132, -0.220 + 0.3, -0.121, -0.220 + 0.4, -0.097, -0.220 + 0.5, -0.090, -0.220 + 0.75, -0.040, -0.205 + 1.0, -0.010, -0.175 + 1.5, 0.045, -0.173 + 2.0, 0.140, -0.173 + 3.0, 0.270, -0.173 + 4.0, 0.315, -0.173 + 5.0, 0.377, -0.173 + 7.5, 0.448, -0.173 + 10.0, 0.401, -0.173