43#ifndef OPENSWMM_SIMULATION_SNAPSHOT_HPP
44#define OPENSWMM_SIMULATION_SNAPSHOT_HPP
217 const std::vector<std::string>*
node_ids =
nullptr;
220 const std::vector<std::string>*
link_ids =
nullptr;
226 const std::vector<std::string>*
gage_ids =
nullptr;
Shared snow result catalogue for snapshots and live clients.
Definition ExchangeLaw.hpp:60
std::array< std::vector< double >, meshSnowFields.size()> MeshSnowSnapshot
Definition SnowResults.hpp:51
Snapshot of rain gage state at an output time step.
Definition SimulationSnapshot.hpp:110
std::vector< double > rainfall
Current rainfall rate [project rate units].
Definition SimulationSnapshot.hpp:111
Snapshot of link state at an output time step.
Definition SimulationSnapshot.hpp:79
std::vector< double > flow
Flow rate [display flow units].
Definition SimulationSnapshot.hpp:80
std::vector< double > capacity
Full-flow capacity fraction [0, 1].
Definition SimulationSnapshot.hpp:84
std::vector< double > velocity
Mean velocity [display length/time].
Definition SimulationSnapshot.hpp:82
std::vector< double > volume
Link volume [display volume units].
Definition SimulationSnapshot.hpp:83
std::vector< double > depth
Water depth [display length units].
Definition SimulationSnapshot.hpp:81
Snapshot of node state at an output time step.
Definition SimulationSnapshot.hpp:66
std::vector< double > volume
Stored volume [display volume units].
Definition SimulationSnapshot.hpp:69
std::vector< double > lateral_inflow
Lateral inflow [display flow units].
Definition SimulationSnapshot.hpp:70
std::vector< double > total_inflow
Total inflow [display flow units].
Definition SimulationSnapshot.hpp:71
std::vector< double > head
Hydraulic head [display length units].
Definition SimulationSnapshot.hpp:68
std::vector< double > overflow
Overflow / surcharge [display flow units].
Definition SimulationSnapshot.hpp:72
std::vector< double > depth
Water depth [display length units].
Definition SimulationSnapshot.hpp:67
Complete simulation state snapshot at one output time step.
Definition SimulationSnapshot.hpp:123
std::vector< double > subcatch_quality
Subcatchment pollutant loadings.
Definition SimulationSnapshot.hpp:210
std::vector< double > gw2d_infil_capacity
Aquifer top-interface receiving capacity (m s-1)
Definition SimulationSnapshot.hpp:445
const std::vector< std::string > * gage_ids
Gage IDs in index order.
Definition SimulationSnapshot.hpp:226
std::vector< double > surface_edge_flux
Normal integrated edge flux m3/s, [cell*surface_edge_stride+edge].
Definition SimulationSnapshot.hpp:430
SubcatchSnapshot subcatch
Subcatchment state.
Definition SimulationSnapshot.hpp:153
std::vector< double > surface_stat_max_depth
Max overland depth ψ_o (m), per face.
Definition SimulationSnapshot.hpp:442
LinkSnapshot links
Link state.
Definition SimulationSnapshot.hpp:152
int gw2d_m_layers
Definition SimulationSnapshot.hpp:360
std::vector< double > thermal2d_ground_layer_capacity
Definition SimulationSnapshot.hpp:407
std::vector< int > thermal2d_lid_layer_authored_index
Definition SimulationSnapshot.hpp:419
GageSnapshot gages
Gage state.
Definition SimulationSnapshot.hpp:154
int gw2d_transport_layers
Definition SimulationSnapshot.hpp:471
int surface_vert_count
Number of vertices (nodes)
Definition SimulationSnapshot.hpp:267
std::vector< std::string > thermal2d_bed_species_names
Definition SimulationSnapshot.hpp:387
std::vector< double > thermal2d_lid_layer_area_m2
Definition SimulationSnapshot.hpp:423
std::vector< double > thermal2d_bed_capacity
Definition SimulationSnapshot.hpp:382
std::vector< double > gw2d_et_potential
Definition SimulationSnapshot.hpp:460
std::vector< double > thermal2d_bed_temperature
degC, face
Definition SimulationSnapshot.hpp:380
std::vector< int > gw2d_boundary_cell_edge
Definition SimulationSnapshot.hpp:476
std::vector< double > thermal2d_bed_species_exchange
Definition SimulationSnapshot.hpp:393
std::vector< double > gw2d_et
subsurface ET (m/s, ≥ 0 out)
Definition SimulationSnapshot.hpp:336
std::vector< double > gw2d_dunne
saturation excess returned to the surface (m³/s)
Definition SimulationSnapshot.hpp:337
std::vector< double > gw2d_infil_pending
Reserved surface water pending aquifer firing (m3)
Definition SimulationSnapshot.hpp:449
MeshSnowSnapshot surface_snow
Accepted snow state/ledgers, SI; own completed clock.
Definition SimulationSnapshot.hpp:280
std::vector< double > thermal2d_water_temperature
degC, face
Definition SimulationSnapshot.hpp:379
const char * flow_units
Flow unit string (e.g., "CFS", "LPS").
Definition SimulationSnapshot.hpp:236
std::vector< double > gw2d_bed_elev
Definition SimulationSnapshot.hpp:354
std::vector< std::string > thermal2d_bed_species_units
Definition SimulationSnapshot.hpp:388
double sys_gw_inflow
Total groundwater inflow.
Definition SimulationSnapshot.hpp:167
std::vector< double > gw2d_hg
saturated thickness (m)
Definition SimulationSnapshot.hpp:328
std::vector< double > thermal2d_bed_initial_energy
Initial local-storage bed sensible energy, constant [face] over time.
Definition SimulationSnapshot.hpp:466
std::vector< double > gw2d_et_surface
Definition SimulationSnapshot.hpp:459
std::vector< double > gw2d_et_pending
Definition SimulationSnapshot.hpp:454
std::vector< double > gw2d_dunne_cum
Cumulative physical saturation excess (m3)
Definition SimulationSnapshot.hpp:453
std::vector< double > gw2d_sat_conc
Definition SimulationSnapshot.hpp:344
std::vector< double > thermal2d_ground_energy
J, face.
Definition SimulationSnapshot.hpp:401
int surface_species_count
Definition SimulationSnapshot.hpp:299
double sys_ext_inflow
Total external inflow.
Definition SimulationSnapshot.hpp:169
std::vector< double > surface_grad_hy
Unlimited head gradient ∂h/∂y, per face.
Definition SimulationSnapshot.hpp:277
std::vector< double > surface_buildup
S7: buildup on the cells' land-use surfaces, per surface species (the pollutant and MSX rows only — t...
Definition SimulationSnapshot.hpp:318
std::vector< double > thermal2d_lid_layer_top_m
Definition SimulationSnapshot.hpp:421
std::vector< double > thermal2d_bed_species_initial_amount
Definition SimulationSnapshot.hpp:469
int link_count
Number of links.
Definition SimulationSnapshot.hpp:142
std::vector< double > gw2d_et_potential_cum
Definition SimulationSnapshot.hpp:455
std::vector< double > gw2d_ledger
Definition SimulationSnapshot.hpp:365
std::vector< double > surface_rainfall
Rainfall intensity (m/s), per face.
Definition SimulationSnapshot.hpp:281
const std::vector< std::string > * gw2d_node_names
Definition SimulationSnapshot.hpp:370
double sys_pet
Potential evapotranspiration.
Definition SimulationSnapshot.hpp:173
double sys_outflow
Total outflow.
Definition SimulationSnapshot.hpp:171
std::vector< double > gw2d_infil_refresh
Capacity refresh time since simulation start (s)
Definition SimulationSnapshot.hpp:448
std::vector< double > surface_face_vy
Cell-centred velocity Y (m/s), per face.
Definition SimulationSnapshot.hpp:436
int surface_buildup_count
Definition SimulationSnapshot.hpp:319
int flow_units_code
Flow units code (FlowUnits enum value: 0=CFS, 3=CMS, etc.).
Definition SimulationSnapshot.hpp:242
double sim_time
Simulation date/time (SWMM DateTime: days since 12/31/1899).
Definition SimulationSnapshot.hpp:129
std::vector< double > surface_coupling_flux
Coupling flux to SWMM node (m/s, + = into 2D), per face.
Definition SimulationSnapshot.hpp:283
std::vector< double > gw2d_layer_mass
Definition SimulationSnapshot.hpp:472
int gage_count
Number of rain gages.
Definition SimulationSnapshot.hpp:144
int thermal2d_surface_budget_terms
Definition SimulationSnapshot.hpp:377
std::vector< double > surface_vert_depth
SIGNED vertex depth η_v − z_v (m) — wet-masked, wetted-contact-gated render reconstruction; > 0 where...
Definition SimulationSnapshot.hpp:434
std::vector< double > gw2d_theta_sigma
Definition SimulationSnapshot.hpp:359
std::vector< double > surface_infil_rate
Held infiltration loss rate (m/s, ≥ 0), per face — all zero when no [2D_INFILTRATION*] model resolved...
Definition SimulationSnapshot.hpp:286
std::vector< double > gw2d_link_seepage
Definition SimulationSnapshot.hpp:339
std::vector< double > surface_grad_hy_lim
Slope-limited head gradient ∂h/∂y, per face.
Definition SimulationSnapshot.hpp:279
std::vector< double > surface_infil_cum
Cumulative infiltrated depth (m), per face.
Definition SimulationSnapshot.hpp:287
std::vector< double > gw2d_hu
closure A bulk unsaturated storage (m of water); 0 under closure B
Definition SimulationSnapshot.hpp:330
std::vector< double > surface_species_conc
2D surface species concentration (overland transport S1/S2).
Definition SimulationSnapshot.hpp:298
std::vector< double > surface_continuity_err
Per-cell continuity residual (m³/s), per face.
Definition SimulationSnapshot.hpp:437
std::vector< double > surface_net_source
Net source/sink (m/s), per face.
Definition SimulationSnapshot.hpp:284
std::vector< double > gw2d_reject_cum
Cumulative rejected top-interface delivery (m3)
Definition SimulationSnapshot.hpp:452
std::vector< int > thermal2d_lid_layer_node_index
Definition SimulationSnapshot.hpp:415
double sys_storage
Total storage volume.
Definition SimulationSnapshot.hpp:172
std::vector< double > gw2d_et_surface_cum
Definition SimulationSnapshot.hpp:456
std::vector< double > gw2d_recharge
q0 (m/s), + down, − capillary rise
Definition SimulationSnapshot.hpp:331
std::vector< double > node_quality
Node pollutant concentrations.
Definition SimulationSnapshot.hpp:199
std::vector< double > gw2d_boundary_water
Definition SimulationSnapshot.hpp:473
std::vector< int > thermal2d_lid_layer_control_index
Definition SimulationSnapshot.hpp:418
int subcatch_count
Number of subcatchments.
Definition SimulationSnapshot.hpp:143
int pollut_count
Number of pollutants.
Definition SimulationSnapshot.hpp:145
std::vector< double > gw2d_et_refresh
Definition SimulationSnapshot.hpp:462
std::vector< double > gw2d_et_soil_cum
Definition SimulationSnapshot.hpp:457
bool gw2d_active
G-O: the two-zone [2D_AQUIFER] kernel's per-cell state, SI, one value per face (surface_tri_count),...
Definition SimulationSnapshot.hpp:326
double sys_runoff
Total runoff flow.
Definition SimulationSnapshot.hpp:165
std::vector< double > thermal2d_bed_energy
J, face.
Definition SimulationSnapshot.hpp:381
std::vector< double > thermal2d_lid_layer_capacity
Definition SimulationSnapshot.hpp:426
bool has_subcatchments
Whether the model has any subcatchments.
Definition SimulationSnapshot.hpp:188
std::vector< double > surface_face_vx
Cell-centred velocity X (m/s), per face.
Definition SimulationSnapshot.hpp:435
std::vector< double > thermal2d_evaporation_m3
cumulative accepted evaporation, face
Definition SimulationSnapshot.hpp:399
int thermal2d_lid_layer_count
Definition SimulationSnapshot.hpp:414
int output_step_index
Sequential output step index (0-based).
Definition SimulationSnapshot.hpp:135
int thermal2d_layer_count
Definition SimulationSnapshot.hpp:376
std::vector< double > gw2d_unsat_conc
Definition SimulationSnapshot.hpp:345
std::vector< double > thermal2d_lid_layer_bottom_m
Definition SimulationSnapshot.hpp:422
int node_count
Number of nodes.
Definition SimulationSnapshot.hpp:141
std::vector< double > surface_depth
Overland flow depth ψ_o (m), per face.
Definition SimulationSnapshot.hpp:274
const std::vector< std::string > * link_ids
Link IDs in index order.
Definition SimulationSnapshot.hpp:220
bool thermal2d_active
Definition SimulationSnapshot.hpp:375
std::int64_t wall_time_unix
Wall-clock Unix timestamp when snapshot was taken.
Definition SimulationSnapshot.hpp:132
std::vector< double > thermal2d_ground_temperature
capacity-weighted degC, face
Definition SimulationSnapshot.hpp:400
const std::vector< std::string > * surface_species_units
Definition SimulationSnapshot.hpp:309
double sys_evap
Total evaporation loss.
Definition SimulationSnapshot.hpp:163
const std::vector< std::string > * gw2d_species_names
Definition SimulationSnapshot.hpp:350
std::vector< double > surface_rain_cum
Cumulative rainfall volume (m³), per face.
Definition SimulationSnapshot.hpp:288
std::vector< double > gw2d_boundary_species
Definition SimulationSnapshot.hpp:475
std::vector< double > thermal2d_lid_layer_temperature
Definition SimulationSnapshot.hpp:424
int gw2d_species_count
Definition SimulationSnapshot.hpp:349
const std::vector< std::string > * node_ids
Node IDs in index order. Pointer to engine-managed strings.
Definition SimulationSnapshot.hpp:217
std::vector< int > gw2d_closure
Definition SimulationSnapshot.hpp:355
int thermal2d_bed_species_count
Definition SimulationSnapshot.hpp:386
int surface_edge_stride
Definition SimulationSnapshot.hpp:269
double sys_rainfall
Average rainfall over all gages.
Definition SimulationSnapshot.hpp:161
std::vector< double > gw2d_deep
deep loss (m/s)
Definition SimulationSnapshot.hpp:335
double sys_ii_inflow
Total RDII inflow.
Definition SimulationSnapshot.hpp:168
std::vector< double > gw2d_infil_remaining
Remaining receiving allowance after pending receipts (m3)
Definition SimulationSnapshot.hpp:447
double sys_infil
Total infiltration loss.
Definition SimulationSnapshot.hpp:164
std::vector< double > gw2d_species_ledger
Definition SimulationSnapshot.hpp:348
std::vector< int > thermal2d_lid_layer_face_index
Definition SimulationSnapshot.hpp:416
std::vector< double > thermal2d_ground_layer_energy
Definition SimulationSnapshot.hpp:406
std::vector< std::string > thermal2d_lid_layer_node_id
Definition SimulationSnapshot.hpp:420
std::vector< double > surface_grad_hx
Unlimited head gradient ∂h/∂x, per face.
Definition SimulationSnapshot.hpp:276
std::vector< double > gw2d_infil_in
infiltration delivered from the surface (m/s)
Definition SimulationSnapshot.hpp:338
int thermal2d_ground_budget_terms
Definition SimulationSnapshot.hpp:378
std::vector< double > thermal2d_surface_budget
Definition SimulationSnapshot.hpp:398
std::vector< double > thermal2d_bed_pore_volume
Definition SimulationSnapshot.hpp:389
std::vector< double > surface_stat_max_velocity
Max cell speed |v| (m/s), per face.
Definition SimulationSnapshot.hpp:443
std::vector< double > gw2d_layer_concentration
Definition SimulationSnapshot.hpp:472
const char * length_units
Length unit string (e.g., "FEET", "METERS").
Definition SimulationSnapshot.hpp:239
std::vector< double > gw2d_et_stress
Definition SimulationSnapshot.hpp:461
std::vector< int > thermal2d_lid_layer_physical_index
Definition SimulationSnapshot.hpp:417
std::vector< double > gw2d_et_unused_cum
Definition SimulationSnapshot.hpp:458
std::vector< double > thermal2d_ground_layer_center_m
[layer, face], fixed-grid depth positive downward.
Definition SimulationSnapshot.hpp:404
const std::vector< std::string > * pollut_names
Pollutant names in index order.
Definition SimulationSnapshot.hpp:229
std::vector< double > surface_grad_hx_lim
Slope-limited head gradient ∂h/∂x, per face.
Definition SimulationSnapshot.hpp:278
double sys_snow_depth
Total snow depth.
Definition SimulationSnapshot.hpp:162
std::vector< uint8_t > surface_cell_nv
Definition SimulationSnapshot.hpp:272
std::vector< double > surface_head
Total head h_o = z_s + ψ_o (m), per face.
Definition SimulationSnapshot.hpp:275
double sys_flooding
Total flooding.
Definition SimulationSnapshot.hpp:170
std::vector< double > gw2d_transport_ledger
Definition SimulationSnapshot.hpp:477
const std::vector< std::string > * surface_species_names
Definition SimulationSnapshot.hpp:304
const std::vector< std::string > * subcatch_ids
Subcatchment IDs in index order.
Definition SimulationSnapshot.hpp:223
std::vector< double > thermal2d_lid_layer_energy
Definition SimulationSnapshot.hpp:425
int surface_quad_count
Number of quadrilateral cells (0 = all triangles)
Definition SimulationSnapshot.hpp:268
std::vector< double > thermal2d_bed_species_concentration
Definition SimulationSnapshot.hpp:390
std::vector< double > gw2d_reject
Rejected top-interface delivery returned to surface (m3 s-1)
Definition SimulationSnapshot.hpp:451
int surface_tri_count
Number of cells (faces): triangles + quads.
Definition SimulationSnapshot.hpp:266
double sys_temperature
Air temperature.
Definition SimulationSnapshot.hpp:160
std::vector< double > gw2d_node_exchange
exchange with a 1D node (m³/s), + out of the aquifer
Definition SimulationSnapshot.hpp:334
std::vector< double > gw2d_lateral
net lateral Darcy into the cell (m³/s)
Definition SimulationSnapshot.hpp:332
std::vector< double > thermal2d_ground_budget
Definition SimulationSnapshot.hpp:410
NodeSnapshot nodes
Node state.
Definition SimulationSnapshot.hpp:151
std::vector< double > surface_stat_max_cont_err
Max |continuity residual| (m³/s), per face.
Definition SimulationSnapshot.hpp:444
std::vector< double > thermal2d_lid_layer_ground_contact_j
Definition SimulationSnapshot.hpp:427
std::vector< double > gw2d_bed_exchange_cum
Definition SimulationSnapshot.hpp:369
int gw2d_boundary_count
Definition SimulationSnapshot.hpp:471
std::vector< double > thermal2d_bed_age_generation
Cumulative local bed age generation in hour m3.
Definition SimulationSnapshot.hpp:395
std::vector< double > link_quality
Link pollutant concentrations.
Definition SimulationSnapshot.hpp:205
std::vector< double > thermal2d_ground_capacity
Definition SimulationSnapshot.hpp:402
std::vector< double > surface_vert_head
Reconstructed head at vertices (m) — SOLVER field (dry-cell head = bed)
Definition SimulationSnapshot.hpp:432
double sys_dw_inflow
Total dry weather inflow.
Definition SimulationSnapshot.hpp:166
std::vector< double > thermal2d_ground_layer_temperature
Definition SimulationSnapshot.hpp:405
std::vector< double > gw2d_table_elev
water-table elevation (m) = bed + hg
Definition SimulationSnapshot.hpp:327
Snapshot of subcatchment state at an output time step.
Definition SimulationSnapshot.hpp:91
std::vector< double > snow_process
Definition SimulationSnapshot.hpp:95
std::vector< double > soil_moist
Soil moisture [-].
Definition SimulationSnapshot.hpp:103
std::vector< double > rainfall
Rainfall rate [display rate units].
Definition SimulationSnapshot.hpp:96
std::vector< double > infil
Infiltration [display rate units].
Definition SimulationSnapshot.hpp:99
std::vector< double > runoff
Surface runoff [display flow units].
Definition SimulationSnapshot.hpp:100
static constexpr int snow_process_count
Definition SimulationSnapshot.hpp:94
std::vector< double > gw_flow
Groundwater outflow [display flow units].
Definition SimulationSnapshot.hpp:101
std::vector< double > evap
Evaporation [display rate units].
Definition SimulationSnapshot.hpp:98
std::vector< double > gw_elev
Groundwater elevation [display length units].
Definition SimulationSnapshot.hpp:102
std::vector< double > snow_depth
Snow depth [display depth units].
Definition SimulationSnapshot.hpp:97