22#ifndef OPENSWMM_ENGINE_GAGE_DATA_HPP
23#define OPENSWMM_ENGINE_GAGE_DATA_HPP
185 int count() const noexcept {
return static_cast<int>(
source.size()); }
188 const auto un =
static_cast<std::size_t
>(n);
193 ts_name.assign(un, std::string{});
Definition Controls.cpp:24
RainFileFormat
Rain data format in an external file.
Definition GageData.hpp:48
@ HLY_PRCP
HLY_PRCP format.
@ STAN_PRCP
Standard SWMM rain file.
@ NWS_HOURLY
NWS hourly data.
@ USER_CSV
User-supplied multi-column CSV (new in 6.0.0, R08)
@ NWS_15
NWS 15-minute data.
@ DSI_3260
NCDC DSI 3260 15-minute.
@ DSI_3240
NCDC DSI 3240 hourly.
RainSource
Precipitation source type for a rain gage.
Definition GageData.hpp:39
@ FILE_RAIN
Data from an external rain file.
@ TIMESERIES
Data from an in-file [TIMESERIES].
Structure-of-Arrays storage for all rain gages.
Definition GageData.hpp:75
std::vector< double > api_rainfall
Current API (antecedent precipitation index) rainfall.
Definition GageData.hpp:152
std::vector< bool > is_raining
Current state flag (0 = no rain, 1 = raining).
Definition GageData.hpp:164
std::vector< std::string > file_path
External rain file path (when source == FILE_RAIN).
Definition GageData.hpp:100
std::vector< double > snow_factor
Snow catch deficiency correction factor (1.0 = no correction).
Definition GageData.hpp:130
std::vector< int > ts_index
Time series index (when source == TIMESERIES).
Definition GageData.hpp:94
std::vector< std::string > col_name
Column name in the external CSV (when source == FILE_RAIN).
Definition GageData.hpp:112
static constexpr int MAXPASTRAIN
Max past hours tracked per gage.
Definition GageData.hpp:170
std::vector< double > past_rain_time
Per-gage time (seconds) of last past-rain shift.
Definition GageData.hpp:179
void reset_state() noexcept
Definition GageData.hpp:211
int count() const noexcept
Definition GageData.hpp:185
std::vector< double > next_rain_date
Simulation time of the next recorded value (decimal days).
Definition GageData.hpp:158
std::vector< std::string > ts_name
Timeseries name (for deferred resolution when TS parsed after gages).
Definition GageData.hpp:105
std::vector< int > interval_sec
Recording interval in seconds.
Definition GageData.hpp:124
std::vector< double > past_rain_accum
Per-gage accumulator for the current partial hour.
Definition GageData.hpp:176
std::vector< double > next_rainfall
Rainfall rate at the next recorded interval (for interpolation).
Definition GageData.hpp:146
std::vector< RainFileFormat > file_format
Rain file format.
Definition GageData.hpp:118
std::vector< int > rain_type
Rain data type: 0=INTENSITY, 1=VOLUME, 2=CUMULATIVE.
Definition GageData.hpp:85
std::vector< double > rainfall
Current rainfall rate (project length/time units — inches or mm/hr).
Definition GageData.hpp:140
std::vector< RainSource > source
Precipitation source (TIMESERIES or FILE).
Definition GageData.hpp:88
void resize(int n)
Definition GageData.hpp:187
std::vector< double > past_rain
Flat 2D: [gage * MAXPASTRAIN + hour]. Hourly rain totals.
Definition GageData.hpp:173