Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationService.cs =================================================================== diff -u -r874233bdb7814bef40b639e0fb4d26a0b86616a0 -r93e96c4586825f59d3f8b8789c67ebdaa4d1a42d --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationService.cs (.../GrassCoverErosionInwardsCalculationService.cs) (revision 874233bdb7814bef40b639e0fb4d26a0b86616a0) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationService.cs (.../GrassCoverErosionInwardsCalculationService.cs) (revision 93e96c4586825f59d3f8b8789c67ebdaa4d1a42d) @@ -261,15 +261,23 @@ generalInput.CriticalOvertoppingModelFactor, generalInput.FbFactor.Mean, generalInput.FbFactor.StandardDeviation, + generalInput.FbFactor.LowerBoundary, + generalInput.FbFactor.UpperBoundary, generalInput.FnFactor.Mean, generalInput.FnFactor.StandardDeviation, + generalInput.FnFactor.LowerBoundary, + generalInput.FnFactor.UpperBoundary, generalInput.OvertoppingModelFactor, calculation.InputParameters.CriticalFlowRate.Mean, calculation.InputParameters.CriticalFlowRate.StandardDeviation, generalInput.FrunupModelFactor.Mean, generalInput.FrunupModelFactor.StandardDeviation, + generalInput.FrunupModelFactor.LowerBoundary, + generalInput.FrunupModelFactor.UpperBoundary, generalInput.FshallowModelFactor.Mean, - generalInput.FshallowModelFactor.StandardDeviation); + generalInput.FshallowModelFactor.StandardDeviation, + generalInput.FshallowModelFactor.LowerBoundary, + generalInput.FshallowModelFactor.UpperBoundary); HydraRingSettingsDatabaseHelper.AssignSettingsFromDatabase(overtoppingCalculationInput, hydraulicBoundaryDatabaseFilePath); Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Overtopping/OvertoppingCalculationInput.cs =================================================================== diff -u -r365b392c739a678d44c4d0de3c8cb8c3e0684229 -r93e96c4586825f59d3f8b8789c67ebdaa4d1a42d --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Overtopping/OvertoppingCalculationInput.cs (.../OvertoppingCalculationInput.cs) (revision 365b392c739a678d44c4d0de3c8cb8c3e0684229) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Data/Input/Overtopping/OvertoppingCalculationInput.cs (.../OvertoppingCalculationInput.cs) (revision 93e96c4586825f59d3f8b8789c67ebdaa4d1a42d) @@ -36,14 +36,22 @@ private readonly double modelFactorCriticalOvertopping; private readonly double factorFbMean; private readonly double factorFbStandardDeviation; + private readonly double factorFbLowerBoundary; + private readonly double factorFbUpperBoundary; private readonly double factorFnMean; private readonly double factorFnStandardDeviation; + private readonly double factorFnLowerBoundary; + private readonly double factorFnUpperBoundary; private readonly double modelFactorOvertopping; private readonly double criticalOvertoppingMean; private readonly double criticalOvertoppingStandardDeviation; private readonly double modelFactorFrunupStandardDeviation; + private readonly double modelFactorFrunupLowerBoundary; + private readonly double modelFactorFrunupUpperBoundary; private readonly double modelFactorFrunupMean; private readonly double exponentModelFactorShallowStandardDeviation; + private readonly double exponentModelFactorShallowLowerBoundary; + private readonly double exponentModelFactorShallowUpperBoundary; private readonly double exponentModelFactorShallowMean; /// @@ -58,27 +66,39 @@ /// The model factor critical overtopping. /// The mean of the factor Fb /// The standard deviation of the factor Fb. + /// The lower boundary of the factor Fb. + /// The upper boundary of the factor Fb. /// The mean of the factor Fn. - /// The standard deviation of the factor Fn. + /// The standard deviation of the factor Fn. + /// The lower boundary of the factor Fn. + /// The upper boundary of the factor Fn. /// The factor overtopping. /// The mean of the critical overtopping. /// The standard deviation of the critical overtopping. /// The mean of the factor frunup. /// The standard deviation of the factor frunup. + /// Thw lower boundary of the factor frunup. + /// Thw upper boundary of the factor frunup. /// The mean of the exponent model factor shallow. /// The standard deviation of the exponent model factor shallow. + /// Thw lower boundary of the exponent model factor shallow. + /// Thw upper boundary of the exponent model factor shallow. public OvertoppingCalculationInput(long hydraulicBoundaryLocationId, HydraRingSection section, IEnumerable profilePoints, IEnumerable forelandPoints, HydraRingBreakWater breakWater, double dikeHeight, double modelFactorCriticalOvertopping, double factorFbMean, double factorFbStandardDeviation, + double factorFbLowerBoundary, double factorFbUpperBoundary, double factorFnMean, double factorFnStandardDeviation, + double factorFnLowerBoundary, double factorFnUpperBoundary, double modelFactorOvertopping, double criticalOvertoppingMean, double criticalOvertoppingStandardDeviation, double modelFactorFrunupMean, double modelFactorFrunupStandardDeviation, - double exponentModelFactorShallowMean, double exponentModelFactorShallowStandardDeviation) + double modelFactorFrunupLowerBoundary, double modelFactorFrunupUpperBoundary, + double exponentModelFactorShallowMean, double exponentModelFactorShallowStandardDeviation, + double exponentModelFactorShallowLowerBoundary, double exponentModelFactorShallowUpperBoundary) : base(hydraulicBoundaryLocationId) { this.section = section; @@ -89,13 +109,21 @@ this.modelFactorCriticalOvertopping = modelFactorCriticalOvertopping; this.factorFbMean = factorFbMean; this.factorFbStandardDeviation = factorFbStandardDeviation; + this.factorFbLowerBoundary = factorFbLowerBoundary; + this.factorFbUpperBoundary = factorFbUpperBoundary; this.factorFnMean = factorFnMean; this.factorFnStandardDeviation = factorFnStandardDeviation; + this.factorFnLowerBoundary = factorFnLowerBoundary; + this.factorFnUpperBoundary = factorFnUpperBoundary; this.modelFactorOvertopping = modelFactorOvertopping; this.modelFactorFrunupMean = modelFactorFrunupMean; this.modelFactorFrunupStandardDeviation = modelFactorFrunupStandardDeviation; + this.modelFactorFrunupLowerBoundary = modelFactorFrunupLowerBoundary; + this.modelFactorFrunupUpperBoundary = modelFactorFrunupUpperBoundary; this.exponentModelFactorShallowMean = exponentModelFactorShallowMean; this.exponentModelFactorShallowStandardDeviation = exponentModelFactorShallowStandardDeviation; + this.exponentModelFactorShallowLowerBoundary = exponentModelFactorShallowLowerBoundary; + this.exponentModelFactorShallowUpperBoundary = exponentModelFactorShallowUpperBoundary; this.criticalOvertoppingMean = criticalOvertoppingMean; this.criticalOvertoppingStandardDeviation = criticalOvertoppingStandardDeviation; } @@ -130,12 +158,17 @@ { yield return new DeterministicHydraRingVariable(1, dikeHeight); yield return new DeterministicHydraRingVariable(8, modelFactorCriticalOvertopping); - yield return new NormalHydraRingVariable(10, HydraRingDeviationType.Standard, factorFbMean, factorFbStandardDeviation); - yield return new NormalHydraRingVariable(11, HydraRingDeviationType.Standard, factorFnMean, factorFnStandardDeviation); + yield return new TruncatedNormalHydraRingVariable(10, HydraRingDeviationType.Standard, factorFbMean, factorFbStandardDeviation, + factorFbLowerBoundary, factorFbUpperBoundary); + yield return new TruncatedNormalHydraRingVariable(11, HydraRingDeviationType.Standard, factorFnMean, factorFnStandardDeviation, + factorFnLowerBoundary, factorFnUpperBoundary); yield return new DeterministicHydraRingVariable(12, modelFactorOvertopping); yield return new LogNormalHydraRingVariable(17, HydraRingDeviationType.Standard, criticalOvertoppingMean, criticalOvertoppingStandardDeviation); - yield return new NormalHydraRingVariable(120, HydraRingDeviationType.Standard, modelFactorFrunupMean, modelFactorFrunupStandardDeviation); - yield return new NormalHydraRingVariable(123, HydraRingDeviationType.Standard, exponentModelFactorShallowMean, exponentModelFactorShallowStandardDeviation); + yield return new TruncatedNormalHydraRingVariable(120, HydraRingDeviationType.Standard, modelFactorFrunupMean, modelFactorFrunupStandardDeviation, + modelFactorFrunupLowerBoundary, modelFactorFrunupUpperBoundary); + yield return new TruncatedNormalHydraRingVariable(123, HydraRingDeviationType.Standard, exponentModelFactorShallowMean, + exponentModelFactorShallowStandardDeviation, exponentModelFactorShallowLowerBoundary, + exponentModelFactorShallowUpperBoundary); } } Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Overtopping/OvertoppingCalculationInputTest.cs =================================================================== diff -u -r365b392c739a678d44c4d0de3c8cb8c3e0684229 -r93e96c4586825f59d3f8b8789c67ebdaa4d1a42d --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Overtopping/OvertoppingCalculationInputTest.cs (.../OvertoppingCalculationInputTest.cs) (revision 365b392c739a678d44c4d0de3c8cb8c3e0684229) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Data/Input/Overtopping/OvertoppingCalculationInputTest.cs (.../OvertoppingCalculationInputTest.cs) (revision 93e96c4586825f59d3f8b8789c67ebdaa4d1a42d) @@ -43,15 +43,24 @@ const double modelFactorCriticalOvertopping = 2.2; const double factorFbMean = 3.3; const double factorFbStandardDeviation = 4.4; + const double factorFbLowerBoundary = 14.4; + const double factorFbUpperBoundary = 15.5; const double factorFnMean = 5.5; const double factorFnStandardDeviation = 6.6; + const double factorFnLowerBoundary = 16.6; + const double factorFnUpperBoundary = 17.7; const double modelFactorOvertopping = 7.7; const double criticalOvertoppingMean = 8.8; const double criticalOvertoppingStandardDeviation = 9.9; const double modelFactorFrunupMean = 10.0; const double modelFactorFrunupStandardDeviation = 11.1; + const double modelFactorFrunupLowerBoundary = 18.8; + const double modelFactorFrunupUpperBoundary = 19.9; const double exponentModelFactorShallowMean = 12.2; const double exponentModelFactorShallowStandardDeviation = 13.3; + const double exponentModelFactorShallowLowerBoundary = 20.0; + const double exponentModelFactorShallowUpperBoundary = 21.1; + var expectedRingProfilePoints = new List { new HydraRingRoughnessProfilePoint(1.1, 2.2, 3.3) @@ -69,11 +78,15 @@ dikeHeight, modelFactorCriticalOvertopping, factorFbMean, factorFbStandardDeviation, + factorFbLowerBoundary, factorFbUpperBoundary, factorFnMean, factorFnStandardDeviation, + factorFnLowerBoundary, factorFnUpperBoundary, modelFactorOvertopping, criticalOvertoppingMean, criticalOvertoppingStandardDeviation, modelFactorFrunupMean, modelFactorFrunupStandardDeviation, - exponentModelFactorShallowMean, exponentModelFactorShallowStandardDeviation); + modelFactorFrunupLowerBoundary, modelFactorFrunupUpperBoundary, + exponentModelFactorShallowMean, exponentModelFactorShallowStandardDeviation, + exponentModelFactorShallowLowerBoundary, exponentModelFactorShallowUpperBoundary); // Assert const int expectedCalculationTypeId = 1; @@ -109,7 +122,8 @@ new List(), new List(), new HydraRingBreakWater(0, 1.1), - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14); + 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22); // Assert Assert.AreEqual(expectedSubMechanismModelId, overtoppingCalculationInput.GetSubMechanismModelId(subMechanismModelId)); @@ -119,12 +133,12 @@ { yield return new DeterministicHydraRingVariable(1, 1.1); yield return new DeterministicHydraRingVariable(8, 2.2); - yield return new NormalHydraRingVariable(10, HydraRingDeviationType.Standard, 3.3, 4.4); - yield return new NormalHydraRingVariable(11, HydraRingDeviationType.Standard, 5.5, 6.6); + yield return new TruncatedNormalHydraRingVariable(10, HydraRingDeviationType.Standard, 3.3, 4.4, 14.4, 15.5); + yield return new TruncatedNormalHydraRingVariable(11, HydraRingDeviationType.Standard, 5.5, 6.6, 16.6, 17.7); yield return new DeterministicHydraRingVariable(12, 7.7); yield return new LogNormalHydraRingVariable(17, HydraRingDeviationType.Standard, 8.8, 9.9); - yield return new NormalHydraRingVariable(120, HydraRingDeviationType.Standard, 10.0, 11.1); - yield return new NormalHydraRingVariable(123, HydraRingDeviationType.Standard, 12.2, 13.3); + yield return new TruncatedNormalHydraRingVariable(120, HydraRingDeviationType.Standard, 10.0, 11.1, 18.8, 19.9); + yield return new TruncatedNormalHydraRingVariable(123, HydraRingDeviationType.Standard, 12.2, 13.3, 20.0, 21.1); } } } \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Integration/HydraRingConfigurationServiceIntegrationTest.cs =================================================================== diff -u -r24e18b63dccdb718dac61c69cc55289553cbaa47 -r93e96c4586825f59d3f8b8789c67ebdaa4d1a42d --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Integration/HydraRingConfigurationServiceIntegrationTest.cs (.../HydraRingConfigurationServiceIntegrationTest.cs) (revision 24e18b63dccdb718dac61c69cc55289553cbaa47) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Integration/HydraRingConfigurationServiceIntegrationTest.cs (.../HydraRingConfigurationServiceIntegrationTest.cs) (revision 93e96c4586825f59d3f8b8789c67ebdaa4d1a42d) @@ -222,15 +222,23 @@ const double modelFactorCriticalOvertopping = 5.5; const double factorFbMean = 6.6; const double factorFbStandardDeviation = 7.7; + const double factorFbLowerBoundary = 17.7; + const double factorFbUpperBoundary = 18.8; const double factorFnMean = 8.8; const double factorFnStandardDeviation = 9.9; + const double factorFnLowerBoundary = 19.9; + const double factorFnUpperBoundary = 20.0; const double modelFactorOvertopping = 10.10; const double criticalOvertoppingMean = 11.11; const double criticalOvertoppingStandardDeviation = 12.12; const double modelFactorFrunupMean = 13.13; const double modelFactorFrunupStandardDeviation = 14.14; + const double modelFactorFrunupLowerBoundary = 21.1; + const double modelFactorFrunupUpperBoundary = 22.2; const double exponentModelFactorShallowMean = 15.15; const double exponentModelFactorShallowStandardDeviation = 16.16; + const double exponentModelFactorShallowLowerBoundary = 23.3; + const double exponentModelFactorShallowUpperBoundary = 24.4; var profilePoints = new List { new HydraRingRoughnessProfilePoint(1.1, 2.2, 3.3) @@ -249,11 +257,15 @@ dikeHeight, modelFactorCriticalOvertopping, factorFbMean, factorFbStandardDeviation, + factorFbLowerBoundary, factorFbUpperBoundary, factorFnMean, factorFnStandardDeviation, + factorFnLowerBoundary, factorFnUpperBoundary, modelFactorOvertopping, criticalOvertoppingMean, criticalOvertoppingStandardDeviation, modelFactorFrunupMean, modelFactorFrunupStandardDeviation, - exponentModelFactorShallowMean, exponentModelFactorShallowStandardDeviation) + modelFactorFrunupLowerBoundary, modelFactorFrunupUpperBoundary, + exponentModelFactorShallowMean, exponentModelFactorShallowStandardDeviation, + exponentModelFactorShallowLowerBoundary, exponentModelFactorShallowUpperBoundary) { DesignTablesSetting = new DesignTablesSetting(17.17, 18.18), NumericsSettings = new Dictionary @@ -287,12 +299,12 @@ "DELETE FROM [VariableDatas];" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 1, 4.4, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 8, 5.5, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + - "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 10, 0, 2, 6.6, 7.7, NULL, NULL, 1, 0, 300);" + Environment.NewLine + - "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 11, 0, 2, 8.8, 9.9, NULL, NULL, 1, 0, 300);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 10, 0, 19, 6.6, 7.7, 17.7, 18.8, 1, 0, 300);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 11, 0, 19, 8.8, 9.9, 19.9, 20, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 12, 10.1, 0, 0, NULL, NULL, NULL, 1, 0, 300);" + Environment.NewLine + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 17, 0, 4, 11.11, 12.12, NULL, NULL, 1, 0, 300);" + Environment.NewLine + - "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 120, 0, 2, 13.13, 14.14, NULL, NULL, 1, 0, 300);" + Environment.NewLine + - "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 123, 0, 2, 15.15, 16.16, NULL, NULL, 1, 0, 300);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 120, 0, 19, 13.13, 14.14, 21.1, 22.2, 1, 0, 300);" + Environment.NewLine + + "INSERT INTO [VariableDatas] VALUES (1, 101, 1, 1, 123, 0, 19, 15.15, 16.16, 23.3, 24.4, 1, 0, 300);" + Environment.NewLine + Environment.NewLine + "DELETE FROM [CalculationProfiles];" + Environment.NewLine + "INSERT INTO [CalculationProfiles] VALUES (1, 1, 1.1, 2.2, 3.3);" + Environment.NewLine +