--- title: "How to apply logical rules to a pump" slug: "how-to-apply-logical-rules-to-a-pump" description: "Learn how to apply logical rules to control the operation of pumps in your river network." updated: 2023-07-04T20:13:14Z published: 2023-07-04T20:13:14Z canonical: "help.floodmodeller.com/how-to-apply-logical-rules-to-a-pump" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://help.floodmodeller.com/llms.txt > Use this file to discover all available pages before exploring further. # How to apply logical rules to a pump Logical rules can be added to an open-channel pump to enable its operation to be determined by specified situations. This could include specifying the pump to turn on based on the water level at a given reference point, for instance. ![](https://cdn.document360.io/5074bc26-a9ef-4bf4-b1de-a5c6ce628aca/Images/Documentation/rules-pump.PNG) Note: This guide covers the minimum data required. Several optional settings are also available for logical rules, please see the [Rules](/v1/docs/rules) section of the technical reference for further details. ### Steps 1. Open the pump unit to which you are applying the rule(s) and navigate to the **Control Data** tab. 2. Use the drop-down to change the **Control Method** to **LOGICAL**. In the table provided, set the **Mode** to **AUTO** to use automatic mode from the start (time 0). When in automatic mode the unit will be driven by the rules you define. Also set the **Pump Mode** in this row to specify whether the pump should be on, off, or stopped at the start (time 0). 3. Navigate to the **Rules** sub-tab to add your logical rules. Click **New Rule** and the **Rule editor** will open in a new window. The rule must be of the form: IF (xxx) THEN PUMP = ON or THEN PUMP = OFF or THEN PUMP = STOPPED END Where xxx is a logical statement that can be evaluated as true or false. An example is provided below. 4. Repeat step 3 as required. Following 1 or more of the IF rules, an ELSE condition can be optionally provided to cover all other eventualities: ELSE PUMP = ON or ELSE PUMP = OFF or ELSE PUMP = STOPPED END An ELSE rule must be located as the final rule in the list. Example usage: controlling the operation of a pump according to the water level at the two gauge points A1 and A2. - Rule1 turns the pump off (so it acts as a simple junction) when the water level is sufficiently low at both gauge points - Rule2 turns the pump on when the water level at A1 is greater than 10.0m and the water level at A2 is 12.2m or lower - Rule3 sets the pump to stop (so no water can flow through) in other situations (i.e. when the water level is sufficiently high at both gauge points) RULE1 IF(LEVEL(A1).LE.10.0.AND.LEVEL(A2).LE.12.2) THEN PUMP=OFF END RULE2 IF(LEVEL(A1).GT.10.0.AND.LEVEL(A2).LE.12.2) THEN PUMP=ON END RULE3 ELSE PUMP=STOPPED END 5. Click **OK** to save and close the unit. Don't forget to also **Save** these changes to the network. Note: Each rule can provide a maximum of one action to be applied to the unit (pump, in this case), however ALSO statements can be added to [define rules for global variables](/v1/docs/how-to-add-global-variables-within-logical-rules). You can also [apply logical rules to a sluice or gated weir](/v1/docs/how-to-apply-logical-rules-to-a-sluice-or-gated-weir) and [apply logical rules to an abstraction unit](/v1/docs/how-to-apply-logical-rules-to-an-abstraction-unit).