# EPANET: Condition Clauses

Condition Clauses

A condition clause in a Rule-Based Control takes the form of:

object id attribute relation value

where

object | = | a category of network object
id | = | the object's ID label
attribute | = | an attribute or property of the object
relation | = | a relational operator
value | = | an attribute value

Some example conditional clauses are:
`JUNCTION 23 PRESSURE > 20`
`TANK T200 FILLTIME BELOW 3.5`
`LINK 44 STATUS IS OPEN`
`SYSTEM CLOCKTIME = 7:30 AM`
`SYSTEM DEMAND >= 1500`

Objects can be any of the following keywords:
NODE JUNCTION TANK RESERVOIR
LINK PIPE PUMP VALVE
SYSTEM

When SYSTEM is used in a condition no ID is supplied.

The following attributes can be used with Node-type objects:
DEMAND
HEAD
PRESSURE

The following attributes can be used with Tanks:
LEVEL
FILLTIME (hours needed to fill a tank)
DRAINTIME (hours needed to empty a tank)

These attributes can be used with Link-Type objects:
FLOW
STATUS (OPEN, CLOSED, or ACTIVE)
SETTING (pump speed or valve setting)

The SYSTEM object can use the following attributes:

DEMAND | (total system demand)
TIME | (hours from the start of the simulation expressed
| either as a decimal number or in hours:minutes format)
CLOCKTIME | (24-hour clock time with AM or PM appended)

Relation operators consist of the following:

= | IS
<> | NOT
< | BELOW
> | ABOVE
<=
>=