OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
openswmm::surface::SnowConfig Struct Reference

#include <UebConfig.hpp>

Collaboration diagram for openswmm::surface::SnowConfig:

Public Member Functions

SnowKind modelFor (int pack) const
 Resolve a per-pack model override or the global snow-model fallback.
 
bool hasTemperatureRows () const
 Test whether nondefault/authored temperature-section snow rows should exist.
 

Public Attributes

SnowKind model = SnowKind::DegreeDay
 
bool model_authored = false
 
bool division_temperature = false
 
double step = 3600
 
ueb::Parameters parameters
 
double bc_a = .8
 
double bc_c = 2.4
 
std::array< std::optional< double >, 12 > monthly_range
 
std::optional< ClimateSite > site
 
RadiationSource shortwave
 
RadiationSource longwave
 
FilePathPair met_file
 
std::map< int, SnowpackConfig > packs
 

Member Function Documentation

◆ hasTemperatureRows()

bool openswmm::surface::SnowConfig::hasTemperatureRows ( ) const

Test whether nondefault/authored temperature-section snow rows should exist.

Returns
True for model_authored, nondefault snow step, SITE, authored short/longwave or MET_FILE. Does not inspect UEB parameter changes, monthly ranges or per-pack options, so false does not mean the entire SnowConfig equals defaults.
Here is the caller graph for this function:

◆ modelFor()

SnowKind openswmm::surface::SnowConfig::modelFor ( int pack) const
inline

Resolve a per-pack model override or the global snow-model fallback.

Parameters
packInteger pack key; no pack-existence/range validation is performed.
Returns
Stored override model when present, otherwise global model. Does not initialize runtime columns, test ignore-snowmelt or require an authored override.
Here is the caller graph for this function:

Member Data Documentation

◆ bc_a

double openswmm::surface::SnowConfig::bc_a = .8

◆ bc_c

double openswmm::surface::SnowConfig::bc_c = 2.4

◆ division_temperature

bool openswmm::surface::SnowConfig::division_temperature = false

◆ longwave

RadiationSource openswmm::surface::SnowConfig::longwave

◆ met_file

FilePathPair openswmm::surface::SnowConfig::met_file

◆ model

SnowKind openswmm::surface::SnowConfig::model = SnowKind::DegreeDay

◆ model_authored

bool openswmm::surface::SnowConfig::model_authored = false

◆ monthly_range

std::array<std::optional<double>, 12> openswmm::surface::SnowConfig::monthly_range

◆ packs

std::map<int, SnowpackConfig> openswmm::surface::SnowConfig::packs

◆ parameters

ueb::Parameters openswmm::surface::SnowConfig::parameters

◆ shortwave

RadiationSource openswmm::surface::SnowConfig::shortwave

◆ site

std::optional<ClimateSite> openswmm::surface::SnowConfig::site

◆ step

double openswmm::surface::SnowConfig::step = 3600

The documentation for this struct was generated from the following files: