Skip to content
Snippets Groups Projects
Commit e284fa93 authored by Powers, Peter M.'s avatar Powers, Peter M.
Browse files

updated backbone to use adjusted gmms

parent e219e1d6
No related branches found
No related tags found
1 merge request!436Prvi gmm 251
......@@ -3,14 +3,24 @@ package gov.usgs.earthquake.nshmp.gmm;
import static com.google.common.base.Preconditions.checkArgument;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.AG_20_GLOBAL_INTERFACE;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.AG_20_GLOBAL_SLAB;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.AG_20_PRVI_INTERFACE;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.AG_20_PRVI_SLAB;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.ASK_14_BASE;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.ASK_14_PRVI;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.BSSA_14_BASE;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.BSSA_14_PRVI;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.CB_14_BASE;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.CB_14_PRVI;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.CY_14_BASE;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.CY_14_PRVI;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.KBCG_20_GLOBAL_INTERFACE;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.KBCG_20_GLOBAL_SLAB;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.KBCG_20_PRVI_INTERFACE;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.KBCG_20_PRVI_SLAB;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.PSBAH_20_GLOBAL_INTERFACE;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.PSBAH_20_GLOBAL_SLAB;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.PSBAH_20_PRVI_INTERFACE;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.PSBAH_20_PRVI_SLAB;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.Type.ACTIVE_CRUST;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.Type.SUBDUCTION_INTERFACE;
import static gov.usgs.earthquake.nshmp.gmm.Gmm.Type.SUBDUCTION_SLAB;
......@@ -74,28 +84,23 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel {
final double φs2sPrvi, φs2sNga;
final double τSub, φSub, φSubSS, φSubS2S;
Coefficients(
Imt imt,
CoefficientContainer ccTau,
CoefficientContainer ccPhiSS,
CoefficientContainer ccPhiS2S,
CoefficientContainer ccSubSigma) {
Coefficients(Imt imt) {
Map<String, Double> coeffsTau = ccTau.get(imt);
Map<String, Double> coeffsTau = COEFFS_TAU_ACTIVE_CRUST.get(imt);
τ1 = coeffsTau.get("tau_mean_4.5");
τ2 = coeffsTau.get("tau_mean_5.0");
τ3 = coeffsTau.get("tau_mean_5.5");
τ4 = coeffsTau.get("tau_mean_6.5");
Map<String, Double> coeffsPhiSS = ccPhiSS.get(imt);
Map<String, Double> coeffsPhiSS = COEFFS_PHISS_ACTIVE_CRUST.get(imt);
a = coeffsPhiSS.get("a_smoothed_Mod");
b = coeffsPhiSS.get("b_smoothed_Mod");
Map<String, Double> coeffsPhiS2S = ccPhiS2S.get(imt);
Map<String, Double> coeffsPhiS2S = COEFFS_PHIS2S_ACTIVE_CRUST.get(imt);
φs2sPrvi = coeffsPhiS2S.get("phiS2S_PRVI");
φs2sNga = coeffsPhiS2S.get("phiS2S_WUS");
Map<String, Double> coeffsSubSigma = ccSubSigma.get(imt);
Map<String, Double> coeffsSubSigma = COEFFS_SIGMA_SUBDUCTION.get(imt);
τSub = coeffsSubSigma.get("tau_mean");
φSub = coeffsSubSigma.get("phi_mean");
φSubSS = coeffsSubSigma.get("PhiSS_PRVI");
......@@ -115,6 +120,7 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel {
String name,
Map<Gmm, Double> gmms,
GroundMotionTable[] epiTables) {
this.imt = imt;
this.epiTables = epiTables;
LogicTree.Builder<GroundMotionModel> b = LogicTree.builder(name);
......@@ -123,13 +129,7 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel {
e.getKey().instance(imt),
e.getValue()));
this.tree = b.build();
coeffs = new Coefficients(
imt,
COEFFS_TAU_ACTIVE_CRUST,
COEFFS_PHISS_ACTIVE_CRUST,
COEFFS_PHIS2S_ACTIVE_CRUST,
COEFFS_SIGMA_SUBDUCTION);
this.coeffs = new Coefficients(imt);
}
@Override
......@@ -211,18 +211,28 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel {
static final String NAME = UsgsPrviBackbone2025.NAME + " : Active Crust";
static final Constraints CONSTRAINTS = AbrahamsonEtAl_2014.CONSTRAINTS;
static final Map<Gmm, Double> GMM_MAP = Map.of(
static final Map<Gmm, Double> GMMS_ACTIVE_CRUST = Map.of(
ASK_14_BASE, 0.25,
BSSA_14_BASE, 0.25,
CB_14_BASE, 0.25,
CY_14_BASE, 0.25);
static final Map<Gmm, Double> GMMS_ACTIVE_CRUST_PRVI = Map.of(
ASK_14_PRVI, 0.25,
BSSA_14_PRVI, 0.25,
CB_14_PRVI, 0.25,
CY_14_PRVI, 0.25);
ActiveCrust(Imt imt) {
this(imt, NAME);
}
ActiveCrust(Imt imt, String name) {
super(imt, name, GMM_MAP, getPrviEpi(ACTIVE_CRUST, imt));
this(imt, name, GMMS_ACTIVE_CRUST);
}
ActiveCrust(Imt imt, String name, Map<Gmm, Double> gmms) {
super(imt, name, gmms, getPrviEpi(ACTIVE_CRUST, imt));
}
@Override
......@@ -278,7 +288,7 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel {
static final String NAME = ActiveCrust.NAME + " (adjusted)";
ActiveCrustAdjusted(Imt imt) {
super(imt, NAME);
super(imt, NAME, GMMS_ACTIVE_CRUST_PRVI);
}
@Override
......@@ -294,7 +304,7 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel {
static final String NAME = ActiveCrust.NAME + " (adjusted, no epi, NGA sigma)";
ActiveCrustAdjustedNoEpiSigmaNga(Imt imt) {
super(imt, NAME);
super(imt, NAME, GMMS_ACTIVE_CRUST_PRVI);
}
@Override
......@@ -369,18 +379,26 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel {
static final String NAME = UsgsPrviBackbone2025.NAME + " : " + INTERFACE;
static final Constraints CONSTRAINTS = AbrahamsonGulerce_2020.CONSTRAINTS_INTERFACE;
static final Map<Gmm, Double> GMM_MAP = Map.of(
static final Map<Gmm, Double> GMMS_INTERFACE = Map.of(
AG_20_GLOBAL_INTERFACE, 0.3333,
KBCG_20_GLOBAL_INTERFACE, 0.3333,
PSBAH_20_GLOBAL_INTERFACE, 0.3334);
static final Map<Gmm, Double> GMMS_INTERFACE_PRVI = Map.of(
AG_20_PRVI_INTERFACE, 0.3333,
KBCG_20_PRVI_INTERFACE, 0.3333,
PSBAH_20_PRVI_INTERFACE, 0.3334);
Interface(Imt imt) {
this(imt, NAME);
}
Interface(Imt imt, String name) {
super(imt, name, GMM_MAP, getPrviEpi(SUBDUCTION_INTERFACE, imt));
this(imt, name, GMMS_INTERFACE);
}
Interface(Imt imt, String name, Map<Gmm, Double> gmms) {
super(imt, name, gmms, getPrviEpi(SUBDUCTION_INTERFACE, imt));
}
@Override
......@@ -414,7 +432,7 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel {
static final String NAME = Interface.NAME + " (adjusted)";
InterfaceAdjusted(Imt imt) {
super(imt, NAME);
super(imt, NAME, GMMS_INTERFACE_PRVI);
}
@Override
......@@ -430,7 +448,7 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel {
static final String NAME = Interface.NAME + " (adjusted, no epi, NGA sigma)";
InterfaceAdjustedNoEpiSigmaNga(Imt imt) {
super(imt, NAME);
super(imt, NAME, GMMS_INTERFACE_PRVI);
}
@Override
......@@ -505,17 +523,26 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel {
static final String NAME = UsgsPrviBackbone2025.NAME + " : " + SLAB;
static final Constraints CONSTRAINTS = AbrahamsonGulerce_2020.CONSTRAINTS_SLAB;
static final Map<Gmm, Double> GMM_MAP = Map.of(
static final Map<Gmm, Double> GMMS_INTRASLAB = Map.of(
AG_20_GLOBAL_SLAB, 0.3333,
KBCG_20_GLOBAL_SLAB, 0.3333,
PSBAH_20_GLOBAL_SLAB, 0.3334);
static final Map<Gmm, Double> GMMS_INTRASLAB_PRVI = Map.of(
AG_20_PRVI_SLAB, 0.3333,
KBCG_20_PRVI_SLAB, 0.3333,
PSBAH_20_PRVI_SLAB, 0.3334);
Slab(Imt imt) {
this(imt, NAME);
}
Slab(Imt imt, String name) {
super(imt, name, GMM_MAP, getPrviEpi(SUBDUCTION_SLAB, imt));
this(imt, name, GMMS_INTRASLAB);
}
Slab(Imt imt, String name, Map<Gmm, Double> gmms) {
super(imt, name, gmms, getPrviEpi(SUBDUCTION_SLAB, imt));
}
@Override
......@@ -549,7 +576,7 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel {
static final String NAME = Slab.NAME + " (adjusted)";
SlabAdjusted(Imt imt) {
super(imt, NAME);
super(imt, NAME, GMMS_INTRASLAB_PRVI);
}
@Override
......@@ -565,7 +592,7 @@ public abstract class UsgsPrviBackbone2025 implements GroundMotionModel {
static final String NAME = Slab.NAME + " (adjusted, no epi, NGA sigma)";
SlabAdjustedNoEpiSigmaNga(Imt imt) {
super(imt, NAME);
super(imt, NAME, GMMS_INTRASLAB_PRVI);
}
@Override
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment