OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
UebSubcatchments.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2
11
12#pragma once
13#include "UebHeld.hpp"
14#include <vector>
15namespace openswmm {
17namespace snow {
18struct SnowSoA;
19}
20namespace surface::ueb {
28 std::array<double, 4> forcing{}; // modes and values of runtime climate overrides
29 std::vector<HeldState> columns;
30 std::vector<LumpedFluxes> last;
31 std::vector<double> rain, snow;
32 std::vector<double> sample_end, sample_seconds; // per column: independent owner clocks
33 bool active = false;
34 double sublimation = 0, precipitation = 0, liquid = 0, throughfall = 0;
38};
39
75std::string advanceSubcatchments(SimulationContext& context, snow::SnowSoA& native, double date,
76 double elapsed, double seconds, const double* rain,
77 const double* snow);
87double nextSnowBoundary(const SimulationContext& context, double elapsed, double proposed) noexcept;
88} // namespace surface::ueb
89} // namespace openswmm
Held forcing and state for Utah Energy Balance snow integration.
Definition DegreeDaySnow.cpp:36
Definition SnowCheckpoint.hpp:60
double nextSnowBoundary(const SimulationContext &ctx, double elapsed, double proposed) noexcept
Shorten a proposed span to the next native UEB held-forcing boundary.
Definition UebSubcatchments.cpp:250
std::string advanceSubcatchments(SimulationContext &ctx, snow::SnowSoA &soa, double date, double elapsed, double seconds, const double *rain, const double *snow)
Trial accepted UEB snow and plowing over one source/runoff interval.
Definition UebSubcatchments.cpp:264
std::string initializeSubcatchments(SimulationContext &ctx, snow::SnowSoA &s)
Initialize privately staged UEB columns from authored native snow assignments.
Definition UebSubcatchments.cpp:191
Definition ExchangeLaw.hpp:60
Central, reentrant simulation context.
Definition SimulationContext.hpp:390
Definition DegreeDaySnow.hpp:66
Owned per-surface UEB predictions, accepted outputs and whole-model ledgers. Three surface columns pe...
Definition UebSubcatchments.hpp:27
double geometry_energy
Definition UebSubcatchments.hpp:35
double sublimation
Definition UebSubcatchments.hpp:34
double net_energy
Definition UebSubcatchments.hpp:35
double initial_water
Definition UebSubcatchments.hpp:36
double transferred_water
Definition UebSubcatchments.hpp:36
double initial_energy
Definition UebSubcatchments.hpp:35
double throughfall
Definition UebSubcatchments.hpp:34
bool active
Definition UebSubcatchments.hpp:33
double last_seconds
Definition UebSubcatchments.hpp:37
double removed
Definition UebSubcatchments.hpp:36
std::vector< double > snow
Definition UebSubcatchments.hpp:31
std::vector< double > sample_seconds
Definition UebSubcatchments.hpp:32
std::vector< HeldState > columns
Definition UebSubcatchments.hpp:29
std::vector< double > sample_end
Definition UebSubcatchments.hpp:32
std::vector< double > rain
Definition UebSubcatchments.hpp:31
double precipitation
Definition UebSubcatchments.hpp:34
std::array< double, 4 > forcing
Definition UebSubcatchments.hpp:28
double completed_seconds
Definition UebSubcatchments.hpp:37
std::vector< LumpedFluxes > last
Definition UebSubcatchments.hpp:30
double liquid
Definition UebSubcatchments.hpp:34
double plowed_energy
Definition UebSubcatchments.hpp:35