From 0dec5e106655f2d98593e6ebbb8a6a59e3044cf0 Mon Sep 17 00:00:00 2001 From: Peter Powers <pmpowers@usgs.gov> Date: Thu, 6 Mar 2025 14:21:45 -0700 Subject: [PATCH] added vLin cutoff to sub sigma; fixed crustal --- .../nshmp/gmm/AbrahamsonGulerce_2020.java | 2 +- .../nshmp/gmm/UsgsPrviBackbone2025.java | 46 +++---------------- 2 files changed, 7 insertions(+), 41 deletions(-) diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/AbrahamsonGulerce_2020.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/AbrahamsonGulerce_2020.java index 84c34f09..51340ae5 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/AbrahamsonGulerce_2020.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/AbrahamsonGulerce_2020.java @@ -137,12 +137,12 @@ public abstract class AbrahamsonGulerce_2020 implements GroundMotionModel { static final double VS30_ROCK = 1000.0; static final double PHI_AMP_SQ = 0.09; + static final double VSS_MAX = 1000.0; private static final double C1S = 7.5; private static final double C4 = 10.0; private static final double C = 1.88; private static final double N = 1.18; - private static final double VSS_MAX = 1000.0; private static final double D0 = 0.47; diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/UsgsPrviBackbone2025.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/UsgsPrviBackbone2025.java index 50092147..3ecdcb3e 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/UsgsPrviBackbone2025.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/UsgsPrviBackbone2025.java @@ -276,43 +276,6 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel { return new double[] { σNga, σPrvi }; } - // sigma sleuthing TODO clean - // @Override - // double[] calcSigmas(GmmInput in) { - // Coefficients c = super.coeffs; - // double Ï„ = calcTau(in.Mw, c); - // System.out.println("Ï„: " + Ï„); - // double saRock = calcSaRock(in); - // double dAmp_p1 = AbrahamsonEtAl_2014.get_dAmp(c.bnl, c.cnl, c.vlin, - // in.vs30, saRock) + 1.0; - // double Ï„nl = Ï„ * dAmp_p1; - // System.out.println("Ï„nl: " + Ï„nl); - // double φSS = calcPhiSS(in.Mw, c); - // double φSqNga = φSS * φSS + c.φs2sNga * c.φs2sNga; - // double φSqPrvi = φSS * φSS + c.φs2sPrvi * c.φs2sPrvi; - // System.out.println("φSS: " + φSS); - // System.out.println("c.φs2sNga: " + c.φs2sNga); - // System.out.println("c.φs2sPrvi: " + c.φs2sPrvi); - // double φNlNgaSq = calcPhiNonLinSq(φSqNga, dAmp_p1); - // double φNlPrviSq = calcPhiNonLinSq(φSqPrvi, dAmp_p1); - // - // System.out.println("φNlNga: " + sqrt(φNlNgaSq)); - // System.out.println("φNlPrvi: " + sqrt(φNlPrviSq)); - // - // double σNga = sqrt(Ï„nl * Ï„nl + φNlNgaSq); - // double σPrvi = sqrt(Ï„nl * Ï„nl + φNlPrviSq); - // - // System.out.println("σNga: " + σNga); - // System.out.println("σPrvi: " + σPrvi); - // - // System.out.println("--- no nonlin ---"); - // - // System.out.println("σNga: " + sqrt(Ï„ * Ï„ + φSqNga)); - // System.out.println("σPrvi: " + sqrt(Ï„ * Ï„ + φSqPrvi)); - // - // return new double[] { σNga, σPrvi }; - // } - private double calcSaRock(GmmInput in) { // ASK Vs30 rock = 1180 m/s // Also disable basin term. @@ -344,8 +307,8 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel { return Mw <= 5.0 ? c.a : Mw > 6.5 ? c.b : c.a + (Mw - 5.0) * ((c.b - c.a) / 1.5); } - static double calcPhiNonLinSq(double φ, double dAmp_p1) { - double phiBsq = φ * φ - AbrahamsonEtAl_2014.PHI_AMP_SQ; + static double calcPhiNonLinSq(double φSq, double dAmp_p1) { + double phiBsq = φSq - AbrahamsonEtAl_2014.PHI_AMP_SQ; return phiBsq * dAmp_p1 * dAmp_p1 + AbrahamsonEtAl_2014.PHI_AMP_SQ; } } @@ -775,7 +738,10 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel { GmmInput in) { double pgaRock = calcSubPgaRock(in, σPgaGmm); - double dSite = AbrahamsonGulerce_2020.calc_dSite(c.bnlSub, c.vlinSub, in.vs30, pgaRock); + double dSite = (in.vs30 < c.vlinSub) + ? AbrahamsonGulerce_2020.calc_dSite(c.bnlSub, c.vlinSub, in.vs30, pgaRock) + : 0.0; + double Ï„NlSq = calcNonLinTermSq(c.Ï„Sub, c.Ï„SubPga, dSite, c.ÏB); double φPrvi = sqrt(c.φSubS2S * c.φSubS2S + c.φSubSS * c.φSubSS); -- GitLab