Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationService.cs
===================================================================
diff -u -r150366ef474f9522b3af857c29e3eac484910700 -rdf02e9274a94d8763da204833a4d93f984e242c6
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationService.cs (.../GrassCoverErosionInwardsCalculationService.cs) (revision 150366ef474f9522b3af857c29e3eac484910700)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsCalculationService.cs (.../GrassCoverErosionInwardsCalculationService.cs) (revision df02e9274a94d8763da204833a4d93f984e242c6)
@@ -66,12 +66,13 @@
/// The id of the ring to perform the calculation for.
/// Calculation input parameters that apply to all instances.
/// A on a successful calculation, null otherwise.
- internal static ExceedanceProbabilityCalculationOutput Calculate(GrassCoverErosionInwardsCalculation calculation,
+ internal static GrassCoverErosionInwardsCalculationServiceOutput Calculate(GrassCoverErosionInwardsCalculation calculation,
string hlcdDirectory, FailureMechanismSection failureMechanismSection,
string ringId, GeneralGrassCoverErosionInwardsInput generalInput)
{
OvertoppingCalculationInput input = CreateInput(calculation, failureMechanismSection, generalInput);
var exceedanceProbabilityCalculationParser = new ExceedanceProbabilityCalculationParser();
+ var waveHeightCalculationParser = new WaveHeightCalculationParser();
CalculationServiceHelper.PerformCalculation(
calculation.Name,
@@ -83,20 +84,29 @@
HydraRingTimeIntegrationSchemeType.FerryBorgesCastanheta,
HydraRingUncertaintiesType.All,
input,
- new[]
+ new IHydraRingFileParser[]
{
- exceedanceProbabilityCalculationParser
+ exceedanceProbabilityCalculationParser,
+ waveHeightCalculationParser
});
- VerifyOutput(exceedanceProbabilityCalculationParser.Output, calculation.Name);
+ VerifyOutput(exceedanceProbabilityCalculationParser.Output, waveHeightCalculationParser.Output, calculation.Name);
});
- return exceedanceProbabilityCalculationParser.Output;
+ if (exceedanceProbabilityCalculationParser.Output == null || waveHeightCalculationParser.Output == null)
+ {
+ return null;
+ }
+
+ return new GrassCoverErosionInwardsCalculationServiceOutput(
+ exceedanceProbabilityCalculationParser.Output.Beta,
+ waveHeightCalculationParser.Output.WaveHeight,
+ waveHeightCalculationParser.Output.IsOvertoppingDominant);
}
- private static void VerifyOutput(ExceedanceProbabilityCalculationOutput output, string name)
+ private static void VerifyOutput(ExceedanceProbabilityCalculationOutput exceedanceOutput, WaveHeightCalculationOutput waveHeightOutput, string name)
{
- if (output == null)
+ if (exceedanceOutput == null || waveHeightOutput == null)
{
log.ErrorFormat(Resources.GrassCoverErosionInwardsCalculationService_Calculate_Error_in_grass_cover_erosion_inwards_0_calculation, name);
}