12#ifndef OPENSWMM_SNOW_H
13#define OPENSWMM_SNOW_H
169 int count,
char* diagnostic,
int capacity);
296 const char* ueb_rows,
char* diagnostic,
315 char* series,
int capacity);
336 char* diagnostic,
int capacity);
364 const char* cloud_series,
char* diagnostic,
int 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
OpenSWMM Engine — primary transparent C API (master header).
SWMM_ENGINE_API int swmm_snowpack_set_ueb(SWMM_Engine engine, int pack, const SWMM_UebSnowpack *value)
Replace a named pack's UEB/model overrides.
Definition openswmm_snow_impl.cpp:173
SWMM_ENGINE_API int swmm_subcatch_get_snow_process_state(SWMM_Engine engine, int subcatch, int surface, SWMM_SnowState *value)
Snapshot one subcatchment snow surface's accepted process state.
Definition openswmm_snow_impl.cpp:274
SWMM_ENGINE_API int swmm_climate_set_radiation_source(SWMM_Engine engine, int channel, const char *value)
Bind one radiation source name or meteorology path.
Definition openswmm_snow_impl.cpp:457
SWMM_ENGINE_API int swmm_snow_set_model(SWMM_Engine engine, int model)
Select the global snow-process model.
Definition openswmm_snow_impl.cpp:62
SWMM_ENGINE_API int swmm_ueb_option_get(SWMM_Engine engine, const char *key, char *value, int capacity)
Read a recognized UEB option in its input-section text format.
Definition openswmm_snow_impl.cpp:89
SWMM_ENGINE_API int swmm_climate_preview_meteorology(SWMM_Engine engine, const char *path, SWMM_ClimateMetSummary *result, char *diagnostic, int capacity)
Read and validate hourly meteorology without changing the model binding.
Definition openswmm_snow_impl.cpp:479
SWMM_ENGINE_API int swmm_climate_get_cloud(SWMM_Engine engine, SWMM_ClimateCloudConfig *config, char *series, int capacity)
Snapshot the shared heat/climatology cloud configuration and series name.
Definition openswmm_snow_impl.cpp:515
SWMM_ENGINE_API int swmm_climate_get_radiation(SWMM_Engine engine, SWMM_RadiationConfig *value)
Read the shared radiation site and source selectors.
Definition openswmm_snow_impl.cpp:392
SWMM_ENGINE_API int swmm_snow_get_step(SWMM_Engine engine, double *seconds)
Read the snow-process cadence in seconds.
Definition openswmm_snow_impl.cpp:72
SWMM_ENGINE_API int swmm_climate_set_radiation(SWMM_Engine engine, const SWMM_RadiationConfig *value)
Replace the shared radiation site and source selectors.
Definition openswmm_snow_impl.cpp:417
SWMM_ENGINE_API int swmm_ueb_get_monthly_ranges(SWMM_Engine engine, double values[12])
Read monthly mean diurnal temperature ranges.
SWMM_ENGINE_API int swmm_snowpack_apply(SWMM_Engine engine, const SWMM_SnowpackEdit *edits, int count, char *diagnostic, int capacity)
Validate and upsert a batch of named snowpacks as one atomic edit.
Definition openswmm_snow_impl.cpp:195
SWMM_ENGINE_API int swmm_ueb_option_set(SWMM_Engine engine, const char *key, const char *value)
Parse and assign one UEB option from a textual value.
Definition openswmm_snow_impl.cpp:97
SWMM_ENGINE_API int swmm_snow_get_ueb_ledger(SWMM_Engine engine, SWMM_SnowLedger *value)
Aggregate the active UEB subcatchment water and energy inventory.
Definition openswmm_snow_impl.cpp:327
SWMM_ENGINE_API int swmm_climate_get_radiation_source(SWMM_Engine engine, int channel, char *value, int capacity)
Read one radiation source name or meteorology path.
Definition openswmm_snow_impl.cpp:446
SWMM_ENGINE_API int swmm_ueb_set_monthly_ranges(SWMM_Engine engine, const double values[12])
Replace monthly mean diurnal temperature ranges.
SWMM_ENGINE_API int swmm_snow_set_step(SWMM_Engine engine, double seconds)
Configure the snow-process cadence in seconds.
Definition openswmm_snow_impl.cpp:79
SWMM_ENGINE_API int swmm_snow_apply_configuration(SWMM_Engine engine, const char *temperature_rows, const char *ueb_rows, char *diagnostic, int capacity)
Atomically replace global snow/radiation section configuration.
Definition openswmm_snow_impl.cpp:473
SWMM_ENGINE_API int swmm_snowpack_get_ueb(SWMM_Engine engine, int pack, SWMM_UebSnowpack *value)
Read a named pack's UEB/model overrides.
Definition openswmm_snow_impl.cpp:156
SWMM_ENGINE_API int swmm_snow_apply_configuration_with_cloud(SWMM_Engine engine, const char *temperature_rows, const char *ueb_rows, const SWMM_ClimateCloudConfig *cloud, const char *cloud_series, char *diagnostic, int capacity)
Atomically replace global snow/radiation section configuration, optionally including clouds.
Definition openswmm_snow_impl.cpp:532
@ SWMM_SNOW_DEFAULT
Definition openswmm_snow.h:19
@ SWMM_SNOW_DEGREE_DAY
Definition openswmm_snow.h:19
@ SWMM_SNOW_UEB
Definition openswmm_snow.h:19
SWMM_ENGINE_API int swmm_snow_get_model(SWMM_Engine engine, int *model)
Read the global snow-process model.
Definition openswmm_snow_impl.cpp:55
Definition openswmm_snow.h:298
double longwave_k
Definition openswmm_snow.h:300
double fraction
Definition openswmm_snow.h:300
int mode
Definition openswmm_snow.h:299
double shortwave_n
Definition openswmm_snow.h:300
double shortwave_k
Definition openswmm_snow.h:300
Definition openswmm_snow.h:316
double last_date
Definition openswmm_snow.h:318
int records
Definition openswmm_snow.h:317
double maximum[5]
Definition openswmm_snow.h:319
double minimum[5]
Definition openswmm_snow.h:319
double first_date
Definition openswmm_snow.h:318
Definition openswmm_snow.h:215
double longitude
Definition openswmm_snow.h:217
int longwave_authored
Definition openswmm_snow.h:219
int shortwave_mode
Definition openswmm_snow.h:218
double timezone
Definition openswmm_snow.h:217
double elevation_m
Definition openswmm_snow.h:217
double latitude
Definition openswmm_snow.h:217
int shortwave_authored
Definition openswmm_snow.h:219
int explicit_site
Definition openswmm_snow.h:216
int longwave_mode
Definition openswmm_snow.h:218
Definition openswmm_snow.h:196
double liquid_m3
Definition openswmm_snow.h:197
double initial_m3
Definition openswmm_snow.h:197
double throughfall_m3
Definition openswmm_snow.h:197
double residual_m3
Definition openswmm_snow.h:198
double energy_residual_kj
Definition openswmm_snow.h:200
double elapsed_s
Definition openswmm_snow.h:197
double stored_m3
Definition openswmm_snow.h:198
double net_energy_kj
Definition openswmm_snow.h:199
double initial_energy_kj
Definition openswmm_snow.h:200
double stored_energy_kj
Definition openswmm_snow.h:200
double sublimation_m3
Definition openswmm_snow.h:198
double removed_m3
Definition openswmm_snow.h:198
double geometry_energy_kj
Definition openswmm_snow.h:199
double precipitation_m3
Definition openswmm_snow.h:197
double plowed_energy_kj
Definition openswmm_snow.h:199
double transferred_m3
Definition openswmm_snow.h:198
Definition openswmm_snow.h:171
double water_age_s
Definition openswmm_snow.h:175
double surface_age
Definition openswmm_snow.h:174
double swe_m
Definition openswmm_snow.h:173
double melt_ms
Definition openswmm_snow.h:173
double sublimation_ms
Definition openswmm_snow.h:175
double surface_temperature_c
Definition openswmm_snow.h:174
double energy_kjm2
Definition openswmm_snow.h:174
double cover_fraction
Definition openswmm_snow.h:173
int model
Definition openswmm_snow.h:172
double albedo
Definition openswmm_snow.h:174
double surface_input_ms
Definition openswmm_snow.h:173
double bulk_temperature_c
Definition openswmm_snow.h:174
Definition openswmm_snow.h:141
double removal[6]
Definition openswmm_snow.h:144
double surface[3][7]
Definition openswmm_snow.h:143
const char * name
Definition openswmm_snow.h:142
const char * removal_subcatch
Definition openswmm_snow.h:145
SWMM_UebSnowpack ueb
Definition openswmm_snow.h:146
Definition openswmm_snow.h:23
double drift_factor
Definition openswmm_snow.h:25
double extinction_depth_m
Definition openswmm_snow.h:26
double forest_fraction
Definition openswmm_snow.h:25
double initial_energy_kjm2
Definition openswmm_snow.h:26
int model
Definition openswmm_snow.h:24
double ground_heat_wm2
Definition openswmm_snow.h:25