Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs =================================================================== diff -u -r1405 -r1554 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 1405) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 1554) @@ -24,6 +24,7 @@ using System.IO; using System.Linq; using Deltares.DamEngine.Data.General; +using Deltares.DamEngine.Data.General.TimeSeries; using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Interface.Properties; using Deltares.DamEngine.Io.XmlInput; @@ -81,9 +82,68 @@ input.Segments = new Io.XmlInput.Segment[damProjectData.Segments.Count]; TransferSegments(damProjectData.Segments, input.Segments); } + if (dike.InputTimeSerieCollection != null) + { + input.OperationalInputTimeSeries = new Io.XmlInput.TimeSerie[dike.InputTimeSerieCollection.Series.Count]; + TransferInputTimeSeries(dike.InputTimeSerieCollection, input.OperationalInputTimeSeries); + } return input; } + private static void TransferInputTimeSeries(TimeSerieCollection inputTimeSerieCollection, Io.XmlInput.TimeSerie[] operationalInputTimeSeries) + { + int timeSerieIndex = 0; + foreach (var timeSerie in inputTimeSerieCollection.Series) + { + Io.XmlInput.TimeSerie inputTimeSerie = new Io.XmlInput.TimeSerie(); + inputTimeSerie.Entries = new TimeSerieEntries(); + inputTimeSerie.Entries.TimeSerieEntry = new TimeSerieEntriesTimeSerieEntry[timeSerie.Entries.Count]; + inputTimeSerie.TimeStep = new TimeSerieTimeStep(); + inputTimeSerie.LocationId = timeSerie.LocationId; + inputTimeSerie.ParameterId = timeSerie.ParameterId; + inputTimeSerie.ForecastDateTime = timeSerie.ForecastDateTime; + inputTimeSerie.Type = timeSerie.Type; + inputTimeSerie.StartDateTime = timeSerie.StartDateTime; + inputTimeSerie.EndDateTime = timeSerie.EndDateTime; + inputTimeSerie.MissVal = timeSerie.MissVal; + inputTimeSerie.LongName = timeSerie.LongName; + inputTimeSerie.StationName = timeSerie.StationName; + inputTimeSerie.Units = timeSerie.Units; + inputTimeSerie.SourceOrganisation = timeSerie.SourceOrganisation; + inputTimeSerie.SourceSystem = timeSerie.SourceSystem; + inputTimeSerie.FileDescription = timeSerie.FileDescription; + inputTimeSerie.Region = timeSerie.Region; + inputTimeSerie.TimeStep.Multiplier = timeSerie.TimeStep.Multiplier; + inputTimeSerie.TimeStep.Divider = timeSerie.TimeStep.Divider; + inputTimeSerie.TimeStep.MultiplierSpecified1 = timeSerie.TimeStep.MultiplierSpecified; + inputTimeSerie.TimeStep.DividerSpecified1 = timeSerie.TimeStep.DividerSpecified; + inputTimeSerie.TimeStep.TimeStepUnit = ConversionHelper.ConvertToInputTimeStepUnit(timeSerie.TimeStep.Unit); + int timeSerieEntryIndex = 0; + foreach (var timestepEntry in timeSerie.Entries) + { + TimeSerieEntriesTimeSerieEntryStochastValue stochastValue = new TimeSerieEntriesTimeSerieEntryStochastValue() + { + Distribution = timestepEntry.StochastValue.Distribution, + Mean = timestepEntry.StochastValue.Mean, + StandardDeviation = timestepEntry.StochastValue.StandardDeviation + }; + TimeSerieEntriesTimeSerieEntry timeStep = new TimeSerieEntriesTimeSerieEntry() + { + DateTime = timestepEntry.DateTime, + Value = timestepEntry.Value, + BasisFileNameWMF = timestepEntry.BasisFileName, + Flagnietechtgebruikt = timestepEntry.Flag, + RelativeCalculationPathName = timestepEntry.RelativeCalculationPathName, + StochastValue = stochastValue + }; + inputTimeSerie.Entries.TimeSerieEntry[timeSerieEntryIndex] = timeStep; + timeSerieEntryIndex++; + } + operationalInputTimeSeries[timeSerieIndex] = inputTimeSerie; + timeSerieIndex++; + } + } + private static void TransferAquiferSoils(Dictionary aquiferDictionary, Input input) { InputAquiferSoil[] aquiferSoils;