OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
openswmm::GageData Struct Reference

Structure-of-Arrays storage for all rain gages. More...

#include <GageData.hpp>

Collaboration diagram for openswmm::GageData:

Public Member Functions

int count () const noexcept
 
void resize (int n)
 
void reset_state () noexcept
 

Public Attributes

std::vector< int > rain_type
 Rain data type: 0=INTENSITY, 1=VOLUME, 2=CUMULATIVE.
 
std::vector< RainSourcesource
 Precipitation source (TIMESERIES or FILE).
 
std::vector< int > ts_index
 Time series index (when source == TIMESERIES).
 
std::vector< std::string > file_path
 External rain file path (when source == FILE_RAIN).
 
std::vector< std::string > ts_name
 Timeseries name (for deferred resolution when TS parsed after gages).
 
std::vector< std::string > col_name
 Column name in the external CSV (when source == FILE_RAIN).
 
std::vector< RainFileFormatfile_format
 Rain file format.
 
std::vector< int > interval_sec
 Recording interval in seconds.
 
std::vector< double > snow_factor
 Snow catch deficiency correction factor (1.0 = no correction).
 
std::vector< double > rainfall
 Current rainfall rate (project length/time units — inches or mm/hr).
 
std::vector< double > next_rainfall
 Rainfall rate at the next recorded interval (for interpolation).
 
std::vector< double > api_rainfall
 Current API (antecedent precipitation index) rainfall.
 
std::vector< double > next_rain_date
 Simulation time of the next recorded value (decimal days).
 
std::vector< bool > is_raining
 Current state flag (0 = no rain, 1 = raining).
 
std::vector< double > past_rain
 Flat 2D: [gage * MAXPASTRAIN + hour]. Hourly rain totals.
 
std::vector< double > past_rain_accum
 Per-gage accumulator for the current partial hour.
 
std::vector< double > past_rain_time
 Per-gage time (seconds) of last past-rain shift.
 

Static Public Attributes

static constexpr int MAXPASTRAIN = 48
 Max past hours tracked per gage.
 

Detailed Description

Structure-of-Arrays storage for all rain gages.

The col_name field supports the new multi-column CSV format (R08):

[RAINGAGES]
;; Name Format Interval SCF Source
RG1 VOLUME 0:15 1.0 FILE "rain.csv:EAST_STATION"
@ VOLUME
Volume.
Definition enums.h:309
int Interval
Definition rain.c:75

Member Function Documentation

◆ count()

int openswmm::GageData::count ( ) const
inlinenoexcept
Here is the caller graph for this function:

◆ reset_state()

void openswmm::GageData::reset_state ( )
inlinenoexcept
Here is the caller graph for this function:

◆ resize()

void openswmm::GageData::resize ( int  n)
inline
Here is the caller graph for this function:

Member Data Documentation

◆ api_rainfall

std::vector<double> openswmm::GageData::api_rainfall

Current API (antecedent precipitation index) rainfall.

See also
Legacy: Gage[i].apiRainfall

◆ col_name

std::vector<std::string> openswmm::GageData::col_name

Column name in the external CSV (when source == FILE_RAIN).

New in 6.0.0 — supports "FILE path.csv:COLUMN_NAME" syntax (R08). Empty string means use the first/only data column.

◆ file_format

std::vector<RainFileFormat> openswmm::GageData::file_format

Rain file format.

See also
Legacy: Gage[i].fileFormat

◆ file_path

std::vector<std::string> openswmm::GageData::file_path

External rain file path (when source == FILE_RAIN).

See also
Legacy: Gage[i].fname

◆ interval_sec

std::vector<int> openswmm::GageData::interval_sec

Recording interval in seconds.

See also
Legacy: Gage[i].rainInterval

◆ is_raining

std::vector<bool> openswmm::GageData::is_raining

Current state flag (0 = no rain, 1 = raining).

See also
Legacy: Gage[i].currentHour / isUsed logic

◆ MAXPASTRAIN

constexpr int openswmm::GageData::MAXPASTRAIN = 48
staticconstexpr

Max past hours tracked per gage.

◆ next_rain_date

std::vector<double> openswmm::GageData::next_rain_date

Simulation time of the next recorded value (decimal days).

See also
Legacy: Gage[i].nextRainDate

◆ next_rainfall

std::vector<double> openswmm::GageData::next_rainfall

Rainfall rate at the next recorded interval (for interpolation).

See also
Legacy: Gage[i].nextRainfall

◆ past_rain

std::vector<double> openswmm::GageData::past_rain

Flat 2D: [gage * MAXPASTRAIN + hour]. Hourly rain totals.

◆ past_rain_accum

std::vector<double> openswmm::GageData::past_rain_accum

Per-gage accumulator for the current partial hour.

◆ past_rain_time

std::vector<double> openswmm::GageData::past_rain_time

Per-gage time (seconds) of last past-rain shift.

◆ rain_type

std::vector<int> openswmm::GageData::rain_type

Rain data type: 0=INTENSITY, 1=VOLUME, 2=CUMULATIVE.

See also
Legacy: Gage[i].rainType

◆ rainfall

std::vector<double> openswmm::GageData::rainfall

Current rainfall rate (project length/time units — inches or mm/hr).

See also
Legacy: Gage[i].rainfall

◆ snow_factor

std::vector<double> openswmm::GageData::snow_factor

Snow catch deficiency correction factor (1.0 = no correction).

See also
Legacy: Gage[i].snowFactor

◆ source

std::vector<RainSource> openswmm::GageData::source

Precipitation source (TIMESERIES or FILE).

◆ ts_index

std::vector<int> openswmm::GageData::ts_index

Time series index (when source == TIMESERIES).

See also
Legacy: Gage[i].tSeries

◆ ts_name

std::vector<std::string> openswmm::GageData::ts_name

Timeseries name (for deferred resolution when TS parsed after gages).


The documentation for this struct was generated from the following file: