private double GetFlowLateralMultiplier( Cell cell, FlowLateralMultiplierMap map, int flowGroupId, int iteration, int timestep) { Debug.Assert(this.m_IsSpatial); Debug.Assert(this.m_FlowLateralMultipliers.Count > 0); FlowLateralMultiplier m = map.GetFlowLateralMultiplier(flowGroupId, iteration, timestep); if (m == null) { return(1.0); } if (!this.m_FlowLateralMultiplierRasters.ContainsKey(m.FileName)) { return(1.0); } StochasticTimeRaster raster = this.m_FlowLateralMultiplierRasters[m.FileName]; double v = raster.DblCells[cell.CollectionIndex]; if ((v < 0.0) || (MathUtils.CompareDoublesEqual(v, raster.NoDataValue, double.Epsilon))) { return(1.0); } else { return(v); } }
internal void CreateLateralFlowMultiplierMap() { if (this.m_FlowLateralMultipliers.Count > 0) { Debug.Assert(this.m_FlowLateralMultiplierMap == null); this.m_FlowLateralMultiplierMap = new FlowLateralMultiplierMap( this.m_Scenario, this.m_FlowLateralMultipliers); } }
internal void ClearFlowLateralMultiplierMap() { this.m_FlowLateralMultipliers.Clear(); this.m_FlowLateralMultiplierMap = null; }