OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
MsxSurfaceData.hpp File Reference

BW-MSX (2026-09-19) — surface buildup / washoff / sweeping state and parameters for the reactions component's (MSX) species. More...

#include <cstddef>
#include <string>
#include <vector>
Include dependency graph for MsxSurfaceData.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::MsxSurfaceRows
 Rows parked by the section handlers for names that are not pollutants. More...
 
struct  openswmm::MsxSurfaceRows::Buildup
 
struct  openswmm::MsxSurfaceRows::Washoff
 
struct  openswmm::MsxSurfaceRows::Loading
 
struct  openswmm::MsxSurfaceData
 Resolved MSX surface-quality parameters and state. More...
 

Namespaces

namespace  openswmm
 

Detailed Description

BW-MSX (2026-09-19) — surface buildup / washoff / sweeping state and parameters for the reactions component's (MSX) species.

[BUILDUP], [WASHOFF] and [LOADINGS] are pollutant-keyed everywhere (BuildupData, WashoffData, SurfaceQualitySoA, subcatches.conc). MSX species are declared by the reactions component, which is applied only after the .inp has been read, so a row naming one cannot be resolved by the section handler. The handlers therefore park such rows here BY NAME (MsxSurfaceRows) and msxsurf::resolve() binds them after the component is in (PostParseResolver time), exactly the deferred pattern [INITIAL_QUALITY] and [INFLOWS] use for MSX species.

The resolved parameters and the per-(subcatchment × land use × species) buildup state live in this struct, separate from the pollutant arrays so the pollutant path is untouched (bit-identity for decks without MSX rows). The arithmetic that advances them is the subcatchment surface-quality step's, transcribed once in quality/MsxSurfaceQuality.cpp.

Design: plans/transport/OVERLAND_TRANSPORT_HEAT_MSX_PLAN_2026-09-01.md §8.9; program plan decisions D-A24, D-A27–D-A29.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License
Apache-2.0