public override void Initialize() { Status = LinkableComponentStatus.Initializing; Id = "Rainfall Measurements"; _adaptedOutputFactories = new List <IAdaptedOutputFactory>(); _adaptedOutputFactories.Add(new AdaptedOutputFactory("RainRRCFTestAdaptedOutput")); // Create measurements _timeSet = new RainfallMeasurementsTimeSet(_MeasurementCount, _measurementsStartTimeAsMJD, _measurementsEndTimeAsMJD); IDictionary <string, IElementSet> elementSets = RainRrCfElementSets.CreateRainfallMeasurementsElementSets(); const string rainId = "Rain"; Quantity rainfallValueDefinition = new Quantity(new Unit("mm/day", 1.15741E-08, 0), rainId, "Rainfall in mm/day"); double startValue = 100; foreach (ElementSet elmSet in elementSets.Values) { Output outputItem = new RainfallOutputItem(elmSet.Caption + "." + rainId, startValue) { ValueDefinition = rainfallValueDefinition, SpatialDefinition = elmSet, TimeSet = _timeSet, Component = this, }; _outputItems.Add(outputItem); startValue += 300; } Status = LinkableComponentStatus.Initialized; }
public override void Initialize() { Status = LinkableComponentStatus.Initializing; foreach (IArgument argument in Arguments) { if (argument.Caption.ToLower().Equals("id")) { Id = (string)argument.Value; } else if (argument.Caption.ToLower().Equals("timehorizonoffset")) { double timeHorizonOffset = Double.Parse((string)argument.Value); _startTimeAsMJD += timeHorizonOffset; _endTimeAsMJD += timeHorizonOffset; } else if (argument.Caption.ToLower().Equals("deltaT")) { _deltaT = Double.Parse((string)argument.Value); } else if (argument.Caption.ToLower().Equals("quantity")) { AddQuantity((string)argument.Value); } else if (argument.Caption.ToLower().Equals("elementset")) { if (argument.Value.Equals("catchment-polygons")) { IDictionary <string, IElementSet> spatialElmSets = RainRrCfElementSets.CreateRainfallRunoffElementSets(); foreach (var spatialElmSet in spatialElmSets) { _elementSets.Add(spatialElmSet.Key, spatialElmSet.Value); } } else { AddElementset((string)argument.Value); } } else if (argument.Caption.ToLower().EndsWith("putitem")) { AddExchangeItem(argument.Caption.ToLower(), (string)argument.Value); } else { throw new Exception("Unknown key \"" + argument.Caption + "\" in component " + Id); } } _currentTime = _startTimeAsMJD; _timeSetForOutputExchangeItems = new TimeSet(); _timeSetForInputExchangeItems = new TimeSet(); _timeSetForInputExchangeItems.TimeHorizon = _timeSetForOutputExchangeItems.TimeHorizon = new Time(_startTimeAsMJD, _endTimeAsMJD - _startTimeAsMJD); _adaptedOutputFactories = new List <IAdaptedOutputFactory>(); _adaptedOutputFactories.Add(new AdaptedOutputFactory("AdaptedOutputFactory for " + Id)); foreach (EngineInputItem inputItem in EngineInputItems) { inputItem.TimeSet = _timeSetForInputExchangeItems; } foreach (EngineOutputItem outputItem in EngineOutputItems) { outputItem.TimeSet = _timeSetForOutputExchangeItems; } Status = LinkableComponentStatus.Initialized; }