66#ifndef OPENSWMM_FORCING_H
67#define OPENSWMM_FORCING_H
71#ifdef OPENSWMM_ENGINE_STATIC
72#define SWMM_ENGINE_API
75#ifdef openswmm_engine_EXPORTS
76#define SWMM_ENGINE_API __declspec(dllexport)
78#define SWMM_ENGINE_API __declspec(dllimport)
81#define SWMM_ENGINE_API __attribute__((visibility("default")))
160 int mode,
int persist);
182 int mode,
int persist);
208 double mass_rate,
int mode,
int persist);
232 int mode,
int persist);
352 double value,
int mode,
int persist);
377 int mode,
int persist);
422 int mode,
int persist);
616 int variable,
double value,
int mode,
int persist);
636 int variable,
double* value,
int* mode);
#define SWMM_ENGINE_API
Definition openswmm_2d.h:62
Callback function typedefs for the OpenSWMM Engine C API.
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:55
SWMM_ENGINE_API int swmm_forcing_climate_temperature(SWMM_Engine engine, double value, int mode, int persist)
Register system air temperature forcing.
Definition openswmm_forcing_impl.cpp:288
SWMM_ENGINE_API int swmm_climate_get_wind_speed(SWMM_Engine engine, double *value)
Read the current wind speed.
Definition openswmm_forcing_impl.cpp:340
SWMM_ENGINE_API int swmm_forcing_node_head_boundary(SWMM_Engine engine, int idx, double value, int mode, int persist)
Register outfall head-boundary overlay for the next step(s).
Definition openswmm_forcing_impl.cpp:82
SWMM_ForcingMode
How the forcing value is applied relative to the computed value.
Definition openswmm_forcing.h:94
@ SWMM_FORCING_OVERRIDE
Definition openswmm_forcing.h:96
@ SWMM_FORCING_NONE
Definition openswmm_forcing.h:95
@ SWMM_FORCING_ADD
Definition openswmm_forcing.h:97
SWMM_ENGINE_API int swmm_forcing_gage_rainfall(SWMM_Engine engine, int idx, double value, int mode, int persist)
Register gage rainfall forcing for the next step(s).
Definition openswmm_forcing_impl.cpp:408
SWMM_ENGINE_API int swmm_forcing_node_age(SWMM_Engine engine, int node_idx, double value, int mode, int persist)
Register reserved-species node water age forcing.
Definition openswmm_forcing_impl.cpp:140
SWMM_ENGINE_API int swmm_forcing_clear(SWMM_Engine engine, int type, int idx)
Disable selected forcing modes without clearing their stored values.
Definition openswmm_forcing_impl.cpp:531
SWMM_ENGINE_API int swmm_forcing_climate_evap(SWMM_Engine engine, double value, int mode, int persist)
Register system evaporation rate forcing.
Definition openswmm_forcing_impl.cpp:350
SWMM_ENGINE_API int swmm_forcing_element_climate_get(SWMM_Engine engine, int kind, int index, int variable, double *value, int *mode)
Read an element-local registered climate prescription.
Definition openswmm_forcing_impl.cpp:661
SWMM_ForcingPersist
Whether the forcing persists across timesteps.
Definition openswmm_forcing.h:101
@ SWMM_FORCING_PERSIST
Definition openswmm_forcing.h:103
@ SWMM_FORCING_RESET
Definition openswmm_forcing.h:102
SWMM_ENGINE_API int swmm_climate_get_temperature(SWMM_Engine engine, double *value)
Read the current air temperature.
Definition openswmm_forcing_impl.cpp:310
SWMM_ENGINE_API int swmm_forcing_link_setting(SWMM_Engine engine, int idx, double value, int mode, int persist)
Register link setting forcing for the next step(s).
Definition openswmm_forcing_impl.cpp:179
SWMM_ENGINE_API int swmm_forcing_node_lat_inflow(SWMM_Engine engine, int idx, double value, int mode, int persist)
Register lateral user-flow overlay for the next step(s).
Definition openswmm_forcing_impl.cpp:66
SWMM_ENGINE_API int swmm_forcing_subcatch_rainfall(SWMM_Engine engine, int idx, double value, int mode, int persist)
Register subcatchment rainfall forcing for the next step(s).
Definition openswmm_forcing_impl.cpp:215
SWMM_ENGINE_API int swmm_forcing_node_quality(SWMM_Engine engine, int node_idx, int pollutant_idx, double mass_rate, int mode, int persist)
Register direct pollutant concentration forcing on a node.
Definition openswmm_forcing_impl.cpp:102
SWMM_ENGINE_API int swmm_forcing_node_temperature(SWMM_Engine engine, int node_idx, double value, int mode, int persist)
Register reserved-species node water temperature forcing.
Definition openswmm_forcing_impl.cpp:121
SWMM_ENGINE_API int swmm_forcing_subcatch_snowfall(SWMM_Engine engine, int idx, double value, int mode, int persist)
Register subcatchment snowfall forcing for the next step(s).
Definition openswmm_forcing_impl.cpp:262
SWMM_ENGINE_API int swmm_forcing_clear_all(SWMM_Engine engine)
Clear all ForcingData channels on the engine.
Definition openswmm_forcing_impl.cpp:691
SWMM_ENGINE_API int swmm_climate_set_dry_only(SWMM_Engine engine, int flag)
Set the stored evaporation DRY_ONLY flag.
Definition openswmm_forcing_impl.cpp:370
SWMM_HeatElemKind
Which element a per-element climate forcing targets (PE4).
Definition openswmm_forcing.h:131
@ SWMM_HEAT_ELEM_NODE
Definition openswmm_forcing.h:132
@ SWMM_HEAT_ELEM_LINK
Definition openswmm_forcing.h:133
SWMM_ForcingType
Forcing channel identifier (for targeted clear).
Definition openswmm_forcing.h:107
@ SWMM_FORCE_NODE_HEAD_BOUNDARY
Definition openswmm_forcing.h:109
@ SWMM_FORCE_LINK_QUALITY
Definition openswmm_forcing.h:120
@ SWMM_FORCE_NODE_QUALITY
Definition openswmm_forcing.h:110
@ SWMM_FORCE_LINK_SETTING
Definition openswmm_forcing.h:112
@ SWMM_FORCE_ELEM_AIR_TEMPERATURE
Definition openswmm_forcing.h:123
@ SWMM_FORCE_ELEM_HUMIDITY
Definition openswmm_forcing.h:124
@ SWMM_FORCE_ELEM_SHORTWAVE
Definition openswmm_forcing.h:126
@ SWMM_FORCE_SUBCATCH_EVAP
Definition openswmm_forcing.h:114
@ SWMM_FORCE_CLIMATE_WIND
Definition openswmm_forcing.h:117
@ SWMM_FORCE_CLIMATE_TEMPERATURE
Definition openswmm_forcing.h:116
@ SWMM_FORCE_ELEM_WIND_SPEED
Definition openswmm_forcing.h:125
@ SWMM_FORCE_LINK_FLOW
Definition openswmm_forcing.h:111
@ SWMM_FORCE_LINK_SEEPAGE
Definition openswmm_forcing.h:127
@ SWMM_FORCE_CLIMATE_EVAP
Definition openswmm_forcing.h:119
@ SWMM_FORCE_SUBCATCH_SNOWFALL
Definition openswmm_forcing.h:118
@ SWMM_FORCE_GAGE_RAINFALL
Definition openswmm_forcing.h:115
@ SWMM_FORCE_SUBCATCH_RAINFALL
Definition openswmm_forcing.h:113
@ SWMM_FORCE_NODE_LAT_INFLOW
Definition openswmm_forcing.h:108
SWMM_ENGINE_API int swmm_forcing_link_quality(SWMM_Engine engine, int link_idx, int pollutant_idx, double value, int mode, int persist)
Register direct pollutant concentration forcing on a link.
Definition openswmm_forcing_impl.cpp:385
SWMM_ENGINE_API int swmm_climate_get_dry_only(SWMM_Engine engine, int *flag)
Read the stored evaporation DRY_ONLY flag.
Definition openswmm_forcing_impl.cpp:377
SWMM_ENGINE_API int swmm_forcing_link_flow(SWMM_Engine engine, int idx, double value, int mode, int persist)
Register link flow-state forcing for the next step(s).
Definition openswmm_forcing_impl.cpp:163
SWMM_ENGINE_API int swmm_forcing_climate_wind(SWMM_Engine engine, double value, int mode, int persist)
Register system wind speed forcing.
Definition openswmm_forcing_impl.cpp:320
SWMM_ENGINE_API int swmm_forcing_element_climate(SWMM_Engine engine, int kind, int index, int variable, double value, int mode, int persist)
Register an element-local atmospheric heat-flux forcing.
Definition openswmm_forcing_impl.cpp:631
SWMM_ENGINE_API int swmm_forcing_link_seepage(SWMM_Engine engine, int idx, double value, int mode, int persist)
Register conduit groundwater-exchange forcing for the next step(s).
Definition openswmm_forcing_impl.cpp:195
SWMM_ENGINE_API int swmm_forcing_subcatch_evap(SWMM_Engine engine, int idx, double value, int mode, int persist)
Register subcatchment potential-evaporation forcing for the next step(s).
Definition openswmm_forcing_impl.cpp:231
SWMM_ENGINE_API int swmm_climate_get_evap_rate(SWMM_Engine engine, double *value)
Read the current broadcast evaporation rate.
Definition openswmm_forcing_impl.cpp:251