Tuesday, December 20, 2016
#SWMM5 has very flexible control rules. The rules are shown in the controls.c code. However, one aspect I did not know was that if a rule is based on a control curve the RPT logging of the control actions is not shown. You can change by changing and compiling the code. You will need to get rid of the half rule
&& a1->curve < 0 so that the changing of the target setting is logged – see below for a snippet of the code.
Here is a sample curve tool
IF SIMULATION TIME > 4
AND SIMULATION TIME <= 6
THEN PUMP Gbp1 SETTING = CURVE myControl
And here is the control action log in the RPT file – it helps to see this log and verify the rules
Control Actions Taken
01/01/2013: 00:00:00 Link Gbp1 setting changed to 0.00 by Control MC1
01/01/2013: 00:00:01 Link Gbp1 setting changed to 0.00 by Control MC1
01/01/2013: 00:00:11 Link Gbp1 setting changed to 0.01 by Control MC1
01/01/2013: 00:00:21 Link Gbp1 setting changed to 0.01 by Control MC1
listItem = ActionList;
while ( listItem )
a1 = listItem->action;
if ( !a1 ) break;
if ( a1->link >= 0 )
if ( Link[a1->link].targetSetting != a1->value )
Link[a1->link].targetSetting = a1->value;
//if ( RptFlags.controls && a1->curve < 0 //(5.1.011) Original Rule
if ( RptFlags.controls //(5.1.011) New rule
&& a1->tseries < 0 && a1->attribute != r_PID ) //(5.1.011)
Culvert inlets and outlets To improve the process of defining culvert inlet and culvert outlet losses for an InfoWorks network, a new fiel...
@Innovyze User forum where you can ask questions about our Water and Wastewater Products http://t.co/dwgCOo3fSP pic.twitter.com/R0QKG2dv...
Engine Error Number Description ERROR 101: memory allocation error. ...
From CHI - International Conference on Stormwater and Urban Water Systems Modeling, Toronto Canada (February 26 and 27) - Call for papers47th Annual International Conference Toronto, Canada February 26-27, 2014 Call for papers Have you implemented a good idea recen...