Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlCommon.cs =================================================================== diff -u --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlCommon.cs (revision 0) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlCommon.cs (revision 1559) @@ -0,0 +1,80 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of the Dam Engine. +// +// The Dam Engine is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using Deltares.DamEngine.Data.General.TimeSeries; +using TimeSerie = Deltares.DamEngine.Io.XmlInput.TimeSerie; + +namespace Deltares.DamEngine.Interface +{ + public class FillDamFromXmlCommon + { + /// + /// Transfers the time series from xml data to Dam data. + /// + /// The input operational input time series. + /// The dike input time serie collection. + public static void TransferTimeSeries(TimeSerie[] timeSeries, TimeSerieCollection timeSerieCollection) + { + foreach (var timeSerie in timeSeries) + { + var damTimeSerie = timeSerieCollection.AddNewSeries(timeSerie.LocationId); + damTimeSerie.ParameterId = timeSerie.ParameterId; + damTimeSerie.ForecastDateTime = timeSerie.ForecastDateTime; + damTimeSerie.Type = timeSerie.Type; + damTimeSerie.StartDateTime = timeSerie.StartDateTime; + damTimeSerie.EndDateTime = timeSerie.EndDateTime; + damTimeSerie.MissVal = timeSerie.MissVal; + damTimeSerie.LongName = timeSerie.LongName; + damTimeSerie.StationName = timeSerie.StationName; + damTimeSerie.Units = timeSerie.Units; + damTimeSerie.SourceOrganisation = timeSerie.SourceOrganisation; + damTimeSerie.SourceSystem = timeSerie.SourceSystem; + damTimeSerie.FileDescription = timeSerie.FileDescription; + damTimeSerie.Region = timeSerie.Region; + damTimeSerie.TimeStep.Multiplier = timeSerie.TimeStep.Multiplier; + damTimeSerie.TimeStep.Divider = timeSerie.TimeStep.Divider; + damTimeSerie.TimeStep.MultiplierSpecified = timeSerie.TimeStep.MultiplierSpecified1; + damTimeSerie.TimeStep.DividerSpecified = timeSerie.TimeStep.DividerSpecified1; + damTimeSerie.TimeStep.Unit = ConversionHelper.ConvertToTimeStepUnit(timeSerie.TimeStep.TimeStepUnit); + for (int i = 0; i < timeSerie.Entries.TimeSerieEntry.Length; i++) + { + var entry = timeSerie.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 + }; + damTimeSerie.Entries.Add(timeSerieEntry); + } + } + } + } +} Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs =================================================================== diff -u -r1554 -r1559 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 1554) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlInputFromDam.cs (.../FillXmlInputFromDam.cs) (revision 1559) @@ -85,64 +85,11 @@ if (dike.InputTimeSerieCollection != null) { input.OperationalInputTimeSeries = new Io.XmlInput.TimeSerie[dike.InputTimeSerieCollection.Series.Count]; - TransferInputTimeSeries(dike.InputTimeSerieCollection, input.OperationalInputTimeSeries); + FillXmlFromDamCommon.TransferTimeSeries(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) { Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/Properties/AssemblyInfo.cs =================================================================== diff -u -r882 -r1559 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/Properties/AssemblyInfo.cs (.../AssemblyInfo.cs) (revision 882) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/Properties/AssemblyInfo.cs (.../AssemblyInfo.cs) (revision 1559) @@ -1,4 +1,25 @@ -using System.Reflection; +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of the Dam Engine. +// +// The Dam Engine is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Reflection; using System.Runtime.InteropServices; [assembly: AssemblyTitle("Deltares.DamEngine.Interface")] Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs =================================================================== diff -u -r1554 -r1559 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 1554) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlInput.cs (.../FillDamFromXmlInput.cs) (revision 1559) @@ -81,61 +81,16 @@ 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); + if (input.OperationalInputTimeSeries != null) + { + dike.InputTimeSerieCollection = new TimeSerieCollection(); + FillDamFromXmlCommon.TransferTimeSeries(input.OperationalInputTimeSeries, dike.InputTimeSerieCollection); + } 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) { Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlFromDamCommon.cs =================================================================== diff -u --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlFromDamCommon.cs (revision 0) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlFromDamCommon.cs (revision 1559) @@ -0,0 +1,88 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of the Dam Engine. +// +// The Dam Engine is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using Deltares.DamEngine.Data.General.TimeSeries; +using Deltares.DamEngine.Io.XmlInput; + +namespace Deltares.DamEngine.Interface +{ + public class FillXmlFromDamCommon + { + /// + /// Transfers the time series from Dam data to Xml data. + /// + /// The input time serie collection. + /// The operational input time series. + public static void TransferTimeSeries(TimeSerieCollection timeSerieCollection, Io.XmlInput.TimeSerie[] timeSeries) + { + int timeSerieIndex = 0; + foreach (var damTimeSerie in timeSerieCollection.Series) + { + var timeSerie = new Io.XmlInput.TimeSerie(); + timeSerie.Entries = new TimeSerieEntries(); + timeSerie.Entries.TimeSerieEntry = new TimeSerieEntriesTimeSerieEntry[damTimeSerie.Entries.Count]; + timeSerie.TimeStep = new TimeSerieTimeStep(); + timeSerie.LocationId = damTimeSerie.LocationId; + timeSerie.ParameterId = damTimeSerie.ParameterId; + timeSerie.ForecastDateTime = damTimeSerie.ForecastDateTime; + timeSerie.Type = damTimeSerie.Type; + timeSerie.StartDateTime = damTimeSerie.StartDateTime; + timeSerie.EndDateTime = damTimeSerie.EndDateTime; + timeSerie.MissVal = damTimeSerie.MissVal; + timeSerie.LongName = damTimeSerie.LongName; + timeSerie.StationName = damTimeSerie.StationName; + timeSerie.Units = damTimeSerie.Units; + timeSerie.SourceOrganisation = damTimeSerie.SourceOrganisation; + timeSerie.SourceSystem = damTimeSerie.SourceSystem; + timeSerie.FileDescription = damTimeSerie.FileDescription; + timeSerie.Region = damTimeSerie.Region; + timeSerie.TimeStep.Multiplier = damTimeSerie.TimeStep.Multiplier; + timeSerie.TimeStep.Divider = damTimeSerie.TimeStep.Divider; + timeSerie.TimeStep.MultiplierSpecified1 = damTimeSerie.TimeStep.MultiplierSpecified; + timeSerie.TimeStep.DividerSpecified1 = damTimeSerie.TimeStep.DividerSpecified; + timeSerie.TimeStep.TimeStepUnit = ConversionHelper.ConvertToInputTimeStepUnit(damTimeSerie.TimeStep.Unit); + int timeSerieEntryIndex = 0; + foreach (var timeStepEntry in damTimeSerie.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 + }; + timeSerie.Entries.TimeSerieEntry[timeSerieEntryIndex] = timeStep; + timeSerieEntryIndex++; + } + timeSeries[timeSerieIndex] = timeSerie; + timeSerieIndex++; + } + } + } +} Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/Deltares.DamEngine.Interface.csproj =================================================================== diff -u -r1553 -r1559 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/Deltares.DamEngine.Interface.csproj (.../Deltares.DamEngine.Interface.csproj) (revision 1553) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/Deltares.DamEngine.Interface.csproj (.../Deltares.DamEngine.Interface.csproj) (revision 1559) @@ -37,8 +37,10 @@ + +