Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs =================================================================== diff -u -r3251 -r3252 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs (.../OperationalCalculator.cs) (revision 3251) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators/DikesOperational/OperationalCalculator.cs (.../OperationalCalculator.cs) (revision 3252) @@ -125,8 +125,12 @@ foreach (var entry in series.Entries) { var location = locations.First(l => series.LocationId == l.Name); - var designScenario = location.Scenarios[entryIndex]; - designScenario.Location = location; + DesignScenario designScenario = null; + if (location.Scenarios.Count > 0) + { + designScenario = location.Scenarios[entryIndex]; + designScenario.Location = location; + } var sensorValues = values[entry.DateTime][location]; if (!ContainsMissingValues(sensorValues, series.MissVal)) { @@ -241,10 +245,9 @@ // stability where Piping calc is wanted). In that case, do nothing but just skip. if (prepareResult == PrepareResult.Successful) { - CalculationResult calculationResult; PerformOperationalCalculation( kernelWrapper, kernelDataInput, kernelDataOutput, - damKernelInput, timeStepIndex, timeSerieEntry, out calculationResult, + damKernelInput, timeStepIndex, timeSerieEntry, out var calculationResult, calculationMessages); } else @@ -566,11 +569,21 @@ /// The location. private void SynchronizeScenarioDataWithLocationData(DesignScenario designScenario, Location location) { - location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = designScenario.RequiredSafetyFactorStabilityInnerSlope; - location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope = designScenario.RequiredSafetyFactorStabilityOuterSlope; - if (designScenario.DikeTableHeight.HasValue) + if (designScenario != null) { - location.DikeTableHeight = designScenario.DikeTableHeight ?? 0; + location.ModelFactors.RequiredSafetyFactorStabilityInnerSlope = + designScenario.RequiredSafetyFactorStabilityInnerSlope; + location.ModelFactors.RequiredSafetyFactorStabilityOuterSlope = + designScenario.RequiredSafetyFactorStabilityOuterSlope; + location.ModelFactors.UpliftCriterionStability = designScenario.UpliftCriterionStability; + + location.ModelFactors.RequiredSafetyFactorPiping = designScenario.RequiredSafetyFactorPiping; + location.ModelFactors.UpliftCriterionPiping = designScenario.UpliftCriterionPiping; + + if (designScenario.DikeTableHeight.HasValue) + { + location.DikeTableHeight = designScenario.DikeTableHeight ?? 0; + } } } }