OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
UebLumped.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2
11
12#pragma once
13#include "UebSnow.hpp"
14#include <array>
15
16namespace openswmm::surface::ueb {
17// The point state describes the snow-covered part; water is the average over
18// the entire element. Curves contain the SWMM ordinates at 0, .1, ... .9,
19// with an implicit final ordinate of 1. Mesh elements use the project
20// pervious-area curve, matching their UEB snowpack ownership.
23 double water = 0, maximum = 0, cover = 0;
24};
27 double rain = 0, snow = 0, liquid = 0, throughfall = 0, sublimation = 0;
29 // UEB's depletion adjustment preserves temperature/liquid fraction. Its
30 // change in represented energy is reported separately from physical
31 // forcing; it must never be disguised as numerical energy closure.
33};
34
39std::string validateDepletion(const std::array<double, 10>& curve);
46double depletionCover(const std::array<double, 10>& curve, double relative_water) noexcept;
58std::string initializeLumped(LumpedState& state, double water, double point_energy, double maximum,
59 const std::array<double, 10>& curve);
79std::string advanceLumped(LumpedState& state, const Parameters& parameters, const Site& site,
80 const Forcing& forcing, const std::array<double, 10>& curve,
81 LumpedFluxes& output);
82} // namespace openswmm::surface::ueb
Utah Energy Balance snow accumulation and energy integration.
Definition SnowCheckpoint.hpp:60
std::string initializeLumped(LumpedState &state, double water, double energy, double maximum, const std::array< double, 10 > &curve)
Prepare a basin-average water inventory and covered-area point state.
Definition UebLumped.cpp:77
std::string advanceLumped(LumpedState &state, const Parameters &p, const Site &site, const Forcing &f, const std::array< double, 10 > &curve, LumpedFluxes &output)
Trial one UEB point interval then reconcile basin cover and represented energy.
Definition UebLumped.cpp:95
double depletionCover(const std::array< double, 10 > &curve, double water) noexcept
Interpolate coverage from relative basin-average snow water.
Definition UebLumped.cpp:68
std::string validateDepletion(const std::array< double, 10 > &curve)
Check a ten-point snow-cover depletion curve.
Definition UebLumped.cpp:59
Integrated accepted point exchanges and final thermal diagnostics. Water depths m and energy kJ/m2 co...
Definition UebSnow.hpp:78
Held point meteorology over one requested interval. seconds is duration, precipitation integrated liq...
Definition UebSnow.hpp:56
Definition UebLumped.hpp:25
double net_energy
Definition UebLumped.hpp:32
double energy_residual
Definition UebLumped.hpp:32
double sublimation
Definition UebLumped.hpp:27
double snow
Definition UebLumped.hpp:27
double geometry_energy
Definition UebLumped.hpp:32
double throughfall
Definition UebLumped.hpp:27
Fluxes point
Definition UebLumped.hpp:26
double active_fraction
Definition UebLumped.hpp:28
double water_residual
Definition UebLumped.hpp:28
double liquid
Definition UebLumped.hpp:27
double rain
Definition UebLumped.hpp:27
Definition UebLumped.hpp:21
double maximum
Definition UebLumped.hpp:23
State point
Definition UebLumped.hpp:22
double water
Definition UebLumped.hpp:23
double cover
Definition UebLumped.hpp:23
Point UEB material, radiation and integration parameters. Temperatures are Celsius,...
Definition UebSnow.hpp:23
Per-column environmental settings. forest is canopy fraction, drift a snow multiplier,...
Definition UebSnow.hpp:48
One owned point snow/active-soil energy and thermal-memory inventory. energy kJ/m2 may be signed,...
Definition UebSnow.hpp:70