Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationCreateExtensions.cs =================================================================== diff -u -rb4e3629ea2130359117dd403af8db3c8ae0c680b -r0a7243efd3082fb044a4458146f48d255a469a6e --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationCreateExtensions.cs (.../GrassCoverErosionInwardsCalculationCreateExtensions.cs) (revision b4e3629ea2130359117dd403af8db3c8ae0c680b) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsCalculationCreateExtensions.cs (.../GrassCoverErosionInwardsCalculationCreateExtensions.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -88,7 +88,7 @@ entity.CriticalFlowRateMean = input.CriticalFlowRate.Mean.Value.ToNaNAsNull(); entity.CriticalFlowRateStandardDeviation = input.CriticalFlowRate.StandardDeviation.Value.ToNaNAsNull(); entity.Orientation = input.Orientation.Value.ToNaNAsNull(); - entity.CalculateDikeHeight = Convert.ToByte(input.CalculateDikeHeight); + entity.CalculateDikeHeight = Convert.ToByte(input.DikeHeightCalculationType); entity.DikeHeight = input.DikeHeight.Value.ToNaNAsNull(); entity.UseForeshore = Convert.ToByte(input.UseForeshore); } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputEntityReadExtensions.cs =================================================================== diff -u -rfa2d88ba58e524c1d132a21df4e0adf9fa6570c4 -r0a7243efd3082fb044a4458146f48d255a469a6e --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputEntityReadExtensions.cs (.../GrassCoverErosionInwardsOutputEntityReadExtensions.cs) (revision fa2d88ba58e524c1d132a21df4e0adf9fa6570c4) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputEntityReadExtensions.cs (.../GrassCoverErosionInwardsOutputEntityReadExtensions.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -21,6 +21,7 @@ using System; using Application.Ringtoets.Storage.DbContext; +using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Data.Probability; using Ringtoets.GrassCoverErosionInwards.Data; @@ -56,11 +57,13 @@ entity.FactorOfSafety.ToNullAsNaN()); } - private static double? GetDikeHeightValue(GrassCoverErosionInwardsOutputEntity entity) + private static DikeHeightAssessmentOutput GetDikeHeightValue(GrassCoverErosionInwardsOutputEntity entity) { if (Convert.ToBoolean(entity.IsDikeHeightCalculated)) { - return entity.DikeHeight.ToNullAsNaN(); + return new DikeHeightAssessmentOutput(entity.DikeHeight.ToNullAsNaN(), double.NaN, + double.NaN, double.NaN, double.NaN, + CalculationConvergence.NotCalculated); } return null; } Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs =================================================================== diff -u -ra50f8fe4c13956d52e563e1f9e154f1bd186edad -r0a7243efd3082fb044a4458146f48d255a469a6e --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision a50f8fe4c13956d52e563e1f9e154f1bd186edad) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -1464,7 +1464,7 @@ Assert.AreEqual(expectedInput.DikeHeight, actualInput.DikeHeight); Assert.AreEqual(expectedInput.CriticalFlowRate.Mean, actualInput.CriticalFlowRate.Mean); Assert.AreEqual(expectedInput.CriticalFlowRate.StandardDeviation, actualInput.CriticalFlowRate.StandardDeviation); - Assert.AreEqual(expectedInput.CalculateDikeHeight, actualInput.CalculateDikeHeight); + Assert.AreEqual(expectedInput.DikeHeightCalculationType, actualInput.DikeHeightCalculationType); } private static void AssertGrassCoverErosionInwardsOutput(GrassCoverErosionInwardsOutput expectedOutput, Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -r3b31412e43e5ec5fb7f19f1f172a51c85a643455 -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 3b31412e43e5ec5fb7f19f1f172a51c85a643455) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -419,6 +419,51 @@ } /// + /// Looks up a localized string similar to De berekende kans van voorkomen van het berekende resultaat.. + /// + public static string CalculationOutput_CalculatedProbability_Description { + get { + return ResourceManager.GetString("CalculationOutput_CalculatedProbability_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Berekende kans [1/jaar]. + /// + public static string CalculationOutput_CalculatedProbability_DisplayName { + get { + return ResourceManager.GetString("CalculationOutput_CalculatedProbability_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Betrouwbaarheidsindex van de berekende kans van voorkomen van het berekende resultaat.. + /// + public static string CalculationOutput_CalculatedReliability_Description { + get { + return ResourceManager.GetString("CalculationOutput_CalculatedReliability_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Betrouwbaarheidsindex berekende kans [-]. + /// + public static string CalculationOutput_CalculatedReliability_DisplayName { + get { + return ResourceManager.GetString("CalculationOutput_CalculatedReliability_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Convergentie. + /// + public static string CalculationOutput_Convergence_DisplayName { + get { + return ResourceManager.GetString("CalculationOutput_Convergence_DisplayName", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Resultaat. /// public static string CalculationOutput_DisplayName { @@ -428,6 +473,42 @@ } /// + /// Looks up a localized string similar to De ingevoerde kans waarvoor het resultaat moet worden berekend.. + /// + public static string CalculationOutput_TargetProbability_Description { + get { + return ResourceManager.GetString("CalculationOutput_TargetProbability_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Doelkans [1/jaar]. + /// + public static string CalculationOutput_TargetProbability_DisplayName { + get { + return ResourceManager.GetString("CalculationOutput_TargetProbability_DisplayName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Betrouwbaarheidsindex van de ingevoerde kans waarvoor het resultaat moet worden berekend.. + /// + public static string CalculationOutput_TargetReliability_Description { + get { + return ResourceManager.GetString("CalculationOutput_TargetReliability_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Betrouwbaarheidsindex doelkans [-]. + /// + public static string CalculationOutput_TargetReliability_DisplayName { + get { + return ResourceManager.GetString("CalculationOutput_TargetReliability_DisplayName", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Kritieke waarden. /// public static string Categories_CriticalValues { @@ -1147,15 +1228,6 @@ } /// - /// Looks up a localized string similar to Convergentie. - /// - public static string HydraulicBoundaryDatabase_Convergence_DisplayName { - get { - return ResourceManager.GetString("HydraulicBoundaryDatabase_Convergence_DisplayName", resourceCulture); - } - } - - /// /// Looks up a localized string similar to Coördinaten van de hydraulische randvoorwaardenlocatie.. /// public static string HydraulicBoundaryDatabase_Location_Coordinates_Description { @@ -1246,78 +1318,6 @@ } /// - /// Looks up a localized string similar to De berekende kans van voorkomen van het berekende resultaat.. - /// - public static string HydraulicBoundaryLocationOutput_CalculatedProbability_Description { - get { - return ResourceManager.GetString("HydraulicBoundaryLocationOutput_CalculatedProbability_Description", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Berekende kans [1/jaar]. - /// - public static string HydraulicBoundaryLocationOutput_CalculatedProbability_DisplayName { - get { - return ResourceManager.GetString("HydraulicBoundaryLocationOutput_CalculatedProbability_DisplayName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Betrouwbaarheidsindex van de berekende kans van voorkomen van het berekende resultaat.. - /// - public static string HydraulicBoundaryLocationOutput_CalculatedReliability_Description { - get { - return ResourceManager.GetString("HydraulicBoundaryLocationOutput_CalculatedReliability_Description", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Betrouwbaarheidsindex berekende kans [-]. - /// - public static string HydraulicBoundaryLocationOutput_CalculatedReliability_DisplayName { - get { - return ResourceManager.GetString("HydraulicBoundaryLocationOutput_CalculatedReliability_DisplayName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to De ingevoerde kans waarvoor het resultaat moet worden berekend.. - /// - public static string HydraulicBoundaryLocationOutput_TargetProbability_Description { - get { - return ResourceManager.GetString("HydraulicBoundaryLocationOutput_TargetProbability_Description", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Doelkans [1/jaar]. - /// - public static string HydraulicBoundaryLocationOutput_TargetProbability_DisplayName { - get { - return ResourceManager.GetString("HydraulicBoundaryLocationOutput_TargetProbability_DisplayName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Betrouwbaarheidsindex van de ingevoerde kans waarvoor het resultaat moet worden berekend.. - /// - public static string HydraulicBoundaryLocationOutput_TargetReliability_Description { - get { - return ResourceManager.GetString("HydraulicBoundaryLocationOutput_TargetReliability_Description", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Betrouwbaarheidsindex doelkans [-]. - /// - public static string HydraulicBoundaryLocationOutput_TargetReliability_DisplayName { - get { - return ResourceManager.GetString("HydraulicBoundaryLocationOutput_TargetReliability_DisplayName", resourceCulture); - } - } - - /// /// Looks up a localized string similar to Hydraulische randvoorwaardenlocatie. /// public static string HydraulicBoundaryLocationSelectionDialog_Location_Name { Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx =================================================================== diff -u -r3b31412e43e5ec5fb7f19f1f172a51c85a643455 -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 3b31412e43e5ec5fb7f19f1f172a51c85a643455) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -478,7 +478,7 @@ Naam - + Convergentie @@ -871,28 +871,28 @@ Bovengrens - + De berekende kans van voorkomen van het berekende resultaat. - + Berekende kans [1/jaar] - + Betrouwbaarheidsindex van de berekende kans van voorkomen van het berekende resultaat. - + Betrouwbaarheidsindex berekende kans [-] - + De ingevoerde kans waarvoor het resultaat moet worden berekend. - + Doelkans [1/jaar] - + Betrouwbaarheidsindex van de ingevoerde kans waarvoor het resultaat moet worden berekend. - + Betrouwbaarheidsindex doelkans [-] \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Service/RingtoetsCommonDataCalculationService.cs =================================================================== diff -u -r156905122b0418d66d2c405abe5bb49e9acefd93 -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/Common/src/Ringtoets.Common.Service/RingtoetsCommonDataCalculationService.cs (.../RingtoetsCommonDataCalculationService.cs) (revision 156905122b0418d66d2c405abe5bb49e9acefd93) +++ Ringtoets/Common/src/Ringtoets.Common.Service/RingtoetsCommonDataCalculationService.cs (.../RingtoetsCommonDataCalculationService.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -48,7 +48,7 @@ /// Gets the reqiured probability which is needed in profile specific calculations. /// /// The assessment section norm. - /// Tha failure mechanism contribution + /// The failure mechanism contribution /// the 'N' parameter used to factor in the 'length effect'. /// The profile specific required probability. /// Thrown when Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/RingtoetsCommonDataCalculationServiceTest.cs =================================================================== diff -u -re182f6f394aa75e739467a77e7bcacd9a8b25429 -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/Common/test/Ringtoets.Common.Service.Test/RingtoetsCommonDataCalculationServiceTest.cs (.../RingtoetsCommonDataCalculationServiceTest.cs) (revision e182f6f394aa75e739467a77e7bcacd9a8b25429) +++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/RingtoetsCommonDataCalculationServiceTest.cs (.../RingtoetsCommonDataCalculationServiceTest.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -19,6 +19,8 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using Core.Common.TestUtil; using Core.Common.Utils; using NUnit.Framework; using Ringtoets.Common.Data.Hydraulics; @@ -56,5 +58,52 @@ // Assert Assert.AreEqual(CalculationConvergence.CalculatedNotConverged, calculationConverged); } + + [Test] + public void ProfileSpecificRequiredProbability_WithValidParameters_ReturnSpecificProbability() + { + // Setup + const double norm = 1.0/200; + const double contribution = 10; + const int n = 2; + + // Call + double probability = RingtoetsCommonDataCalculationService.ProfileSpecificRequiredProbability(norm, contribution, n); + + // Assert + Assert.AreEqual(0.00025, probability); + } + + [Test] + public void ProfileSpecificRequiredProbability_WithZeroContribution_ThrowsArgumentException() + { + // Setup + const double norm = 1.0/200; + const double contribution = 0; + const int n = 2; + + // Call + TestDelegate action = () => RingtoetsCommonDataCalculationService.ProfileSpecificRequiredProbability(norm, contribution, n); + + // Assert + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(action, + "De bijdrage van dit toetsspoor is nul. Daardoor is de doorsnede-eis onbepaald en kunnen de berekeningen niet worden uitgevoerd."); + } + + [Test] + public void ProfileSpecificRequiredProbability_WithZeroN_ThrowsArgumentException() + { + // Setup + const double norm = 1.0/200; + const double contribution = 10; + const int n = 0; + + // Call + TestDelegate action = () => RingtoetsCommonDataCalculationService.ProfileSpecificRequiredProbability(norm, contribution, n); + + // Assert + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(action, + "De N-waarde van dit toetsspoor is nul. Daardoor is de doorsnede-eis onbepaald en kunnen de berekeningen niet worden uitgevoerd."); + } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/DikeHeightAssessmentOutput.cs =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/DikeHeightAssessmentOutput.cs (revision 0) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/DikeHeightAssessmentOutput.cs (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -0,0 +1,109 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using Core.Common.Base.Data; +using Ringtoets.Common.Data.Hydraulics; +using RingtoetsCommonDataResources = Ringtoets.Common.Data.Properties.Resources; + +namespace Ringtoets.GrassCoverErosionInwards.Data +{ + /// + /// This class contains the result a dike height calculation. + /// + public class DikeHeightAssessmentOutput + { + /// + /// Creates a new instance of . + /// + /// The calculation result. + /// The norm used during the calculation. + /// The reliability index used during the calculation. + /// the calculated probability. + /// The calculated reliability. + /// The convergence status of the calculation. + /// Thrown when + /// or falls outside the [0.0, 1.0] range and is not . + public DikeHeightAssessmentOutput(double result, double targetProbability, double targetReliability, + double calculatedProbability, double calculatedReliability, + CalculationConvergence calculationConvergence) + { + if (!IsValidProbability(targetProbability)) + { + throw new ArgumentOutOfRangeException("targetProbability", targetProbability, + RingtoetsCommonDataResources.Probability_Must_be_in_range_zero_to_one); + } + if (!IsValidProbability(calculatedProbability)) + { + throw new ArgumentOutOfRangeException("calculatedProbability", calculatedProbability, + RingtoetsCommonDataResources.Probability_Must_be_in_range_zero_to_one); + } + + Result = new RoundedDouble(2, result); + + TargetProbability = targetProbability; + TargetReliability = new RoundedDouble(5, targetReliability); + CalculatedProbability = calculatedProbability; + CalculatedReliability = new RoundedDouble(5, calculatedReliability); + CalculationConvergence = calculationConvergence; + } + + /// + /// Gets the result of the calculation. + /// + public RoundedDouble Result { get; private set; } + + /// + /// Gets the target probability. + /// [1/year] + /// + public double TargetProbability { get; private set; } + + /// + /// Gets the target beta. + /// [-] + /// + public RoundedDouble TargetReliability { get; private set; } + + /// + /// Gets the calculated probability. + /// [1/year] + /// + public double CalculatedProbability { get; private set; } + + /// + /// Gets the calculated reliability. + /// [-] + /// + public RoundedDouble CalculatedReliability { get; private set; } + + /// + /// Gets the convergence status of the calculation. + /// [-] + /// + public CalculationConvergence CalculationConvergence { get; private set; } + + private static bool IsValidProbability(double probability) + { + return double.IsNaN(probability) || (0.0 <= probability && probability <= 1.0); + } + } +} \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsOutput.cs =================================================================== diff -u -r11f0867b39150ae5fac83dc178a89fee46d27611 -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsOutput.cs (.../GrassCoverErosionInwardsOutput.cs) (revision 11f0867b39150ae5fac83dc178a89fee46d27611) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsOutput.cs (.../GrassCoverErosionInwardsOutput.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -31,22 +31,22 @@ /// public class GrassCoverErosionInwardsOutput : Observable, ICalculationOutput { - private readonly double? dikeHeight; - /// /// Creates a new instance of . /// /// The calculated wave height. /// The value indicating whether overtopping was dominant in the calculation. /// The probabilistic assessment output based on the grass cover erosion /// inwards calculation output. - /// The calculated dike height. - public GrassCoverErosionInwardsOutput(double waveHeight, bool isOvertoppingDominant, ProbabilityAssessmentOutput probabilityAssessmentOutput, double? dikeHeight) + /// The calculated dike height. + public GrassCoverErosionInwardsOutput(double waveHeight, bool isOvertoppingDominant, + ProbabilityAssessmentOutput probabilityAssessmentOutput, + DikeHeightAssessmentOutput dikeHeightAssessmentOutput) { IsOvertoppingDominant = isOvertoppingDominant; WaveHeight = new RoundedDouble(2, waveHeight); ProbabilityAssessmentOutput = probabilityAssessmentOutput; - this.dikeHeight = dikeHeight; + DikeHeightAssessmentOutput = dikeHeightAssessmentOutput; } /// @@ -67,7 +67,9 @@ { get { - return new RoundedDouble(2, dikeHeight ?? double.NaN); + return DikeHeightAssessmentOutput == null + ? RoundedDouble.NaN + : DikeHeightAssessmentOutput.Result; } } @@ -78,7 +80,7 @@ { get { - return dikeHeight != null; + return DikeHeightAssessmentOutput != null; } } @@ -87,5 +89,7 @@ /// inwards calculation output. /// public ProbabilityAssessmentOutput ProbabilityAssessmentOutput { get; private set; } + + public DikeHeightAssessmentOutput DikeHeightAssessmentOutput { get; set; } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/Ringtoets.GrassCoverErosionInwards.Data.csproj =================================================================== diff -u -r156905122b0418d66d2c405abe5bb49e9acefd93 -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/Ringtoets.GrassCoverErosionInwards.Data.csproj (.../Ringtoets.GrassCoverErosionInwards.Data.csproj) (revision 156905122b0418d66d2c405abe5bb49e9acefd93) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/Ringtoets.GrassCoverErosionInwards.Data.csproj (.../Ringtoets.GrassCoverErosionInwards.Data.csproj) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -39,6 +39,7 @@ Properties\GlobalAssembly.cs + Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -rf419c811044695e9a3a7dd9729d9e25d3705a67a -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision f419c811044695e9a3a7dd9729d9e25d3705a67a) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -109,6 +109,15 @@ } /// + /// Looks up a localized string similar to HBN. + /// + public static string Categories_DikeHeight_Result { + get { + return ResourceManager.GetString("Categories_DikeHeight_Result", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Indicatieve golfhoogte. /// public static string Categories_Indicative_WaveHeight { @@ -199,6 +208,15 @@ } /// + /// Looks up a localized string similar to Is convergentie bereikt in de HBN berekening?. + /// + public static string DikeHeightAssessmentOutput_Convergence_Description { + get { + return ResourceManager.GetString("DikeHeightAssessmentOutput_Convergence_Description", resourceCulture); + } + } + + /// /// Looks up a localized string similar to De schematisatie van het dijkprofiel.. /// public static string DikeProfile_Description { Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.resx =================================================================== diff -u -rf419c811044695e9a3a7dd9729d9e25d3705a67a -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.resx (.../Resources.resx) (revision f419c811044695e9a3a7dd9729d9e25d3705a67a) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/Properties/Resources.resx (.../Resources.resx) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -219,4 +219,10 @@ Selecteer dijkprofielen + + HBN + + + Is convergentie bereikt in de HBN berekening? + \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/GrassCoverErosionInwardsOutputProperties.cs =================================================================== diff -u -r9a196c8bc554a2e97ff094d7ffb2e99c42eb04fd -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/GrassCoverErosionInwardsOutputProperties.cs (.../GrassCoverErosionInwardsOutputProperties.cs) (revision 9a196c8bc554a2e97ff094d7ffb2e99c42eb04fd) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/GrassCoverErosionInwardsOutputProperties.cs (.../GrassCoverErosionInwardsOutputProperties.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -19,11 +19,15 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.ComponentModel; using Core.Common.Base.Data; using Core.Common.Gui.Attributes; using Core.Common.Gui.PropertyBag; +using Core.Common.Utils; using Core.Common.Utils.Attributes; +using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Forms.Helpers; +using Ringtoets.Common.Forms.TypeConverters; using Ringtoets.GrassCoverErosionInwards.Data; using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; using GrassCoverErosionInwardsFormsResources = Ringtoets.GrassCoverErosionInwards.Forms.Properties.Resources; @@ -35,6 +39,14 @@ /// public class GrassCoverErosionInwardsOutputProperties : ObjectProperties { + [DynamicVisibleValidationMethod] + public bool DynamicVisibleValidationMethod(string propertyName) + { + return data.DikeHeightAssessmentOutput != null; + } + + #region GrassCoverErosionInwards result + [PropertyOrder(1)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "ProbabilityAssessmentOutput_RequiredProbability_Displayname")] @@ -95,6 +107,10 @@ } } + #endregion + + #region Indicative wave height + [PropertyOrder(6)] [ResourcesCategory(typeof(GrassCoverErosionInwardsFormsResources), "Categories_Indicative_WaveHeight")] [ResourcesDisplayName(typeof(GrassCoverErosionInwardsFormsResources), "GrassCoverErosionInwardsOutput_WaveHeight_Displayname")] @@ -119,9 +135,13 @@ } } + #endregion + + #region Dike height + [PropertyOrder(8)] [DynamicVisible] - [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] + [ResourcesCategory(typeof(GrassCoverErosionInwardsFormsResources), "Categories_DikeHeight_Result")] [ResourcesDisplayName(typeof(GrassCoverErosionInwardsFormsResources), "GrassCoverErosionInwardsOutput_DikeHeight_DisplayName")] [ResourcesDescription(typeof(GrassCoverErosionInwardsFormsResources), "GrassCoverErosionInwardsOutput_DikeHeight_Description")] public RoundedDouble DikeHeight @@ -132,10 +152,82 @@ } } - [DynamicVisibleValidationMethod] - public bool DynamicVisibleValidationMethod(string propertyName) + [PropertyOrder(9)] + [DynamicVisible] + [ResourcesCategory(typeof(GrassCoverErosionInwardsFormsResources), "Categories_DikeHeight_Result")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetProbability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetProbability_Description")] + [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] + public double TargetProbability { - return data.DikeHeightCalculated; + get + { + DikeHeightAssessmentOutput output = data.DikeHeightAssessmentOutput; + return output == null ? double.NaN : output.TargetProbability; + } } + + [PropertyOrder(10)] + [DynamicVisible] + [ResourcesCategory(typeof(GrassCoverErosionInwardsFormsResources), "Categories_DikeHeight_Result")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetReliability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetReliability_Description")] + [TypeConverter(typeof(NoValueRoundedDoubleConverter))] + public RoundedDouble TargetReliability + { + get + { + DikeHeightAssessmentOutput output = data.DikeHeightAssessmentOutput; + return output != null ? output.TargetReliability : RoundedDouble.NaN; + } + } + + [PropertyOrder(11)] + [DynamicVisible] + [ResourcesCategory(typeof(GrassCoverErosionInwardsFormsResources), "Categories_DikeHeight_Result")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedProbability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedProbability_Description")] + [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] + public double CalculatedProbability + { + get + { + DikeHeightAssessmentOutput output = data.DikeHeightAssessmentOutput; + return output == null ? double.NaN : output.CalculatedProbability; + } + } + + [PropertyOrder(12)] + [DynamicVisible] + [ResourcesCategory(typeof(GrassCoverErosionInwardsFormsResources), "Categories_DikeHeight_Result")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedReliability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedReliability_Description")] + [TypeConverter(typeof(NoValueRoundedDoubleConverter))] + public RoundedDouble CalculatedReliability + { + get + { + DikeHeightAssessmentOutput output = data.DikeHeightAssessmentOutput; + return output != null ? output.CalculatedReliability : RoundedDouble.NaN; + } + } + + [PropertyOrder(13)] + [DynamicVisible] + [ResourcesCategory(typeof(GrassCoverErosionInwardsFormsResources), "Categories_DikeHeight_Result")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_Convergence_DisplayName")] + [ResourcesDescription(typeof(GrassCoverErosionInwardsFormsResources), "DikeHeightAssessmentOutput_Convergence_Description")] + public string Convergence + { + get + { + DikeHeightAssessmentOutput output = data.DikeHeightAssessmentOutput; + return new EnumDisplayWrapper(output != null + ? output.CalculationConvergence + : CalculationConvergence.NotCalculated).DisplayName; + } + } + + #endregion } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationService.cs =================================================================== diff -u -r156905122b0418d66d2c405abe5bb49e9acefd93 -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationService.cs (.../GrassCoverErosionInwardsCalculationService.cs) (revision 156905122b0418d66d2c405abe5bb49e9acefd93) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationService.cs (.../GrassCoverErosionInwardsCalculationService.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -23,10 +23,12 @@ using System.IO; using System.Linq; using Core.Common.Base.IO; +using Core.Common.Utils; using log4net; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.DikeProfiles; using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.IO.HydraRing; using Ringtoets.Common.Service; using Ringtoets.GrassCoverErosionInwards.Data; @@ -120,7 +122,7 @@ overtoppingCalculator = HydraRingCalculatorFactory.Instance.CreateOvertoppingCalculator(hlcdDirectory, assessmentSection.Id); var overtoppingCalculationInput = CreateOvertoppingInput(calculation, failureMechanismSection, generalInput, hydraulicBoundaryDatabaseFilePath); - double? dikeHeight = null; + DikeHeightAssessmentOutput dikeHeight = null; try { @@ -136,7 +138,7 @@ var dikeHeightCalculationInput = CreateDikeHeightInput(calculation, norm, failureMechanismSection, generalInput, hydraulicBoundaryDatabaseFilePath); CalculateDikeHeight(dikeHeightCalculationInput, calculationName); - dikeHeight = dikeHeightCalculator.DikeHeight; + dikeHeight = CreateDikeHeightAssessmentOutput(calculationName, dikeHeightCalculationInput.Beta, norm); } if (!canceled) @@ -158,6 +160,27 @@ } } + private DikeHeightAssessmentOutput CreateDikeHeightAssessmentOutput(string calculationName, + double targetReliability, + double targetProbability) + { + var dikeHeight = dikeHeightCalculator.DikeHeight; + var reliability = dikeHeightCalculator.ReliabilityIndex; + var probability = StatisticsConverter.ReliabilityToProbability(reliability); + + CalculationConvergence converged = RingtoetsCommonDataCalculationService.CalculationConverged( + dikeHeightCalculator.ReliabilityIndex, targetProbability); + + if (converged != CalculationConvergence.CalculatedConverged) + { + log.Warn(string.Format(Resources.GrassCoverErosionInwardsCalculationService_DikeHeight_calculation_for_calculation_0_not_converged, calculationName)); + } + + return new DikeHeightAssessmentOutput(dikeHeight, targetProbability, + targetReliability, probability, reliability, + converged); + } + private static double GetProbabilityToUse(double assessmentSectionnorm, GeneralGrassCoverErosionInwardsInput generalInput, double failureMechanismContribution, DikeHeightCalculationType calculateDikeHeight) { Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Properties/Resources.Designer.cs =================================================================== diff -u -r2b26e7134b3918e67f8b23a6db3f90fad0d4f12e -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 2b26e7134b3918e67f8b23a6db3f90fad0d4f12e) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -22,7 +22,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.17929 +// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -162,5 +162,15 @@ "rary_directory_can_be_found_on_location_0", resourceCulture); } } + + /// + /// Looks up a localized string similar to De HBN berekening voor grasbekleding erosie kruin en binnentalud '{0}' is niet geconvergeerd.. + /// + internal static string GrassCoverErosionInwardsCalculationService_DikeHeight_calculation_for_calculation_0_not_converged { + get { + return ResourceManager.GetString("GrassCoverErosionInwardsCalculationService_DikeHeight_calculation_for_calculation" + + "_0_not_converged", resourceCulture); + } + } } } Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Properties/Resources.resx =================================================================== diff -u -r2b26e7134b3918e67f8b23a6db3f90fad0d4f12e -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Properties/Resources.resx (.../Resources.resx) (revision 2b26e7134b3918e67f8b23a6db3f90fad0d4f12e) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Properties/Resources.resx (.../Resources.resx) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -143,4 +143,7 @@ De HBN berekening voor grasbekleding erosie kruin en binnentalud '{0}' is niet gelukt. Bekijk het foutrapport door op details te klikken. {1} + + De HBN berekening voor grasbekleding erosie kruin en binnentalud '{0}' is niet geconvergeerd. + \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Ringtoets.GrassCoverErosionInwards.Service.csproj =================================================================== diff -u -re182f6f394aa75e739467a77e7bcacd9a8b25429 -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Ringtoets.GrassCoverErosionInwards.Service.csproj (.../Ringtoets.GrassCoverErosionInwards.Service.csproj) (revision e182f6f394aa75e739467a77e7bcacd9a8b25429) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Ringtoets.GrassCoverErosionInwards.Service.csproj (.../Ringtoets.GrassCoverErosionInwards.Service.csproj) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -59,6 +59,11 @@ Core.Common.Base False + + {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98} + Core.Common.Utils + False + {d4200f43-3f72-4f42-af0a-8ced416a38ec} Ringtoets.Common.Data Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/DikeHeightAssessmentOutputTest.cs =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/DikeHeightAssessmentOutputTest.cs (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/DikeHeightAssessmentOutputTest.cs (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -0,0 +1,104 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using NUnit.Framework; +using Ringtoets.Common.Data.Hydraulics; +using Ringtoets.Common.Data.TestUtil; + +namespace Ringtoets.GrassCoverErosionInwards.Data.Test +{ + [TestFixture] + public class DikeHeightAssessmentOutputTest + { + [Test] + public void Constructor_InvalidTargetProbability_ThrowsArgumentOutOfRangeException( + [Random(1)] double result, + [Values(-0.01, 1.01)] double targetProbability, + [Random(1)] double targetReliability, + [Random(1)] double calculatedProbability, + [Random(1)] double calculatedReliability, + [Values(CalculationConvergence.CalculatedNotConverged, CalculationConvergence.CalculatedConverged, + CalculationConvergence.NotCalculated)] CalculationConvergence convergence) + { + // Call + TestDelegate call = () => new DikeHeightAssessmentOutput(result, targetProbability, + targetReliability, + calculatedProbability, + calculatedReliability, + convergence); + + // Assert + ArgumentOutOfRangeException exception = Assert.Throws(call); + Assert.AreEqual("targetProbability", exception.ParamName); + StringAssert.Contains("Kans moet in het bereik [0, 1] liggen.", exception.Message); + } + + [Test] + public void Constructor_InvalidCalculatedProbability_ThrowsArgumentOutOfRangeException( + [Random(1)] double result, + [Random(1)] double targetProbability, + [Random(1)] double targetReliability, + [Values(-0.01, 1.01)] double calculatedProbability, + [Random(1)] double calculatedReliability, + [Values(CalculationConvergence.CalculatedNotConverged, CalculationConvergence.CalculatedConverged, + CalculationConvergence.NotCalculated)] CalculationConvergence convergence) + { + // Call + TestDelegate call = () => new DikeHeightAssessmentOutput(result, targetProbability, + targetReliability, + calculatedProbability, + calculatedReliability, + convergence); + + // Assert + ArgumentOutOfRangeException exception = Assert.Throws(call); + Assert.AreEqual("calculatedProbability", exception.ParamName); + StringAssert.Contains("Kans moet in het bereik [0, 1] liggen.", exception.Message); + } + + [Test] + public void Constructor_ValidInput_ExpectedProperties( + [Random(1)] double result, + [Random(1)] double targetProbability, + [Random(1)] double targetReliability, + [Random(1)] double calculatedProbability, + [Random(1)] double calculatedReliability, + [Values(CalculationConvergence.CalculatedNotConverged, CalculationConvergence.CalculatedConverged, + CalculationConvergence.NotCalculated)] CalculationConvergence convergence) + { + // Call + var output = new DikeHeightAssessmentOutput(result, targetProbability, + targetReliability, + calculatedProbability, + calculatedReliability, + convergence); + + // Assert + Assert.AreEqual(result, output.Result, output.Result.GetAccuracy()); + Assert.AreEqual(targetProbability, output.TargetProbability); + Assert.AreEqual(targetReliability, output.TargetReliability, output.TargetReliability.GetAccuracy()); + Assert.AreEqual(calculatedProbability, output.CalculatedProbability); + Assert.AreEqual(calculatedReliability, output.CalculatedReliability, output.CalculatedReliability.GetAccuracy()); + Assert.AreEqual(convergence, output.CalculationConvergence); + } + } +} \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/Ringtoets.GrassCoverErosionInwards.Data.Test.csproj =================================================================== diff -u -re182f6f394aa75e739467a77e7bcacd9a8b25429 -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/Ringtoets.GrassCoverErosionInwards.Data.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Data.Test.csproj) (revision e182f6f394aa75e739467a77e7bcacd9a8b25429) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/Ringtoets.GrassCoverErosionInwards.Data.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Data.Test.csproj) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -53,6 +53,7 @@ Properties\GlobalAssembly.cs + Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsDesignWaterLevelLocationContextProperties.cs =================================================================== diff -u -rd0996c2eb38e607698ffe7f57e6e1847f8550a8f -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsDesignWaterLevelLocationContextProperties.cs (.../GrassCoverErosionOutwardsDesignWaterLevelLocationContextProperties.cs) (revision d0996c2eb38e607698ffe7f57e6e1847f8550a8f) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsDesignWaterLevelLocationContextProperties.cs (.../GrassCoverErosionOutwardsDesignWaterLevelLocationContextProperties.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -81,8 +81,8 @@ [PropertyOrder(5)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetProbability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetProbability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetProbability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetProbability_Description")] [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] public double TargetProbability { @@ -95,8 +95,8 @@ [PropertyOrder(6)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetReliability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetReliability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetReliability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetReliability_Description")] [TypeConverter(typeof(NoValueRoundedDoubleConverter))] public RoundedDouble TargetReliability { @@ -109,8 +109,8 @@ [PropertyOrder(7)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedProbability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedProbability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedProbability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedProbability_Description")] [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] public double CalculatedProbability { @@ -123,8 +123,8 @@ [PropertyOrder(8)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedReliability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedReliability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedReliability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedReliability_Description")] [TypeConverter(typeof(NoValueRoundedDoubleConverter))] public RoundedDouble CalculatedReliability { @@ -137,7 +137,7 @@ [PropertyOrder(9)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryDatabase_Convergence_DisplayName")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_Convergence_DisplayName")] [ResourcesDescription(typeof(Resources), "GrassCoverErosionOutwardsHydraulicBoundaryLocation_Convergence_DesignWaterLevel_Description")] public string Convergence { Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsWaveHeightLocationContextProperties.cs =================================================================== diff -u -rd0996c2eb38e607698ffe7f57e6e1847f8550a8f -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsWaveHeightLocationContextProperties.cs (.../GrassCoverErosionOutwardsWaveHeightLocationContextProperties.cs) (revision d0996c2eb38e607698ffe7f57e6e1847f8550a8f) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Forms/PropertyClasses/GrassCoverErosionOutwardsWaveHeightLocationContextProperties.cs (.../GrassCoverErosionOutwardsWaveHeightLocationContextProperties.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -81,8 +81,8 @@ [PropertyOrder(5)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetProbability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetProbability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetProbability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetProbability_Description")] [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] public double TargetProbability { @@ -95,8 +95,8 @@ [PropertyOrder(6)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetReliability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetReliability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetReliability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetReliability_Description")] [TypeConverter(typeof(NoValueRoundedDoubleConverter))] public RoundedDouble TargetReliability { @@ -109,8 +109,8 @@ [PropertyOrder(7)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedProbability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedProbability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedProbability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedProbability_Description")] [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] public double CalculatedProbability { @@ -123,8 +123,8 @@ [PropertyOrder(8)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedReliability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedReliability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedReliability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedReliability_Description")] [TypeConverter(typeof(NoValueRoundedDoubleConverter))] public RoundedDouble CalculatedReliability { @@ -137,7 +137,7 @@ [PropertyOrder(9)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryDatabase_Convergence_DisplayName")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_Convergence_DisplayName")] [ResourcesDescription(typeof(Resources), "GrassCoverErosionOutwardsHydraulicBoundaryLocation_Convergence_WaveHeight_Description")] public string Convergence { Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/DikeHeightCalculator.cs =================================================================== diff -u -reb5faa58e3d91d44faf0d7544fa0c33be54c0c4a -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/DikeHeightCalculator.cs (.../DikeHeightCalculator.cs) (revision eb5faa58e3d91d44faf0d7544fa0c33be54c0c4a) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/DikeHeightCalculator.cs (.../DikeHeightCalculator.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -47,10 +47,13 @@ targetProbabilityParser = new ReliabilityIndexCalculationParser(); DikeHeight = double.NaN; + ReliabilityIndex = double.NaN; } public double DikeHeight { get; private set; } + public double ReliabilityIndex { get; private set; } + public void Calculate(DikeHeightCalculationInput input) { Calculate(HydraRingUncertaintiesType.All, input); @@ -66,6 +69,7 @@ if (targetProbabilityParser.Output != null) { DikeHeight = targetProbabilityParser.Output.Result; + ReliabilityIndex = targetProbabilityParser.Output.CalculatedReliabilityIndex; } } } Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IDikeHeightCalculator.cs =================================================================== diff -u -rbc9c19b950e12688f8f97a659af2f2cd3295956a -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IDikeHeightCalculator.cs (.../IDikeHeightCalculator.cs) (revision bc9c19b950e12688f8f97a659af2f2cd3295956a) +++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IDikeHeightCalculator.cs (.../IDikeHeightCalculator.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -35,6 +35,11 @@ double DikeHeight { get; } /// + /// Gets the reliability index + /// + double ReliabilityIndex { get; } + + /// /// Gets the temporary output directory that is generated during the Hydra-Ring calculation. /// string OutputDirectory { get; } Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -r3b31412e43e5ec5fb7f19f1f172a51c85a643455 -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 3b31412e43e5ec5fb7f19f1f172a51c85a643455) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -382,15 +382,6 @@ } /// - /// Looks up a localized string similar to Convergentie. - /// - public static string HydraulicBoundaryDatabase_Convergence_DisplayName { - get { - return ResourceManager.GetString("HydraulicBoundaryDatabase_Convergence_DisplayName", resourceCulture); - } - } - - /// /// Looks up a localized string similar to Is convergentie bereikt in de golfhoogte berekening?. /// public static string HydraulicBoundaryDatabase_Convergence_WaveHeight_Description { Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.resx =================================================================== diff -u -r3b31412e43e5ec5fb7f19f1f172a51c85a643455 -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.resx (.../Resources.resx) (revision 3b31412e43e5ec5fb7f19f1f172a51c85a643455) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Properties/Resources.resx (.../Resources.resx) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -273,9 +273,6 @@ Is convergentie bereikt in de golfhoogte berekening? - - Convergentie - Berekend toetspeil. Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/DesignWaterLevelLocationContextProperties.cs =================================================================== diff -u -rd0996c2eb38e607698ffe7f57e6e1847f8550a8f -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/DesignWaterLevelLocationContextProperties.cs (.../DesignWaterLevelLocationContextProperties.cs) (revision d0996c2eb38e607698ffe7f57e6e1847f8550a8f) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/DesignWaterLevelLocationContextProperties.cs (.../DesignWaterLevelLocationContextProperties.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -79,8 +79,8 @@ [PropertyOrder(5)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetProbability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetProbability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetProbability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetProbability_Description")] [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] public double TargetProbability { @@ -93,8 +93,8 @@ [PropertyOrder(6)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetReliability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetReliability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetReliability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetReliability_Description")] [TypeConverter(typeof(NoValueRoundedDoubleConverter))] public RoundedDouble TargetReliability { @@ -107,8 +107,8 @@ [PropertyOrder(7)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedProbability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedProbability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedProbability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedProbability_Description")] [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] public double CalculatedProbability { @@ -121,8 +121,8 @@ [PropertyOrder(8)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedReliability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedReliability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedReliability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedReliability_Description")] [TypeConverter(typeof(NoValueRoundedDoubleConverter))] public RoundedDouble CalculatedReliability { @@ -135,7 +135,7 @@ [PropertyOrder(9)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryDatabase_Convergence_DisplayName")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_Convergence_DisplayName")] [ResourcesDescription(typeof(Resources), "HydraulicBoundaryDatabase_Convergence_DesignWaterLevel_Description")] public string Convergence { Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/WaveHeightLocationContextProperties.cs =================================================================== diff -u -rd0996c2eb38e607698ffe7f57e6e1847f8550a8f -r0a7243efd3082fb044a4458146f48d255a469a6e --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/WaveHeightLocationContextProperties.cs (.../WaveHeightLocationContextProperties.cs) (revision d0996c2eb38e607698ffe7f57e6e1847f8550a8f) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/WaveHeightLocationContextProperties.cs (.../WaveHeightLocationContextProperties.cs) (revision 0a7243efd3082fb044a4458146f48d255a469a6e) @@ -79,8 +79,8 @@ [PropertyOrder(5)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetProbability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetProbability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetProbability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetProbability_Description")] [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] public double TargetProbability { @@ -93,8 +93,8 @@ [PropertyOrder(6)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetReliability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_TargetReliability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetReliability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_TargetReliability_Description")] [TypeConverter(typeof(NoValueRoundedDoubleConverter))] public RoundedDouble TargetReliability { @@ -107,8 +107,8 @@ [PropertyOrder(7)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedProbability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedProbability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedProbability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedProbability_Description")] [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] public double CalculatedProbability { @@ -121,8 +121,8 @@ [PropertyOrder(8)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedReliability_DisplayName")] - [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "HydraulicBoundaryLocationOutput_CalculatedReliability_Description")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedReliability_DisplayName")] + [ResourcesDescription(typeof(RingtoetsCommonFormsResources), "CalculationOutput_CalculatedReliability_Description")] [TypeConverter(typeof(NoValueRoundedDoubleConverter))] public RoundedDouble CalculatedReliability { @@ -135,7 +135,7 @@ [PropertyOrder(9)] [ResourcesCategory(typeof(RingtoetsCommonFormsResources), "Categories_Result")] - [ResourcesDisplayName(typeof(Resources), "HydraulicBoundaryDatabase_Convergence_DisplayName")] + [ResourcesDisplayName(typeof(RingtoetsCommonFormsResources), "CalculationOutput_Convergence_DisplayName")] [ResourcesDescription(typeof(Resources), "HydraulicBoundaryDatabase_Convergence_WaveHeight_Description")] public string Convergence {