![]() |
OpenSWMM Engine
6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
|
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>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 |
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.