OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
Climate.hpp File Reference

Climate processing — evaporation, temperature, wind. More...

This graph shows which files directly or indirectly include this file:

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
 

Detailed Description

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.

Note
Legacy reference: src/legacy/engine/climate.c
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License