![]() |
OpenSWMM Engine
6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
|
Climate processing — evaporation, temperature, wind. More...
Go to the source code of this file.
Classes | |
| struct | openswmm::climate::ClimateState |
Namespaces | |
| namespace | openswmm |
| namespace | openswmm::climate |
Enumerations | |
| enum class | openswmm::climate::EvapMethod : int { openswmm::climate::CONSTANT = 0 , openswmm::climate::MONTHLY = 1 , openswmm::climate::TIMESERIES = 2 , openswmm::climate::TEMPERATURE = 3 , openswmm::climate::PAN = 4 } |
Functions | |
| double | openswmm::climate::hargreaves (double latitude, int day_of_year, double t_avg, double t_range) |
| Compute Hargreaves evapotranspiration. | |
| void | openswmm::climate::updateDailyClimate (ClimateState &state, int day_of_year, int month) |
| Update daily climate state. | |
| void | openswmm::climate::batchDistributeEvap (double evap_rate, const double *ponded_depth, double *evap_out, int n, double dt) |
| Batch distribute evaporation to all subcatchments. | |
Variables | |
| constexpr double | openswmm::climate::MM_PER_INCH = 25.40 |
Climate processing — evaporation, temperature, wind.
Daily climate values are computed once and broadcast to all subcatchments — no per-subcatchment branching needed. The Hargreaves ET formula is the most compute-intensive path.
Vectorization: climate state is scalar-per-day (broadcast pattern). The per-subcatchment evap distribution is a batch multiply.