Index: DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillDamUiFromXmlOutput.cs =================================================================== diff -u -r6854 -r6855 --- DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillDamUiFromXmlOutput.cs (.../FillDamUiFromXmlOutput.cs) (revision 6854) +++ DamClients/DamUI/trunk/src/DamClientsLibrary/Deltares.Dam.Data/DamEngineIo/FillDamUiFromXmlOutput.cs (.../FillDamUiFromXmlOutput.cs) (revision 6855) @@ -82,9 +82,67 @@ } } + // Transfer output time series + if (output != null && output.Results != null && output.Results.OperationalOutputTimeSeries != null) + { + damProjectData.OutputTimeSerieCollection = new TimeSerieCollection(); + TransferOutputTimeSeries(output.Results.OperationalOutputTimeSeries, damProjectData.OutputTimeSerieCollection); + if (output.Results.OperationalStaticData is { StabilityModel: OperationalStaticDataStabilityModel.Bishop }) + { + TransferOutputTimeSeries(output.Results.OperationalOutputTimeSeries, damProjectData.OutputTimeSerieCollection, TimeSerieParameters.BishopCircleCentreX.ToString()); + TransferOutputTimeSeries(output.Results.OperationalOutputTimeSeries, damProjectData.OutputTimeSerieCollection, TimeSerieParameters.BishopCircleCentreZ.ToString()); + TransferOutputTimeSeries(output.Results.OperationalOutputTimeSeries, damProjectData.OutputTimeSerieCollection, TimeSerieParameters.BishopCircleRadius.ToString()); + } + } + + damProjectData.TransferOutputTimeSerieToLocationJobs(); + return damProjectData; } + private static void TransferOutputTimeSeries(TimeSerieOutput[] outputTimeSeries, TimeSerieCollection outputTimeSerieCollection, string parameterId = "") + { + foreach (TimeSerieOutput outputTimeSerie in outputTimeSeries) + { + TimeSerie timeSerie = outputTimeSerieCollection.AddNewSeries(outputTimeSerie.LocationId); + timeSerie.ParameterId = parameterId == "" ? outputTimeSerie.ParameterId : parameterId; + timeSerie.ForecastDateTime = outputTimeSerie.ForecastDateTime; + timeSerie.StartDateTime = outputTimeSerie.StartDateTime; + timeSerie.EndDateTime = outputTimeSerie.EndDateTime; + timeSerie.MissVal = outputTimeSerie.MissVal; + timeSerie.Units = outputTimeSerie.Units; + for (var i = 0; i < outputTimeSerie.Entries.TimeSerieEntryOutput.Length; i++) + { + TimeSerieOutputEntriesTimeSerieEntryOutput entry = outputTimeSerie.Entries.TimeSerieEntryOutput[i]; + var timeSerieEntry = new TimeSerieEntry + { + DateTime = entry.DateTime + }; + if (parameterId == "") + { + timeSerieEntry.Value = entry.Value; + } + + if (parameterId == TimeSerieParameters.BishopCircleCentreX.ToString()) + { + timeSerieEntry.Value = entry.BishopCalculatedSlipPlane is { Center: not null } ? entry.BishopCalculatedSlipPlane.Center.X : double.NaN; + } + + if (parameterId == TimeSerieParameters.BishopCircleCentreZ.ToString()) + { + timeSerieEntry.Value = entry.BishopCalculatedSlipPlane is { Center: not null } ? entry.BishopCalculatedSlipPlane.Center.Z : double.NaN; + } + + if (parameterId == TimeSerieParameters.BishopCircleRadius.ToString()) + { + timeSerieEntry.Value = entry.BishopCalculatedSlipPlane?.Radius ?? double.NaN; + } + + timeSerie.Entries.Add(timeSerieEntry); + } + } + } + private static void CreateDesignResultsFromOutput(Output output, DamProjectData damProjectData) { if (damProjectData.WaterBoard.Dike != null)