Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs =================================================================== diff -u -r1148 -r1150 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 1148) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityInwards/DamMacroStabilityInwardsKernelWrapper.cs (.../DamMacroStabilityInwardsKernelWrapper.cs) (revision 1150) @@ -69,6 +69,8 @@ // Make sure the gridposition is Right. FailureMechanismParametersMStab.MStabParameters.GridPosition = MStabGridPosition.Right; + // Make sure no riverlevellow is defined, because this will trigger Outside stability code elsewhere + damKernelInput.RiverLevelLow = null; if (damKernelInput.SubSoilScenario.SegmentFailureMechanismType == FailureMechanismSystemType.StabilityInside) { Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs =================================================================== diff -u -r1137 -r1150 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 1137) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesDesign/DesignCalculator.cs (.../DesignCalculator.cs) (revision 1150) @@ -141,7 +141,7 @@ /// The location. private void SynchronizeScenarioDataWithLocationData(DesignScenario designScenario, Location location) { - + // Synchronize PlLine parameters if (designScenario.PlLineOffsetBelowDikeToeAtPolder.HasValue) { location.PlLineOffsetBelowDikeToeAtPolder = designScenario.PlLineOffsetBelowDikeToeAtPolder.Value; @@ -206,6 +206,10 @@ { location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope = designScenario.RequiredSafetyFactorStabilityOuterSlope.Value; } + if (designScenario.DikeTableHeight.HasValue) + { + location.DikeTableHeight = designScenario.DikeTableHeight ?? location.SurfaceLine.GetDefaultDikeTableHeight() ?? 0; + } } private static void PerformSingleCalculation(IKernelWrapper kernelWrapper, IKernelDataInput kernelDataInput, IKernelDataOutput kernelDataOutput, Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/MStabXmlDoc.cs =================================================================== diff -u -r1137 -r1150 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/MStabXmlDoc.cs (.../MStabXmlDoc.cs) (revision 1137) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStabilityCommon/MStabXmlDoc.cs (.../MStabXmlDoc.cs) (revision 1150) @@ -160,12 +160,9 @@ if (failureMechanismParametersMStab.MStabParameters.CalculationOptions.ZonesType.Equals(MStabZonesType.ZoneAreas)) { var dikeTopAtPolder = location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.DikeTopAtPolder); - double? dikeTableHeight = location.SurfaceLine.GetDefaultDikeTableHeight(); - if (!dikeTableHeight.HasValue) - throw new MStabXmlDocException("Surface line has no dike table height."); failureMechanismParametersMStab.MStabParameters.ZoneAreas = new MStabZoneAreas { - DikeTableHeight = dikeTableHeight.Value, + DikeTableHeight = location.DikeTableHeight, SafetyFactorZone1A = requiredSafetyFactor, SafetyFactorZone1B = requiredSafetyFactor, XCoordinateDikeTopAtPolder = dikeTopAtPolder.X, @@ -183,13 +180,6 @@ failureMechanismParametersMStab.MStabParameters.ForbiddenZone = CreateForbiddenZone(location, location.SurfaceLine); } - // Make sure riverlevel is correct with respect to surfaceline - // double? riverLevelLow = null; -// if (failureMechanismParametersMStab.MStabParameters.GridPosition == MStabGridPosition.Left && riverLevelLow.HasValue) -// { -// riverLevelLow = scenario.RiverLevelLow.Value; -// } - // double? riverLevelHigh = scenario.RiverLevel; var surfaceLevelOutside = location.SurfaceLine.CharacteristicPoints.GetGeometryPoint(CharacteristicPointType.SurfaceLevelOutside); if (riverLevelHigh < surfaceLevelOutside.Z) {