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

re-enabled damping sigma flag

parent 1b930b04
No related branches found
No related tags found
1 merge request!253Gulf coast margin zSed handlers and config updates
...@@ -221,6 +221,13 @@ public final class CalcConfig { ...@@ -221,6 +221,13 @@ public final class CalcConfig {
*/ */
public final double gmmDampingRatio; public final double gmmDampingRatio;
/**
* Whether or not {@link GroundMotionModel} (GMM) sigmas are also modified
* according to the Rezaeian et al. (2014) model when applying damping
* scaling factors (DSF).
*/
public final boolean gmmDampingSigma;
/** /**
* Factor by which the aleatory variability (sigma) for all GMMs should be * Factor by which the aleatory variability (sigma) for all GMMs should be
* scaled. * scaled.
...@@ -251,6 +258,7 @@ public final class CalcConfig { ...@@ -251,6 +258,7 @@ public final class CalcConfig {
this.sourceTypes = b.sourceTypes; this.sourceTypes = b.sourceTypes;
this.vs30s = b.vs30s; this.vs30s = b.vs30s;
this.gmmDampingRatio = b.gmmDampingRatio; this.gmmDampingRatio = b.gmmDampingRatio;
this.gmmDampingSigma = b.gmmDampingSigma;
this.gmmSigmaScale = b.gmmSigmaScale; this.gmmSigmaScale = b.gmmSigmaScale;
this.valueFormat = b.valueFormat; this.valueFormat = b.valueFormat;
...@@ -293,6 +301,7 @@ public final class CalcConfig { ...@@ -293,6 +301,7 @@ public final class CalcConfig {
Set<SourceType> sourceTypes; Set<SourceType> sourceTypes;
Set<Double> vs30s; Set<Double> vs30s;
Double gmmDampingRatio; Double gmmDampingRatio;
Boolean gmmDampingSigma;
Double gmmSigmaScale; Double gmmSigmaScale;
ValueFormat valueFormat; ValueFormat valueFormat;
Map<Imt, double[]> customImls; Map<Imt, double[]> customImls;
...@@ -312,6 +321,7 @@ public final class CalcConfig { ...@@ -312,6 +321,7 @@ public final class CalcConfig {
RezaeianDamping_2014.DAMPING_RATIO_RANGE, RezaeianDamping_2014.DAMPING_RATIO_RANGE,
"gmmDampingRatio", "gmmDampingRatio",
gmmDampingRatio); gmmDampingRatio);
checkNotNull(gmmDampingSigma);
checkNotNull(gmmSigmaScale); checkNotNull(gmmSigmaScale);
checkInRange( checkInRange(
Range.closed(0.5, 1.0), Range.closed(0.5, 1.0),
...@@ -330,6 +340,7 @@ public final class CalcConfig { ...@@ -330,6 +340,7 @@ public final class CalcConfig {
this.sourceTypes = that.sourceTypes; this.sourceTypes = that.sourceTypes;
this.vs30s = that.vs30s; this.vs30s = that.vs30s;
this.gmmDampingRatio = that.gmmDampingRatio; this.gmmDampingRatio = that.gmmDampingRatio;
this.gmmDampingSigma = that.gmmDampingSigma;
this.gmmSigmaScale = that.gmmSigmaScale; this.gmmSigmaScale = that.gmmSigmaScale;
this.valueFormat = that.valueFormat; this.valueFormat = that.valueFormat;
this.customImls = that.customImls; this.customImls = that.customImls;
...@@ -357,6 +368,9 @@ public final class CalcConfig { ...@@ -357,6 +368,9 @@ public final class CalcConfig {
if (that.gmmDampingRatio != null) { if (that.gmmDampingRatio != null) {
this.gmmDampingRatio = that.gmmDampingRatio; this.gmmDampingRatio = that.gmmDampingRatio;
} }
if (that.gmmDampingSigma != null) {
this.gmmDampingSigma = that.gmmDampingSigma;
}
if (that.gmmSigmaScale != null) { if (that.gmmSigmaScale != null) {
this.gmmSigmaScale = that.gmmSigmaScale; this.gmmSigmaScale = that.gmmSigmaScale;
} }
......
...@@ -145,7 +145,7 @@ public class RezaeianDamping_2014 { ...@@ -145,7 +145,7 @@ public class RezaeianDamping_2014 {
RezaeianDamping_2014(CalcConfig config) { RezaeianDamping_2014(CalcConfig config) {
dampingRatio = config.hazard.gmmDampingRatio * 100.0; dampingRatio = config.hazard.gmmDampingRatio * 100.0;
updateSigma = false; // config.hazard.gmmDampingSigma; updateSigma = config.hazard.gmmDampingSigma;
} }
/** /**
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
"sourceTypes": [], "sourceTypes": [],
"vs30s": [], "vs30s": [],
"gmmDampingRatio": 0.05, "gmmDampingRatio": 0.05,
"gmmDampingSigma": false,
"gmmSigmaScale": 1.0, "gmmSigmaScale": 1.0,
"valueFormat": "ANNUAL_RATE", "valueFormat": "ANNUAL_RATE",
"customImls": {} "customImls": {}
......
...@@ -136,6 +136,7 @@ class CalcConfigTests { ...@@ -136,6 +136,7 @@ class CalcConfigTests {
assertEquals(EnumSet.noneOf(TectonicSetting.class), def.tectonicSettings); assertEquals(EnumSet.noneOf(TectonicSetting.class), def.tectonicSettings);
assertEquals(EnumSet.noneOf(SourceType.class), def.tectonicSettings); assertEquals(EnumSet.noneOf(SourceType.class), def.tectonicSettings);
assertEquals(0.05, def.gmmDampingRatio); assertEquals(0.05, def.gmmDampingRatio);
assertEquals(false, def.gmmDampingSigma);
assertEquals(ValueFormat.ANNUAL_RATE, def.valueFormat); assertEquals(ValueFormat.ANNUAL_RATE, def.valueFormat);
Map<Imt, XySequence> imlMap = def.modelCurves(); Map<Imt, XySequence> imlMap = def.modelCurves();
...@@ -257,6 +258,7 @@ class CalcConfigTests { ...@@ -257,6 +258,7 @@ class CalcConfigTests {
assertEquals(EnumSet.of(FAULT, ZONE, SLAB), def.sourceTypes); assertEquals(EnumSet.of(FAULT, ZONE, SLAB), def.sourceTypes);
assertEquals(Set.of(260.0, 760.0), def.vs30s); assertEquals(Set.of(260.0, 760.0), def.vs30s);
assertEquals(0.03, def.gmmDampingRatio); assertEquals(0.03, def.gmmDampingRatio);
assertEquals(true, def.gmmDampingSigma);
assertEquals(0.85, def.gmmSigmaScale); assertEquals(0.85, def.gmmSigmaScale);
assertEquals(ValueFormat.POISSON_PROBABILITY, def.valueFormat); assertEquals(ValueFormat.POISSON_PROBABILITY, def.valueFormat);
...@@ -272,6 +274,7 @@ class CalcConfigTests { ...@@ -272,6 +274,7 @@ class CalcConfigTests {
assertEquals(EnumSet.noneOf(SourceType.class), def.tectonicSettings); assertEquals(EnumSet.noneOf(SourceType.class), def.tectonicSettings);
assertEquals(Set.of(), def.vs30s); assertEquals(Set.of(), def.vs30s);
assertEquals(0.05, def.gmmDampingRatio); assertEquals(0.05, def.gmmDampingRatio);
assertEquals(false, def.gmmDampingSigma);
assertEquals(1.0, def.gmmSigmaScale); assertEquals(1.0, def.gmmSigmaScale);
assertEquals(ValueFormat.ANNUAL_RATE, def.valueFormat); assertEquals(ValueFormat.ANNUAL_RATE, def.valueFormat);
} }
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
"sourceTypes": [ "FAULT", "ZONE", "SLAB" ], "sourceTypes": [ "FAULT", "ZONE", "SLAB" ],
"vs30s": [ 260, 760 ], "vs30s": [ 260, 760 ],
"gmmDampingRatio": 0.03, "gmmDampingRatio": 0.03,
"gmmDampingSigma": true,
"gmmSigmaScale": 0.85, "gmmSigmaScale": 0.85,
"valueFormat": "POISSON_PROBABILITY", "valueFormat": "POISSON_PROBABILITY",
"customImls": { "customImls": {
......
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