public void SetValues(string quantityID, string elementSetID, global::OpenMI.Standard.IValueSet values) { for (int i = 0; i < nx * ny; i++) { ((TimestampSeries)infiltrations.Items[i]).Items[currentTimestep].Value = ((ScalarSet)values).data[i]; } }
/// <summary> /// Set values for: /// water level at outlet /// discharges /// property concentrations /// </summary> public void SetValues(string QuantityID, string ElementSetID, global::OpenMI.Standard.IValueSet values) { setValuesWatch.Start(); if (QuantityID == qtdOutletLevel.ID) { double waterLevel = ((ScalarSet)values).data[0]; mohidLandEngine.SetDownstreamWaterLevel(drainageNetworkInstanceID, waterLevel); } else if (QuantityID == qtdDischarges.ID) { ScalarSet flow = (ScalarSet)values; double[] flowValues = flow.data; mohidLandEngine.SetStormWaterModelFlow(runoffInstanceID, flow.Count, ref flowValues); } else if (QuantityID == qtdFlowFromStrom.ID) { ScalarSet flow = (ScalarSet)values; double[] flowvalues = flow.data; mohidLandEngine.SetStormWaterInflow(drainageNetworkInstanceID, flow.Count, ref flowvalues); } else //Concentration of properties { double concentration = ((ScalarSet)values).data[0]; int propertyID = Convert.ToInt32(QuantityID); mohidLandEngine.SetDownStreamConcentration(drainageNetworkInstanceID, propertyID, concentration); } setValuesWatch.Stop(); }
public void GetValues() { DaisyWrapper Daisy = GetInitDaisy(); global::OpenMI.Standard.IValueSet value = Daisy.GetValues("height", "height"); Oatc.OpenMI.Sdk.Backbone.ScalarSet test = (Oatc.OpenMI.Sdk.Backbone.ScalarSet)value; Assert.AreEqual(3, value.Count); Assert.AreEqual(Daisy.GetMissingValueDefinition(), test.data[0]); Daisy.PerformTimeStep(); value = Daisy.GetValues("Water", "Water"); Assert.AreEqual(3, value.Count); test = (Oatc.OpenMI.Sdk.Backbone.ScalarSet)value; Assert.Greater(test.data[0], 400); }
public void SetValues(string quantityID, string elementSetID, global::OpenMI.Standard.IValueSet values) { if (values is IScalarSet) { switch (quantityID) { case "Head": HeadBoundaries[elementSetID].GroundwaterHead = ((IScalarSet)values).GetScalar(0); break; case "Flow": FlowBoundaries[elementSetID].OverrideFlowRate = ((IScalarSet)values).GetScalar(0); break; default: break; } // model.ExchangeItems.Single(var => var.Quantity == quantityID & var.Location == elementSetID).ExchangeValue = ((IScalarSet)values).GetScalar(0); } else { throw new Exception("The HydroNet model can only handle IScalarSet - not IVectorSet"); } }