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

Complete simulation state snapshot at one output time step. More...

#include <SimulationSnapshot.hpp>

Collaboration diagram for openswmm::SimulationSnapshot:

Public Attributes

double sim_time = 0.0
 Simulation time of this snapshot (decimal days / Julian date).
 
std::int64_t wall_time_unix = 0
 Wall-clock Unix timestamp when snapshot was taken.
 
int output_step_index = 0
 Sequential output step index (0-based).
 
int node_count = 0
 Number of nodes.
 
int link_count = 0
 Number of links.
 
int subcatch_count = 0
 Number of subcatchments.
 
int gage_count = 0
 Number of rain gages.
 
int pollut_count = 0
 Number of pollutants.
 
NodeSnapshot nodes
 Node state.
 
LinkSnapshot links
 Link state.
 
SubcatchSnapshot subcatch
 Subcatchment state.
 
GageSnapshot gages
 Gage state.
 
double sys_temperature = 0.0
 Air temperature.
 
double sys_rainfall = 0.0
 Average rainfall over all gages.
 
double sys_snow_depth = 0.0
 Total snow depth.
 
double sys_evap = 0.0
 Total evaporation loss.
 
double sys_infil = 0.0
 Total infiltration loss.
 
double sys_runoff = 0.0
 Total runoff flow.
 
double sys_dw_inflow = 0.0
 Total dry weather inflow.
 
double sys_gw_inflow = 0.0
 Total groundwater inflow.
 
double sys_lat_inflow = 0.0
 Total lateral inflow (RDII + external)
 
double sys_flooding = 0.0
 Total flooding.
 
double sys_outflow = 0.0
 Total outflow.
 
double sys_storage = 0.0
 Total storage volume.
 
double sys_pet = 0.0
 Potential evapotranspiration.
 
std::vector< double > node_quality
 Node pollutant concentrations.
 
std::vector< double > link_quality
 Link pollutant concentrations.
 
std::vector< double > subcatch_quality
 Subcatchment pollutant loadings.
 
const std::vector< std::string > * node_ids = nullptr
 Node IDs in index order. Pointer to engine-managed strings.
 
const std::vector< std::string > * link_ids = nullptr
 Link IDs in index order.
 
const std::vector< std::string > * subcatch_ids = nullptr
 Subcatchment IDs in index order.
 
const std::vector< std::string > * gage_ids = nullptr
 Gage IDs in index order.
 
const std::vector< std::string > * pollut_names = nullptr
 Pollutant names in index order.
 
const char * flow_units = nullptr
 Flow unit string (e.g., "CFS", "LPS").
 
const char * length_units = nullptr
 Length unit string (e.g., "FEET", "METERS").
 

Detailed Description

Complete simulation state snapshot at one output time step.

Created by the main simulation thread when output is due, then posted to the IOThread write queue. Plugins receive a const reference to this during IOutputPlugin::update().

Member Data Documentation

◆ flow_units

const char* openswmm::SimulationSnapshot::flow_units = nullptr

Flow unit string (e.g., "CFS", "LPS").

◆ gage_count

int openswmm::SimulationSnapshot::gage_count = 0

Number of rain gages.

◆ gage_ids

const std::vector<std::string>* openswmm::SimulationSnapshot::gage_ids = nullptr

Gage IDs in index order.

◆ gages

GageSnapshot openswmm::SimulationSnapshot::gages

Gage state.

◆ length_units

const char* openswmm::SimulationSnapshot::length_units = nullptr

Length unit string (e.g., "FEET", "METERS").

◆ link_count

int openswmm::SimulationSnapshot::link_count = 0

Number of links.

◆ link_ids

const std::vector<std::string>* openswmm::SimulationSnapshot::link_ids = nullptr

Link IDs in index order.

◆ link_quality

std::vector<double> openswmm::SimulationSnapshot::link_quality

Link pollutant concentrations.

Layout: [link_index * pollut_count + pollut_index]

◆ links

LinkSnapshot openswmm::SimulationSnapshot::links

Link state.

◆ node_count

int openswmm::SimulationSnapshot::node_count = 0

Number of nodes.

◆ node_ids

const std::vector<std::string>* openswmm::SimulationSnapshot::node_ids = nullptr

Node IDs in index order. Pointer to engine-managed strings.

◆ node_quality

std::vector<double> openswmm::SimulationSnapshot::node_quality

Node pollutant concentrations.

Layout: [node_index * pollut_count + pollut_index] Size: node_count * pollut_count doubles.

◆ nodes

NodeSnapshot openswmm::SimulationSnapshot::nodes

Node state.

◆ output_step_index

int openswmm::SimulationSnapshot::output_step_index = 0

Sequential output step index (0-based).

◆ pollut_count

int openswmm::SimulationSnapshot::pollut_count = 0

Number of pollutants.

◆ pollut_names

const std::vector<std::string>* openswmm::SimulationSnapshot::pollut_names = nullptr

Pollutant names in index order.

◆ sim_time

double openswmm::SimulationSnapshot::sim_time = 0.0

Simulation time of this snapshot (decimal days / Julian date).

◆ subcatch

SubcatchSnapshot openswmm::SimulationSnapshot::subcatch

Subcatchment state.

◆ subcatch_count

int openswmm::SimulationSnapshot::subcatch_count = 0

Number of subcatchments.

◆ subcatch_ids

const std::vector<std::string>* openswmm::SimulationSnapshot::subcatch_ids = nullptr

Subcatchment IDs in index order.

◆ subcatch_quality

std::vector<double> openswmm::SimulationSnapshot::subcatch_quality

Subcatchment pollutant loadings.

◆ sys_dw_inflow

double openswmm::SimulationSnapshot::sys_dw_inflow = 0.0

Total dry weather inflow.

◆ sys_evap

double openswmm::SimulationSnapshot::sys_evap = 0.0

Total evaporation loss.

◆ sys_flooding

double openswmm::SimulationSnapshot::sys_flooding = 0.0

Total flooding.

◆ sys_gw_inflow

double openswmm::SimulationSnapshot::sys_gw_inflow = 0.0

Total groundwater inflow.

◆ sys_infil

double openswmm::SimulationSnapshot::sys_infil = 0.0

Total infiltration loss.

◆ sys_lat_inflow

double openswmm::SimulationSnapshot::sys_lat_inflow = 0.0

Total lateral inflow (RDII + external)

◆ sys_outflow

double openswmm::SimulationSnapshot::sys_outflow = 0.0

Total outflow.

◆ sys_pet

double openswmm::SimulationSnapshot::sys_pet = 0.0

Potential evapotranspiration.

◆ sys_rainfall

double openswmm::SimulationSnapshot::sys_rainfall = 0.0

Average rainfall over all gages.

◆ sys_runoff

double openswmm::SimulationSnapshot::sys_runoff = 0.0

Total runoff flow.

◆ sys_snow_depth

double openswmm::SimulationSnapshot::sys_snow_depth = 0.0

Total snow depth.

◆ sys_storage

double openswmm::SimulationSnapshot::sys_storage = 0.0

Total storage volume.

◆ sys_temperature

double openswmm::SimulationSnapshot::sys_temperature = 0.0

Air temperature.

◆ wall_time_unix

std::int64_t openswmm::SimulationSnapshot::wall_time_unix = 0

Wall-clock Unix timestamp when snapshot was taken.


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