Index: dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/MStabXmlDoc.cs =================================================================== diff -u -r683 -r692 --- dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/MStabXmlDoc.cs (.../MStabXmlDoc.cs) (revision 683) +++ dam engine/trunk/src/Deltares.DamEngine.Calculators/KernelWrappers/DamMacroStability/MStabXmlDoc.cs (.../MStabXmlDoc.cs) (revision 692) @@ -162,17 +162,21 @@ currentSurfaceLine = surfaceLine; } - //ToDo zant_xml CreateAllPLLines was changed + //ToDo zant_xml CreateAllPLLines was changed #Bka: I could not quite retrace this to Dam classic but I believe // ToDo zant_mxl I think a Location needs Segments for location.GetMostProbableProfile while creating Pl lines - // failureMechanismeParamatersMStab.PLLines = CreateAllPLLines(scenario.Location, currentSurfaceLine, - // soilProfile, soilGeometry2DName, riverLevelHigh.Value, riverLevelLow); -// SoilProfileType soilProfileType; -// // string tmpSoilGeometry2DName; -// // CalculationHelper.DetermineSoilGeometryType(scenario.Location, out soilProfileType, out tmpSoilGeometry2DName); -// soilProfileType = SoilProfileType.ProfileType1D; -// var waterLevel = 0; // What is the waterlevel? -// failureMechanismeParamatersMStab.PLLines = CalculationHelper.CreateAllPLLines(waterLevel, -// scenario.Location, soilGeometry2DName, soilProfileType); + // #Bka: a location must have a Segment otherwise it is invalid data. + // failureMechanismeParamatersMStab.PLLines = CalculationHelper.CreateAllPLLines(scenario.Location, currentSurfaceLine, + // soilProfile, soilGeometry2DName, riverLevelHigh.Value, riverLevelLow); + // #Bka: if soilGeometry2DName the type must be a sti file (2D) else it must be 1D + SoilProfileType soilProfileType = SoilProfileType.ProfileType1D; + if (string.IsNullOrEmpty(soilGeometry2DName)) + { + soilProfileType = SoilProfileType.ProfileTypeStiFile; + } + + var waterLevel = riverLevelHigh.Value; // What is the waterlevel? #Bka: I believe this must be riverLevelHigh.Value but check with Tom + failureMechanismeParamatersMStab.PLLines = CalculationHelper.CreateAllPLLines(waterLevel, + scenario.Location, soilGeometry2DName, soilProfileType); // End of ToDo zant_xml CreateAllPLLines was changed // Slip circle definition for Uplift Van; TODO: Combine with code in StabilityCalculation @@ -198,11 +202,11 @@ failureMechanismeParamatersMStab.MStabParameters.ProjectFileName = mstabProjectFilename; failureMechanismeParamatersMStab.MStabParameters.SoilDatabaseName = scenario.Location.SoildatabaseName; - //ToDo zant_xml Fails because PLLines are not created yet -// if (!failureMechanismeParamatersMStab.IsComplete) -// { -// throw new Exception("Not all required data is available"); -// } + //ToDo zant_xml Fails because PLLines are not created yet + if (!failureMechanismeParamatersMStab.IsComplete) + { + throw new Exception("Not all required data is available"); + } DamMStabAssembler assembler = new DamMStabAssembler(); XDocument mstabXML = assembler.CreateDataTransferObject(failureMechanismeParamatersMStab);