Tuesday, December 20, 2016

How to show Curve RTC Rules in #SWMM5 in the Control Actions Taken Section

#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

RULE MC3
IF SIMULATION TIME > 4
AND SIMULATION TIME <= 6
THEN PUMP Gbp1 SETTING = CURVE myControl
Priority 3

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)
                    report_writeControlAction(currentTime, Link[a1->link].ID,
                                              a1->value, Rules[a1->rule].ID);
                count++;
            }


1 comment:

Benny said...

Also, do you have a suggestion for where I can get one of your replica watches sale repaired in Atlanta, GA USA, because one of the perpetual replica watches sale we ordered from you before has stopped running. The replica watches uk you sent me was not the same as the one in the link you sent me, I wish it was. It is the right model replica watches sale on the bag but not the right watch. You can plainly see from the pictures I sent you that the watch you sent me is rolex replica sale and not a ladies 26mm size but 36mm. This is far to big for my wife and she hates Rose Gold. The watch in the link you sent me is not the same as the one I rolex replica uk. The the watch I received is a 36 mm Rose gold this is not what I ordered. Please email me with your address so I can return it for a rolex replica uk. Sorry that will not be acceptable, the watch is Rose Gold and has a mother of pearl dial which isn't what I ordered. The rolex replica sale sale is a Christmas present for my wife and she will not wear rose gold. The rolex replica needs to be yellow gold and 26mm. It's been 9 days since I replied to your email, is this ever going to be sorted out? I've agreed to your last offer so please let's sort this out, this is dragging on far to long! How do I pay for the watch at 50% discount, please instruct.

GitHub code and Markdown (MD) files Leveraging

 To better achieve your goal of leveraging your GitHub code and Markdown (MD) files for your WordPress blog or LinkedIn articles, consider t...