Exemple #1
0
 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();
        }
Exemple #3
0
        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");
            }
        }