Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs
===================================================================
diff -u -r1122 -r1156
--- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs (.../FillDamFromXmlInputTests.cs) (revision 1122)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/FillDamFromXmlInputTests.cs (.../FillDamFromXmlInputTests.cs) (revision 1156)
@@ -260,7 +260,17 @@
location.PlLineOffsetBelowDikeToeAtPolder = 1.0 * i + 0.23;
location.HeadPl2 = 1.0 * i + 0.24;
location.HeadPl3 = 1.0 * i + 0.25;
- location.HeadPl4 = 1.0 * i + 0.21;
+ location.HeadPl4 = 1.0 * i + 0.26;
+ // Used for regional assessment
+ location.DikeTableHeight = 1.0 * i + 0.27;
+ location.BoezemLevelHbp = 1.0 * i + 0.28;
+ location.BoezemLevelLbp = 1.0 * i + 0.29;
+ location.BoezemLevelTp = 1.0 * i + 0.30;
+ location.RwBankProtectionBottomLevel = 1.0 * i + 0.31;
+ location.DredgingDepth = 1.0 * i + 0.32;
+ location.DetrimentFactor = 1.0 * i + 0.33;
+ location.DikeMaterialType = SoilType.Loam;
+
location.SurfaceLine = dike.SurfaceLines2[i];
location.Segment = segments[i % 2]; // alternate between the 2 available segments
for (int j = 0; j < 3; j++)
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs
===================================================================
diff -u -r1117 -r1156
--- DamEngine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 1117)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 1156)
@@ -1045,16 +1045,41 @@
///
/// Converts to output RegionalResult Type.
///
- /// The RegionalResultType.
+ /// The RegionalResultType.
///
- public static int ConvertToOutputRegionalResultType(RegionalResultType RegionalResultType)
+ public static int ConvertToOutputRegionalResultType(RegionalResultType regionalResultType)
{
var translationTable = new Dictionary()
{
{RegionalResultType.ProbabilityOfFailure, 0},
{RegionalResultType.SafetyFactor, 1}
};
- return translationTable[RegionalResultType];
+ return translationTable[regionalResultType];
}
+
+ public static SoilType ConvertToSoilType(LocationAssesmentRegionalOptionsDikeMaterialType dikeMaterialType)
+ {
+ var translationTable = new Dictionary()
+ {
+ {LocationAssesmentRegionalOptionsDikeMaterialType.Clay, SoilType.Clay},
+ {LocationAssesmentRegionalOptionsDikeMaterialType.Gravel, SoilType.Gravel},
+ {LocationAssesmentRegionalOptionsDikeMaterialType.Loam, SoilType.Loam},
+ {LocationAssesmentRegionalOptionsDikeMaterialType.Peat, SoilType.Peat},
+ {LocationAssesmentRegionalOptionsDikeMaterialType.Sand, SoilType.Sand}
+ };
+ return translationTable[dikeMaterialType];
+ }
+ public static LocationAssesmentRegionalOptionsDikeMaterialType ConvertToInputSoilType(SoilType soilType)
+ {
+ var translationTable = new Dictionary()
+ {
+ {SoilType.Clay, LocationAssesmentRegionalOptionsDikeMaterialType.Clay},
+ {SoilType.Gravel, LocationAssesmentRegionalOptionsDikeMaterialType.Gravel},
+ {SoilType.Loam, LocationAssesmentRegionalOptionsDikeMaterialType.Loam},
+ {SoilType.Peat, LocationAssesmentRegionalOptionsDikeMaterialType.Peat},
+ {SoilType.Sand, LocationAssesmentRegionalOptionsDikeMaterialType.Sand}
+ };
+ return translationTable[soilType];
+ }
}
}
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs
===================================================================
diff -u -r1089 -r1156
--- DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 1089)
+++ DamEngine/trunk/src/Deltares.DamEngine.Io/DamInput.cs (.../DamInput.cs) (revision 1156)
@@ -307,6 +307,8 @@
private bool xSoilGeometry2DOriginFieldSpecified;
+ private double dikeTableHeightField;
+
///
public LocationAssesmentRegionalOptions AssesmentRegionalOptions {
get {
@@ -463,6 +465,17 @@
this.xSoilGeometry2DOriginFieldSpecified = value;
}
}
+
+ ///
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public double DikeTableHeight {
+ get {
+ return this.dikeTableHeightField;
+ }
+ set {
+ this.dikeTableHeightField = value;
+ }
+ }
}
///
@@ -475,19 +488,20 @@
private LocationAssesmentRegionalOptionsDikeMaterialType dikeMaterialTypeField;
- private double dredgingDepthField;
+ private double boezemLevelLbpField;
- private bool dredgingDepthFieldSpecified;
+ private double boezemLevelTpField;
+ private double boezemLevelHbpField;
+
private double detrimentFactorField;
- private double dikeTableHeightField;
+ private double dredgingDepthField;
- private bool dikeTableHeightFieldSpecified;
+ private double regionalBankProtectionBottomLevelField;
public LocationAssesmentRegionalOptions() {
this.dikeMaterialTypeField = LocationAssesmentRegionalOptionsDikeMaterialType.Clay;
- this.detrimentFactorField = 0.95D;
}
///
@@ -504,29 +518,39 @@
///
[System.Xml.Serialization.XmlAttributeAttribute()]
- public double DredgingDepth {
+ public double BoezemLevelLbp {
get {
- return this.dredgingDepthField;
+ return this.boezemLevelLbpField;
}
set {
- this.dredgingDepthField = value;
+ this.boezemLevelLbpField = value;
}
}
///
- [System.Xml.Serialization.XmlIgnoreAttribute()]
- public bool DredgingDepthSpecified {
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public double BoezemLevelTp {
get {
- return this.dredgingDepthFieldSpecified;
+ return this.boezemLevelTpField;
}
set {
- this.dredgingDepthFieldSpecified = value;
+ this.boezemLevelTpField = value;
}
}
///
[System.Xml.Serialization.XmlAttributeAttribute()]
- [System.ComponentModel.DefaultValueAttribute(0.95D)]
+ public double BoezemLevelHbp {
+ get {
+ return this.boezemLevelHbpField;
+ }
+ set {
+ this.boezemLevelHbpField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlAttributeAttribute()]
public double DetrimentFactor {
get {
return this.detrimentFactorField;
@@ -538,23 +562,23 @@
///
[System.Xml.Serialization.XmlAttributeAttribute()]
- public double DikeTableHeight {
+ public double DredgingDepth {
get {
- return this.dikeTableHeightField;
+ return this.dredgingDepthField;
}
set {
- this.dikeTableHeightField = value;
+ this.dredgingDepthField = value;
}
}
///
- [System.Xml.Serialization.XmlIgnoreAttribute()]
- public bool DikeTableHeightSpecified {
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public double RegionalBankProtectionBottomLevel {
get {
- return this.dikeTableHeightFieldSpecified;
+ return this.regionalBankProtectionBottomLevelField;
}
set {
- this.dikeTableHeightFieldSpecified = value;
+ this.regionalBankProtectionBottomLevelField = value;
}
}
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs
===================================================================
diff -u -r1122 -r1156
--- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 1122)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 1156)
@@ -320,6 +320,17 @@
waternetOptions.Pl1BelowToeDikePolderside = location.PlLineOffsetBelowDikeToeAtPolder;
inputLocation.WaternetOptions = waternetOptions;
+ var assesmentRegionalOptions = new LocationAssesmentRegionalOptions();
+ inputLocation.DikeTableHeight = location.DikeTableHeight;
+ assesmentRegionalOptions.BoezemLevelHbp = location.BoezemLevelHbp;
+ assesmentRegionalOptions.BoezemLevelLbp = location.BoezemLevelLbp;
+ assesmentRegionalOptions.BoezemLevelTp = location.BoezemLevelTp;
+ assesmentRegionalOptions.RegionalBankProtectionBottomLevel = location.RwBankProtectionBottomLevel;
+ assesmentRegionalOptions.DredgingDepth = location.DredgingDepth;
+ assesmentRegionalOptions.DetrimentFactor = location.DetrimentFactor;
+ assesmentRegionalOptions.DikeMaterialType = ConversionHelper.ConvertToInputSoilType(location.DikeMaterialType);
+ inputLocation.AssesmentRegionalOptions = assesmentRegionalOptions;
+
// Design options
var designOptions = new LocationDesignOptions();
if (designOptions != null)
Index: DamEngine/trunk/xsd/DamLocation.xsd
===================================================================
diff -u -r972 -r1156
--- DamEngine/trunk/xsd/DamLocation.xsd (.../DamLocation.xsd) (revision 972)
+++ DamEngine/trunk/xsd/DamLocation.xsd (.../DamLocation.xsd) (revision 1156)
@@ -5,7 +5,7 @@
-
+
@@ -16,9 +16,12 @@
-
-
-
+
+
+
+
+
+
@@ -193,5 +196,6 @@
+
\ No newline at end of file
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/ConversionHelperTests.cs
===================================================================
diff -u -r1117 -r1156
--- DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 1117)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface.Tests/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 1156)
@@ -554,5 +554,27 @@
{
Assert.AreEqual(regionalResultType, ConversionHelper.ConvertToRegionalResultType(outputRegionalResultType));
}
+
+ [Test]
+ [TestCase(SoilType.Clay, LocationAssesmentRegionalOptionsDikeMaterialType.Clay)]
+ [TestCase(SoilType.Gravel, LocationAssesmentRegionalOptionsDikeMaterialType.Gravel)]
+ [TestCase(SoilType.Loam, LocationAssesmentRegionalOptionsDikeMaterialType.Loam)]
+ [TestCase(SoilType.Peat, LocationAssesmentRegionalOptionsDikeMaterialType.Peat)]
+ [TestCase(SoilType.Sand, LocationAssesmentRegionalOptionsDikeMaterialType.Sand)]
+ public void CanConvertToSoilType(LocationAssesmentRegionalOptionsDikeMaterialType dikeMaterialType, SoilType soilType)
+ {
+ Assert.AreEqual(soilType, ConversionHelper.ConvertToSoilType(dikeMaterialType));
+ }
+
+ [Test]
+ [TestCase(LocationAssesmentRegionalOptionsDikeMaterialType.Clay, SoilType.Clay)]
+ [TestCase(LocationAssesmentRegionalOptionsDikeMaterialType.Gravel, SoilType.Gravel)]
+ [TestCase(LocationAssesmentRegionalOptionsDikeMaterialType.Loam, SoilType.Loam)]
+ [TestCase(LocationAssesmentRegionalOptionsDikeMaterialType.Peat, SoilType.Peat)]
+ [TestCase(LocationAssesmentRegionalOptionsDikeMaterialType.Sand, SoilType.Sand)]
+ public void CanConvertToDikeMaterialType(SoilType soilType, LocationAssesmentRegionalOptionsDikeMaterialType dikeMaterialType)
+ {
+ Assert.AreEqual(dikeMaterialType, ConversionHelper.ConvertToInputSoilType(soilType));
+ }
}
}
Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs
===================================================================
diff -u -r1122 -r1156
--- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 1122)
+++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 1156)
@@ -360,6 +360,17 @@
location.PlLineOffsetBelowDikeTopAtPolder = waternetOptions.Pl1BelowCrestPolderside;
location.PlLineOffsetBelowShoulderBaseInside = waternetOptions.Pl1BelowShoulderCrestPolderside;
location.PlLineOffsetBelowDikeToeAtPolder = waternetOptions.Pl1BelowToeDikePolderside;
+ // Regional settings
+ location.DikeTableHeight = inputLocation.DikeTableHeight;
+ var assesmentRegionalOptions = inputLocation.AssesmentRegionalOptions;
+ location.BoezemLevelHbp = assesmentRegionalOptions.BoezemLevelHbp;
+ location.BoezemLevelLbp = assesmentRegionalOptions.BoezemLevelLbp;
+ location.BoezemLevelTp = assesmentRegionalOptions.BoezemLevelTp;
+ location.RwBankProtectionBottomLevel = assesmentRegionalOptions.RegionalBankProtectionBottomLevel;
+ location.DredgingDepth = assesmentRegionalOptions.DredgingDepth;
+ location.DetrimentFactor = assesmentRegionalOptions.DetrimentFactor;
+ location.DikeMaterialType = ConversionHelper.ConvertToSoilType(assesmentRegionalOptions.DikeMaterialType);
+
// Design options
var designOptions = inputLocation.DesignOptions;
if (designOptions != null)