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); }