Structure control objects

Structure control objects allow you to let structures react to changes in flow variables such as water level or flow velocity, see Structure control. To define them in the schematisation, the following objects are available:

To get started with schematising structure control, read this practical introduction guide.

Schematising structure control

To schematise structure control, follow these steps:

Note

Timed control cannot be included in the schematisation. You can only add timed control to the simulation; they can also be saved in a simulation template.

Measure location

A location at which the water level or volume is measured, to serve as input for a Memory control or Table control.

Layer name

measure_location

Geometry

Point

Attributes

Table 40 Measure location attributes

Attribute alias

Field name

Type

Mandatory

Units

Description

ID

id

integer

Yes

-

Unique identifier

Code

code

text

No

-

Name field, no constraints

Display name

display_name

text

No

-

Name field, no constraints

Measure variable

measure_variable

text

Yes

-

Valid values: water_level, volume

Connection node ID

connection_node_id

integer

Yes

-

Foreign key reference to an ID in the Connection node table

Tags

tags

text

No

-

Comma-separated list of foreign key references to ID’s in Tag

Memory control

This object defines a Memory control.

Layer name

memory_control

Geometry

Point

Attributes

Table 41 Memory control attributes

Attribute alias

Field name

Type

Mandatory

Units

Description

ID

id

integer

Yes

-

Unique identifier

Code

code

text

No

-

Name field, no constraints

Display name

display_name

text

No

-

Name field, no constraints

Upper threshold

upper_threshold

decimal number

Yes

Depends on the Measure variable of the Measure location. Water level: m MSL; Volume: m³.

See Memory control

Lower threshold

lower_threshold

decimal number

Yes

Depends on the Measure variable of the Measure location. Water level: m MSL; Volume: m³.

See Memory control

Is inverse

is_inverse

boolean

Yes

-

If set to True, the memory control is inverted, see Memory control

Is active

is_active

boolean

Yes

-

If True, the control is active at the start of the simulation, see Memory control

Target type

target_type

text

Yes

-

See Notes on target types.

Target ID

target_id

integer

Yes

-

ID of the feature in the table specified by target_type

Action_type

action_type

text

Yes

-

Choose from set_discharge_coefficients, set_crest_level, set_gate_level, or set_pump_capacity.

Action value 1

action_value_1

decimal number

Yes

Depends on the Action type.

  • Set crest level: m MSL

  • Set gate level: m MSL

  • Set pump capacity: L/s

  • Set discharge coefficients: unitless

The value to which the structure property must be set when the upper threshold is passed (or lower threshold when Is inverse is True).

Action value 2

action_value_2

decimal number

Only if Action type is Set discharge coefficients

unitless

The value to which the negative discharge coefficient must be set when the upper threshold is passed (or lower threshold when is_inverse is True).

Tags

tags

text

No

-

Comma-separated list of foreign key references to ID’s in Tag

Table control

This object defines a Table control.

Layer name

table_control

Geometry

Point

Attributes

Table 42 Table control attributes

Attribute alias

Field name

Type

Mandatory

Units

Description

ID

id

integer

Yes

-

Unique identifier

Code

code

text

No

-

Name field, no constraints

Display name

display_name

text

No

-

Name field, no constraints

Target type

target_type

text

Yes

-

See Notes on target types.

Target ID

target_id

integer

Yes

-

ID of the feature in the table specified by target_type

Action_type

action_type

text

Yes

-

Choose from set_discharge_coefficients, set_crest_level, set_gate_level, or set_pump_capacity.

Measure operator

measure_operator

text

Yes

-

Choose from > or <. See Table control.

Action table

action_table

text

Yes

-

CSV-style table that defines the value to set when the measured value exceeds or falls below the specified value.

Tags

tags

text

No

-

Comma-separated list of foreign key references to ID’s in Tag

Action table formatting

The Action table is a CSV-style table with three columns. The columns are comma-separated, the rows are newline-separated. Example for action type Set crest level (note the comma at the end of each row):

-1.7,-1.4,
-1.6,-1.3,
-1.5,-1.2,

Example for an action table for a timed control with action type Set discharge coefficients that changes the discharge coefficients after 1, 2, and 3 hours:

3600,0,0
7200,0.5,0.5
10800,1,1

The first column contains the value to compare the measured value to. The second column contains the value to set the structure property to (e.g. weir crest level). The third column is only used when the Action type is Set discharge coefficients, to store the negative discharge coefficient. For all other action types, leave this column empty.

When editing the action table using SQL (sqlite dialect), use char(10) as line separator. The example time series shown above would look like this:

'-1.7,-1.4,'||char(10)||'-1.6,-1.3,'||char(10)||'-1.5,-1.2,'

Measure map

This object maps a Measure location to a Table control or Memory control.

Layer name

measure_map

Geometry

Linestring (exactly two vertices)

Attributes

Table 43 Table control attributes

Attribute alias

Field name

Type

Mandatory

Units

Description

ID

id

integer

Yes

-

Unique identifier

Code

code

text

No

-

Name field, no constraints

Display name

display_name

text

No

-

Name field, no constraints

Measure location ID

measure_location_id

integer

Yes

-

Foreign key reference to an ID in the Measure location table

Control type

control_type

text

Yes

-

Valid values: ‘table’, ‘memory’

Control ID

control_id

integer

Yes

-

ID of a feature in the table specified by Control type

Tags

tags

text

No

-

Comma-separated list of foreign key references to ID’s in Tag

Notes on target types

  • References to target types must include the v2_ prefix. This is a legacy of the table names in the schematisation database as defined up until March 2025 that has been upheld for reasons of backward compatibility.

  • In the schematisation, Mmemory and table control cannot be specified for culverts, channels, and pipes. Please contact the Service desk if you need this feature.