36#ifndef OPENSWMM_CLIMATE_HPP
37#define OPENSWMM_CLIMATE_HPP
80 void push(
double t_avg,
double t_range);
147 double adjust_temp[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
148 double adjust_rain[12] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
201double hargreaves(
double latitude,
int day_of_year,
double t_avg,
double t_range);
249void batchDistributeEvap(
double evap_rate,
const double* ponded_depth,
double* evap_out,
int n,
Solar geometry, atmospheric radiation and interval weather forcing.
Definition Rk2RuntimeSources.hpp:19
double getSubdailyTemp(const ClimateState &state, double hour)
Evaluate the three-segment native diurnal temperature curve.
Definition Climate.cpp:220
void updateDailyClimate(ClimateState &state, int day_of_year, int month)
Update scalar evaporation and snow-related atmospheric coefficients.
Definition Climate.cpp:111
constexpr double MM_PER_INCH
Definition Climate.hpp:50
EvapMethod
Definition Climate.hpp:56
@ TIMESERIES
Definition Climate.hpp:59
@ CONSTANT
Definition Climate.hpp:57
@ TEMPERATURE
Hargreaves method.
Definition Climate.hpp:60
@ MONTHLY
Definition Climate.hpp:58
@ PAN
Definition Climate.hpp:61
void updateTempTimes(ClimateState &state, int doy)
Derive daily sinusoidal temperature timing from latitude and season.
Definition Climate.cpp:189
void batchDistributeEvap(double evap_rate, const double *ponded_depth, double *evap_out, int n, double dt)
Bound one scalar evaporation rate by each ponded-water supply rate.
Definition Climate.cpp:175
double hargreaves(double latitude, int day_of_year, double t_avg, double t_range)
Estimate potential evapotranspiration using Hargreaves radiation/temperature.
Definition Climate.cpp:72
Definition ExchangeLaw.hpp:60
Central, reentrant simulation context.
Definition SimulationContext.hpp:390
Definition Climate.hpp:97
double ea
Saturation vapor pressure.
Definition Climate.hpp:116
double latitude
Latitude (degrees)
Definition Climate.hpp:119
double adjust_hydcon[12]
Infiltration conductivity multipliers.
Definition Climate.hpp:149
int humidity_ts_index
Humidity / dew-point timeseries table index.
Definition Climate.hpp:168
int temp_ts_index
Temperature timeseries table index.
Definition Climate.hpp:166
MovingAvg7 temp_ma
Definition Climate.hpp:159
bool has_minmax
True when tmin_daily/tmax_daily are valid.
Definition Climate.hpp:183
double next_evap_rate
user units
Definition Climate.hpp:144
int evap_ts_pos
index of the last series entry read (legacy table_getNextEntry cursor)
Definition Climate.hpp:145
RadiationState radiation
Definition Climate.hpp:98
double recovery_factor
Definition Climate.hpp:163
double wind_speed_src
Source/default wind speed (mph)
Definition Climate.hpp:112
double infil_factor
Definition Climate.hpp:156
double evaprate_ucf
Definition Climate.hpp:131
double hrsr
Sunrise hour (time of min temp), 0-24.
Definition Climate.hpp:177
double dydif
24 + hrsr - hrss (hours from max to next min)
Definition Climate.hpp:181
double adjust_evap[12]
ADDED to the rate (ft/s), legacy Adjust.evap /= UCF(EVAPRATE)
Definition Climate.hpp:134
double dtlong
Longitude correction (hrs); 0 = solar time.
Definition Climate.hpp:182
double elev
Site elevation above sea level (ft)
Definition Climate.hpp:122
EvapMethod evap_method
Definition Climate.hpp:152
double hrss
Sunset-3 hour (time of max temp), 0-24.
Definition Climate.hpp:178
double file_tmin
Last daily min read from a climate file (deg F)
Definition Climate.hpp:110
double temperature_src
Source/default air temperature (deg F)
Definition Climate.hpp:109
double tmax_daily
Current day's maximum temperature (deg F)
Definition Climate.hpp:175
double hrday
Mid-hour between hrsr and hrss.
Definition Climate.hpp:179
double monthly_evap[12]
Definition Climate.hpp:126
int recovery_pat_index
Recovery pattern index in ctx.patterns.
Definition Climate.hpp:169
double snow_divt
Rain/snow dividing temperature (degF), legacy Snow.snotmp.
Definition Climate.hpp:123
double humidity
Relative humidity (%)
Definition Climate.hpp:103
double wind_speed
Wind speed (mph) — effective (post-forcing)
Definition Climate.hpp:102
double file_tmax
Last daily max read from a climate file (deg F)
Definition Climate.hpp:111
int last_temp_doy
Day-of-year when hrsr/hrss were last computed.
Definition Climate.hpp:184
double temp_range
Daily temperature range (deg F)
Definition Climate.hpp:100
double next_evap_date
Definition Climate.hpp:143
double dhrdy
hrsr - hrss (negative)
Definition Climate.hpp:180
double gamma
Psychrometric constant.
Definition Climate.hpp:115
double prev_tmax
Previous day's maximum temperature (deg F)
Definition Climate.hpp:176
double adjust_temp[12]
Definition Climate.hpp:147
double evap_rate
Evaporation rate (ft/sec)
Definition Climate.hpp:101
double adjust_rain[12]
Definition Climate.hpp:148
double temperature
Air temperature (deg F) — effective (post-forcing)
Definition Climate.hpp:99
int evap_ts_index
Evaporation timeseries table index.
Definition Climate.hpp:167
double tmin_daily
Current day's minimum temperature (deg F)
Definition Climate.hpp:174
Definition Climate.hpp:68
void push(double t_avg, double t_range)
Append a daily temperature/range pair to the seven-slot circular history.
Definition Climate.cpp:42
double tr[7]
Daily temp ranges (deg F)
Definition Climate.hpp:70
double avg_range() const
Read the arithmetic mean of retained daily temperature ranges.
Definition Climate.cpp:59
int count
Number of values stored (max 7)
Definition Climate.hpp:72
int front
Circular buffer write index.
Definition Climate.hpp:71
double ta[7]
Daily average temps (deg F)
Definition Climate.hpp:69
double avg_temp() const
Read the arithmetic mean of retained daily temperature samples.
Definition Climate.cpp:50
Definition Radiation.hpp:55