OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
MeshSnowConfig.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2
11
12#pragma once
13#include "UebConfig.hpp"
14
15namespace openswmm::surface {
22 std::string pack;
24};
26 enum class Mode { Auto, Yes, No };
28 double step = 0; // inherit the shared SNOW_STEP
29 std::map<std::string, MeshSnowRow> defaults; // * whole mesh, otherwise mesh tag
30 std::map<int, MeshSnowRow> cells; // zero-based cell index
34 bool assigned() const { return !defaults.empty() || !cells.empty(); }
35};
36
45std::string setMeshSnowOption(MeshSnowConfig& config, const std::vector<std::string>& tokens);
60std::string setMeshSnowRow(MeshSnowConfig& config, const std::vector<std::string>& tokens,
61 bool cell);
67std::vector<std::string> meshSnowOptionRows(const MeshSnowConfig& config);
76std::vector<std::string> meshSnowRows(const MeshSnowConfig& config, bool cell);
86MeshSnowRow resolveMeshSnowRow(const MeshSnowConfig& config, int cell, const std::string& tag);
87} // namespace openswmm::surface
Utah Energy Balance snow model configuration and validation.
Definition GroundHeat.hpp:19
std::string setMeshSnowOption(MeshSnowConfig &config, const std::vector< std::string > &tokens)
Apply one mesh SNOWMELT/SNOW_STEP option after validating its token form.
Definition MeshSnowConfig.cpp:57
std::string setMeshSnowRow(MeshSnowConfig &config, const std::vector< std::string > &tokens, bool cell)
Parse and replace one unresolved mesh snow assignment row.
Definition MeshSnowConfig.cpp:83
MeshSnowRow resolveMeshSnowRow(const MeshSnowConfig &config, int cell, const std::string &tag)
Compose mesh-wide, exact-tag and exact-cell snow overrides.
Definition MeshSnowConfig.cpp:175
std::vector< std::string > meshSnowOptionRows(const MeshSnowConfig &config)
Serialize nondefault mesh snow options without validating them.
Definition MeshSnowConfig.cpp:138
std::vector< std::string > meshSnowRows(const MeshSnowConfig &config, bool cell)
Serialize one assignment map in deterministic key/schema order.
Definition MeshSnowConfig.cpp:149
Definition MeshSnowConfig.hpp:25
Mode
Definition MeshSnowConfig.hpp:26
@ Auto
Definition MeshSnowConfig.hpp:26
@ Yes
Definition MeshSnowConfig.hpp:26
@ No
Definition MeshSnowConfig.hpp:26
std::map< std::string, MeshSnowRow > defaults
Definition MeshSnowConfig.hpp:29
double step
Definition MeshSnowConfig.hpp:28
Mode mode
Definition MeshSnowConfig.hpp:27
std::map< int, MeshSnowRow > cells
Definition MeshSnowConfig.hpp:30
bool assigned() const
Test whether any tag/default/cell assignment rows are stored.
Definition MeshSnowConfig.hpp:34
One authored pack selection and optional site/geometry override. Missing optionals inherit lower-prec...
Definition MeshSnowConfig.hpp:21
std::optional< double > slope
Definition MeshSnowConfig.hpp:23
std::string pack
Definition MeshSnowConfig.hpp:22
std::optional< double > ground_heat
Definition MeshSnowConfig.hpp:23
std::optional< double > aspect
Definition MeshSnowConfig.hpp:23
std::optional< double > extinction_depth
Definition MeshSnowConfig.hpp:23
std::optional< double > forest
Definition MeshSnowConfig.hpp:23
std::optional< double > drift
Definition MeshSnowConfig.hpp:23