Beispiel #1
0
        public Subbasin(DataRow subInfoRow, ScenarioResult scenario)
            : base(subInfoRow, scenario)
        {
            RowItem item = new RowItem(subInfoRow);

            _id           = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_SUB);
            _area         = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_KM2);
            _area_fr_wshd = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_FR_WSHD);
        }
Beispiel #2
0
        public HRU(DataRow hruInfoRow, ScenarioResult scenario)
            : base(hruInfoRow,scenario)
        {
            RowItem item = new RowItem(hruInfoRow);
            _id = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_HRU);
            _seqIdInSubbasin = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_HRU_SEQ);
            _area = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_KM2);
            _area_fr_sub = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_FR_SUB);
            _area_fr_wshd = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_FR_WSHD);

            //connect hru and subbasin
            int subid = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_SUB);
            if (scenario.Subbasins.ContainsKey(subid))
            {
                _sub = scenario.Subbasins[subid] as Subbasin;
                if (_sub != null) _sub.addHRU(this);
            }
        }
Beispiel #3
0
        public Reach(DataRow rchInfoRow, ScenarioResult scenario)
            : base(rchInfoRow, scenario)
        {
            RowItem item = new RowItem(rchInfoRow);
            _id = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_RCH);
            _area = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_KM2);

            if (scenario.Subbasins.ContainsKey(_id))
                _sub = scenario.Subbasins[_id] as Subbasin;
        }
Beispiel #4
0
        public HRU(DataRow hruInfoRow, ScenarioResult scenario) : base(hruInfoRow, scenario)
        {
            RowItem item = new RowItem(hruInfoRow);

            _id = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_HRU);
            _seqIdInSubbasin = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_HRU_SEQ);
            _area            = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_KM2);
            _area_fr_sub     = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_FR_SUB);
            _area_fr_wshd    = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_FR_WSHD);

            //connect hru and subbasin
            int subid = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_SUB);

            if (scenario.Subbasins.ContainsKey(subid))
            {
                _sub = scenario.Subbasins[subid] as Subbasin;
                if (_sub != null)
                {
                    _sub.addHRU(this);
                }
            }
        }
Beispiel #5
0
        public Reach(DataRow rchInfoRow, ScenarioResult scenario)
            : base(rchInfoRow, scenario)

        {
            RowItem item = new RowItem(rchInfoRow);

            _id   = item.getColumnValue_Int(ScenarioResultStructure.COLUMN_NAME_RCH);
            _area = item.getColumnValue_Double(ScenarioResultStructure.COLUMN_NAME_AREA_KM2);

            if (scenario.Subbasins.ContainsKey(_id))
            {
                _sub = scenario.Subbasins[_id] as Subbasin;
            }
        }
        /// <summary>
        /// read result for given column and date
        /// </summary>
        /// <param name="col"></param>
        /// <param name="date"></param>
        /// <returns></returns>
        public double getData(string col, DateTime date)
        {
            if (Interval == SWATResultIntervalType.DAILY)
            {
                //specially method for daily
                string sql = string.Format(STRING_FORMAT_GET_DATA_SPECIFIC_DAY_DAILY,
                                           col, Name,
                                           date.Year, date.Month, date.Day,
                                           Unit.Type, Unit.ID);

                DataTable dt = Unit.Scenario.GetDataTable(sql);
                if (dt.Rows.Count == 0)
                {
                    return(ScenarioResultStructure.EMPTY_VALUE);
                }

                RowItem item = new RowItem(dt.Rows[0]);
                return(item.getColumnValue_Double(0));
            }
            else
            {
                DataTable dt = getDataTable(col, date.Year);
                if (dt.Rows.Count == 0)
                {
                    return(ScenarioResultStructure.EMPTY_VALUE);
                }

                string    filter = string.Format("{0}='{1:yyyy-MM-dd}'", COLUMN_NAME_DATE, date);
                DataRow[] rows   = dt.Select(filter);
                if (rows.Length == 0)
                {
                    return(ScenarioResultStructure.EMPTY_VALUE);
                }

                RowItem item = new RowItem(rows[0]);
                return(item.getColumnValue_Double(col));
            }
        }