![]() |
OpenSWMM Engine
6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
|
Classes | |
| struct | ClimateState |
Enumerations | |
| enum class | EvapMethod : int { CONSTANT = 0 , MONTHLY = 1 , TIMESERIES = 2 , TEMPERATURE = 3 , PAN = 4 } |
Functions | |
| double | hargreaves (double latitude, int day_of_year, double t_avg, double t_range) |
| Compute Hargreaves evapotranspiration. | |
| void | updateDailyClimate (ClimateState &state, int day_of_year, int month) |
| Update daily climate state. | |
| void | batchDistributeEvap (double evap_rate, const double *ponded_depth, double *evap_out, int n, double dt) |
| Batch distribute evaporation to all subcatchments. | |
Variables | |
| constexpr double | MM_PER_INCH = 25.40 |
|
strong |
| void openswmm::climate::batchDistributeEvap | ( | double | evap_rate, |
| const double * | ponded_depth, | ||
| double * | evap_out, | ||
| int | n, | ||
| double | dt | ||
| ) |
Batch distribute evaporation to all subcatchments.
evap_out[i] = min(evap_rate, ponded_depth[i] / dt) This is a vectorisable clamp operation.
| evap_rate | Scalar evap rate (ft/sec). |
| ponded_depth | [in] Per-subcatchment ponded depth (ft). |
| evap_out | [out] Per-subcatchment actual evap rate (ft/sec). |
| n | Number of subcatchments. |
| dt | Timestep (seconds). |
| double openswmm::climate::hargreaves | ( | double | latitude, |
| int | day_of_year, | ||
| double | t_avg, | ||
| double | t_range | ||
| ) |
Compute Hargreaves evapotranspiration.
| latitude | Latitude (degrees). |
| day_of_year | Day of year (1-365). |
| t_avg | Average temperature (deg F). |
| t_range | Temperature range (deg F). |
| void openswmm::climate::updateDailyClimate | ( | ClimateState & | state, |
| int | day_of_year, | ||
| int | month | ||
| ) |
Update daily climate state.
| state | [in/out] Climate state. |
| day_of_year | Day of year. |
| month | Month (0-11). |
|
constexpr |