Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs =================================================================== diff -u -r1553 -r1554 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 1553) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 1554) @@ -25,6 +25,7 @@ using System.Linq; using Deltares.DamEngine.Data.Design; using Deltares.DamEngine.Data.General; +using Deltares.DamEngine.Data.General.TimeSeries; using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Data.Standard.Logging; @@ -35,6 +36,7 @@ using Soil = Deltares.DamEngine.Io.XmlInput.Soil; using SoilProfile1D = Deltares.DamEngine.Data.Geotechnics.SoilProfile1D; using SoilProfile2D = Deltares.DamEngine.Data.Geotechnics.SoilProfile2D; +using TimeSerie = Deltares.DamEngine.Io.XmlInput.TimeSerie; namespace Deltares.DamEngine.Interface { @@ -79,11 +81,62 @@ TransferSoilProfiles2D(input.SoilProfiles2D, dike.SoilProfiles2D, dike.SoilList); TransferSegments(input.Segments, damProjectData.Segments); TransferLocations(input.ProjectPath ,input.Locations, dike.Locations, dike.SurfaceLines2, damProjectData.Segments); + TransferInputTimeSeries(input.OperationalInputTimeSeries, dike); PostProcess(damProjectData); return damProjectData; } + private static void TransferInputTimeSeries(TimeSerie[] inputOperationalInputTimeSeries, Dike dike) + { + if (inputOperationalInputTimeSeries != null) + { + dike.InputTimeSerieCollection = new TimeSerieCollection(); + foreach (var inputTimeSerie in inputOperationalInputTimeSeries) + { + var timeSerie = dike.InputTimeSerieCollection.AddNewSeries(inputTimeSerie.LocationId); + timeSerie.ParameterId = inputTimeSerie.ParameterId; + timeSerie.ForecastDateTime = inputTimeSerie.ForecastDateTime; + timeSerie.Type = inputTimeSerie.Type; + timeSerie.StartDateTime = inputTimeSerie.StartDateTime; + timeSerie.EndDateTime = inputTimeSerie.EndDateTime; + timeSerie.MissVal = inputTimeSerie.MissVal; + timeSerie.LongName = inputTimeSerie.LongName; + timeSerie.StationName = inputTimeSerie.StationName; + timeSerie.Units = inputTimeSerie.Units; + timeSerie.SourceOrganisation = inputTimeSerie.SourceOrganisation; + timeSerie.SourceSystem = inputTimeSerie.SourceSystem; + timeSerie.FileDescription = inputTimeSerie.FileDescription; + timeSerie.Region = inputTimeSerie.Region; + timeSerie.TimeStep.Multiplier = inputTimeSerie.TimeStep.Multiplier; + timeSerie.TimeStep.Divider = inputTimeSerie.TimeStep.Divider; + timeSerie.TimeStep.MultiplierSpecified = inputTimeSerie.TimeStep.MultiplierSpecified1; + timeSerie.TimeStep.DividerSpecified = inputTimeSerie.TimeStep.DividerSpecified1; + timeSerie.TimeStep.Unit = ConversionHelper.ConvertToTimeStepUnit(inputTimeSerie.TimeStep.TimeStepUnit); + for (int i = 0; i < inputTimeSerie.Entries.TimeSerieEntry.Length; i++) + { + var entry = inputTimeSerie.Entries.TimeSerieEntry[i]; + Stochast stochastValue = new Stochast() + { + Distribution = entry.StochastValue.Distribution, + Mean = entry.StochastValue.Mean, + StandardDeviation = entry.StochastValue.StandardDeviation + }; + TimeSerieEntry timeSerieEntry = new TimeSerieEntry() + { + DateTime = entry.DateTime, + Value = entry.Value, + BasisFileName = entry.BasisFileNameWMF, + Flag = entry.Flagnietechtgebruikt, + RelativeCalculationPathName = entry.RelativeCalculationPathName, + StochastValue = stochastValue + }; + timeSerie.Entries.Add(timeSerieEntry); + } + } + } + } + private static List TransferAquiferSoils(InputAquiferSoil[] inputAquiferSoils, SoilList soilList) { List validationMessages = new List(); @@ -101,7 +154,7 @@ { // If a soil is (wrongly) in the list more than once, then prefer aquifer true. if (aquiferSoil.IsAquifer) - { + { validationMessages.Add(new LogMessage(LogMessageType.Warning, aquiferSoil, string.Format(Resources.DoubleAquiferSoil, aquiferSoil.Soilname))); soilList.AquiferDictionary[soil] = true; }