public void EvaporateTest() { IsotopeWater Iw = new IsotopeWater(100); Iw.SetIsotopeRatio(10); TimestampSeries ts = new TimestampSeries(); ts.AddSiValue(new DateTime(2000, 1, 1),5); ts.AllowExtrapolation = true; ts.ExtrapolationMethod = ExtrapolationMethods.Linear; ts.RelaxationFactor = 1; Iw.EvaporationConcentration = ts; Iw.Evaporate(1); double v1 =Iw.GetIsotopeRatio(); Iw.Evaporate(2); double v2 = Iw.GetIsotopeRatio(); Iw.Evaporate(5); double v5 = Iw.GetIsotopeRatio(); Iw.Evaporate(90); double v90 = Iw.GetIsotopeRatio(); Assert.AreEqual(10.101, v1, 0.01); Assert.AreEqual(10.309, v2, 0.01); Assert.AreEqual(10.870, v5, 0.01); Assert.AreEqual(500, Iw.GetIsotopeRatio(), 0.01); }
public void MyTestInitialize() { filename = "HydroNumerics.Time.OpenMI.UnitTest.LinkableTimeSeriesGroupTest.xts"; outputFilename = "HydroNumerics.Time.OpenMI.UnitTest.LinkableTimeSeriesGroupTest.out.xts"; TimespanSeries timespanSeries = new TimespanSeries("Flow", new System.DateTime(2010, 1, 1), 10, 2, TimestepUnit.Days, 4.3); timespanSeries.Unit = new HydroNumerics.Core.Unit("Liters pr. sec", 0.001, 0.0, "Liters pr second"); timespanSeries.Unit.Dimension.Length = 3; timespanSeries.Unit.Dimension.Time = -1; timespanSeries.Description = "Measured Flow"; TimestampSeries timestampSeries = new TimestampSeries("Water Level", new System.DateTime(2010, 1, 1), 6, 2, TimestepUnit.Days, 6.3); timestampSeries.Unit = new HydroNumerics.Core.Unit("cm", 0.01, 0.0, "centimeters"); timestampSeries.Unit.Dimension.Length = 1; timestampSeries.Description = "Measured Head"; TimeSeriesGroup tsg = new TimeSeriesGroup(); tsg.Name = "MyTsGroup"; tsg.Items.Add(timespanSeries); tsg.Items.Add(timestampSeries); tsg.Save(filename); Argument filenameArgument = new Argument("Filename", filename, true, "someDescription"); Argument outputFilenameArgument = new Argument("OutputFilename", outputFilename, true, "someDescription"); arguments = new Argument[2] { filenameArgument, outputFilenameArgument }; }
public void DescriptionTest() { TimestampSeries target = new TimestampSeries(); string expected = "MyDescription"; string actual; target.Description = expected; actual = target.Description; Assert.AreEqual(expected, actual); }
/// <summary> /// Creates a time series for the chemical /// </summary> /// <param name="Chem"></param> /// <returns></returns> public TimestampSeries AddChemicalTimeSeries(Chemical Chem) { TimestampSeries ts = new TimestampSeries(); ts.Name = Chem.Name; ts.Unit = UnitFactory.Instance.GetUnit(NamedUnits.molespercubicmeter); Items.Add(ts); ChemicalConcentrations.Add(Chem, ts); return ts; }
/// <summary> /// Creates a time series for the chemical /// </summary> /// <param name="Chem"></param> /// <returns></returns> private TimestampSeries CreateChemicalSeries(Chemical Chem) { TimestampSeries ts = new TimestampSeries(); ts.Name = Chem.Name; ts.Unit = UnitFactory.Instance.GetUnit(NamedUnits.molespercubicmeter); Items.Add(ts); ChemicalsToLog.Add(Chem, ts); return ts; }
/// <summary> /// Creates a time series for logging composition /// </summary> /// <param name="ID"></param> /// <returns></returns> private TimestampSeries CreateCompositionTimeSeries(int ID) { TimestampSeries ts = new TimestampSeries(); ts.Name = "Composition: " + ID; ts.Unit = new HydroNumerics.Core.Unit("-", 1, 0); Items.Add(ts); CompositionLog.Add(ID, ts); return ts; }
public TimestampSeries GetTimeStampSeries() { TimestampSeries ts = new TimestampSeries(); ts.Name = "Tidsserie1"; ts.AddSiValue(new DateTime(2000, 1, 1), 3); ts.AddSiValue(new DateTime(2000, 1, 2), 4); ts.AddSiValue(new DateTime(2000, 1, 3), 6); ts.AddSiValue(new DateTime(2000, 1, 4), 11); return ts; }
public Observations(string ID) : base() { Discharge = new TimestampSeries(); Discharge.Name = ID + ": Discharge"; Discharge.Unit = UnitFactory.Instance.GetUnit(NamedUnits.cubicmeterpersecond); Items.Add(Discharge); WaterLevel = new TimestampSeries(); WaterLevel.Name = ID + ": WaterLevel"; WaterLevel.Unit = UnitFactory.Instance.GetUnit(NamedUnits.meter); Items.Add(WaterLevel); ChemicalConcentrations = new Dictionary<Chemical, TimestampSeries>(); }
/// <summary> /// Copy constructor. Returns a deep clone /// </summary> /// <param name="TS"></param> public TimestampSeries(TimestampSeries TS):this() { foreach (var i in TS.Items) Items.Add(i); this.Id = TS.Id; this.IsSorted = TS.IsSorted; this.Name = TS.name; this.RelaxationFactor = TS.relaxationFactor; //Problem with the next two as they should really be cloned. this.Tag = TS.Tag; this.Unit = TS.Unit; this.AllowExtrapolation = TS.AllowExtrapolation; this.Description = TS.Description; }
public override void Load(FileStream fileStream) { //XmlSerializer serializer = new XmlSerializer(typeof(TimestampSeries)); //TimestampSeries ts = (TimestampSeries)serializer.Deserialize(fileStream); DataContractSerializer dc = new DataContractSerializer(typeof(TimestampSeries)); TimestampSeries ts = (TimestampSeries)dc.ReadObject(fileStream); this.name = ts.Name; this.id = ts.Id; this.relaxationFactor = ts.RelaxationFactor; this.unit = new Unit(ts.unit); this.items.Clear(); foreach (TimestampValue tsv in ts.Items) { items.Add(new TimestampValue(tsv)); } }
/// <summary> /// Copy constructor. Returns a deep clone /// </summary> /// <param name="TS"></param> public TimestampSeries(TimestampSeries TS) : this() { foreach (var i in TS.Items) { Items.Add(i); } this.Id = TS.Id; this.IsSorted = TS.IsSorted; this.Name = TS.name; this.RelaxationFactor = TS.relaxationFactor; //Problem with the next two as they should really be cloned. this.Tag = TS.Tag; this.Unit = TS.Unit; this.AllowExtrapolation = TS.AllowExtrapolation; this.Description = TS.Description; }
public void Create() { string filename = "HydroNumerics.Time.Core.UnitTest.TimeSeriesGroupFactoryTest.Create.xts"; TimeSeriesGroup tsg = new TimeSeriesGroup(); TimespanSeries timespanSeries = new TimespanSeries("timespanseriesname", new System.DateTime(2010, 1, 1), 10, 2, TimestepUnit.Days, 4.3); TimestampSeries timestampSeries = new TimestampSeries("timestampseriesname", new System.DateTime(2010, 1, 1), 10, 2, TimestepUnit.Days, 4.3); tsg.Items.Add(timespanSeries); tsg.Items.Add(timestampSeries); tsg.Save(filename); TimeSeriesGroup tsg2 = TimeSeriesGroupFactory.Create(filename); for (int i = 0; i < tsg.Items.Count; i++) { Assert.AreEqual(tsg.Items[i], tsg2.Items[i]); } }
public void RunSimulation() { double[] excelSimulatedRunoff = new double[365] { 1.101628002, 1.092225828, 1.111676566, 1.128126369, 1.133391292, 1.130647535, 1.12302252, 1.111339299, 1.097082465, 1.081418235, 1.065093193, 1.048541129, 1.031999506, 1.041150304, 1.054021311, 1.129545189, 1.213271784, 1.267027608, 1.290960341, 1.29428481, 1.285249106, 1.305720932, 1.35312278, 1.383106965, 1.412345985, 1.469669914, 2.367200577, 2.366518961, 3.120141708, 2.833075361, 2.425435909, 2.372034266, 2.148199246, 1.952894641, 1.812179196, 1.714975601, 1.646063101, 1.925796943, 1.893269597, 2.651839687, 2.495101173, 2.203003423, 2.585291039, 6.212811644, 5.562746586, 4.25401035, 4.130240209, 4.056383826, 4.825971954, 4.043877124, 3.187639002, 2.565293494, 2.168330461, 2.033689963, 1.908556653, 1.812953146, 1.741813368, 1.686914315, 1.663726682, 1.639961284, 3.212558096, 3.330839796, 3.067500889, 2.598723699, 2.219329472, 1.958899325, 1.786270765, 1.668861781, 1.582307457, 1.512684549, 1.452391729, 1.397400973, 1.345619253, 1.295971197, 1.247905474, 1.202504988, 1.159445111, 1.11684072, 1.074459186, 1.032465366, 0.991047837, 0.950336409, 0.910403438, 0.871281664, 0.832979971, 0.795597782, 0.76783419, 0.764348553, 0.755740687, 0.752919421, 0.783730147, 0.811326738, 0.796393489, 0.760048621, 0.809902923, 0.890551134, 0.931713765, 0.919404038, 0.866424511, 0.790727007, 0.807483784, 0.831144153, 0.819338737, 0.770877979, 0.71677098, 0.676314548, 0.649279062, 0.631562094, 0.61952321, 0.610719052, 0.603688756, 0.597612694, 0.592049135, 0.586766478, 0.581645668, 0.576626366, 0.571678273, 0.566786236, 0.561942648, 0.557143626, 0.607218389, 0.62563503, 0.605089612, 0.578422052, 0.596254122, 0.616696933, 0.616327642, 0.71281074, 0.813329006, 0.891706525, 1.505450768, 1.512837908, 1.372036892, 1.238117685, 1.116728402, 1.005814891, 0.902378219, 0.804125742, 0.709590537, 0.619801761, 0.556965647, 0.517402995, 0.493324008, 0.542143977, 0.605765037, 0.627151002, 0.606956756, 0.558456531, 0.513065712, 0.480925417, 0.460074776, 0.453468304, 0.443864285, 0.534312018, 0.571168701, 0.589438468, 0.552876672, 0.501658526, 0.461955879, 0.43556981, 0.429425464, 0.417610457, 0.407212194, 0.399240699, 0.393172645, 0.388333744, 0.384223626, 0.380528696, 0.377068087, 0.373742507, 0.370499171, 0.367310619, 0.364162764, 0.361048418, 0.357963902, 0.354907289, 0.351877526, 0.348873988, 0.371289788, 0.365764125, 0.35539763, 0.346329637, 0.339413306, 0.334175761, 0.330019737, 0.326503908, 0.323352195, 0.320405539, 0.31896768, 0.316069287, 0.315660395, 0.31237299, 0.30871169, 0.305302287, 0.302201422, 0.299333596, 0.296619466, 0.301805672, 0.308606899, 0.302782779, 0.295438471, 0.28928334, 0.284510032, 0.280744605, 0.277612065, 0.274850868, 0.272301632, 0.294184614, 0.293512793, 0.283661096, 0.274266717, 0.267142474, 0.2619717, 0.258103773, 0.255017888, 0.255158811, 0.263353527, 0.276616326, 0.282580224, 0.307165935, 0.311973757, 0.317677647, 0.305349891, 0.280589544, 0.260227205, 0.24633239, 0.237366803, 0.23153017, 0.227515196, 0.224510495, 0.222050804, 0.219881786, 0.217868772, 0.21594205, 0.21406612, 0.212223114, 0.210404103, 0.20860463, 0.206822452, 0.205056415, 0.203305896, 0.20157053, 0.239576001, 0.274623552, 0.313918979, 0.337267439, 0.344748413, 0.340159365, 0.327969942, 0.311429854, 0.292556796, 0.2725076, 0.251914223, 0.231110745, 0.210742181, 0.19617782, 0.186745572, 0.180757384, 0.176831931, 0.174068656, 0.171937116, 0.175413309, 0.200255604, 0.220167064, 0.272508794, 0.33492316, 0.378038089, 0.404578784, 0.411088828, 0.403015521, 0.395635881, 0.426163074, 0.453407663, 0.469924487, 0.475617768, 0.472101788, 0.462543521, 0.449979742, 0.43546065, 0.419838382, 0.404700472, 0.414044398, 0.462783605, 0.481324812, 0.484797904, 0.520765045, 0.521470431, 0.510537581, 0.49495135, 0.480333563, 0.500219605, 0.676223142, 0.671112568, 0.630523291, 0.588826726, 0.553363681, 0.523790872, 0.517490263, 0.511599903, 0.501444674, 0.487438306, 0.470895816, 0.455311406, 0.438740129, 0.424188278, 0.411679334, 0.400627143, 0.390499914, 0.383933614, 0.428309437, 0.469297167, 0.538307415, 0.57872168, 0.573840452, 0.648846063, 0.684646346, 1.164834677, 1.179357522, 1.017130515, 1.082288487, 1.177163104, 1.087250499, 1.399997296, 1.650499885, 1.423306029, 1.168807627, 0.988211547, 1.655509274, 2.239039513, 1.928261142, 1.533708357, 1.236725277, 1.044406716, 0.926514789, 0.855304302, 0.811071667, 0.78171103, 1.408963443, 1.365141679, 2.258720093, 3.159717672, 2.673783842, 2.060780416, 1.602931749, 1.710167442, 1.614700624, 2.009003149, 2.362441501, 2.03228023, 1.663750193, 2.419802962, 2.161834938, 1.780397576, 1.484070036, 1.303460074, 1.306651988, 1.348116648, 1.325584771, 2.584555318, 2.552002004, 2.117079931, 1.72905359, 1.464145909, 1.307234798, 1.815158689 }; double[] TestValues = new double[365] { 0.6, 1.101628002, 1.144512667, 1.158384708, 1.154382328, 1.144960248, 1.133208341, 1.11806866, 1.101567058, 1.084610615, 1.067603786, 1.050725252, 1.034052312, 1.064061379, 1.079852548, 1.206462015, 1.296818125, 1.326011796, 1.325482585, 1.311855957, 1.292596625, 1.337053453, 1.406354806, 1.422014528, 1.450543065, 1.530717626, 3.099164274, 2.380698664, 3.733448694, 2.615232362, 2.10873178, 2.339406326, 1.981275903, 1.809067333, 1.712741144, 1.65090221, 1.604941653, 2.16363502, 1.881915585, 3.270104086, 2.38290363, 1.980230069, 2.900965488, 9.1115698, 5.049130911, 3.204333412, 4.027713753, 3.99807006, 5.435354296, 3.422099189, 2.508117628, 2.077820956, 1.865262344, 1.94559351, 1.828289234, 1.756094994, 1.704573503, 1.662735189, 1.665183652, 1.640823529, 4.478842693, 3.438234524, 2.86637884, 2.235688201, 1.930006845, 1.766996642, 1.66617228, 1.593893302, 1.532553276, 1.47676423, 1.424090309, 1.373422483, 1.324248254, 1.276323501, 1.229525024, 1.186260992, 1.145063732, 1.102785962, 1.060539546, 1.01881204, 0.977810767, 0.937617412, 0.898257487, 0.859731526, 0.822029105, 0.785135127, 0.764907746, 0.780902478, 0.767935575, 0.769628769, 0.827494596, 0.852205637, 0.802566683, 0.748740028, 0.868336309, 0.973584067, 0.982343153, 0.926441382, 0.840416481, 0.746290985, 0.837987123, 0.867016841, 0.826256684, 0.747999191, 0.689298969, 0.659908758, 0.643714111, 0.633474123, 0.625935025, 0.619634591, 0.613915585, 0.608482481, 0.60320228, 0.598015011, 0.592893523, 0.587825411, 0.582804896, 0.577829181, 0.57289681, 0.56800693, 0.662388698, 0.654864941, 0.602574512, 0.570873737, 0.624688943, 0.647051629, 0.629631388, 0.804411859, 0.907752329, 0.967751468, 2.003549508, 1.530031468, 1.269158463, 1.141221516, 1.030377207, 0.928303502, 0.831238428, 0.737469453, 0.646205383, 0.560377733, 0.519508326, 0.49885963, 0.487316186, 0.595056125, 0.670332591, 0.657192378, 0.603168479, 0.531735696, 0.488896331, 0.467513903, 0.455790905, 0.460661405, 0.44853538, 0.619820999, 0.612869635, 0.615854948, 0.534768725, 0.47170063, 0.44138724, 0.425808345, 0.436022944, 0.419531585, 0.41021304, 0.404133738, 0.39952607, 0.395595663, 0.391985443, 0.388534832, 0.385171544, 0.381862964, 0.378594307, 0.375358797, 0.37215326, 0.368976142, 0.365826617, 0.362704186, 0.3596085, 0.356539279, 0.399420604, 0.371114378, 0.356759935, 0.348688392, 0.343453779, 0.339507604, 0.336153966, 0.333080061, 0.330145223, 0.327286132, 0.326989592, 0.322826777, 0.324353221, 0.318652435, 0.314615145, 0.311337907, 0.308414671, 0.305662878, 0.303000397, 0.314498783, 0.322500069, 0.306360379, 0.297730391, 0.292486489, 0.288775715, 0.28576538, 0.283081235, 0.28055502, 0.278111035, 0.319668974, 0.300601939, 0.283258693, 0.274201102, 0.268877291, 0.265241877, 0.262375721, 0.259865735, 0.262554631, 0.277183017, 0.294432715, 0.29437182, 0.33390546, 0.322559779, 0.328899947, 0.301915124, 0.267091537, 0.250322542, 0.241675573, 0.236687556, 0.233353025, 0.230770783, 0.228535818, 0.226466066, 0.224479644, 0.222539681, 0.220629532, 0.218741642, 0.216872543, 0.215020598, 0.213184999, 0.21136531, 0.209561261, 0.207772658, 0.205999342, 0.276033495, 0.308454335, 0.350955319, 0.361189541, 0.355698317, 0.341279356, 0.322926263, 0.302882303, 0.28215494, 0.261196357, 0.240209239, 0.219284166, 0.199294391, 0.189452408, 0.184177463, 0.180961896, 0.178678884, 0.176822049, 0.1751638, 0.183126778, 0.22514756, 0.240910833, 0.345653369, 0.444543157, 0.476251945, 0.485666569, 0.474972056, 0.455357028, 0.448211371, 0.516784032, 0.550984125, 0.56023396, 0.5559542, 0.544808009, 0.530654326, 0.516084788, 0.500539294, 0.484631178, 0.470352112, 0.496349859, 0.548272969, 0.562337274, 0.559052794, 0.580813675, 0.581173821, 0.571536617, 0.557493875, 0.546086628, 0.570624183, 0.632131705, 0.644560952, 0.639295045, 0.62618077, 0.609641603, 0.591664176, 0.60450239, 0.599622095, 0.586881069, 0.570707745, 0.553091001, 0.538843834, 0.522249712, 0.509666375, 0.498932923, 0.489077954, 0.47966455, 0.475396296, 0.550644345, 0.583337672, 0.635608434, 0.648358004, 0.630620655, 0.698237499, 0.710780005, 1.15273838, 1.023539346, 0.870302765, 1.041081825, 1.137030033, 1.002453515, 1.422536358, 1.588939523, 1.198849618, 1.015408559, 0.935932016, 1.869055992, 2.272439448, 1.571493688, 1.247308563, 1.092520171, 1.013952623, 0.969738026, 0.942457371, 0.922869859, 0.906822345, 1.770396652, 1.352342271, 2.557227731, 3.269739894, 2.10641415, 1.574509542, 1.326432314, 1.77290945, 1.581199648, 2.178280279, 2.436320902, 1.768546161, 1.458702469, 2.750024549, 1.933426392, 1.556341, 1.376870197, 1.308084388, 1.454780071, 1.500419219, 1.437971966, 3.213641386, 2.403531667, 1.80410575, 1.525670384, 1.393155396, 1.337324109, 2.187685117 }; HydroCatEngine hydroCatEngine = new HydroCatEngine(); const int numberOfTimesteps = 1095; TimespanSeries precipitationTs = new TimespanSeries("Precipitation", hydroCatEngine.SimulationStartTime, numberOfTimesteps, 1, TimestepUnit.Days, 0); precipitationTs.Unit = Units.MmPrDay; TimespanSeries potentialEvaporationTs = new TimespanSeries("PotentialEvaporation", hydroCatEngine.SimulationStartTime, numberOfTimesteps, 1, TimestepUnit.Days, 0); potentialEvaporationTs.Unit = Units.MmPrDay; TimespanSeries temperatureTs = new TimespanSeries("Temperature", hydroCatEngine.SimulationStartTime, numberOfTimesteps, 1, TimestepUnit.Days, 0); temperatureTs.Unit = Units.Centigrade; TimestampSeries observedRunoffTs = new TimestampSeries("ObservedRunoff", hydroCatEngine.SimulationStartTime, numberOfTimesteps, 1, TimestepUnit.Days, 0); observedRunoffTs.Unit = Units.M3PrSec; double[] observedRunoff = new double[numberOfTimesteps] { 1.1970, 0.9910, 1.0470, 1.0270, 1.1230, 1.2220, 1.2130, 1.2450, 1.1300, 1.0580, 1.0120, 0.9200, 0.9010, 0.9180, 0.9840, 1.6800, 1.8050, 1.6600, 1.4070, 1.1980, 1.1140, 1.2660, 1.6370, 1.4360, 1.4890, 2.0670, 2.9970, 2.3670, 2.3300, 2.0210, 1.8180, 1.6670, 1.4660, 1.3810, 1.2980, 1.2300, 1.2670, 1.4510, 1.2620, 1.4870, 1.4700, 1.3190, 1.5200, 4.4690, 3.9720, 2.4260, 2.0370, 2.3040, 3.8690, 3.0320, 2.3240, 1.9890, 1.6320, 1.5460, 1.5170, 1.3530, 1.1970, 1.0720, 1.0710, 1.1180, 1.9850, 2.3790, 2.1200, 1.9040, 1.5970, 1.3640, 1.1700, 1.0590, 1.0580, 0.9980, 0.9280, 0.9040, 0.8770, 0.8510, 0.8350, 0.8310, 0.8160, 0.7910, 0.7760, 0.7620, 0.7470, 0.7330, 0.7300, 0.7260, 0.7120, 0.7080, 0.6950, 0.6910, 0.6880, 0.6840, 0.7100, 0.7370, 0.6960, 0.6750, 0.8540, 1.1070, 1.2230, 0.9430, 0.8030, 0.7310, 0.8090, 0.8480, 0.7640, 0.7040, 0.6820, 0.6710, 0.6600, 0.6300, 0.6210, 0.6030, 0.6400, 0.6770, 0.6400, 0.6120, 0.6120, 0.6140, 0.6150, 0.6170, 0.6180, 0.6290, 0.7500, 0.7220, 0.6940, 0.6970, 0.8050, 0.8190, 0.8570, 1.7410, 1.5130, 1.5150, 2.0980, 1.4650, 1.2940, 1.2450, 1.0620, 0.9060, 0.8170, 0.7450, 0.6970, 0.6530, 0.6210, 0.5980, 0.5700, 0.5900, 0.5700, 0.5440, 0.5200, 0.5030, 0.4950, 0.4870, 0.4790, 0.5310, 0.5070, 0.6100, 0.5260, 0.4800, 0.4430, 0.4090, 0.3870, 0.3720, 0.3720, 0.3530, 0.3270, 0.3270, 0.3200, 0.2960, 0.2810, 0.2750, 0.2690, 0.2640, 0.2510, 0.2650, 0.2640, 0.2570, 0.2560, 0.2560, 0.2620, 0.2750, 0.3030, 0.2950, 0.2870, 0.2700, 0.2660, 0.2650, 0.2650, 0.2460, 0.2460, 0.2220, 0.2190, 0.2130, 0.2300, 0.2480, 0.2310, 0.2160, 0.2090, 0.2030, 0.2000, 0.2050, 0.2130, 0.2100, 0.2080, 0.2060, 0.2040, 0.2090, 0.2650, 0.2290, 0.2230, 0.2450, 0.2230, 0.2210, 0.2150, 0.2130, 0.2070, 0.1980, 0.2000, 0.2100, 0.2090, 0.2080, 0.2100, 0.2190, 0.2110, 0.2200, 0.2050, 0.1900, 0.1820, 0.1850, 0.1800, 0.1750, 0.1700, 0.1650, 0.1630, 0.1580, 0.1530, 0.1490, 0.1490, 0.1450, 0.1430, 0.1390, 0.1400, 0.1440, 0.1440, 0.1850, 0.2030, 0.1810, 0.1870, 0.1760, 0.1720, 0.1770, 0.1550, 0.1270, 0.1220, 0.1490, 0.1610, 0.1490, 0.1450, 0.1420, 0.1400, 0.1380, 0.1360, 0.1340, 0.1320, 0.1300, 0.2990, 0.3070, 0.6170, 0.7010, 0.5070, 0.4260, 0.3910, 0.3780, 0.6120, 0.6630, 0.5590, 0.4920, 0.4490, 0.4150, 0.4160, 0.4160, 0.4100, 0.4110, 0.4110, 0.5120, 0.6560, 0.5030, 0.4560, 0.4330, 0.4170, 0.4070, 0.3980, 0.4030, 0.4760, 0.6100, 0.5670, 0.4900, 0.4450, 0.4290, 0.4200, 0.4310, 0.4330, 0.4220, 0.4110, 0.4130, 0.4160, 0.3920, 0.3820, 0.3720, 0.3680, 0.3640, 0.3850, 0.5690, 0.4660, 0.4360, 0.4310, 0.4020, 0.4360, 0.5670, 1.0330, 0.7080, 0.6220, 0.6970, 0.6920, 0.6610, 1.0210, 1.1710, 0.8260, 0.7740, 0.7880, 1.2850, 1.3900, 1.0730, 0.8990, 0.8900, 0.8850, 0.8800, 0.8750, 0.8700, 2.0790, 1.8000, 1.1910, 2.0740, 3.2910, 2.0310, 1.3100, 1.1250, 1.4480, 1.6390, 2.0280, 2.4840, 1.7430, 1.5070, 2.0170, 2.0250, 1.3710, 1.1440, 1.1370, 1.2150, 1.3840, 1.7270, 3.0710, 3.0830, 2.9360, 2.3620, 1.9840, 2.0680, 2.5220, 1.8970, 1.6560, 1.4810, 1.3640, 1.3660, 1.3300, 1.2810, 1.2570, 1.3100, 1.3510, 1.4050, 2.3300, 4.8060, 4.6420, 5.2280, 5.1240, 5.0420, 4.7750, 3.8090, 3.0730, 2.5830, 2.2200, 1.9690, 2.9730, 2.6900, 2.2590, 2.0980, 2.5040, 2.4490, 2.4910, 2.1520, 1.8190, 1.7710, 1.6960, 1.6220, 1.5630, 1.6540, 1.7850, 1.4880, 1.3260, 1.9420, 4.4560, 5.5210, 4.5020, 3.4410, 3.7220, 2.8500, 2.2120, 1.9490, 1.7010, 1.4940, 1.5510, 1.5560, 1.3940, 1.1940, 1.1870, 1.1350, 1.0830, 1.0330, 0.9890, 0.9130, 0.8810, 0.8590, 0.8380, 0.7970, 0.7860, 0.7650, 0.7540, 0.7340, 0.7140, 0.7130, 0.7210, 0.7110, 0.7090, 0.7170, 0.7440, 0.7900, 0.9290, 0.8760, 0.9570, 0.9240, 0.8320, 0.7730, 0.7340, 0.7140, 0.6860, 0.6580, 0.6480, 0.6200, 0.6190, 0.6180, 0.6170, 0.6160, 0.6120, 0.6090, 0.6050, 0.6020, 0.5980, 0.5950, 0.5910, 0.5880, 0.5600, 0.5410, 0.5380, 0.5420, 0.5330, 0.5240, 0.5150, 0.5070, 0.4980, 0.4900, 0.4820, 0.4740, 0.4660, 0.4510, 0.4440, 0.4370, 0.4230, 0.4230, 0.4160, 0.4040, 0.3990, 0.4900, 0.5740, 0.4900, 0.4150, 0.3800, 0.4050, 0.3940, 0.3840, 0.3740, 0.3640, 0.3600, 0.3560, 0.3470, 0.3610, 0.3550, 0.3530, 0.3520, 0.3560, 0.3600, 0.3530, 0.3470, 0.3460, 0.3500, 0.3490, 0.3530, 0.3520, 0.3880, 0.3590, 0.3440, 0.3390, 0.3380, 0.3590, 0.3540, 0.3450, 0.3610, 0.3690, 0.3550, 0.3420, 0.3370, 0.3440, 0.3740, 0.3580, 0.3500, 0.3550, 0.3470, 0.3440, 0.3360, 0.3610, 0.3690, 0.3490, 0.3520, 0.3440, 0.3390, 0.3390, 0.3410, 0.3400, 0.3390, 0.3340, 0.3210, 0.3360, 0.3520, 0.3510, 0.3930, 0.3680, 0.3270, 0.3270, 0.3200, 0.3150, 0.3100, 0.3100, 0.3150, 0.3200, 0.3500, 0.3450, 0.3400, 0.3400, 0.3300, 0.3250, 0.3250, 0.3200, 0.3200, 0.3250, 0.3400, 0.3350, 0.3300, 0.3300, 0.3350, 0.3300, 0.3250, 0.3200, 0.3200, 0.3100, 0.3000, 0.2950, 0.2900, 0.2850, 0.2800, 0.2750, 0.2700, 0.3000, 0.2800, 0.2950, 0.2950, 0.2700, 0.2630, 0.2570, 0.2420, 0.2320, 0.2270, 0.2240, 0.2250, 0.2220, 0.2190, 0.2130, 0.2140, 0.2070, 0.2080, 0.2100, 0.2070, 0.2120, 0.2060, 0.1930, 0.2200, 0.2310, 0.2260, 0.2400, 0.2620, 0.2450, 0.2990, 0.6120, 0.3700, 0.2910, 0.2650, 0.2670, 0.2960, 0.2940, 0.2800, 0.2780, 0.2790, 0.2810, 0.3030, 0.3050, 0.5230, 0.7040, 0.6710, 0.8020, 0.7890, 0.7690, 1.1390, 0.9570, 0.9190, 0.8830, 0.8140, 1.6300, 1.7260, 2.1340, 2.1120, 1.9080, 1.6170, 1.4350, 1.3690, 1.4380, 1.3500, 1.2420, 1.1790, 1.1480, 1.1080, 1.0990, 1.0800, 1.0500, 2.3200, 2.1690, 1.9390, 3.2440, 2.9380, 2.0800, 1.6430, 1.4490, 1.0440, 1.6950, 1.7660, 1.5260, 1.4690, 1.3770, 1.2630, 1.2220, 1.1690, 1.1510, 1.1770, 1.2160, 1.8230, 3.3650, 3.4090, 3.8940, 3.2520, 3.9900, 4.8740, 4.7210, 5.9580, 5.4190, 4.5530, 4.0140, 3.1490, 2.4340, 1.9920, 1.8300, 2.0340, 2.3090, 2.3160, 3.4970, 4.2260, 3.3720, 2.2530, 2.2600, 2.1770, 2.5250, 3.6390, 3.0750, 3.2950, 3.5950, 3.3140, 4.4300, 5.5010, 4.9340, 3.5600, 3.3710, 4.4610, 3.9200, 4.7380, 4.6690, 3.9600, 4.0720, 4.5080, 4.3190, 5.1720, 4.4300, 4.6090, 5.3970, 4.8080, 4.0850, 3.9410, 3.1290, 2.8590, 3.4560, 3.0320, 2.7640, 2.7390, 2.4810, 2.4090, 2.0550, 1.8230, 1.8600, 2.9750, 3.7280, 4.9730, 4.2310, 3.5730, 3.0830, 2.7920, 2.8020, 3.5650, 3.5960, 3.4940, 3.2610, 4.3150, 6.7780, 7.1950, 6.4270, 5.8290, 5.2530, 6.9740, 7.1390, 6.9050, 6.3820, 6.0870, 5.2740, 4.1730, 3.5690, 3.1670, 2.9430, 2.7260, 2.3330, 2.2790, 2.3070, 2.1420, 2.0750, 1.9930, 1.7640, 1.5040, 1.4180, 1.3880, 1.5770, 1.6870, 1.6410, 1.6800, 1.6760, 1.5880, 1.6410, 1.6090, 1.5220, 1.5330, 1.5430, 1.5680, 1.5510, 1.7450, 2.1940, 2.3500, 4.5640, 3.6630, 3.5130, 3.0930, 2.4300, 2.0110, 1.6800, 1.5070, 1.4310, 1.4100, 1.2990, 1.1690, 1.0910, 1.0610, 1.0430, 1.0020, 0.9960, 0.9900, 0.9940, 0.9880, 1.0030, 1.0190, 1.0350, 0.9960, 0.9570, 0.9090, 0.9130, 0.9180, 0.8610, 0.8250, 0.8100, 0.8750, 1.1040, 1.1080, 1.2150, 1.2320, 1.3910, 1.2180, 1.1540, 0.9950, 1.4220, 1.4470, 1.1320, 0.9950, 0.8850, 0.8280, 0.8110, 0.8330, 0.8640, 0.8090, 0.7460, 0.7130, 0.7160, 0.7090, 0.7030, 0.7670, 0.8810, 1.2100, 1.0420, 0.8870, 0.8060, 0.7550, 0.7140, 0.6910, 0.6760, 0.6710, 0.6690, 0.6670, 0.6490, 0.6630, 0.6530, 0.6440, 0.6340, 0.6400, 1.1660, 1.9310, 1.2910, 0.8750, 0.7260, 0.6580, 0.6160, 0.5830, 0.5580, 0.5410, 0.5310, 0.5530, 0.6700, 0.6170, 0.5870, 0.6900, 0.7560, 0.7290, 0.6250, 0.5800, 0.5490, 0.5250, 0.4970, 0.4710, 0.4560, 0.4470, 0.4330, 0.4150, 0.3980, 0.3910, 0.3750, 0.3680, 0.3580, 0.3490, 0.3360, 0.3280, 0.3200, 0.3160, 0.3120, 0.3080, 0.2980, 0.2840, 0.2780, 0.2680, 0.2630, 0.2580, 0.2560, 0.2540, 0.2550, 0.2500, 0.2540, 0.2520, 0.2530, 0.2600, 0.2650, 0.2690, 0.2770, 0.2920, 0.3170, 0.3120, 0.3000, 0.2850, 0.2730, 0.2680, 0.2760, 0.3150, 0.3520, 0.3490, 0.3590, 0.3470, 0.3520, 0.3730, 0.3700, 0.3600, 0.3600, 0.3500, 0.3400, 0.3300, 0.3300, 0.3200, 0.3200, 0.3100, 0.3100, 0.3000, 0.3000, 0.3000, 0.2900, 0.2900, 0.2800, 0.2800, 0.3020, 0.3050, 0.2970, 0.3040, 0.3360, 0.4770, 0.3860, 0.3910, 0.3740, 0.3580, 0.3470, 0.3470, 0.3470, 0.3470, 0.3470, 0.3520, 0.3570, 0.3830, 0.5360, 0.4440, 0.4440, 0.4550, 0.4320, 0.4310, 0.7190, 0.6130, 0.5670, 0.5340, 0.5710, 0.5830, 0.5880, 0.5130, 0.4780, 0.4720, 0.4600, 0.4710, 0.4590, 0.4480, 0.4530, 0.4800, 0.5910, 0.5840, 0.6520, 0.5580, 0.5170, 0.5330, 0.6480, 0.6760, 1.1340, 0.9980, 0.7960, 0.6550, 0.5930, 0.5640, 0.5660, 0.5520, 0.5390, 0.5410, 0.5820, 0.6820, 0.7440, 0.7470, 0.6880, 0.6490, 0.6260, 0.6120, 0.6060, 0.6080, 0.6100, 0.6040, 0.6000, 0.5900, 0.5800, 0.5700, 0.5600, 0.5500, 0.5500, 0.5500, 0.6740, 0.7030, 0.6970, 0.7520, 0.7640, 0.7220, 0.6980, 0.6910, 0.6850, 0.6780, 0.6810, 0.6830, 0.6770, 0.9340, 1.6870, 1.3210, 1.1650, 1.4120, 1.2180, 1.0140, 0.9150, 0.9080, 0.9410, 1.1690, 1.7100, 1.6620, 1.6540, 1.3950, 1.3390, 3.1540, 4.2760, 2.9380, 2.0970, 1.6670, 1.4720, 1.3720, 1.2390, 1.1330, 1.0970, 1.1750, 1.1510, 1.0360, 1.1010, 1.1580, 1.0980, 0.9840, 0.9710, 0.9580, 1.0800, 1.1370, 1.1350, 1.1340, 1.0500, 1.0710, 1.0930, 1.0680, 1.0550, 1.0890, 1.2350 }; double[] precipitation = new double[numberOfTimesteps] { 0.0000, 0.0000, 2.3000, 0.2000, 0.0000, 0.1000, 0.1000, 0.0000, 0.3000, 0.4000, 0.1000, 0.1000, 1.0000, 0.0000, 0.5000, 5.3000, 1.9000, 0.1000, 0.0000, 0.4000, 1.1000, 1.2000, 2.6000, 0.0000, 1.5000, 3.4000, 6.0000, 0.7000, 4.0000, 0.1000, 0.6000, 2.0000, 0.4000, 0.1000, 0.0000, 0.0000, 0.0000, 4.1000, 0.2000, 4.0000, 0.3000, 0.6000, 3.1000, 14.1000, 3.9000, 0.1000, 3.7000, 2.4000, 4.3000, 0.0000, 0.0000, 0.0000, 0.0000, 2.7000, 1.0000, 0.1000, 0.3000, 0.2000, 0.0000, 0.2000, 8.7000, 2.0000, 1.8000, 0.9000, 0.1000, 0.2000, 0.1000, 0.1000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.1000, 0.1000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.6000, 1.8000, 0.0000, 1.1000, 4.7000, 2.4000, 0.0000, 0.1000, 8.2000, 4.6000, 1.0000, 0.1000, 0.0000, 0.0000, 7.8000, 2.0000, 0.3000, 0.0000, 0.1000, 0.1000, 0.0000, 0.0000, 0.3000, 0.1000, 2.2000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.1000, 6.7000, 0.0000, 0.0000, 0.0000, 5.4000, 2.2000, 1.0000, 10.8000, 3.6000, 3.1000, 10.1000, 0.0000, 0.3000, 2.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1.3000, 0.0000, 0.0000, 7.6000, 3.6000, 0.1000, 0.0000, 0.0000, 0.0000, 0.0000, 0.1000, 4.5000, 0.0000, 12.8000, 0.0000, 4.4000, 0.0000, 0.0000, 0.0000, 0.0000, 4.9000, 0.0000, 0.8000, 0.0000, 2.1000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 7.1000, 0.2000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 4.4000, 1.5000, 4.6000, 1.4000, 0.8000, 0.0000, 0.0000, 0.0000, 0.0000, 5.5000, 4.6000, 1.3000, 0.1000, 2.8000, 2.6000, 0.0000, 0.1000, 3.5000, 1.0000, 8.7000, 0.5000, 0.0000, 0.4000, 0.0000, 0.0000, 0.0000, 0.0000, 3.8000, 4.9000, 4.6000, 2.5000, 7.9000, 0.1000, 4.7000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.6000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.2000, 14.4000, 2.0000, 6.2000, 0.5000, 0.3000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 3.2000, 8.1000, 1.3000, 20.2000, 13.5000, 1.1000, 1.3000, 0.0000, 0.0000, 2.1000, 13.7000, 3.9000, 0.5000, 0.1000, 0.0000, 0.0000, 0.1000, 0.0000, 0.0000, 0.2000, 4.8000, 7.2000, 0.4000, 0.0000, 4.6000, 0.2000, 0.0000, 0.0000, 0.5000, 4.8000, 9.8000, 0.6000, 0.0000, 0.0000, 0.0000, 0.0000, 3.2000, 0.0000, 0.0000, 0.0000, 0.0000, 0.4000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.5000, 8.5000, 0.5000, 1.9000, 1.2000, 0.0000, 3.2000, 1.7000, 12.3000, 1.9000, 0.0000, 4.3000, 3.6000, 1.1000, 6.7000, 5.4000, 0.0000, 0.0000, 0.9000, 10.0000, 7.8000, 0.1000, 1.3000, 0.5000, 0.1000, 0.2000, 0.5000, 0.0000, 7.2000, 0.0000, 0.0000, 10.2000, 9.7000, 0.2000, 0.1000, 0.9000, 3.5000, 1.2000, 4.9000, 4.6000, 3.5000, 1.1000, 5.8000, 0.4000, 0.0000, 0.0000, 0.6000, 0.1000, 1.2000, 0.8000, 9.4000, 1.5000, 0.1000, 0.1000, 0.2000, 0.9000, 4.8000, 0.0000, 0.0000, 0.0000, 0.0000, 0.1000, 0.0000, 0.1000, 1.9000, 0.8000, 0.9000, 2.1000, 7.9000, 3.8000, 3.8000, 9.6000, 1.4000, 7.9000, 0.4000, 0.6000, 0.7000, 0.0000, 0.0000, 0.0000, 7.0000, 0.1000, 0.1000, 0.1000, 5.3000, 1.0000, 4.3000, 0.2000, 0.0000, 1.8000, 0.1000, 0.6000, 0.0000, 1.5000, 3.2000, 0.1000, 4.1000, 5.5000, 10.6000, 9.0000, 0.9000, 0.8000, 2.7000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.4000, 0.6000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.1000, 0.1000, 2.5000, 5.7000, 2.3000, 2.0000, 0.6000, 0.8000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 4.2000, 9.6000, 0.1000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.1000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.7000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 9.3000, 0.0000, 0.0000, 0.0000, 0.0000, 5.3000, 0.0000, 0.0000, 0.7000, 9.0000, 0.2000, 0.0000, 0.0000, 2.8000, 2.4000, 1.5000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 6.4000, 0.0000, 0.0000, 0.8000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1.0000, 0.0000, 7.1000, 0.1000, 0.0000, 0.2000, 0.0000, 0.0000, 0.2000, 0.0000, 0.6000, 0.9000, 10.0000, 5.1000, 4.1000, 10.3000, 1.9000, 0.0000, 0.0000, 0.0000, 0.2000, 4.2000, 0.4000, 5.8000, 0.5000, 0.1000, 3.3000, 4.9000, 1.4000, 0.5000, 0.0000, 1.8000, 2.5000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.1000, 1.4000, 0.0000, 2.4000, 7.6000, 5.2000, 11.4000, 0.1000, 1.1000, 0.7000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.8000, 0.0000, 2.3000, 0.4000, 0.0000, 0.0000, 0.0000, 0.0000, 5.2000, 2.2000, 0.0000, 10.0000, 5.3000, 1.2000, 8.0000, 30.7000, 2.9000, 0.0000, 0.0000, 0.0000, 6.8000, 0.0000, 0.0000, 0.0000, 1.4000, 0.5000, 4.1000, 0.1000, 10.6000, 11.2000, 2.5000, 6.2000, 5.3000, 4.5000, 12.8000, 0.1000, 1.0000, 0.0000, 0.0000, 22.7000, 2.5000, 5.5000, 3.7000, 0.8000, 0.0000, 1.6000, 1.7000, 3.8000, 0.2000, 0.3000, 0.0000, 0.4000, 0.0000, 0.2000, 0.5000, 1.0000, 16.3000, 0.3000, 4.3000, 14.8000, 0.0000, 2.7000, 0.0000, 2.8000, 3.2000, 5.3000, 2.1000, 0.0000, 2.2000, 0.4000, 0.3000, 0.1000, 0.0000, 0.0000, 1.8000, 0.5000, 9.4000, 11.4000, 2.4000, 9.2000, 1.1000, 11.1000, 6.4000, 8.3000, 15.3000, 0.1000, 6.8000, 2.9000, 0.0000, 0.3000, 0.4000, 0.2000, 3.3000, 6.2000, 1.0000, 9.0000, 5.5000, 0.0000, 0.0000, 3.0000, 1.1000, 0.0000, 10.8000, 0.0000, 7.1000, 2.0000, 1.6000, 7.2000, 9.4000, 0.9000, 6.1000, 1.4000, 2.5000, 0.6000, 8.1000, 0.9000, 2.8000, 5.0000, 3.3000, 2.1000, 9.5000, 0.0000, 6.0000, 7.0000, 0.0000, 2.2000, 1.8000, 0.2000, 1.1000, 5.2000, 0.0000, 0.3000, 1.6000, 0.8000, 0.4000, 0.0000, 0.2000, 1.4000, 5.9000, 7.1000, 7.0000, 1.9000, 1.5000, 0.1000, 0.3000, 5.6000, 4.1000, 4.8000, 1.5000, 1.5000, 2.7000, 11.4000, 8.6000, 3.7000, 5.7000, 1.3000, 13.4000, 5.6000, 5.9000, 5.4000, 5.3000, 0.1000, 0.1000, 0.2000, 0.0000, 0.5000, 0.1000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.1000, 0.0000, 2.9000, 3.0000, 1.0000, 14.6000, 0.6000, 5.0000, 0.1000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.1000, 1.6000, 2.2000, 0.0000, 0.0000, 0.6000, 0.0000, 0.2000, 2.4000, 0.3000, 0.0000, 0.3000, 5.8000, 1.6000, 1.6000, 5.7000, 2.8000, 1.9000, 0.6000, 2.8000, 0.0000, 8.8000, 2.5000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 3.1000, 0.0000, 0.0000, 0.0000, 0.2000, 0.5000, 0.0000, 3.7000, 5.0000, 10.2000, 1.2000, 0.4000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.6000, 0.3000, 0.0000, 0.0000, 2.2000, 8.4000, 11.5000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.8000, 12.4000, 2.8000, 3.9000, 10.1000, 4.5000, 6.6000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.5000, 0.5000, 0.0000, 0.7000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.3000, 0.7000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 3.2000, 1.4000, 7.3000, 0.0000, 3.7000, 11.1000, 1.2000, 0.0000, 0.0000, 0.0000, 0.0000, 0.1000, 8.3000, 2.2000, 6.1000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.2000, 0.0000, 0.0000, 0.1000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 11.6000, 5.9000, 0.0000, 0.0000, 8.9000, 17.1000, 0.1000, 4.9000, 2.3000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 14.5000, 2.7000, 1.9000, 3.3000, 0.0000, 0.0000, 19.9000, 2.4000, 4.1000, 2.0000, 4.2000, 0.9000, 0.3000, 0.0000, 0.1000, 0.3000, 0.0000, 3.1000, 2.5000, 0.0000, 1.6000, 3.8000, 8.2000, 5.7000, 7.7000, 0.3000, 0.0000, 5.4000, 7.9000, 1.3000, 10.0000, 0.6000, 0.7000, 0.0000, 0.0000, 0.0000, 0.9000, 0.0000, 0.0000, 0.1000, 2.6000, 6.3000, 4.7000, 0.7000, 0.1000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.2000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 2.3000, 2.0000, 0.0000, 3.1000, 0.9000, 0.1000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.3000, 0.4000, 7.5000, 12.4000, 2.9000, 0.5000, 7.6000, 1.6000, 2.3000, 0.0000, 0.0000, 2.1000, 2.3000, 8.0000, 2.1000, 1.7000, 0.0000, 0.0000, 17.9000, 4.5000, 0.5000, 0.7000, 0.3000, 0.0000, 1.1000, 0.1000, 0.0000, 0.0000, 1.1000, 0.1000, 0.0000, 1.2000, 0.0000, 1.2000, 0.8000, 0.7000, 0.0000, 0.1000, 0.2000, 0.2000, 0.0000, 0.4000, 1.3000, 0.0000, 0.0000, 0.0000, 0.1000, 1.4000 }; double[] potentialEvaporation = new double[numberOfTimesteps] { 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.2330, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 2.0970, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 3.9000, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 4.1940, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 3.2260, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 1.6330, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.7740, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.2670, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 2.0000, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.1610, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.6330, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 3.5160, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 2.1290, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.2330, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.1790, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 0.6450, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 1.3330, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 2.4840, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.3330, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.8390, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 3.2580, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 1.4000, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.6130, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.3000, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610, 0.1610 }; double[] temperature = new double[numberOfTimesteps] { -2.1500, 0.0500, 2.9000, 2.5500, 2.7000, 6.1000, 2.8000, 1.3500, -1.7000, -1.7000, -0.4500, -2.3500, -0.7000, 1.2000, 1.3500, 1.6000, 0.7500, 0.5000, 0.2000, -0.3000, -0.0500, 1.7500, 1.3000, 0.9000, 1.5000, 3.6500, 4.6500, 2.5500, 1.9500, 3.8000, 1.6500, 2.7500, 2.4500, 3.8000, 5.9000, 6.5000, 5.4000, 5.9500, 4.1500, 3.3000, 1.5500, 0.9500, 2.7000, 3.0000, -0.0500, -0.7500, 0.6500, 0.3000, 0.7500, 0.6000, 3.4000, 7.3000, 5.3500, 2.4500, -0.1500, -1.1500, -0.8500, -0.6000, 1.1500, 4.1500, 6.0000, 3.3500, 3.7000, 4.8000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 2.7500, -0.9000, 1.0500, 1.7000, 1.5500, 4.5000, 5.1500, 1.8000, 3.5000, 7.5500, 4.6000, 2.4500, -3.8500, -5.3500, -5.1500, -5.7000, -7.4500, -8.3000, -10.1500, -2.4500, 5.4000, 3.2000, 2.8000, 2.2500, -0.3000, -3.2000, -0.4500, 4.4000, 2.8500, 2.7000, 2.3500, -0.6500, -2.1500, 1.3500, -0.9500, -2.0500, -0.7500, 0.5000, 0.9000, 0.8000, 0.8500, 0.8500, 0.9000, 3.8500, 5.4500, 4.0000, 5.8500, 3.5000, 2.3500, 1.6000, 0.0500, 0.4000, 1.1000, 1.7500, 1.9000, 1.1500, 0.0000, 1.2000, 0.7500, 0.6000, 2.2000, 4.5000, 4.8500, 5.1000, 3.1500, 1.8500, 5.3000, 6.0000, 5.2000, 2.8000, 1.0000, 2.6000, 4.4500, 5.2500, 4.1000, 1.9500, 2.7000, 2.9500, 2.9000, 2.2500, 1.5500, 4.8500, 4.7500, 3.2500, 1.7500, 0.4000, -0.1000, 0.8000, 2.2500, 5.4500, 8.3500, 4.6000, 2.7500, 2.9000, 3.4500, 2.5000, 3.4000, 0.0000, -0.1000, 1.9500, 5.9500, 3.9000, 1.8500, 2.6000, 4.7500, 3.4000, 0.3500, 1.2000, 1.5500, 1.6000, 1.7000, 2.5000, 3.3000, 0.5500, 0.0500, -0.2000, 1.4000, 2.3500, 1.2500, 1.2000, 0.8500, 1.9000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 0.4000, -4.4500, -2.9000, 3.0000, 1.7500, 1.9000, -0.1000, 1.6000, 4.2500, 7.5500, 8.2000, 7.1500, 6.5000, 5.2500, 5.7000, 4.8500, 2.7000, 6.3000, 3.7000, 0.7000, 4.1500, 4.9000, 6.7000, 4.9500, 4.4000, 8.1000, 4.8500, 1.2000, -1.0500, 3.5500, 4.0500, 5.4000, 5.9500, 5.7000, 7.0500, 7.2500, 6.2500, 4.1500, 2.9000, 1.8500, 2.5500, 3.8000, 3.9500, 2.3500, 3.1500, 3.2000, 2.9500, 2.0000, 4.1000, 3.4500, 2.9500, 5.1500, 6.2000, 2.5000, 1.4000, 2.7000, 2.6000, 1.3500, 0.2000, -0.6500, 1.4500, 1.3500, 1.6500, 0.7000, -0.2500, -2.6500, -5.2000, -2.6000, 0.4500, 3.4000, 2.7000, 0.6000, 1.1000, 1.4000, 1.7000, 1.6500, 1.5000, 0.6500, 1.6000, 1.9000, 1.6500, 1.7500, 5.7500, 6.4500, 5.0500, 4.4000, 5.2500, 3.8500, 4.2000, 4.3500, 2.6000, 1.9500, 2.6000, 2.1500, 1.2000, 1.2500, -1.1000, -0.9500, 2.6500, 0.8500, 0.7000, 2.1500, 4.1500, 2.9500, 2.0000, -0.8500, -0.4500, 1.2500, 0.6500, 1.4000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 10.0000, 0.6500, -1.5000, -0.5000, 0.8000, 0.3500, 2.1500, 2.8000, 2.6500, 2.4500, 1.2000, 2.1000, 3.0500, 4.7500, 3.5500, 5.2500, 5.6000, 2.4000, 5.2500, 4.9000, 4.9500, 2.2000, 2.9000, 2.5500, -1.6500, 3.4500, 6.5000, 2.2000, -2.8500, -0.5000, 0.0500, 3.2500, 6.9000, 6.5500, 4.5000, 2.1500, 1.8000, 6.4000, 7.6500, 6.3000, 4.3000, 6.0500 }; for (int i = 0; i < numberOfTimesteps; i++) { precipitationTs.Items[i].Value = precipitation[i]; potentialEvaporationTs.Items[i].Value = potentialEvaporation[i]; temperatureTs.Items[i].Value = temperature[i]; observedRunoffTs.Items[i].Value = observedRunoff[i]; } hydroCatEngine.InputPrecipitation = precipitationTs; hydroCatEngine.InputPotentialEvaporation = potentialEvaporationTs; hydroCatEngine.InputTemperature = temperatureTs; hydroCatEngine.InputObservedRunoff = observedRunoffTs; //-- Initial values hydroCatEngine.InitialSnowStorage = 0; hydroCatEngine.InitialSurfaceStorage = 0; hydroCatEngine.InitialRootZoneStorage = 220; hydroCatEngine.InitialOverlandFlow = 0; hydroCatEngine.InitialInterFlow = 0; hydroCatEngine.InitialBaseFlow = 0.6; //-- Parameters hydroCatEngine.CatchmentArea = 160000000; hydroCatEngine.SnowmeltCoefficient = 2.0; hydroCatEngine.SurfaceStorageCapacity = 18; hydroCatEngine.RootZoneStorageCapacity = 250; hydroCatEngine.OverlandFlowCoefficient = 0.61; hydroCatEngine.InterflowCoefficient = 0.027586; // svarende til = 24/CKIF = 24/870 hydroCatEngine.OverlandFlowTreshold = 0.38; hydroCatEngine.InterflowTreshold = 0.08; hydroCatEngine.OverlandFlowTimeConstant = 1.25; // svarende til CK12/24 30/24 hydroCatEngine.InterflowTimeConstant = 1.25; // svarende til CK12/24 30/24 hydroCatEngine.BaseflowTimeConstant = 116.6666666; //svarende til 2800/24 hydroCatEngine.Initialize(); hydroCatEngine.RunSimulation(); TimestampSeries simulatedRunoff = null; foreach(TimestampSeries ts in hydroCatEngine.OutputTimeSeries.Items) { if (ts.Name == "Runoff") { simulatedRunoff = ts; } } if (simulatedRunoff == null) { throw new Exception(); } for (int i = 0; i < 364; i++) { Assert.AreEqual(TestValues[i], simulatedRunoff.Items[i].Value,0.0001); } }
public void AddSiValue() { TimestampSeries ts = new TimestampSeries(); ts.Unit = new HydroNumerics.Core.Unit("cm/sec", 0.01, 0.0); ts.AddSiValue(new DateTime(2010, 1, 1), 2); Assert.AreEqual(200, ts.Items[0].Value); }
public void AddValue() { TimestampSeries ts = new TimestampSeries(); ts.AddValue(new DateTime(2010, 1, 2), 1); ts.AddValue(new DateTime(2010, 1, 1), 0); ts.AddValue(new DateTime(2010, 1, 3), 2); ts.AddValue(new DateTime(2010, 1, 4), 3); Assert.AreEqual(4, ts.Items.Count); Assert.AreEqual(0, ts.Items[0].Value); Assert.AreEqual(1, ts.Items[1].Value); Assert.AreEqual(2, ts.Items[2].Value); Assert.AreEqual(3, ts.Items[3].Value); ts.AddValue(new DateTime(2010, 1, 1, 12, 0, 0), 0.5); //testing isert Assert.AreEqual(5, ts.Items.Count); Assert.AreEqual(0, ts.Items[0].Value); Assert.AreEqual(0.5, ts.Items[1].Value); Assert.AreEqual(1, ts.Items[2].Value); Assert.AreEqual(2, ts.Items[3].Value); Assert.AreEqual(3, ts.Items[4].Value); ts.AddValue(new DateTime(2010, 1, 3, 0, 0, 0), 77); // testing overwrite Assert.AreEqual(5, ts.Items.Count); Assert.AreEqual(0, ts.Items[0].Value); Assert.AreEqual(0.5, ts.Items[1].Value); Assert.AreEqual(1, ts.Items[2].Value); Assert.AreEqual(77, ts.Items[3].Value); Assert.AreEqual(3, ts.Items[4].Value); }
public void AppendValue() { TimestampSeries ts = new TimestampSeries(); ts.AppendValue(1); ts.AppendValue(2); Assert.AreEqual(new DateTime(2020, 1, 1), ts.Items[0].Time); Assert.AreEqual(1, ts.Items[0].Value); Assert.AreEqual(new DateTime(2020, 1, 2), ts.Items[1].Time); Assert.AreEqual(2, ts.Items[1].Value); ts = new TimestampSeries(); //testing when timestep is two seconds ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 1, 0, 0, 1), 10)); ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 1, 0, 0, 3), 20)); ts.AppendValue(30); Assert.AreEqual(new DateTime(2010, 1, 1, 0, 0, 5), ts.Items[2].Time); ts = new TimestampSeries(); //testing when timestep is two minutes ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 1, 0, 1, 0), 10)); ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 1, 0, 3,0 ), 20)); ts.AppendValue(30); Assert.AreEqual(new DateTime(2010, 1, 1, 0, 5, 0), ts.Items[2].Time); ts = new TimestampSeries(); //testing when timestep is two days ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 1), 10)); ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 3), 20)); ts.AppendValue(30); Assert.AreEqual(new DateTime(2010, 1, 5), ts.Items[2].Time); ts = new TimestampSeries(); //testing when timestep is two days, when passing end of month ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 31), 10)); ts.Items.Add(new TimestampValue(new DateTime(2010, 2, 2), 20)); ts.AppendValue(30); Assert.AreEqual(new DateTime(2010, 2, 4), ts.Items[2].Time); ts = new TimestampSeries(); //testing when timestep two months ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 1, 0, 0, 0), 10)); ts.Items.Add(new TimestampValue(new DateTime(2010, 3, 1, 0, 0, 0), 20)); ts.AppendValue(30); Assert.AreEqual(new DateTime(2010, 5, 1, 0, 0, 0), ts.Items[2].Time); ts = new TimestampSeries(); //testing when timestep two months, when passing january 1st ts.Items.Add(new TimestampValue(new DateTime(2010, 12, 1, 0, 0, 0), 10)); ts.Items.Add(new TimestampValue(new DateTime(2011, 2, 1, 0, 0, 0), 20)); ts.AppendValue(30); Assert.AreEqual(new DateTime(2011, 4, 1, 0, 0, 0), ts.Items[2].Time); ts = new TimestampSeries(); //testing when timestep is two years ts.Items.Add(new TimestampValue(new DateTime(2010, 6, 17), 10)); ts.Items.Add(new TimestampValue(new DateTime(2011, 6, 17), 20)); ts.AppendValue(30); Assert.AreEqual(new DateTime(2012, 6, 17), ts.Items[2].Time); }
public void GroundWaterTest() { WaterPacket GroundWater = new WaterPacket(1); // GroundWater.AddChemical(ChemicalFactory.Instance.GetChemical(ChemicalNames.Radon), 0.01); GroundWater.IDForComposition = 4; Lake Vedsted= LakeFactory.GetLake("Vedsted Sø"); Vedsted.Depth = 5; Vedsted.WaterLevel = 45.7; //Create and add a discharge boundary TimestampSeries Discharge = new TimestampSeries(); Discharge.AddSiValue(new DateTime(2007, 3, 12), 6986 / TimeSpan.FromDays(365).TotalSeconds); Discharge.AddSiValue(new DateTime(2007, 4, 3), 5894 / TimeSpan.FromDays(365).TotalSeconds); Discharge.AddSiValue(new DateTime(2007, 4, 25), 1205 / TimeSpan.FromDays(365).TotalSeconds); Discharge.RelaxationFactor = 1; Discharge.AllowExtrapolation = true; Assert.AreEqual(Discharge.GetValue(new DateTime(2007, 4, 25)), Discharge.GetValue(new DateTime(2007, 6, 25)), 0.0000001); SinkSourceBoundary Kilde = new SinkSourceBoundary(Discharge); Kilde.Name = "Small spring"; Kilde.ID = 3; Kilde.WaterSample.IDForComposition = 3; Vedsted.Sources.Add(Kilde); Vedsted.Output.LogAllChemicals = true; Vedsted.Output.LogComposition = true; //Add to an engine Model Engine = new Model(); Engine.Name = "Vedsted-opsætning"; Engine._waterBodies.Add(Vedsted); //Set initial state WaterPacket InitialStateWater = new WaterPacket(1); InitialStateWater.IDForComposition = 1; DateTime Start = new DateTime(2007, 1, 1); DateTime End = new DateTime(2007, 12, 31); Engine.SetState("Initial", Start, InitialStateWater); Engine.SimulationEndTime = End; Engine.TimeStep = TimeSpan.FromDays(30); Engine.MoveInTime(End, TimeSpan.FromDays(30)); Vedsted.Name = "Vedsted step 1"; Engine.Save(testDataPath + Vedsted.Name + ".xml"); Engine.RestoreState("Initial"); //Create and add precipitation boundary TimespanSeries Precipitation = new TimespanSeries(); Precipitation.ExtrapolationMethod = ExtrapolationMethods.RecycleYear; Precipitation.AllowExtrapolation = true; double[] values = new double[] { 108, 83, 73, 52, 61, 86, 99, 101, 75, 108, 85, 101 }; AddMonthlyValues(Precipitation, 2007, values); SinkSourceBoundary Precip = new SinkSourceBoundary(Precipitation); Precip.ContactGeometry = Vedsted.SurfaceArea; Precip.Name = "Precipitation"; Precip.ID = 2; Precip.WaterSample.IDForComposition = 2; Vedsted.Precipitation.Add(Precip); //Create and add evaporation boundary TimespanSeries Evaporation = new TimespanSeries(); Evaporation.AllowExtrapolation = true; Evaporation.ExtrapolationMethod = ExtrapolationMethods.RecycleYear; double[] values2 = new double[] {4,11,34,66,110,118,122,103,61,26,7,1 }; AddMonthlyValues(Evaporation, 2007, values2); EvaporationRateBoundary eva = new EvaporationRateBoundary(Evaporation); eva.ContactGeometry = Vedsted.SurfaceArea; eva.Name = "Evapo"; Vedsted.EvaporationBoundaries.Add(eva); Engine.MoveInTime(End, TimeSpan.FromDays(30)); Vedsted.Name = "Vedsted step 2"; Engine.Save(testDataPath + Vedsted.Name + ".xml"); Engine.RestoreState("Initial"); //To be used by other tests Engine.Save(testDataPath + "VedstedNoGroundwater.xml"); XYPolygon ContactArea = XYPolygon.GetSquare(Vedsted.Area/10); #region Groundwater boundaries //Add groundwater boundaries GroundWaterBoundary B1 = new GroundWaterBoundary(Vedsted, 1.3e-4, 1, 45.47, ContactArea); B1.Name = "B1"; B1.ID = 4; B1.WaterSample = GroundWater; Vedsted.GroundwaterBoundaries.Add(B1); GroundWaterBoundary B2 = new GroundWaterBoundary(Vedsted, 1e-6, 1, 44.96, ContactArea); B2.Name = "B2"; B2.ID = 5; B2.WaterSample = GroundWater; Vedsted.GroundwaterBoundaries.Add(B2); GroundWaterBoundary B3 = new GroundWaterBoundary(Vedsted, 2e-6, 1, 44.63, ContactArea); B3.Name = "B3"; B3.ID = 6; B3.WaterSample = GroundWater; Vedsted.GroundwaterBoundaries.Add(B3); GroundWaterBoundary B4 = new GroundWaterBoundary(Vedsted, 4.9e-7, 1, 44.75, ContactArea); B4.Name = "B4"; B4.ID = 7; B4.WaterSample = GroundWater; Vedsted.GroundwaterBoundaries.Add(B4); GroundWaterBoundary B5 = new GroundWaterBoundary(Vedsted, 1.5e-8, 1, 44.27, ContactArea); B5.Name = "B5"; B5.ID = 8; B5.WaterSample = GroundWater; Vedsted.GroundwaterBoundaries.Add(B5); GroundWaterBoundary B6 = new GroundWaterBoundary(Vedsted, 1.5e-8, 1, 44.16, ContactArea); B6.Name = "B6"; B6.ID = 9; B6.WaterSample = GroundWater; Vedsted.GroundwaterBoundaries.Add(B6); GroundWaterBoundary B7 = new GroundWaterBoundary(Vedsted, 1.1e-6, 1, 45.15, ContactArea); B7.Name = "B7"; B7.ID = 10; B7.WaterSample = GroundWater; Vedsted.GroundwaterBoundaries.Add(B7); GroundWaterBoundary B8 = new GroundWaterBoundary(Vedsted, 1.1e-6, 1, 44.54, ContactArea); B8.Name = "B8"; B8.ID = 11; B8.WaterSample = GroundWater; Vedsted.GroundwaterBoundaries.Add(B8); GroundWaterBoundary B9 = new GroundWaterBoundary(Vedsted, 2.1e-8, 1, 45.4, ContactArea); B9.Name = "B9"; B9.ID = 12; B9.WaterSample = GroundWater; Vedsted.GroundwaterBoundaries.Add(B9); GroundWaterBoundary B10 = new GroundWaterBoundary(Vedsted, 3.5e-6, 1, 45.16, ContactArea); B10.Name = "B10"; B10.ID = 13; B10.WaterSample = GroundWater; Vedsted.GroundwaterBoundaries.Add(B10); #endregion Engine.MoveInTime(End, TimeSpan.FromDays(30)); Vedsted.Name = "Vedsted step 3"; Engine.Save(testDataPath + Vedsted.Name + ".xml"); Engine.RestoreState("Initial"); Vedsted.GroundwaterBoundaries.Clear(); var cl =ChemicalFactory.Instance.GetChemical(ChemicalNames.IsotopeFraction); GroundWaterBoundary Inflow = new GroundWaterBoundary(Vedsted, 1e-7,1,46.7,XYPolygon.GetSquare(Vedsted.Area/2)); Inflow.Name = "Inflow"; GroundWater.AddChemical(cl, 3); Inflow.WaterSample = GroundWater; Vedsted.RealData.AddChemicalTimeSeries(cl); Vedsted.RealData.ChemicalConcentrations[cl].AddSiValue(new DateTime(2007, 8, 7), 2.5); ((WaterPacket)InitialStateWater).AddChemical(cl, 2.5 * InitialStateWater.Volume); Engine.SetState("Initial", Start, InitialStateWater); GroundWaterBoundary Outflow = new GroundWaterBoundary(Vedsted, 1e-7,1,44.7,XYPolygon.GetSquare(Vedsted.Area/2)); Outflow.Name = "Outflow"; Vedsted.GroundwaterBoundaries.Add(Inflow); Vedsted.GroundwaterBoundaries.Add(Outflow); Engine.MoveInTime(End, TimeSpan.FromDays(30)); Vedsted.Name = "Vedsted step 4"; Engine.Save(testDataPath + Vedsted.Name + ".xml"); Engine.RestoreState("Initial"); #region ////Add seepage meter boundaries //GroundWaterBoundary S1 = new GroundWaterBoundary(Vedsted, 4e-5, 1, 2, 46); //Vedsted.SinkSources.Add(S1); //GroundWaterBoundary S2 = new GroundWaterBoundary(Vedsted, 4e-5, 1, 2, 46); //Vedsted.SinkSources.Add(S2); //GroundWaterBoundary S3 = new GroundWaterBoundary(Vedsted, 4e-5, 1, 2, 46); //Vedsted.SinkSources.Add(S3); //GroundWaterBoundary I1 = new GroundWaterBoundary(Vedsted, 4e-5, 1, 2, 46); //Vedsted.SinkSources.Add(I1); //GroundWaterBoundary I2 = new GroundWaterBoundary(Vedsted, 4e-5, 1, 2, 46); //Vedsted.SinkSources.Add(I2); //GroundWaterBoundary I3 = new GroundWaterBoundary(Vedsted, 4e-5, 1, 2, 46); //Vedsted.SinkSources.Add(I3); #endregion Assert.AreEqual(Evaporation.EndTime, Engine.MaximumEndTime); Engine.Save(testDataPath + "Vedsted.xml"); Engine.MoveInTime(End, TimeSpan.FromDays(30)); double outflow2 = Vedsted.Output.Outflow.GetValue(Start, End.Subtract(TimeSpan.FromDays(5))); double evapo2 = Vedsted.Output.Evaporation.GetValue(Start, End.Subtract(TimeSpan.FromDays(5))); Engine.Save(testDataPath + "Vedsted2.xml"); }
public HydroCatEditor() { InitializeComponent(); hydroCatEngine = new HydroNumerics.HydroCat.Core.HydroCatEngine(); //-- Default Initial values hydroCatEngine.InitialSnowStorage = 0; hydroCatEngine.InitialSurfaceStorage = 0; hydroCatEngine.InitialRootZoneStorage = 220; hydroCatEngine.InitialOverlandFlow = 0; hydroCatEngine.InitialInterFlow = 0; hydroCatEngine.InitialBaseFlow = 0.6; //-- Parameters hydroCatEngine.CatchmentArea = 160000000; hydroCatEngine.SnowmeltCoefficient = 2.0; hydroCatEngine.SurfaceStorageCapacity = 18; hydroCatEngine.RootZoneStorageCapacity = 250; hydroCatEngine.OverlandFlowCoefficient = 0.61; hydroCatEngine.InterflowCoefficient = 0.027586; // svarende til = 24/CKIF = 24/870 hydroCatEngine.OverlandFlowTreshold = 0.38; hydroCatEngine.InterflowTreshold = 0.08; hydroCatEngine.OverlandFlowTimeConstant = 1.25; // svarende til CK12/24 30/24 hydroCatEngine.InterflowTimeConstant = 1.25; // svarende til CK12/24 30/24 hydroCatEngine.BaseflowTimeConstant = 116.6666666; //svarende til 2800/24 // -- Default simulatio time --- hydroCatEngine.SimulationStartTime = new System.DateTime(1973, 1, 1, 12, 0, 0); hydroCatEngine.SimulationEndTime = new System.DateTime(1975, 12, 1, 12, 0, 0); int numberOfTimesteps = 1095; TimespanSeries precipitationTs = new TimespanSeries("Precipitation", hydroCatEngine.SimulationStartTime, numberOfTimesteps, 1, TimestepUnit.Days, 0); precipitationTs.Unit = Units.MmPrDay; TimespanSeries potentialEvaporationTs = new TimespanSeries("PotentialEvaporation", hydroCatEngine.SimulationStartTime, numberOfTimesteps, 1, TimestepUnit.Days, 0); potentialEvaporationTs.Unit = Units.MmPrDay; TimespanSeries temperatureTs = new TimespanSeries("Temperature", hydroCatEngine.SimulationStartTime, numberOfTimesteps, 1, TimestepUnit.Days, 0); temperatureTs.Unit = Units.Centigrade; TimestampSeries observedRunoffTs = new TimestampSeries("ObservedRunoff", hydroCatEngine.SimulationStartTime, numberOfTimesteps, 1, TimestepUnit.Days, 0); observedRunoffTs.Unit = Units.M3PrSec; double[] observedRunoff = new double[1095] { 1.1970, 0.9910, 1.0470, 1.0270, 1.1230, 1.2220, 1.2130, 1.2450, 1.1300, 1.0580, 1.0120, 0.9200, 0.9010, 0.9180, 0.9840, 1.6800, 1.8050, 1.6600, 1.4070, 1.1980, 1.1140, 1.2660, 1.6370, 1.4360, 1.4890, 2.0670, 2.9970, 2.3670, 2.3300, 2.0210, 1.8180, 1.6670, 1.4660, 1.3810, 1.2980, 1.2300, 1.2670, 1.4510, 1.2620, 1.4870, 1.4700, 1.3190, 1.5200, 4.4690, 3.9720, 2.4260, 2.0370, 2.3040, 3.8690, 3.0320, 2.3240, 1.9890, 1.6320, 1.5460, 1.5170, 1.3530, 1.1970, 1.0720, 1.0710, 1.1180, 1.9850, 2.3790, 2.1200, 1.9040, 1.5970, 1.3640, 1.1700, 1.0590, 1.0580, 0.9980, 0.9280, 0.9040, 0.8770, 0.8510, 0.8350, 0.8310, 0.8160, 0.7910, 0.7760, 0.7620, 0.7470, 0.7330, 0.7300, 0.7260, 0.7120, 0.7080, 0.6950, 0.6910, 0.6880, 0.6840, 0.7100, 0.7370, 0.6960, 0.6750, 0.8540, 1.1070, 1.2230, 0.9430, 0.8030, 0.7310, 0.8090, 0.8480, 0.7640, 0.7040, 0.6820, 0.6710, 0.6600, 0.6300, 0.6210, 0.6030, 0.6400, 0.6770, 0.6400, 0.6120, 0.6120, 0.6140, 0.6150, 0.6170, 0.6180, 0.6290, 0.7500, 0.7220, 0.6940, 0.6970, 0.8050, 0.8190, 0.8570, 1.7410, 1.5130, 1.5150, 2.0980, 1.4650, 1.2940, 1.2450, 1.0620, 0.9060, 0.8170, 0.7450, 0.6970, 0.6530, 0.6210, 0.5980, 0.5700, 0.5900, 0.5700, 0.5440, 0.5200, 0.5030, 0.4950, 0.4870, 0.4790, 0.5310, 0.5070, 0.6100, 0.5260, 0.4800, 0.4430, 0.4090, 0.3870, 0.3720, 0.3720, 0.3530, 0.3270, 0.3270, 0.3200, 0.2960, 0.2810, 0.2750, 0.2690, 0.2640, 0.2510, 0.2650, 0.2640, 0.2570, 0.2560, 0.2560, 0.2620, 0.2750, 0.3030, 0.2950, 0.2870, 0.2700, 0.2660, 0.2650, 0.2650, 0.2460, 0.2460, 0.2220, 0.2190, 0.2130, 0.2300, 0.2480, 0.2310, 0.2160, 0.2090, 0.2030, 0.2000, 0.2050, 0.2130, 0.2100, 0.2080, 0.2060, 0.2040, 0.2090, 0.2650, 0.2290, 0.2230, 0.2450, 0.2230, 0.2210, 0.2150, 0.2130, 0.2070, 0.1980, 0.2000, 0.2100, 0.2090, 0.2080, 0.2100, 0.2190, 0.2110, 0.2200, 0.2050, 0.1900, 0.1820, 0.1850, 0.1800, 0.1750, 0.1700, 0.1650, 0.1630, 0.1580, 0.1530, 0.1490, 0.1490, 0.1450, 0.1430, 0.1390, 0.1400, 0.1440, 0.1440, 0.1850, 0.2030, 0.1810, 0.1870, 0.1760, 0.1720, 0.1770, 0.1550, 0.1270, 0.1220, 0.1490, 0.1610, 0.1490, 0.1450, 0.1420, 0.1400, 0.1380, 0.1360, 0.1340, 0.1320, 0.1300, 0.2990, 0.3070, 0.6170, 0.7010, 0.5070, 0.4260, 0.3910, 0.3780, 0.6120, 0.6630, 0.5590, 0.4920, 0.4490, 0.4150, 0.4160, 0.4160, 0.4100, 0.4110, 0.4110, 0.5120, 0.6560, 0.5030, 0.4560, 0.4330, 0.4170, 0.4070, 0.3980, 0.4030, 0.4760, 0.6100, 0.5670, 0.4900, 0.4450, 0.4290, 0.4200, 0.4310, 0.4330, 0.4220, 0.4110, 0.4130, 0.4160, 0.3920, 0.3820, 0.3720, 0.3680, 0.3640, 0.3850, 0.5690, 0.4660, 0.4360, 0.4310, 0.4020, 0.4360, 0.5670, 1.0330, 0.7080, 0.6220, 0.6970, 0.6920, 0.6610, 1.0210, 1.1710, 0.8260, 0.7740, 0.7880, 1.2850, 1.3900, 1.0730, 0.8990, 0.8900, 0.8850, 0.8800, 0.8750, 0.8700, 2.0790, 1.8000, 1.1910, 2.0740, 3.2910, 2.0310, 1.3100, 1.1250, 1.4480, 1.6390, 2.0280, 2.4840, 1.7430, 1.5070, 2.0170, 2.0250, 1.3710, 1.1440, 1.1370, 1.2150, 1.3840, 1.7270, 3.0710, 3.0830, 2.9360, 2.3620, 1.9840, 2.0680, 2.5220, 1.8970, 1.6560, 1.4810, 1.3640, 1.3660, 1.3300, 1.2810, 1.2570, 1.3100, 1.3510, 1.4050, 2.3300, 4.8060, 4.6420, 5.2280, 5.1240, 5.0420, 4.7750, 3.8090, 3.0730, 2.5830, 2.2200, 1.9690, 2.9730, 2.6900, 2.2590, 2.0980, 2.5040, 2.4490, 2.4910, 2.1520, 1.8190, 1.7710, 1.6960, 1.6220, 1.5630, 1.6540, 1.7850, 1.4880, 1.3260, 1.9420, 4.4560, 5.5210, 4.5020, 3.4410, 3.7220, 2.8500, 2.2120, 1.9490, 1.7010, 1.4940, 1.5510, 1.5560, 1.3940, 1.1940, 1.1870, 1.1350, 1.0830, 1.0330, 0.9890, 0.9130, 0.8810, 0.8590, 0.8380, 0.7970, 0.7860, 0.7650, 0.7540, 0.7340, 0.7140, 0.7130, 0.7210, 0.7110, 0.7090, 0.7170, 0.7440, 0.7900, 0.9290, 0.8760, 0.9570, 0.9240, 0.8320, 0.7730, 0.7340, 0.7140, 0.6860, 0.6580, 0.6480, 0.6200, 0.6190, 0.6180, 0.6170, 0.6160, 0.6120, 0.6090, 0.6050, 0.6020, 0.5980, 0.5950, 0.5910, 0.5880, 0.5600, 0.5410, 0.5380, 0.5420, 0.5330, 0.5240, 0.5150, 0.5070, 0.4980, 0.4900, 0.4820, 0.4740, 0.4660, 0.4510, 0.4440, 0.4370, 0.4230, 0.4230, 0.4160, 0.4040, 0.3990, 0.4900, 0.5740, 0.4900, 0.4150, 0.3800, 0.4050, 0.3940, 0.3840, 0.3740, 0.3640, 0.3600, 0.3560, 0.3470, 0.3610, 0.3550, 0.3530, 0.3520, 0.3560, 0.3600, 0.3530, 0.3470, 0.3460, 0.3500, 0.3490, 0.3530, 0.3520, 0.3880, 0.3590, 0.3440, 0.3390, 0.3380, 0.3590, 0.3540, 0.3450, 0.3610, 0.3690, 0.3550, 0.3420, 0.3370, 0.3440, 0.3740, 0.3580, 0.3500, 0.3550, 0.3470, 0.3440, 0.3360, 0.3610, 0.3690, 0.3490, 0.3520, 0.3440, 0.3390, 0.3390, 0.3410, 0.3400, 0.3390, 0.3340, 0.3210, 0.3360, 0.3520, 0.3510, 0.3930, 0.3680, 0.3270, 0.3270, 0.3200, 0.3150, 0.3100, 0.3100, 0.3150, 0.3200, 0.3500, 0.3450, 0.3400, 0.3400, 0.3300, 0.3250, 0.3250, 0.3200, 0.3200, 0.3250, 0.3400, 0.3350, 0.3300, 0.3300, 0.3350, 0.3300, 0.3250, 0.3200, 0.3200, 0.3100, 0.3000, 0.2950, 0.2900, 0.2850, 0.2800, 0.2750, 0.2700, 0.3000, 0.2800, 0.2950, 0.2950, 0.2700, 0.2630, 0.2570, 0.2420, 0.2320, 0.2270, 0.2240, 0.2250, 0.2220, 0.2190, 0.2130, 0.2140, 0.2070, 0.2080, 0.2100, 0.2070, 0.2120, 0.2060, 0.1930, 0.2200, 0.2310, 0.2260, 0.2400, 0.2620, 0.2450, 0.2990, 0.6120, 0.3700, 0.2910, 0.2650, 0.2670, 0.2960, 0.2940, 0.2800, 0.2780, 0.2790, 0.2810, 0.3030, 0.3050, 0.5230, 0.7040, 0.6710, 0.8020, 0.7890, 0.7690, 1.1390, 0.9570, 0.9190, 0.8830, 0.8140, 1.6300, 1.7260, 2.1340, 2.1120, 1.9080, 1.6170, 1.4350, 1.3690, 1.4380, 1.3500, 1.2420, 1.1790, 1.1480, 1.1080, 1.0990, 1.0800, 1.0500, 2.3200, 2.1690, 1.9390, 3.2440, 2.9380, 2.0800, 1.6430, 1.4490, 1.0440, 1.6950, 1.7660, 1.5260, 1.4690, 1.3770, 1.2630, 1.2220, 1.1690, 1.1510, 1.1770, 1.2160, 1.8230, 3.3650, 3.4090, 3.8940, 3.2520, 3.9900, 4.8740, 4.7210, 5.9580, 5.4190, 4.5530, 4.0140, 3.1490, 2.4340, 1.9920, 1.8300, 2.0340, 2.3090, 2.3160, 3.4970, 4.2260, 3.3720, 2.2530, 2.2600, 2.1770, 2.5250, 3.6390, 3.0750, 3.2950, 3.5950, 3.3140, 4.4300, 5.5010, 4.9340, 3.5600, 3.3710, 4.4610, 3.9200, 4.7380, 4.6690, 3.9600, 4.0720, 4.5080, 4.3190, 5.1720, 4.4300, 4.6090, 5.3970, 4.8080, 4.0850, 3.9410, 3.1290, 2.8590, 3.4560, 3.0320, 2.7640, 2.7390, 2.4810, 2.4090, 2.0550, 1.8230, 1.8600, 2.9750, 3.7280, 4.9730, 4.2310, 3.5730, 3.0830, 2.7920, 2.8020, 3.5650, 3.5960, 3.4940, 3.2610, 4.3150, 6.7780, 7.1950, 6.4270, 5.8290, 5.2530, 6.9740, 7.1390, 6.9050, 6.3820, 6.0870, 5.2740, 4.1730, 3.5690, 3.1670, 2.9430, 2.7260, 2.3330, 2.2790, 2.3070, 2.1420, 2.0750, 1.9930, 1.7640, 1.5040, 1.4180, 1.3880, 1.5770, 1.6870, 1.6410, 1.6800, 1.6760, 1.5880, 1.6410, 1.6090, 1.5220, 1.5330, 1.5430, 1.5680, 1.5510, 1.7450, 2.1940, 2.3500, 4.5640, 3.6630, 3.5130, 3.0930, 2.4300, 2.0110, 1.6800, 1.5070, 1.4310, 1.4100, 1.2990, 1.1690, 1.0910, 1.0610, 1.0430, 1.0020, 0.9960, 0.9900, 0.9940, 0.9880, 1.0030, 1.0190, 1.0350, 0.9960, 0.9570, 0.9090, 0.9130, 0.9180, 0.8610, 0.8250, 0.8100, 0.8750, 1.1040, 1.1080, 1.2150, 1.2320, 1.3910, 1.2180, 1.1540, 0.9950, 1.4220, 1.4470, 1.1320, 0.9950, 0.8850, 0.8280, 0.8110, 0.8330, 0.8640, 0.8090, 0.7460, 0.7130, 0.7160, 0.7090, 0.7030, 0.7670, 0.8810, 1.2100, 1.0420, 0.8870, 0.8060, 0.7550, 0.7140, 0.6910, 0.6760, 0.6710, 0.6690, 0.6670, 0.6490, 0.6630, 0.6530, 0.6440, 0.6340, 0.6400, 1.1660, 1.9310, 1.2910, 0.8750, 0.7260, 0.6580, 0.6160, 0.5830, 0.5580, 0.5410, 0.5310, 0.5530, 0.6700, 0.6170, 0.5870, 0.6900, 0.7560, 0.7290, 0.6250, 0.5800, 0.5490, 0.5250, 0.4970, 0.4710, 0.4560, 0.4470, 0.4330, 0.4150, 0.3980, 0.3910, 0.3750, 0.3680, 0.3580, 0.3490, 0.3360, 0.3280, 0.3200, 0.3160, 0.3120, 0.3080, 0.2980, 0.2840, 0.2780, 0.2680, 0.2630, 0.2580, 0.2560, 0.2540, 0.2550, 0.2500, 0.2540, 0.2520, 0.2530, 0.2600, 0.2650, 0.2690, 0.2770, 0.2920, 0.3170, 0.3120, 0.3000, 0.2850, 0.2730, 0.2680, 0.2760, 0.3150, 0.3520, 0.3490, 0.3590, 0.3470, 0.3520, 0.3730, 0.3700, 0.3600, 0.3600, 0.3500, 0.3400, 0.3300, 0.3300, 0.3200, 0.3200, 0.3100, 0.3100, 0.3000, 0.3000, 0.3000, 0.2900, 0.2900, 0.2800, 0.2800, 0.3020, 0.3050, 0.2970, 0.3040, 0.3360, 0.4770, 0.3860, 0.3910, 0.3740, 0.3580, 0.3470, 0.3470, 0.3470, 0.3470, 0.3470, 0.3520, 0.3570, 0.3830, 0.5360, 0.4440, 0.4440, 0.4550, 0.4320, 0.4310, 0.7190, 0.6130, 0.5670, 0.5340, 0.5710, 0.5830, 0.5880, 0.5130, 0.4780, 0.4720, 0.4600, 0.4710, 0.4590, 0.4480, 0.4530, 0.4800, 0.5910, 0.5840, 0.6520, 0.5580, 0.5170, 0.5330, 0.6480, 0.6760, 1.1340, 0.9980, 0.7960, 0.6550, 0.5930, 0.5640, 0.5660, 0.5520, 0.5390, 0.5410, 0.5820, 0.6820, 0.7440, 0.7470, 0.6880, 0.6490, 0.6260, 0.6120, 0.6060, 0.6080, 0.6100, 0.6040, 0.6000, 0.5900, 0.5800, 0.5700, 0.5600, 0.5500, 0.5500, 0.5500, 0.6740, 0.7030, 0.6970, 0.7520, 0.7640, 0.7220, 0.6980, 0.6910, 0.6850, 0.6780, 0.6810, 0.6830, 0.6770, 0.9340, 1.6870, 1.3210, 1.1650, 1.4120, 1.2180, 1.0140, 0.9150, 0.9080, 0.9410, 1.1690, 1.7100, 1.6620, 1.6540, 1.3950, 1.3390, 3.1540, 4.2760, 2.9380, 2.0970, 1.6670, 1.4720, 1.3720, 1.2390, 1.1330, 1.0970, 1.1750, 1.1510, 1.0360, 1.1010, 1.1580, 1.0980, 0.9840, 0.9710, 0.9580, 1.0800, 1.1370, 1.1350, 1.1340, 1.0500, 1.0710, 1.0930, 1.0680, 1.0550, 1.0890, 1.2350 }; double[] precipitation = new double[1095] {0.0000,0.0000,2.3000,0.2000,0.0000,0.1000,0.1000,0.0000,0.3000,0.4000,0.1000,0.1000,1.0000,0.0000,0.5000,5.3000,1.9000,0.1000,0.0000,0.4000,1.1000,1.2000,2.6000,0.0000,1.5000,3.4000,6.0000,0.7000,4.0000,0.1000,0.6000,2.0000,0.4000,0.1000,0.0000,0.0000,0.0000,4.1000,0.2000,4.0000,0.3000,0.6000,3.1000,14.1000,3.9000,0.1000,3.7000,2.4000,4.3000,0.0000,0.0000,0.0000,0.0000,2.7000,1.0000,0.1000,0.3000,0.2000,0.0000,0.2000,8.7000,2.0000,1.8000,0.9000,0.1000,0.2000,0.1000,0.1000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.1000,0.1000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.6000,1.8000,0.0000,1.1000,4.7000,2.4000,0.0000,0.1000,8.2000,4.6000,1.0000,0.1000,0.0000,0.0000,7.8000,2.0000,0.3000,0.0000,0.1000,0.1000,0.0000,0.0000,0.3000,0.1000,2.2000,2.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.1000,6.7000,0.0000,0.0000,0.0000,5.4000,2.2000,1.0000,10.8000,3.6000,3.1000,10.1000,0.0000,0.3000,2.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.3000,0.0000,0.0000,7.6000,3.6000,0.1000,0.0000,0.0000,0.0000,0.0000,0.1000,4.5000,0.0000,12.8000,0.0000,4.4000,0.0000,0.0000,0.0000,0.0000,4.9000,0.0000,0.8000,0.0000,2.1000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,7.1000,0.2000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,4.4000,1.5000,4.6000,1.4000,0.8000,0.0000,0.0000,0.0000,0.0000,5.5000,4.6000,1.3000,0.1000,2.8000,2.6000,0.0000,0.1000,3.5000,1.0000,8.7000,0.5000,0.0000,0.4000,0.0000,0.0000,0.0000,0.0000,3.8000,4.9000,4.6000,2.5000,7.9000,0.1000,4.7000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.6000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.2000,14.4000,2.0000,6.2000,0.5000,0.3000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,3.2000,8.1000,1.3000,20.2000,13.5000,1.1000,1.3000,0.0000,0.0000,2.1000,13.7000,3.9000,0.5000,0.1000,0.0000,0.0000,0.1000,0.0000,0.0000,0.2000,4.8000,7.2000,0.4000,0.0000,4.6000,0.2000,0.0000,0.0000,0.5000,4.8000,9.8000,0.6000,0.0000,0.0000,0.0000,0.0000,3.2000,0.0000,0.0000,0.0000,0.0000,0.4000,0.0000,0.0000,0.0000,0.0000,0.0000,0.5000,8.5000,0.5000,1.9000,1.2000,0.0000,3.2000,1.7000,12.3000,1.9000,0.0000,4.3000,3.6000,1.1000,6.7000,5.4000,0.0000,0.0000,0.9000,10.0000,7.8000,0.1000,1.3000,0.5000,0.1000,0.2000,0.5000,0.0000,7.2000,0.0000,0.0000,10.2000,9.7000,0.2000,0.1000,0.9000,3.5000,1.2000,4.9000,4.6000,3.5000,1.1000,5.8000,0.4000,0.0000,0.0000,0.6000,0.1000,1.2000,0.8000,9.4000,1.5000,0.1000,0.1000,0.2000,0.9000,4.8000,0.0000,0.0000,0.0000,0.0000,0.1000,0.0000,0.1000,1.9000,0.8000,0.9000,2.1000,7.9000,3.8000,3.8000,9.6000,1.4000,7.9000,0.4000,0.6000,0.7000,0.0000,0.0000,0.0000,7.0000,0.1000,0.1000,0.1000,5.3000,1.0000,4.3000,0.2000,0.0000,1.8000,0.1000,0.6000,0.0000,1.5000,3.2000,0.1000,4.1000,5.5000,10.6000,9.0000,0.9000,0.8000,2.7000,0.0000,0.0000,0.0000,0.0000,0.0000,0.4000,0.6000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.1000,0.1000,2.5000,5.7000,2.3000,2.0000,0.6000,0.8000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,4.2000,9.6000,0.1000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.1000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.7000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,9.3000,0.0000,0.0000,0.0000,0.0000,5.3000,0.0000,0.0000,0.7000,9.0000,0.2000,0.0000,0.0000,2.8000,2.4000,1.5000,0.0000,0.0000,0.0000,0.0000,0.0000,6.4000,0.0000,0.0000,0.8000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000,0.0000,7.1000,0.1000,0.0000,0.2000,0.0000,0.0000,0.2000,0.0000,0.6000,0.9000,10.0000,5.1000,4.1000,10.3000,1.9000,0.0000,0.0000,0.0000,0.2000,4.2000,0.4000,5.8000,0.5000,0.1000,3.3000,4.9000,1.4000,0.5000,0.0000,1.8000,2.5000,0.0000,0.0000,0.0000,0.0000,0.0000,0.1000,1.4000,0.0000,2.4000,7.6000,5.2000,11.4000,0.1000,1.1000,0.7000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.8000,0.0000,2.3000,0.4000,0.0000,0.0000,0.0000,0.0000,5.2000,2.2000,0.0000,10.0000,5.3000,1.2000,8.0000,30.7000,2.9000,0.0000,0.0000,0.0000,6.8000,0.0000,0.0000,0.0000,1.4000,0.5000,4.1000,0.1000,10.6000,11.2000,2.5000,6.2000,5.3000,4.5000,12.8000,0.1000,1.0000,0.0000,0.0000,22.7000,2.5000,5.5000,3.7000,0.8000,0.0000,1.6000,1.7000,3.8000,0.2000,0.3000,0.0000,0.4000,0.0000,0.2000,0.5000,1.0000,16.3000,0.3000,4.3000,14.8000,0.0000,2.7000,0.0000,2.8000,3.2000,5.3000,2.1000,0.0000,2.2000,0.4000,0.3000,0.1000,0.0000,0.0000,1.8000,0.5000,9.4000,11.4000,2.4000,9.2000,1.1000,11.1000,6.4000,8.3000,15.3000,0.1000,6.8000,2.9000,0.0000,0.3000,0.4000,0.2000,3.3000,6.2000,1.0000,9.0000,5.5000,0.0000,0.0000,3.0000,1.1000,0.0000,10.8000,0.0000,7.1000,2.0000,1.6000,7.2000,9.4000,0.9000,6.1000,1.4000,2.5000,0.6000,8.1000,0.9000,2.8000,5.0000,3.3000,2.1000,9.5000,0.0000,6.0000,7.0000,0.0000,2.2000,1.8000,0.2000,1.1000,5.2000,0.0000,0.3000,1.6000,0.8000,0.4000,0.0000,0.2000,1.4000,5.9000,7.1000,7.0000,1.9000,1.5000,0.1000,0.3000,5.6000,4.1000,4.8000,1.5000,1.5000,2.7000,11.4000,8.6000,3.7000,5.7000,1.3000,13.4000,5.6000,5.9000,5.4000,5.3000,0.1000,0.1000,0.2000,0.0000,0.5000,0.1000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,4.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.1000,0.0000,2.9000,3.0000,1.0000,14.6000,0.6000,5.0000,0.1000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.1000,1.6000,2.2000,0.0000,0.0000,0.6000,0.0000,0.2000,2.4000,0.3000,0.0000,0.3000,5.8000,1.6000,1.6000,5.7000,2.8000,1.9000,0.6000,2.8000,0.0000,8.8000,2.5000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,3.1000,0.0000,0.0000,0.0000,0.2000,0.5000,0.0000,3.7000,5.0000,10.2000,1.2000,0.4000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.6000,0.3000,0.0000,0.0000,2.2000,8.4000,11.5000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.8000,12.4000,2.8000,3.9000,10.1000,4.5000,6.6000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.5000,0.5000,0.0000,0.7000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.3000,0.7000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,3.2000,1.4000,7.3000,0.0000,3.7000,11.1000,1.2000,0.0000,0.0000,0.0000,0.0000,0.1000,8.3000,2.2000,6.1000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.2000,0.0000,0.0000,0.1000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,11.6000,5.9000,0.0000,0.0000,8.9000,17.1000,0.1000,4.9000,2.3000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,14.5000,2.7000,1.9000,3.3000,0.0000,0.0000,19.9000,2.4000,4.1000,2.0000,4.2000,0.9000,0.3000,0.0000,0.1000,0.3000,0.0000,3.1000,2.5000,0.0000,1.6000,3.8000,8.2000,5.7000,7.7000,0.3000,0.0000,5.4000,7.9000,1.3000,10.0000,0.6000,0.7000,0.0000,0.0000,0.0000,0.9000,0.0000,0.0000,0.1000,2.6000,6.3000,4.7000,0.7000,0.1000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.2000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,2.3000,2.0000,0.0000,3.1000,0.9000,0.1000,0.0000,0.0000,0.0000,0.0000,0.0000,0.3000,0.4000,7.5000,12.4000,2.9000,0.5000,7.6000,1.6000,2.3000,0.0000,0.0000,2.1000,2.3000,8.0000,2.1000,1.7000,0.0000,0.0000,17.9000,4.5000,0.5000,0.7000,0.3000,0.0000,1.1000,0.1000,0.0000,0.0000,1.1000,0.1000,0.0000,1.2000,0.0000,1.2000,0.8000,0.7000,0.0000,0.1000,0.2000,0.2000,0.0000,0.4000,1.3000,0.0000,0.0000,0.0000,0.1000,1.4000}; double[] potentialEvaporation = new double[1095] {0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.2330,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,2.0970,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,3.9000,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,4.1940,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,3.2260,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,1.6330,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.7740,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.2670,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,2.0000,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.1610,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.6330,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,3.5160,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,2.1290,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.2330,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.1790,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,0.6450,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,1.3330,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,2.4840,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.3330,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.8390,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,3.2580,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,1.4000,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.6130,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.3000,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610,0.1610}; double[] temperature = new double[1095] {-2.1500,0.0500,2.9000,2.5500,2.7000,6.1000,2.8000,1.3500,-1.7000,-1.7000,-0.4500,-2.3500,-0.7000,1.2000,1.3500,1.6000,0.7500,0.5000,0.2000,-0.3000,-0.0500,1.7500,1.3000,0.9000,1.5000,3.6500,4.6500,2.5500,1.9500,3.8000,1.6500,2.7500,2.4500,3.8000,5.9000,6.5000,5.4000,5.9500,4.1500,3.3000,1.5500,0.9500,2.7000,3.0000,-0.0500,-0.7500,0.6500,0.3000,0.7500,0.6000,3.4000,7.3000,5.3500,2.4500,-0.1500,-1.1500,-0.8500,-0.6000,1.1500,4.1500,6.0000,3.3500,3.7000,4.8000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,2.7500,-0.9000,1.0500,1.7000,1.5500,4.5000,5.1500,1.8000,3.5000,7.5500,4.6000,2.4500,-3.8500,-5.3500,-5.1500,-5.7000,-7.4500,-8.3000,-10.1500,-2.4500,5.4000,3.2000,2.8000,2.2500,-0.3000,-3.2000,-0.4500,4.4000,2.8500,2.7000,2.3500,-0.6500,-2.1500,1.3500,-0.9500,-2.0500,-0.7500,0.5000,0.9000,0.8000,0.8500,0.8500,0.9000,3.8500,5.4500,4.0000,5.8500,3.5000,2.3500,1.6000,0.0500,0.4000,1.1000,1.7500,1.9000,1.1500,0.0000,1.2000,0.7500,0.6000,2.2000,4.5000,4.8500,5.1000,3.1500,1.8500,5.3000,6.0000,5.2000,2.8000,1.0000,2.6000,4.4500,5.2500,4.1000,1.9500,2.7000,2.9500,2.9000,2.2500,1.5500,4.8500,4.7500,3.2500,1.7500,0.4000,-0.1000,0.8000,2.2500,5.4500,8.3500,4.6000,2.7500,2.9000,3.4500,2.5000,3.4000,0.0000,-0.1000,1.9500,5.9500,3.9000,1.8500,2.6000,4.7500,3.4000,0.3500,1.2000,1.5500,1.6000,1.7000,2.5000,3.3000,0.5500,0.0500,-0.2000,1.4000,2.3500,1.2500,1.2000,0.8500,1.9000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,0.4000,-4.4500,-2.9000,3.0000,1.7500,1.9000,-0.1000,1.6000,4.2500,7.5500,8.2000,7.1500,6.5000,5.2500,5.7000,4.8500,2.7000,6.3000,3.7000,0.7000,4.1500,4.9000,6.7000,4.9500,4.4000,8.1000,4.8500,1.2000,-1.0500,3.5500,4.0500,5.4000,5.9500,5.7000,7.0500,7.2500,6.2500,4.1500,2.9000,1.8500,2.5500,3.8000,3.9500,2.3500,3.1500,3.2000,2.9500,2.0000,4.1000,3.4500,2.9500,5.1500,6.2000,2.5000,1.4000,2.7000,2.6000,1.3500,0.2000,-0.6500,1.4500,1.3500,1.6500,0.7000,-0.2500,-2.6500,-5.2000,-2.6000,0.4500,3.4000,2.7000,0.6000,1.1000,1.4000,1.7000,1.6500,1.5000,0.6500,1.6000,1.9000,1.6500,1.7500,5.7500,6.4500,5.0500,4.4000,5.2500,3.8500,4.2000,4.3500,2.6000,1.9500,2.6000,2.1500,1.2000,1.2500,-1.1000,-0.9500,2.6500,0.8500,0.7000,2.1500,4.1500,2.9500,2.0000,-0.8500,-0.4500,1.2500,0.6500,1.4000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,10.0000,0.6500,-1.5000,-0.5000,0.8000,0.3500,2.1500,2.8000,2.6500,2.4500,1.2000,2.1000,3.0500,4.7500,3.5500,5.2500,5.6000,2.4000,5.2500,4.9000,4.9500,2.2000,2.9000,2.5500,-1.6500,3.4500,6.5000,2.2000,-2.8500,-0.5000,0.0500,3.2500,6.9000,6.5500,4.5000,2.1500,1.8000,6.4000,7.6500,6.3000,4.3000,6.0500}; for (int i = 0; i < numberOfTimesteps; i++) { precipitationTs.Items[i].Value = precipitation[i]; potentialEvaporationTs.Items[i].Value = potentialEvaporation[i]; temperatureTs.Items[i].Value = temperature[i]; observedRunoffTs.Items[i].Value = observedRunoff[i]; } hydroCatEngine.InputPrecipitation = precipitationTs; hydroCatEngine.InputPotentialEvaporation = potentialEvaporationTs; hydroCatEngine.InputTemperature = temperatureTs; hydroCatEngine.InputObservedRunoff = observedRunoffTs; hydroCatEngine.Initialize(); parametersPropertyGrid.SelectedObject = hydroCatEngine; timeSeriesPlot.Visible = true; Run(); }
public void Equals() { TimestampSeries ts1 = new TimestampSeries("tsname", new DateTime(2010, 1, 1), 3, 2, TimestepUnit.Days, 4.5); TimestampSeries ts2 = new TimestampSeries("tsname", new DateTime(2010, 1, 1), 3, 2, TimestepUnit.Days, 4.5); Assert.AreEqual(ts1, ts2); ts2.Name = "something else"; Assert.AreNotEqual(ts1, ts2); ts2 = new TimestampSeries("tsname", new DateTime(2010, 1, 1), 3, 2, TimestepUnit.Days, 4.5); Assert.AreEqual(ts1, ts2); ts2.Id = 99; Assert.AreNotEqual(ts1, ts2); ts2 = new TimestampSeries("tsname", new DateTime(2010, 1, 1), 3, 2, TimestepUnit.Days, 4.5); Assert.AreEqual(ts1, ts2); ts2.Description = "another description"; Assert.AreNotEqual(ts1, ts2); ts2 = new TimestampSeries("tsname", new DateTime(2010, 1, 1), 3, 2, TimestepUnit.Days, 4.5); Assert.AreEqual(ts1, ts2); ts2.RelaxationFactor = 0.2323; Assert.AreNotEqual(ts1, ts2); ts2 = new TimestampSeries("tsname", new DateTime(2010, 1, 1), 3, 2, TimestepUnit.Days, 4.5); Assert.AreEqual(ts1, ts2); ts2.Unit.Dimension.ElectricCurrent = 6; Assert.AreNotEqual(ts1, ts2); ts2 = new TimestampSeries("tsname", new DateTime(2010, 1, 1), 3, 2, TimestepUnit.Days, 4.5); Assert.AreEqual(ts1, ts2); ts2.Items.Add(new TimestampValue(new DateTime(2010, 1, 1), 66)); Assert.AreNotEqual(ts1, ts2); ts2 = new TimestampSeries("tsname", new DateTime(2010, 1, 1), 3, 2, TimestepUnit.Days, 4.5); Assert.AreEqual(ts1, ts2); ts2.Items[2].Value = 33; Assert.AreNotEqual(ts1, ts2); }
public void GetValue04() //GetValue(DateTime fromTime, DateTime toTime, Unit toUnit) { TimestampSeries timestampSeries = new TimestampSeries(); timestampSeries.Items.Add(new TimestampValue(new DateTime(2010, 1, 1, 0, 0, 0), 3000.0)); timestampSeries.Unit = new HydroNumerics.Core.Unit("Liters pr. second", 0.001, 0.0); HydroNumerics.Core.Unit toUnit = new HydroNumerics.Core.Unit("Hectoliters pr sec", 0.1, 0.0); Assert.AreEqual(30.0, timestampSeries.GetValue(new DateTime(2010, 1, 2, 0, 0, 0), new DateTime(2010, 1, 3, 0, 0, 0), toUnit)); }
public void RemoveAfter() { TimestampSeries ts = new TimestampSeries(); ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 1, 0, 0, 0), 1)); ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 2, 0, 0, 0), 2)); ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 3, 0, 0, 0), 3)); ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 4, 0, 0, 0), 4)); ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 5, 0, 0, 0), 5)); ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 6, 0, 0, 0), 6)); ts.RemoveAfter(new DateTime(2010, 1, 3, 0, 0, 0)); Assert.AreEqual(2, ts.Items.Count); ts.RemoveAfter(new DateTime(2010, 1, 8, 0, 0, 0)); Assert.AreEqual(2, ts.Items.Count); ts.RemoveAfter(new DateTime(2009, 1, 1, 0, 0, 0)); Assert.AreEqual(0, ts.Items.Count); ts.RemoveAfter(new DateTime(2010, 3, 1, 0, 0, 0)); Assert.AreEqual(0, ts.Items.Count); }
public void RelaxationFactorTest() { TimestampSeries timeseries = new TimestampSeries(); timeseries.RelaxationFactor = 0.5; Assert.AreEqual(0.5, timeseries.RelaxationFactor); //-- Expected exception when relaxation factor is assigned to a value outside the interval [0,1] try { timeseries.RelaxationFactor = -0.1; } catch (Exception ex) { Assert.IsTrue(ex.GetType() == typeof(Exception)); } try { timeseries.RelaxationFactor = 1.1; } catch (Exception ex) { Assert.IsTrue(ex.GetType() == typeof(Exception)); } }
public void GetSiValue02() //GetValue(DateTime fromTime, DateTime toTime, bool toSIUnit) { TimestampSeries timestampSeries = new TimestampSeries(); timestampSeries.Items.Add(new TimestampValue(new DateTime(2010, 1, 1, 0, 0, 0), 3000.0)); timestampSeries.Unit = new HydroNumerics.Core.Unit("Liters pr. second", 0.001, 0.0); Assert.AreEqual(3.0, timestampSeries.GetSiValue(new DateTime(2010, 1, 2, 0, 0, 0), new DateTime(2010, 1, 2, 0, 0, 0))); }
public void Save() { string filename = "HydroNumerics.Time.Core.UnitTest.TimestampSeriesTest.Save.xts"; TimestampSeries ts = new TimestampSeries("TSName", new DateTime(2010, 1, 1), 10, 1, TimestepUnit.Days, 5.5); ts.Save(filename); }
public void IdTest() { TimestampSeries target = new TimestampSeries(); int expected = 123; int actual; target.Id = expected; actual = target.Id; Assert.AreEqual(expected, actual); }
public void TimestampSeries01() { TimestampSeries ts = new TimestampSeries("tsname", new DateTime(2010, 1, 1), 3, 2, TimestepUnit.Days, 3.2); Assert.AreEqual("tsname", ts.Name); Assert.AreEqual(3 , ts.Items.Count); Assert.AreEqual(new DateTime(2010, 1, 1), ts.Items[0].Time); Assert.AreEqual(new DateTime(2010, 1, 3), ts.Items[1].Time); Assert.AreEqual(new DateTime(2010, 1, 5), ts.Items[2].Time); Assert.AreEqual(3.2, ts.Items[0].Value); Assert.AreEqual(3.2, ts.Items[1].Value); Assert.AreEqual(3.2, ts.Items[2].Value); }
public void GetSiValue02() //GetSiValues(DateTime startTimem, DateTime endTime) { TimestampSeries ts = new TimestampSeries(); ts.Unit = new HydroNumerics.Core.Unit("cm/sec", 0.01, 0.0); ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 1, 0, 0, 0), 3)); ts.Items.Add(new TimestampValue(new DateTime(2010, 1, 2, 0, 0, 0), 3)); Assert.AreEqual(0.03, ts.GetSiValue(new DateTime(2010, 1, 1, 0, 0, 0), new DateTime(2010,1,2,0,0,0))); }
public void NameTest() { TimestampSeries target = new TimestampSeries(); string expected = "MyName"; string actual; target.Name = expected; actual = target.Name; Assert.AreEqual(expected, actual); }
public void KrabbenhoftExample() { Lake L = new Lake("Sparkling Lake", XYPolygon.GetSquare(0.81e6)); L.Depth = 8.84e6 / L.Area; L.Output.LogAllChemicals = true; IsotopeWater LakeWater = new IsotopeWater(1); LakeWater.SetIsotopeRatio(5.75); TimestampSeries EvapoConcentrations = new TimestampSeries(); EvapoConcentrations.AddSiValue(new DateTime(1985, 4, 1), 3.95); EvapoConcentrations.AddSiValue(new DateTime(1985, 5, 1), 13.9); EvapoConcentrations.AddSiValue(new DateTime(1985, 6, 1), 25.24); EvapoConcentrations.AddSiValue(new DateTime(1985, 7, 1), 23.97); EvapoConcentrations.AddSiValue(new DateTime(1985, 8, 1), 17.13); EvapoConcentrations.AddSiValue(new DateTime(1985, 9, 1), 10.40); EvapoConcentrations.AddSiValue(new DateTime(1985, 10, 1), 6.12); EvapoConcentrations.AddSiValue(new DateTime(1985, 10, 1), 33.24); EvapoConcentrations.AllowExtrapolation = true; EvapoConcentrations.ExtrapolationMethod = ExtrapolationMethods.RecycleYear; LakeWater.EvaporationConcentration = EvapoConcentrations; TimestampSeries PrecipConcentrations = new TimestampSeries(); PrecipConcentrations.AddSiValue(new DateTime(1985, 1, 1), 22.8); PrecipConcentrations.AddSiValue(new DateTime(1985, 2, 1), 22.8); PrecipConcentrations.AddSiValue(new DateTime(1985, 3, 1), 22.8); PrecipConcentrations.AddSiValue(new DateTime(1985, 4, 1), 14.8); PrecipConcentrations.AddSiValue(new DateTime(1985, 5, 1), 10.7); PrecipConcentrations.AddSiValue(new DateTime(1985, 6, 1), 6.3); PrecipConcentrations.AddSiValue(new DateTime(1985, 7, 1), 5.1); PrecipConcentrations.AddSiValue(new DateTime(1985, 8, 1), 8.4); PrecipConcentrations.AddSiValue(new DateTime(1985, 9, 1), 11.1); PrecipConcentrations.AddSiValue(new DateTime(1985, 10, 1), 13.8); PrecipConcentrations.AddSiValue(new DateTime(1985, 10, 1), 21.9); PrecipConcentrations.AllowExtrapolation = true; PrecipConcentrations.ExtrapolationMethod = ExtrapolationMethods.RecycleYear; TimespanSeries Precipitation = new TimespanSeries(); Precipitation.Unit = new HydroNumerics.Core.Unit("cm/month", 1.0 / 100.0 / (86400.0 * 30.0), 0); Precipitation.AddValue(new DateTime(1985, 1, 1), new DateTime(1985, 3, 1), 0); Precipitation.AddValue(new DateTime(1985, 3, 1), new DateTime(1985, 3, 31), 12.5); Precipitation.AddValue(new DateTime(1985, 4, 1), new DateTime(1985, 4, 30), 7.1); Precipitation.AddValue(new DateTime(1985, 5, 1), new DateTime(1985, 5, 31), 7.6); Precipitation.AddValue(new DateTime(1985, 6, 1), new DateTime(1985, 6, 30), 8.8); Precipitation.AddValue(new DateTime(1985, 7, 1), new DateTime(1985, 7, 31), 8.6); Precipitation.AddValue(new DateTime(1985, 8, 1), new DateTime(1985, 8, 31), 12.7); Precipitation.AddValue(new DateTime(1985, 9, 1), new DateTime(1985, 9, 30), 11); Precipitation.AddValue(new DateTime(1985, 10, 1), new DateTime(1985, 10, 31), 6.2); Precipitation.AddValue(new DateTime(1985, 11, 1), new DateTime(1985, 11, 30), 4.8); Precipitation.AddValue(new DateTime(1985, 11, 30), new DateTime(1985, 12, 31), 0); Precipitation.AllowExtrapolation = true; Precipitation.ExtrapolationMethod = ExtrapolationMethods.RecycleYear; Assert.AreEqual(79, 12*Precipitation.GetValue(new DateTime(1985,1,1), new DateTime(1985,12,31)),3); SourceBoundary Precip = new SourceBoundary(Precipitation); Precip.WaterSample = new IsotopeWater(1); Precip.AddChemicalConcentrationSeries(ChemicalFactory.Instance.GetChemical(ChemicalNames.IsotopeFraction), PrecipConcentrations); TimespanSeries Evaporation = new TimespanSeries(); Evaporation.Unit = new HydroNumerics.Core.Unit("cm/month", 1.0 / 100.0 / (86400.0 * 30.0), 0); Evaporation.AddValue(new DateTime(1985, 1, 1), new DateTime(1985, 4, 1), 0); Evaporation.AddValue(new DateTime(1985, 4, 1), new DateTime(1985, 4, 30), 2.8); Evaporation.AddValue(new DateTime(1985, 5, 1), new DateTime(1985, 5, 31), 7.0); Evaporation.AddValue(new DateTime(1985, 6, 1), new DateTime(1985, 6, 30), 10.5); Evaporation.AddValue(new DateTime(1985, 7, 1), new DateTime(1985, 7, 31), 11.1); Evaporation.AddValue(new DateTime(1985, 8, 1), new DateTime(1985, 8, 31), 10.0); Evaporation.AddValue(new DateTime(1985, 9, 1), new DateTime(1985, 9, 30), 7.0); Evaporation.AddValue(new DateTime(1985, 10, 1), new DateTime(1985, 10, 31), 4.7); Evaporation.AddValue(new DateTime(1985, 11, 1), new DateTime(1985, 11, 30), 0.6); Evaporation.AddValue(new DateTime(1985, 11, 30), new DateTime(1985, 12, 31), 0); Evaporation.AllowExtrapolation = true; Evaporation.ExtrapolationMethod = ExtrapolationMethods.RecycleYear; EvaporationRateBoundary erb = new EvaporationRateBoundary(Evaporation); Assert.AreEqual(54, 12*Evaporation.GetValue(new DateTime(1985,1,1), new DateTime(1985,12,31)),3); GroundWaterBoundary grb = new GroundWaterBoundary(L, 1e-7, 1, 1, (XYPolygon) L.Geometry); grb.FlowType = GWType.Flow; grb.WaterFlow = new TimespanSeries(); grb.WaterFlow.AddSiValue(DateTime.MinValue,DateTime.MaxValue, Evaporation.Unit.ToSiUnit(29/12) * L.Area); IsotopeWater gwsp25 = new IsotopeWater(1); gwsp25.SetIsotopeRatio(11.5); grb.WaterSample = gwsp25; GroundWaterBoundary gout = new GroundWaterBoundary(L, 1e-7, 1, -1, (XYPolygon)L.Geometry); gout.FlowType = GWType.Flow; gout.WaterFlow = new TimespanSeries(); gout.WaterFlow.AddSiValue(DateTime.MinValue, DateTime.MaxValue, - Evaporation.Unit.ToSiUnit(54/12) * L.Area); DateTime Start = new DateTime(1985,1,1); L.Precipitation.Add(Precip); Precip.ContactGeometry = L.Geometry; L.EvaporationBoundaries.Add(erb); erb.ContactGeometry = L.Geometry; L.GroundwaterBoundaries.Add(grb); L.GroundwaterBoundaries.Add(gout); Model M = new Model(); M.WaterBodies.Add(L); M.SetState("Initial", Start, LakeWater); L.Depth *= 1.5; ((IsotopeWater)L.CurrentStoredWater).CurrentTime = Start; M.MoveInTime(new DateTime(1985, 12, 31), TimeSpan.FromDays(10)); M.Save(@"..\..\..\TestData\Krabbenhoft.xml"); }
public void ConvertUnit() { TimestampSeries timestampSeries = new TimestampSeries(); timestampSeries.Unit = new HydroNumerics.Core.Unit("cm pr second", 0.01, 0.0); timestampSeries.Items.Add(new TimestampValue(new DateTime(2010, 1, 1, 0, 0, 0), 7)); timestampSeries.Items.Add(new TimestampValue(new DateTime(2010, 1, 2, 0, 0, 0), 9)); HydroNumerics.Core.Unit newUnit = new HydroNumerics.Core.Unit("mm pr sec", 0.001, 0.0); timestampSeries.ConvertUnit(newUnit); Assert.AreEqual(70, timestampSeries.Items[0].Value); Assert.AreEqual(90, timestampSeries.Items[1].Value); Assert.IsTrue(timestampSeries.Unit.Equals(newUnit)); }
public void IsVisibleTest() { TimestampSeries target = new TimestampSeries(); Assert.AreEqual(true, target.IsVisible); bool expected = false; bool actual; target.IsVisible = expected; actual = target.IsVisible; Assert.AreEqual(expected, actual); }
public void Load() { string filename = "HydroNumerics.Time.Core.UnitTest.TimestampSeriesTest.Load.xts"; TimestampSeries ts1 = new TimestampSeries("TSName", new DateTime(2010, 1, 1), 10, 1, TimestepUnit.Days, 5.5); ts1.Save(filename); TimestampSeries ts2 = new TimestampSeries(); ts2.Load(filename); Assert.AreEqual(ts1.Id, ts2.Id); Assert.AreEqual(ts1.Description, ts2.Description); Assert.AreEqual(ts1.Name, ts2.Name); Assert.AreEqual(ts1.Unit, ts2.Unit); Assert.AreEqual(ts1.Items.Count, ts2.Items.Count); for (int i = 0; i < ts1.Items.Count; i++) { Assert.AreEqual(ts1.Items[i].Time, ts2.Items[i].Time); Assert.AreEqual(ts1.Items[i].Value, ts2.Items[i].Value); } }