Share

Run Parameters

Run parameters are set as key value pairs for the WSModelObject.new_run method, called on the asset group in which the run is being created.

The run parameters used for ICM Exchange broadly correspond to those in the user interface run dialog. The list below therefore includes the field’s location in the run dialog and its sub-dialogs, and its description in the user interface if the difference is noteworthy.

InfoWorks Run Parameters

Name Data Type Location in UI Description in UI Notes Default Nil Range
Always Use Final State Boolean Main page col 2 Always use state without initialization
Buildup Time Long Integer Water Quality Form Can either be nil (in which case it is not used) or a value between 1 and 1000000
CheckPumps Boolean Timestep Control Sheet - Control Page
Comment String Tree object property page
ConcentrationWarning Double Diagnostics Form Concentration
Depth Double 2D Sheet, Tolerance Tab Must be less then Innundation Map Dept hThreshold 0.001 0 - 99999999
Depth_threshold Double 2d Sheet, Steady State Tab Threshold for 1-hour change in depth
DontApplyRainfallSmoothing Boolean Main Page col 2 This is the opposite sense to the check box on the dialog TRUE
DontLogModeSwitches Boolean Diagnostics Form This is the opposite sense to the check box on the dialog
DontLogRTCRuleChanges Boolean Diagnostics Form This is the opposite sense to the check box on the dialog
DontOutputRTCState Boolean Diagnostics Form This is the opposite sense to the check box on the dialog
Duration Long Integer Main Page col 1 Duration of simulation, in units used in duration unit 60
DurationUnit String Main Page col 1 The DurationType field must be nil or one of the strings:

'Minutes', 'Hours', 'Days', 'Weeks', 'Years'.

It is important to realise that the value of this field does NOT affect the meaning of the Duration field, which is always in minutes, it merely affects the way the duration is displayed e.g. to run a simulation for a day, and have the time in the run view displayed as '1 day' you should enter the values 1440 in the Duration fields and 'Days' in the DurationType field.
DWFDefinition String Timestep Control Sheet - RTC Page DWF Mode Definition
DWFModeResults Boolean Timestep Control Sheet - Control Page Store results when in DWF mode
DWFMultiplier Long Integer Timestep Control Sheet - Control Page Must be a power of 2 32 1 - 2048
End Duration Boolean Main Page col 1 True for time/date, false for duration
End Time Double / DateTime Main Page col 1 See Notes
EveryNode Boolean Timestep Control Sheet - Node Page True = Total flow into system, False = flow at each node FALSE
EveryOutflow Boolean Timestep Control Sheet - Outflows Page True = Total flow from system, False = flow at each outfall FALSE
EverySubcatchment Boolean Timestep Control Sheet - Subcatchment Page True = Total flow into system, False = flow at each subcatchment FALSE
ExitOnFailedInit Boolean Main Page col 2 Exit if initialization fails
ExitOnFailedInitCompletion Boolean Main Page col 2 Exit if initialization complete in (mins) If the ExitOnFailedInitCompletion field is set to true, the InitCompletionMinutes field must be set to a value between 1 and 99999999
GaugeMultiplier Long Integer Main Page col 1 Gauge timestep multiplier 1 0 - 99999
Gauges Index Main Page col 1 Additional links to be gauged A selection list object
GetStartTimeFromRainEvent Boolean Main Page col 2
Ground Infiltration Index Main Page col 3 Ground Infiltration object used for simulation
IncludeBaseFlow Boolean Timestep Control Sheet - Subcatchments Page Include Base Flow FALSE
IncludeLevel Boolean Timestep Control Sheet - Level Page Check for levels FALSE
IncludeNode Boolean Timestep Control Sheet - Node Page Check for inflows FALSE
IncludeOutflow Boolean Timestep Control Sheet - Outflows Page Check for ouflows FALSE
IncludeRainfall Boolean Timestep Control Sheet - Rainfall Page Check for rainfall FALSE
IncludeRTC Boolean Timestep Control Sheet - RTC Page Check RTC
IncludeRunoff Boolean Timestep Control Sheet - Subcatchments Page Include Runoff FALSE
Inflow Index Main Page col 3 Inflow object used for simulation
InitCompletionMinutes Long Integer Main page col 2
Initial Conditions 2D Index Main Page col 3 2D Initial conditions object used for simulation
InundationMapDepthThreshold Double 2D Sheet, Advanced Tab See Depth 0.01 0 - inf
Level Index Main Page col 3 Level object used for simulation
LevelLag Long Integer Timestep Control Sheet - Level Page 0
LevelThreshold Double Timestep Control Sheet - Level Page 0 0 - 99999999
MaxVelocity Double 2D Sheet, Advanced Tab 10 0 - 99999999
Minor Timestep 2D Boolean 2D Sheet, Advanced Tab Link 1D-2D calculations at minor timestep
Momentum Double 2D Sheet, Tolerance Tab 0.01 0 - 99999999
NodeLag Long Integer Timestep Control Sheet - Node Page 0
NodeThreshold Double Timestep Control Sheet - Node Page 0
OutflowLag Long Integer Timestep Control Sheet - Outflows Page 0
OutflowThreshold Double Timestep Control Sheet - Outflows Page 0
Pipe Sediment Data Index Main Page col 3 Pipe sediment data object used fo simulation
Pollutant Graph Index Main Page col 3 Pollutant graph object used for simulation
QM Dependent Fractions Boolean Water Quality Form Dependent Sediment Fractions
QM Hydraulic Feedback Boolean Water Quality Form Erosion Deposition Affects Hydraulics
QM Model Macrophytes Boolean Water Quality Form
QM Multiplier Long Integer Water Quality Form 0 - 10
QM Native Washoff Routing Boolean Water Quality Form
QM Oxygen Demand Text Water Quality Form BOD
QM Pollutant Enabled Array This is an array of strings
RainfallLag Long Integer Timestep Control Sheet - Rainfall Page 0
RainfallThreshold Double Timestep Control Sheet - Rainfall Page 0
RainType Boolean 2D Sheet, Advanced Tab Ignore rain falling on dry elements FALSE
ReadSubeventNAPIAndAntecedDepth Boolean Main Page col 2 Read subevent NAPI and Antecdent Depth
ReadSubeventParams Boolean Main Page col 2 Read subevent UCWI & Evaporation
Regulator Index Main Page col 2 Regulator object used for simulation
ResultsMultiplier Long Integer Main Page col 1 6 Results timestep multiplier 0 - 99999
RTCLag Long Integer Timestep Control Sheet - RTC Page 0 0 - 99999999
RTCRulesOverride Boolean Main Page col 2 RTC rules override pump on levels Restrictions as in UI
RunoffOnly Boolean Main Page col 2 Restrictions as in UI
Save Final State Boolean Main Page col 2
Sediment Fraction Enabled Array This parameter must be an array of 2 Boolean values, true if you want that sediment fraction and false if you don't
Sim Index Main Page col 2 Sim object used for the initial state
SpillCorrection Boolean 2D Sheet, Advanced Tab Adjust bank levels based on adjacent element ground levels TRUE
Start Time Double / DateTime Main Page col 1 See notes 0
StopOnEndOfTimeVaryingData Boolean Timestep Control Sheet - Control Page Stop simulation at the end of tim varying data
StorePRN Boolean Main Page col 2 Summary (PRN) results
StormDefinition String Timestep Control Sheet - RTC Page Storm Mode Condition
SubcatchmentLag Long Integer Timestep Control Sheet - Subcatchments Page 0
SubcatchmentThreshold Double Timestep Control Sheet - Subcatchments Page 0
Theta Double 2D Sheet, Advanced Tab 0.9 0 - 99999999
Time_lag Double 2d Sheet, Steady State Tab 60
TimeStep Long Integer Main Page col 1 Timestep (s) 60 1 - 99999
timestep_stability_control Double 2D Sheet, Advanced Tab 0.95 0 - 1
TimestepLog Boolean Diagnostics Form
Trade Waste Index Main Page col 3 Trade Waste object used for simulation
Use_local_steady_state Boolean 2d Sheet, Steady State Tab Deactivate steady state areas
UseGPU Boolean Main Page col 3 0 or nil = never, 1 = if available, 2 = always
UseQM Boolean Main Page col 3
Velocity Double 2D Sheet, Tolerance Tab 0.01 0 - 99999999
Velocity_threshold Double 2d Sheet, Steady State Tab Threshold for 1-hour change in velocity
VelocityWarning Double Diagnostics Form Velocity
VolumeBalanceWarning Double Diagnostics Form Volume balance
WarningBag Hash Warning thresholds for water priority parameters. It is a hash from strings to floating point numbers. The keys are as described in the 'QM Pollutant Enabled' key, and as with that key the best way to understand this parameter is to set up values in the UI and export them in a script.
Waste Water Index Main Page col 3 Waste Water object used for simulation
Working Boolean Main Page col 1 Allow re-runs using updated network Must be set to tru before the update_to_latest method may be used.

SWMM Run Parameters

Name Data Type Location in UI Description in UI Notes Default Range
climatology Index Main page col 3 SWMM climatology SWMM Climatology object used in simulation
date_time_end_date DateTime Timestep Control Sheet - Dates Page End analysis Current date + 1 day at time 00:00:00
date_time_end_sweep DateTime Timestep Control Sheet - Dates Page End sweeping The year and time are ignored 31 Dec
date_time_report_start DateTime Timestep Control Sheet - Dates Page Start reporting Current date at time 00:00:00
date_time_start_date DateTime Timestep Control Sheet - Dates Page Start analysis Current date at time 00:00:00
date_time_start_sweep DateTime Timestep Control Sheet - Dates Page Start sweeping The year and time are ignored 01 Jan
dry_days Float Timestep Control Sheet - Dates Page Antecedent dry days Must be zero or a positive float value. 0.0
dyn_wave_length_step Float Main Page col 4 - Dynamic wave group box Conduit lengthening timestep 0.0
dyn_wave_minimum_step Float Main Page col 4 - Dynamic wave group box Minimum timestep 0.5
dyn_wave_use_var_step Boolean Main Page col 4 - Dynamic wave group box Adjust variable timesteps by (%) - checkbox TRUE
dyn_wave_variable_step Float Main Page col 4 - Dynamic wave group box Adjust variable timesteps by (%) - edit box 75.0 10.0 – 200.0
inflow Index Main Page col 2 Inflow Inflow object used in simulation
initial_state_sim Index Main Page col 1 Sim providing initial state The simulation object that provides the initial state to host-start the simulation. The simulation providing state must have saved its state and its simulation succeeded.
level Index Main Page col 2 Level Level object used in simulation
name String Top of main Page Run title If the name is Nil then one is randomly generated
network Index Main Page col 1 - Network group box SWMM network Network object used in simulation
network_commit_id Long Integer Main Page col 1 - Network group box SWMM network Network commit ID or version number used in simulation that appears in parenthesis following the network name
pollutographs Array of Index Main Page col 3 SWMM pollutograph
proc_parm_gw Boolean Options Sheet - Processes Page Groundwater TRUE
proc_parm_rain Boolean Options Sheet - Processes Page Rainfall / runoff TRUE
proc_parm_rdii Boolean Options Sheet - Processes Page Rainfall dependent I/I TRUE
proc_parm_route Boolean Options Sheet - Processes Page Flow routing TRUE
proc_parm_snow Boolean Options Sheet - Processes Page Snowmelt TRUE
proc_parm_wq Boolean Options Sheet - Processes Page Water quality TRUE
rainfall Index Main Page col 2 Rainfall event / Flow survey Rainfall or flow survey object used in simulation
regulator Index Main Page col 2 Regulator Regulator object used in simulation
rpt_parm_averages Boolean Main Page col 4 - Reporting group box Average results FALSE
rpt_parm_continue Boolean Main Page col 4 - Reporting group box Continuity checks TRUE
rpt_parm_controls Boolean Main Page col 4 - Reporting group box Control actions FALSE
rpt_parm_det_obj_id Array of Index Main Page col 4 - Reporting group box Objects for detailed reporting - Selection list
rpt_parm_flow_stats Boolean Main Page col 4 - Reporting group box Summary flow statistics TRUE
rpt_parm_input Boolean Main Page col 4 - Reporting group box Input summary FALSE
save_state_at_end Boolean Main Page col 1 Save state at end of simulation FALSE
scenarios Array of String Main Page col 1 - Network group box Scenarios
stdy_flow_lat_tol Float Timestep Control Sheet - Timesteps Page - Steady flow periods group box Lateral flow tolerance (%) 5.0
stdy_flow_skip_stdy_state Boolean Timestep Control Sheet - Timesteps Page - Steady flow periods group box Skip steady flow periods FALSE
stdy_flow_sys_tol Float Timestep Control Sheet - Timesteps Page - Steady flow periods group box System flow tolerance (%) 5.0
surcharge_method_type String Options Sheet - Surcharge Method Page Surcharge Method Must be either 'Extran' or 'Slot'.
time_pattern Index Main Page col 3 SWMM time patterns SWMM time pattern object used for simulation.
time_step_control Float Timestep control sheet - Timesteps Page Control rule step Relative time in seconds. Must be a negative value. 0.0
time_step_dry Float Timestep control sheet - Timesteps Page Dry weather runoff step Relative time in seconds. Must be a negative value. -3600.0
time_step_report Float Timestep control sheet - Timesteps Page Reporting timestep Relative time in seconds that timesteps are reported. Must be a negative value. -900.0
time_step_route Float Timestep control sheet - Timesteps Page Routing timestep (s) Unlike other time_steps, this is an explicit number of seconds. 30.0
time_step_wet Float Timestep control sheet - Timesteps Page Wet weather runoff step Relative time in seconds. Must be a negative value. -300.0
working Boolean Main Page col 1 Allow re-runs using updated network Must be set to true before the update_to_latest method may be used. FALSE

Notes

The keys are all strings, the values are different types as specified.

Where values have units, they must always be specified in S.I units.

When the run is created, several run parameters are supplied with default values. For example, if you create a run and use an empty parameters hash, then use the [] method on the run to inspect the values, you would see that several fields have default values set.

Other fields will use a nil value by default. For a number of fields a nil value is treated as a particular default value for that field as specified in the detailed notes for the fields in question.

Where the name of the field contains spaces or underscores, the spaces or underscores must be used when setting the value in the hash.

The percentage volume balance is not available from ICM Exchange.

Time

As ICM Exchange does not have a Ruby data time to represent the use of times in ICM simulations, in which both relative times and absolute times are used, the following convention is used for the start time and end time:

- Absolute times are represented as a DateTime object
- Relative times as a negative double  a time in seconds

Therefore to set a relative time, negate the number of seconds and set the field to this value, to set an absolute time use a ruby DateTime object as described earlier in this document.

When reading a value from the database to determine whether the start time is relative of absolute you will want to use code like this:

start_time = working['Start Time']

if start_time.nil?
  puts "nil"
elsif start_time.kind_of?(DateTime)
  puts format("Absolute: %i/%i/%i", start_time.year, start_time.month, start_time.day)
elsif start_time.kind_of(Float)
  puts format("Relative: %f seconds", start_time)
else
  puts "Unexpected type"
end

Was this information helpful?