PID Control in SWMM 5 for a Weir

Subject:  PID Control in SWMM 5 for a Weir

The blog describes theFunction getPIDSetting which returns the PID setting at each time step. The PID parameter set contains three values -- a proportional gain coefficient, an integral time (in minutes), and a derivative time (in minutes) which are kp, ki and kd, respectively. More about the theory of PID controllers can be found at

Here is an example PID Rule that will keep the node depth at 3 feet in a SWMM 5 model by changing the Weir Setting.  The example file is attached in this blog.  In this particular example, you can reduce the oscillations about the 3 foot rule level by lowering the integral time and derivative time coefficients in the PID control rule. 

; the PID controller adjusts the weir height to have a
 ;     depth of 3 feet in Node 82309e
 IF NODE 82309c DEPTH 3
 THEN WEIR WEIR1@82309c-15009c SETTING = PID 10 -.01 -.01
;                                           kp ki  kd