57#ifndef OPENSWMM_CLIMATE_H
58#define OPENSWMM_CLIMATE_H
67#define SWMM_CLIMATE_MONTHS 12
70#define SWMM_CLIMATE_ADC_POINTS 10
451 double end_date,
double sample_interval_days,
455 char* diagnostic,
int diagnostic_capacity);
#define SWMM_ENGINE_API
Definition openswmm_2d.h:62
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:55
SWMM_ENGINE_API int swmm_climate_set_humidity_timeseries(SWMM_Engine engine, const char *ts_id)
Copy a configured humidity time-series ID.
Definition openswmm_climate_impl.cpp:917
SWMM_ENGINE_API int swmm_climate_set_adc_pervious(SWMM_Engine engine, const double *values, int count)
Replace all pervious areal-depletion fractions in the configured ten-point depletion-curve order.
Definition openswmm_climate_impl.cpp:1012
SWMM_ENGINE_API int swmm_climate_get_temp_timeseries(SWMM_Engine engine, char *buf, int buflen)
Copy the configured temperature time-series ID.
Definition openswmm_climate_impl.cpp:279
SWMM_ENGINE_API int swmm_climate_set_adjust_evaporation(SWMM_Engine engine, const double *values, int count)
Replace all monthly evaporation offsets in January through December.
Definition openswmm_climate_impl.cpp:1052
SWMM_ENGINE_API int swmm_climate_set_elevation(SWMM_Engine engine, double elev)
Set the configured site elevation.
Definition openswmm_climate_impl.cpp:341
SWMM_ENGINE_API int swmm_climate_set_temp_units(SWMM_Engine engine, int units)
Set the configured climate-file temperature-unit selector.
Definition openswmm_climate_impl.cpp:323
SWMM_ENGINE_API int swmm_climate_get_pan_coeff(SWMM_Engine engine, double *buf, int count)
Copy all monthly pan coefficients in January through December.
Definition openswmm_climate_impl.cpp:778
SWMM_ENGINE_API int swmm_climate_get_temp_file_start(SWMM_Engine engine, double *date)
Read the configured climate-file start date.
Definition openswmm_climate_impl.cpp:299
SWMM_ENGINE_API int swmm_climate_get_wind_type(SWMM_Engine engine, int *type)
Read the configured wind-speed source.
Definition openswmm_climate_impl.cpp:817
SWMM_ENGINE_API int swmm_climate_set_humidity_variable(SWMM_Engine engine, int var)
Set the configured humidity quantity.
Definition openswmm_climate_impl.cpp:881
SWMM_ENGINE_API int swmm_climate_get_wind_monthly(SWMM_Engine engine, double *buf, int count)
Copy all monthly average wind speeds in January through December.
Definition openswmm_climate_impl.cpp:835
SWMM_ENGINE_API int swmm_climate_get_adc_pervious(SWMM_Engine engine, double *buf, int count)
Copy all pervious areal-depletion fractions in the configured ten-point depletion-curve order.
Definition openswmm_climate_impl.cpp:1006
SWMM_ENGINE_API int swmm_climate_set_latitude(SWMM_Engine engine, double latitude)
Set the configured site latitude.
Definition openswmm_climate_impl.cpp:357
SWMM_ENGINE_API int swmm_climate_set_neg_melt_ratio(SWMM_Engine engine, double rnm)
Set the configured negative-melt-coefficient ratio.
Definition openswmm_climate_impl.cpp:974
SWMM_ENGINE_API int swmm_climate_set_wind_type(SWMM_Engine engine, int type)
Set the configured wind-speed source.
Definition openswmm_climate_impl.cpp:825
SWMM_ENGINE_API int swmm_climate_get_elevation(SWMM_Engine engine, double *elev)
Read the configured site elevation.
Definition openswmm_climate_impl.cpp:333
SWMM_ENGINE_API int swmm_climate_get_temp_units(SWMM_Engine engine, int *units)
Read the configured climate-file temperature-unit selector.
Definition openswmm_climate_impl.cpp:315
SWMM_ENGINE_API int swmm_climate_get_adc_impervious(SWMM_Engine engine, double *buf, int count)
Copy all impervious areal-depletion fractions in the configured ten-point depletion-curve order.
Definition openswmm_climate_impl.cpp:988
SWMM_ENGINE_API int swmm_climate_set_pan_coeff(SWMM_Engine engine, const double *values, int count)
Replace all monthly pan coefficients in January through December.
Definition openswmm_climate_impl.cpp:784
SWMM_ENGINE_API int swmm_climate_get_snow_temp(SWMM_Engine engine, double *divide_temp)
Read the configured snow/rain dividing temperature.
Definition openswmm_climate_impl.cpp:932
SWMM_ENGINE_API int swmm_climate_set_adjust_rainfall(SWMM_Engine engine, const double *values, int count)
Replace all monthly rainfall multipliers in January through December.
Definition openswmm_climate_impl.cpp:1068
SWMM_ENGINE_API int swmm_climate_set_adjust_conductivity(SWMM_Engine engine, const double *values, int count)
Replace all monthly hydraulic-conductivity multipliers in January through December.
Definition openswmm_climate_impl.cpp:1085
SWMM_ENGINE_API int swmm_climate_get_adjust_evaporation(SWMM_Engine engine, double *buf, int count)
Copy all monthly evaporation offsets in January through December.
Definition openswmm_climate_impl.cpp:1045
SWMM_TempSource
Air-temperature data source (matches [TEMPERATURE]).
Definition openswmm_climate.h:75
@ SWMM_TEMP_FILE
Definition openswmm_climate.h:78
@ SWMM_TEMP_TIMESERIES
Definition openswmm_climate.h:77
@ SWMM_TEMP_NONE
Definition openswmm_climate.h:76
SWMM_HumidityVar
Quantity the HUMIDITY values express.
Definition openswmm_climate.h:158
@ SWMM_HUMIDITY_RELATIVE
Definition openswmm_climate.h:159
@ SWMM_HUMIDITY_DEWPOINT
Definition openswmm_climate.h:160
SWMM_ENGINE_API int swmm_climate_get_evap_type(SWMM_Engine engine, int *type)
Read the configured evaporation method.
Definition openswmm_climate_impl.cpp:387
SWMM_WindType
Wind-speed data source (matches [TEMPERATURE] WINDSPEED).
Definition openswmm_climate.h:141
@ SWMM_WIND_FILE
Definition openswmm_climate.h:143
@ SWMM_WIND_MONTHLY
Definition openswmm_climate.h:142
SWMM_ENGINE_API int swmm_climate_get_humidity_timeseries(SWMM_Engine engine, char *buf, int buflen)
Copy the configured humidity time-series ID.
Definition openswmm_climate_impl.cpp:907
SWMM_ENGINE_API int swmm_climate_set_adjust_temperature(SWMM_Engine engine, const double *values, int count)
Replace all monthly temperature offsets in January through December.
Definition openswmm_climate_impl.cpp:1035
SWMM_ENGINE_API int swmm_climate_get_humidity_type(SWMM_Engine engine, int *type)
Read the configured humidity source.
Definition openswmm_climate_impl.cpp:855
SWMM_ENGINE_API int swmm_climate_get_humidity_variable(SWMM_Engine engine, int *var)
Read the configured humidity quantity.
Definition openswmm_climate_impl.cpp:873
SWMM_ENGINE_API int swmm_climate_get_evap_recovery(SWMM_Engine engine, char *buf, int buflen)
Copy the configured soil-moisture recovery pattern ID.
Definition openswmm_climate_impl.cpp:794
SWMM_ENGINE_API int swmm_climate_set_ati_weight(SWMM_Engine engine, double tipm)
Set the configured antecedent-temperature-index weight.
Definition openswmm_climate_impl.cpp:956
SWMM_ENGINE_API int swmm_climate_preview_evaporation_with_config(SWMM_Engine engine, const SWMM_EvapPreviewConfig *config, double start_date, double end_date, double sample_interval_days, SWMM_EvapPreviewSample *samples, int capacity, int *sample_count, SWMM_EvapPreviewSummary *summary, char *diagnostic, int diagnostic_capacity)
Preview draft or saved evaporation without runtime forcing.
Definition openswmm_climate_impl.cpp:441
SWMM_ENGINE_API int swmm_climate_set_longitude_correction(SWMM_Engine engine, double minutes)
Set the configured longitude/solar-time correction.
Definition openswmm_climate_impl.cpp:375
SWMM_ENGINE_API int swmm_climate_set_evap_monthly(SWMM_Engine engine, const double *values, int count)
Replace all monthly evaporation rates in January through December.
Definition openswmm_climate_impl.cpp:411
SWMM_EvapType
Evaporation method (matches [EVAPORATION]).
Definition openswmm_climate.h:84
@ SWMM_EVAP_TIMESERIES
Definition openswmm_climate.h:87
@ SWMM_EVAP_MONTHLY
Definition openswmm_climate.h:86
@ SWMM_EVAP_CONSTANT
Definition openswmm_climate.h:85
@ SWMM_EVAP_FILE
Definition openswmm_climate.h:89
@ SWMM_EVAP_TEMPERATURE
Definition openswmm_climate.h:88
SWMM_ENGINE_API int swmm_climate_set_temp_source(SWMM_Engine engine, int source)
Set the configured air-temperature source.
Definition openswmm_climate_impl.cpp:269
SWMM_ENGINE_API int swmm_climate_set_evap_type(SWMM_Engine engine, int type)
Set the configured evaporation method.
Definition openswmm_climate_impl.cpp:395
SWMM_ENGINE_API int swmm_climate_set_humidity_monthly(SWMM_Engine engine, const double *values, int count)
Replace all monthly humidity values in January through December.
Definition openswmm_climate_impl.cpp:897
SWMM_HumidityType
Humidity data source (matches [TEMPERATURE] HUMIDITY).
Definition openswmm_climate.h:149
@ SWMM_HUMIDITY_TIMESERIES
Definition openswmm_climate.h:152
@ SWMM_HUMIDITY_MONTHLY
Definition openswmm_climate.h:151
@ SWMM_HUMIDITY_CONSTANT
Definition openswmm_climate.h:150
SWMM_ENGINE_API int swmm_climate_set_snow_temp(SWMM_Engine engine, double divide_temp)
Set the configured snow/rain dividing temperature.
Definition openswmm_climate_impl.cpp:940
SWMM_ENGINE_API int swmm_climate_set_humidity_type(SWMM_Engine engine, int type)
Set the configured humidity source.
Definition openswmm_climate_impl.cpp:863
SWMM_ENGINE_API int swmm_climate_get_evap_timeseries(SWMM_Engine engine, char *buf, int buflen)
Copy the configured evaporation time-series ID.
Definition openswmm_climate_impl.cpp:421
SWMM_ENGINE_API int swmm_climate_preview_evaporation(SWMM_Engine engine, double start_date, double end_date, double sample_interval_days, SWMM_EvapPreviewSample *samples, int capacity, int *sample_count, SWMM_EvapPreviewSummary *summary, char *diagnostic, int diagnostic_capacity)
Preview saved evaporation without runtime forcing.
Definition openswmm_climate_impl.cpp:767
#define SWMM_CLIMATE_MONTHS
Number of monthly values in a climate monthly table.
Definition openswmm_climate.h:67
SWMM_ENGINE_API int swmm_climate_set_evap_timeseries(SWMM_Engine engine, const char *ts_id)
Copy a configured evaporation time-series ID.
Definition openswmm_climate_impl.cpp:430
SWMM_ENGINE_API int swmm_climate_get_neg_melt_ratio(SWMM_Engine engine, double *rnm)
Read the configured negative-melt-coefficient ratio.
Definition openswmm_climate_impl.cpp:966
SWMM_ENGINE_API int swmm_climate_get_ati_weight(SWMM_Engine engine, double *tipm)
Read the configured antecedent-temperature-index weight.
Definition openswmm_climate_impl.cpp:948
SWMM_ENGINE_API int swmm_climate_get_adjust_conductivity(SWMM_Engine engine, double *buf, int count)
Copy all monthly hydraulic-conductivity multipliers in January through December.
Definition openswmm_climate_impl.cpp:1078
SWMM_ENGINE_API int swmm_climate_set_evap_recovery(SWMM_Engine engine, const char *pattern_id)
Copy a configured soil-moisture recovery pattern ID.
Definition openswmm_climate_impl.cpp:803
SWMM_ENGINE_API int swmm_climate_get_adjust_rainfall(SWMM_Engine engine, double *buf, int count)
Copy all monthly rainfall multipliers in January through December.
Definition openswmm_climate_impl.cpp:1062
SWMM_ENGINE_API int swmm_climate_set_temp_file_start(SWMM_Engine engine, double date)
Set the configured climate-file start date.
Definition openswmm_climate_impl.cpp:307
SWMM_ENGINE_API int swmm_climate_get_latitude(SWMM_Engine engine, double *latitude)
Read the configured site latitude.
Definition openswmm_climate_impl.cpp:349
SWMM_ENGINE_API int swmm_climate_get_longitude_correction(SWMM_Engine engine, double *minutes)
Read the configured longitude/solar-time correction.
Definition openswmm_climate_impl.cpp:367
SWMM_ENGINE_API int swmm_climate_get_temp_source(SWMM_Engine engine, int *source)
Read the configured air-temperature source.
Definition openswmm_climate_impl.cpp:261
SWMM_ENGINE_API int swmm_climate_set_temp_timeseries(SWMM_Engine engine, const char *ts_id)
Copy a configured temperature time-series ID.
Definition openswmm_climate_impl.cpp:288
SWMM_ENGINE_API int swmm_climate_get_evap_monthly(SWMM_Engine engine, double *buf, int count)
Copy all monthly evaporation rates in January through December.
Definition openswmm_climate_impl.cpp:405
SWMM_ENGINE_API int swmm_climate_set_wind_monthly(SWMM_Engine engine, const double *values, int count)
Replace all monthly average wind speeds in January through December.
Definition openswmm_climate_impl.cpp:841
SWMM_ENGINE_API int swmm_climate_get_adjust_temperature(SWMM_Engine engine, double *buf, int count)
Copy all monthly temperature offsets in January through December.
Definition openswmm_climate_impl.cpp:1028
SWMM_ENGINE_API int swmm_climate_get_humidity_monthly(SWMM_Engine engine, double *buf, int count)
Copy all monthly humidity values in January through December.
Definition openswmm_climate_impl.cpp:891
SWMM_ENGINE_API int swmm_climate_set_adc_impervious(SWMM_Engine engine, const double *values, int count)
Replace all impervious areal-depletion fractions in the configured ten-point depletion-curve order.
Definition openswmm_climate_impl.cpp:994
SWMM_EvapPreviewStatus
Definition openswmm_climate.h:93
@ SWMM_EVAP_PREVIEW_ESTIMATED
Definition openswmm_climate.h:97
@ SWMM_EVAP_PREVIEW_AVAILABLE
Definition openswmm_climate.h:94
@ SWMM_EVAP_PREVIEW_MISSING
Definition openswmm_climate.h:96
@ SWMM_EVAP_PREVIEW_HELD
Definition openswmm_climate.h:95
OpenSWMM Engine — primary transparent C API (master header).
Definition openswmm_climate.h:122
double evap_monthly[SWMM_CLIMATE_MONTHS]
Definition openswmm_climate.h:124
double climate_file_start
Definition openswmm_climate.h:131
double adjust_temperature[SWMM_CLIMATE_MONTHS]
Definition openswmm_climate.h:135
const char * evap_timeseries
Definition openswmm_climate.h:127
int evap_type
Definition openswmm_climate.h:123
double pan_coeff[SWMM_CLIMATE_MONTHS]
Definition openswmm_climate.h:125
double longitude_correction_minutes
Definition openswmm_climate.h:134
double adjust_evaporation[SWMM_CLIMATE_MONTHS]
Definition openswmm_climate.h:126
int temp_source
Definition openswmm_climate.h:128
double latitude
Definition openswmm_climate.h:133
int climate_file_temp_units
Definition openswmm_climate.h:132
const char * temp_timeseries
Definition openswmm_climate.h:129
const char * climate_file_path
Definition openswmm_climate.h:130
Definition openswmm_climate.h:101
double adjustment
Definition openswmm_climate.h:104
double date
Definition openswmm_climate.h:102
double source_rate
Definition openswmm_climate.h:103
double effective_rate
Definition openswmm_climate.h:105
int status
Definition openswmm_climate.h:106
Definition openswmm_climate.h:110
int runtime_forcing_unknown
Definition openswmm_climate.h:116
double minimum_rate
Definition openswmm_climate.h:117
double maximum_rate
Definition openswmm_climate.h:118
int missing_count
Definition openswmm_climate.h:114
int available_count
Definition openswmm_climate.h:112
int source_type
Definition openswmm_climate.h:111
int estimated_count
Definition openswmm_climate.h:115
int held_count
Definition openswmm_climate.h:113