Section 3 1D Solver - ESTRY

3.1 Arch Bridge

The 2023-03 release includes support for arch bridges as 1D channels. The approach is based on the ‘Afflux at Arch Bridges’ (HR Wallingford, 1988). Arch bridges are defined in the 1d_nwk layer as a “BArch” type. The 1d_nwk attributes specific to an arch bridge are outlined below in Table 3.1. The remaining 1d_nwk attributes are consistent with other bridge channels.

Table 3.1: Arch Bridges 1D Model Network (1d_nwk) Attribute Descriptions
No.  Default GIS Attribute Name Description Type
2 Type “BArch” Char (36)
11 Inlet_type Relative path to arch properties .csv file Char (4)
14 Width Optional skew parameter Char (1)
15 Height Optional calibration coefficient Char (1)
17 HConF Discharge coefficient for orifice flow - use negative value to switch on. Float (15)
19 EntryC Lower transition distance for orifice flow Float (15)
20 ExitC Upper transition distance for orifice flow Float (15)

The .csv for the arch properties should contain the columns outlined in Table 3.2.

Table 3.2: Arch Bridge Properties .csv
Column Description
1 Start chainage for arch opening
2 End chainage for arch opening
3 Springing level
4 Soffit level

An example of the 1d_nwk attributes and “Inlet_type” .csv is shown in Figure 3.1.

**Example of 1d_nwk Attibutes and Inlet Type .csv.**

Figure 3.1: Example of 1d_nwk Attibutes and Inlet Type .csv.

3.1.1 Arch Bridge Editor

An arch bridge creator and editor tool has been developed for the QGIS TUFLOW Plugin, shown in Figure 3.2. This tool is available from the TUFLOW Plugin Version 3.7.

The documentation and examples for this tool can be found at the following TUFLOW Wiki page: https://wiki.tuflow.com/QGIS_TUFLOW_Arch_Bridge_Editor

Any and all feedback is welcome and can be addressed to .

**QGIS TUFLOW Plugin Arch Bridge Editor**

Figure 3.2: QGIS TUFLOW Plugin Arch Bridge Editor

3.1.2 Bug Fix with Modelling Multiple Arch Bridges

Build 2023-03-AB fixes a bug that occurred when using multiple arch bridges in the same model. This could cause either a ‘Should not be here’ error message or sometimes no error message, and the arch bridge curves would be applied incorrectly. This could occur when reading in multiple arch bridges in the same 1d_nwk layer or using multiple 1d_nwk layers.

If using the ‘BArch’ type, please update to the 2023-03-AB release.

3.1.3 Arch Bridge Error Message Number Assignment

Build 2023-03-AB correctly assigns error numbers to the CHECK/WARNING/ERROR messages produced when pre-processing arch bridge inputs. Previously, these may have been reported as ‘ERROR XXXX’.

3.1.4 Arch Bridge Warning Message for Low Blockage

The flume experiments in the ‘Afflux at Arch Bridges’ (HR Wallingford, 1988) were conducted with blockage values of 20% ~ 70%. It’s recommended to use the arch bridge feature within this blockage range, especially, as this approach can generate high velocity and instability with low blockage value. Build 2023-03-AD produces WARNING 1450 if the blockage below the springing level is lower than 10%.

For arch bridge channels with user defined cross section, the blockage by the bridge structure is counted as zero before the water level reaches the height of bridge piers (see Figure 3.2). Build 2023-03-AF implemented a minimum blockage value of 5% to avoid high velocity and instability during this stage. This default value can be adjusted by using the following .ecf command:

Arch Bridge Minimum Blockage (%) == \(\langle\)min_pBlockage\(\rangle\)

This a minimum blockage value does not affect existing 1D arch bridge channels with blockage over 5%. For backward compatibility, please specify “Arch Bridge Minimum Blockage (%) == 0

3.2 Ability to Model Time Lag in Virtual Pipes

Build 2023-03-AB introduces the ability to lag virtual pipe flows from the inlet to the outlet. Two additional attributes are required, and these are output in empty files written with the 2023-03-AB version of TUFLOW. These additional 1d_pit attributes are described in Table 3.3 below. This data is input on the inlets (VPI).

Two approaches are available for lagging flows, these are “Shift” and “Decay”. For the shift method, the outflow is lagged shifted by the lag value time, but is otherwise unchanged.

The decay method is based on exponential filtering of the inflow. A “current internal volume” is tracked:

\[\begin{equation} Q(T) = \int_{0}^{T} [\dot{Q}_{in}\,(t)-\dot{Q}_{out}\,(t)]dt \tag{3.1} \end{equation}\]

The outflow rate is computed from the internal volume and the time constant (the Lag_Value attribute):

\[\begin{equation} \dot{Q}_{out}\,(t) = \frac{Q(t)}{Lag\_Value} \tag{3.2} \end{equation}\]

Figure 3.3 below shows the lag approaches applied with a lag value of 60 seconds which is input as 0.0167 hours.

Figure 3.3: Virtual Pipe Lag Methods

All pits with the same VP Network ID (i.e. form a local network) must use the same approach and Lag_Value.

Table 3.3: Additional Virtual Pipe Lag (1d_pit) Attribute Descriptions
No.  Default GIS Attribute Name Description Type
12 Lag_Approach

Sets the lag approach, as described above

“None” or Blank - no lag is applied

“Shift” – Shift method applied

“Decay” – Decay method applied
Char (8)
13 Lag_Value Lag value in hours. Float


3.3 Enhancement to Adverse Slope Culvert

Build 2023-03-AC includes an enhancement to adverse slope culvert flux calculation. Prior to 2023-03-AC, significant exit loss could be applied at the exit of an adverse slope culvert if the outlet node is dry or close to dry. This is caused by the mis-representation exit flow area and exit velocity. A fix has been introduced in the new Culvert Flow approach:

Culvert Flow == Method G

Please note that ‘Method E’ is still the default approach in build 2023-03-AC, but ‘Method G’ is likely be the default in the future releases.

3.4 Improvement to Structure Flow Level Options

Build 2023-03-AC includes a new option to use energy level at upstream node and water level at downstream node of 1D structures for flux calculation. This option can be applied globally using the .ecf command:

Structure Flow Levels == ENERGY UPSTREAM

Alternatively it can be changed individually with “EH” flag in the 1d_nwk “Type” attribute. The default option is “Energy”, i.e. using energy levels at both the upstream and the downstream nodes. This approach is applicable to 1D weirs, spillways, gates and dam failure channels.

3.5 Automatically Generated 1D HQ Boundaries

Build 2023-03-AD adds new functionality, the ability to generate an automatic HQ boundary using a friction slope. In previous builds a manually defined rating curve was required to be defined in an boundary condition database.

To use this new feature, specify “slope=friction_slope” for the “Name” attribute in the 1d_bc point layer defining the HQ boundary. As long as your boundary is sufficiently far from your area of interest, the friction slope can be estimated from the two nearest cross-sections to the downstream boundary.

This feature requires a single channel connected to the node and does not work with channels using HW cross-sections with varying roughness.

The rating curve is derived using Manning Equation using the ESTRY computed conveyance shown in the *1d_ta_tables.csv check file (shown in Figure 3.4).

**Example 1d_ta_tables.csv check file**

Figure 3.4: Example 1d_ta_tables.csv check file

3.6 New 1D (ESTRY) Output Variables

Build 2023-03-AD adds new output data types to the ESTRY time-series outputs (available in both CSV and NetCDF format). These additional output types are:

  • Qi: integral flow at channels (sometimes called cumulative flow) (m3); and
  • Vol: volume at nodes (nodal storage through time) (m3).

These output options can be activated using the Output Data Type command in the .ecf (or 1D Output Data Type within the .tcf) with the values “Vol” for nodal storage volume and “Qi” for integral flow.

3.7 Minor Enhancements and Bug Fixes for 2023-03-AA

The 2023-03 release includes a range of minor enhancements and bug fixes to the 1D solver.

3.7.1 Unused Manning’s n Value Set to Zero in nwk_C Check File and .eof

The 2023-03 release will now show a Manning’s n value of zero in the nwk_C check file and the ESTRY Output File (.eof) if it’s not being used by TUFLOW. Previously if a user had specified a Manning’s n value for a channel type that doesn’t use it (e.g. weirs, bridges), this input value would be shown in some of the output files.

This change doesn’t affect any of the computations.

3.7.2 Fixes to Write Check Files [Exclude | Include | None | ALL] == [OFF]

The 2023-03 release fixes the optional, additional commands to the ESTRY Control File (.ecf) command:

Write Check Files [Exclude | Include | None | ALL] == \(\langle\)file_path\(\rangle\) | \(\langle\)check_type\(\rangle\) | OFF

Previously, adding the keywords ‘Exclude’, ‘Include’, ‘None’, and ‘All’ to the command or setting the command to ‘OFF’ was not working. Adding these keywords will override any settings from the same command specified in the .tcf that affect ESTRY check files.

3.7.3 Pit_A Check File Incorrectly Reporting Width

The pit_A check file now correctly reports pit width for ‘Q’ type pits in the 2023-03 release. This change doesn’t affect any of the computations.

3.7.4 Pit_A Check File Increased Type Attribute Length

The 2023-03 release increases the length of the attribute ‘Type’ in the pit_A check file to eight, which was previously restricted to four.

3.7.5 Incorrect ‘B’ Type Bridge Form Loss Reported in the .eof

The 2023-03 release fixes the form loss reporting in the .eof for ‘B’ type bridges. Previously this could be reported out of order if there were multiple ‘B’ bridges. This change doesn’t affect any of the computations.

3.7.6 Pump Inverts Reported in the .eof

The 2023-03 release now correctly reports pump inverts in the .eof.

3.7.7 1D Pump Point Objects Now Produce ERROR 1438

The 2023-03 release will produce ERROR 1438 when a point object is used as a 1D pump. Previously TUFLOW would ignore this object.

3.7.8 Pump Curves No Longer Trigger ERROR 1092 and ERROR 1093

The 2023-03 release no longer generates ERROR 1092 and ERROR 1093 when using pump curves in the pit inlet database. Previously these errors would occur if no width or area was specified for the pump curves (these attributes are not required for pumps).

3.7.9 ERROR 2056 Incorrectly Triggering

The 2023-03 release fixes a bug that could incorrectly trigger ERROR 2056 when an inlet pit with an SX connection was located almost exactly on the 2D domain boundary.

3.7.10 WARNING 2039 Counts All Ignored SX Pit Connections

WARNING 2039, which reports the number of ignored pit/node SX connections, will now include SX pit connections that are located outside the 2D domain. Previously this warning message would only report the number of ignored pit SX connections that were located within the 2D domain, but not situated in an active 2D cell.

3.7.11 1D Operable Structures Linked to 2D Water Level (H2D) Updating on Map Update Interval

The 2023-03 release fixes an issue with operable structures that were linked to 2D water levels using the H2D variable type in the .toc. Previously, the operable structure would only update and respond to changes in water level at the map output interval (which can be longer than desired). For the 2023-03 release, the water levels will update at each timestep.

3.7.12 Linking 1D Operable Structures to 2D PO Points not Functional as Described

The 2018 TUFLOW Manual describes an option to base operations on the results from a 2d_po point identifier, rather than coordinates. This functionality now works as described. Previously this would cause an error to be reported.

3.7.13 Bug Fix to Invert Levels used in PF Channel Flow Calculation

The 2023-03 release fixes a bug that could apply incorrect channel inverts for the PF channel flow calculation. Previously, the 1D node inverts were used to determine whether the PF channel was submerged or unsubmerged. This could cause flow calculation issues when the upstream and the downstream nodes were snapped to another 1D channel with lower inverts. As of the 2023-03 release, the PF channel inverts are now correctly applied.

3.7.14 ERROR 1261 Incorrectly Triggering for 1D PF/DF Channels

The 2023-03 release fixes a bug that could incorrectly trigger ERROR 1261 when the Manning’s n (“n_nF_Cd” attribute) is set as zero for 1D PF/DF channels. The 1D PF/DF channels do not require Manning’s n in their hydraulic calculation.

3.7.15 Enhancement and Bug Fix for PF/DF Channel Check Files

The 2023-03 release fixes a bug in which the information reported by the nwk_C check file didn’t match the input attributes in the 1d_nwk file. The 2023-03 release will also report the weir factor (Cd) and weir submergence factor (Csf) applied during the simulation to the _TSL_P result file. The bottom width of the DF channel cross-section will be reported in the _O.csv file for checking purpose.

3.7.16 Setting Initial State of 1D DF Channel

The 2023-03 release implemented two .toc commands to set the initial breach status of a 1D DF channel:

Depth Breached == \(\langle\)initial breach depth in metres or feet\(\rangle\)

Top Width Breached == \(\langle\)initial breach width in metres or feet\(\rangle\)

Previously, a DF channel always must start from zero breach depth and width.

3.7.17 WARNING Message for Using Zero Pump Capacity

When pump capacity is set to zero using the “Pump Capacity ==” command, the “Pump Shutdown Speed ==” will be also set as zero. This does not turn off a pump that is already operating. The 2023-03 release produces WARNING 1434 to notify users. The “Pump Operation == OFF” command should be used to turn off a pump completely.

3.7.18 Enhancement Reducing Memory Usage for Operational Channels

For operational control channels, the 2023-03 release determines the number of operational channels in the model for memory allocation. Previous releases allowed for up to 1,000 operational channels, meaning models with less than this will now use less memory.

The 2020-10-AE build of TUFLOW allowed this maximum to be set with the .tcf command:

Maximum Operational Controls == \(\langle\)number of operational channels/control definitions\(\rangle\)

This command is no longer required and should be removed from the .ecf. If this command is included, it will be ignored.

3.7.19 WARNING/ERROR Message for Using Wrong GIS Type in 1d_nwk

The 2023-03 release produces WARNING/ERROR 2073 if wrong object type is used in 1d_nwk GIS layer to notify users. Only point, line and polyline objects are supported by TUFLOW input.

3.7.20 ERROR Message for Using Bridge Flow == Method A in Structure Routines == 2013 (Default)

Bridge Flow == Method A” is only supported in “Structure Routines == ORIGINAL”. The 2023-03 release produces ERROR 1442 if “Bridge Flow == Method A” is used in “Structure Routines == 2013”, which replaces the “Should not be here [conchn_2_B_1]” message.

3.7.21 Bug Fix for ERROR 1025

Fixes bug for models with ERROR 1025, which stopped the simulation with message “ERRORS found in 1D input data”. However, the ERROR message was not correctly output to the log or messages layer.

3.7.22 Bug Fix for WARNING 2073

Fixes a bug that could spuriously report WARNING 2073 (Object ignored) for points or lines when a pit search distance was used. The points / lines were being read correctly; the message was spurious.

3.8 2023-03-AB Minor Enhancements and Bug Fixes

3.8.1 Operational Channel Memory Allocation Error

Build 2023-03-AB fixes an issue where memory for the operational channels was not correctly allocated in some circumstances leading to a crash in the model.

3.8.2 Operational Channels Handle Multiple AND or OR Statements on Same Line

2023-03-AB fixes a bug where operational channels did not work correctly if the logic included multiple AND statements or multiple OR statements on the same line.

3.8.3 Bug Fix for Virtual Pipe Model Not Writing Output

Build 2023-03-AB fixes an issue in HPC simulation with virtual pipes (VP) but no other 1D elements. This caused the 1D results files not to be written at the end of the simulation.

3.8.4 Bug Fix for WLL Should Not Be Here

Build 2023-03-AB fixes an issue with 1d_wll that cross multiple channels, this could occasionally cause a “Should not be here [no_in]” to be issued and the simulation to be halted in pre-processing.

3.9 2023-03-AC Minor Enhancements and Bug Fixes

3.9.1 Bug Fix to VPO Connected to 1D Channel

Build 2023-03-AC fixes an issue that VPO does not discharge water to 1D channel even if the VPO is snapped to the 1D channel node. Prior to build 2023-03-AC, any VPO outside the active 2D domain has been ignored. The 2D cells overlapping with 1D channels are often disabled (which is the correct configuration). This means the VPO located inside such deactivated 2D domain was not used in the simulation. Build 2023-03-AC now use all VPOs in the virtual pipe flow calculation even if they’re outside the active 2D domain.

Note that this could cause difference in simulation results for models that have intentionally put VPOs outside the active 2D domain.

CHECK 2435 - Virtual Pit Inlet/Outlet outside active 2D domain” message is now generated if any VPO is located outside the active 2D domain.

3.9.2 Bug Fix to Water Level Lines (WLL) when Virtual Pipes are Used

Build 2023-03-AC fixes an issue that Water Level Lines (WLL) are not generated correctly when virtual pipes are also used in the model.

3.10 2023-03-AD Minor Enhancements and Bug Fixes

3.10.1 Bug Fix to Water Level Lines (WLL) when Snapped to Nodes

Build 2023-03-AD fixes an issue with water level lines snapped to nodes. This issue was introduced in 2023-03-AB and could cause the water level lines to be ignored, resulting in gaps in the WLL output. This did not affect the hydraulic computations, and did not affect WLL that crossed channels without snapping.

3.10.2 Bug Fix to Prevent Freeze When Channel is Connected to Same Node Upstream and Downstream

Build 2023-03-AD fixes an issue in which the TUFLOW console window could freeze if a user had the same node assigned to both the upstream and downstream sides of a channel. TUFLOW now produces ERROR 1455 identifying the invalid channel.

3.10.3 Bug Fix to Models with 1D Node Names Alphanumerically After “ZZ000”

Build 2023-03-AD fixes an issue that could incorrectly write 1D output for models with ESTRY node names that alphanumerically sort after “ZZ000”. This issue only occurred for models that had automatically created hidden nodes (via 2D/2D links or QT boundaries) as the hidden nodes created were not the last in a sorted list. In this case these hidden nodes were output instead of the standard nodes which were be missing from the 1D outputs. A work around was to use Reveal 1D Nodes == ON which would output both standard and hidden 1D Nodes.

3.10.4 Reduced Screen Output for 1D Initialisation

Build 2023-03-AD improves 1D model initialisation performance by reducing screen output when alphanumerically sorting ESTRY channel and node names.

3.10.5 Bug Fix for Pits with Large Search Distances Connecting to the Wrong 1D Node

Build 2023-03-AD fixes an issue that would sometimes arise where pits where connected to nodes using the Pit Search Distance functionality. When using a large search distance, TUFLOW could connect the pit to the wrong the 1D node (i.e. not the closest node and beyond the pit search distance).

3.10.6 Eliminated Warning 1100 at Manhole Nodes

Build 2023-03-AD eliminates “WARNING 1100 Structure crest/invert is below bed of primary upstream/downstream channel” when the connecting node is a manhole. Manholes often feature elevation drops between culverts making the warning unnecessary.

3.11 2023-03-AF Minor Enhancements and Bug Fixes

3.11.1 Bug Fix Reading Flood Modeller DAT File Header

Build 2023-03-AF fixes a bug when using a Flood Modeller DAT (.dat) file as a cross-section database within ESTRY (XS Database == ). The Flood Modeller max label length was not being correctly found in the DAT file header which resulted in TUFLOW assuming a max label length of 8 (newer versions of Flood Modeller allow up to 12). This could incorrectly result in “ERROR 1073 - Could not find ISIS processed data for Topo ID” if the “Conn_1D_2D” attribute in the 1d_nwk layer exceeded 8 characters.

Build 2023-03-AF will now find the correct max label length, however it is also possible to edit the DAT file to get older TUFLOW versions to find the correct label length. To do this, ensure that “#revision#1” is the first line in the DAT file (i.e. there is no blank line before it).

**Example DAT file header adjustment**

Figure 3.5: Example DAT file header adjustment

3.11.2 Bug Fix Overriding Culverts with S Channels

Build 2023-03-AF fixes a bug where overriding a culvert with an ‘S’ type channel gives a “Should not be here error”. Now the ‘S’ channel will correctly override the culvert channel.

3.11.3 Bug Fix for Flux Calculation of RO Culverts

Build 2023-03-AF fixes a bug where the ‘invert level’ of a ‘RO’ type culvert is used as the flow width in the flux calculation. This causes the RO culvert flux to become zero if the invert level is negative or zero. Now the width and inverts will be correctly applied in the flow calculation.

3.11.4 Bug Fix for Indexing between Virtual Pipe Outlet (VPO) and 1D Nodes

Build 2023-03-AF fixes an indexing bug for virtual pipe outlets (VPOs) connected to 1D nodes. This bug happens if the virtual pipe inlets and outlets (VPIs/VPOs) with the same network ID are not grouped together in the 1d_nwk input files, and could cause the outflow from the network ID to be sent to wrong 1D nodes. The 2023-03-AF build fixes this issue and the virtual pipes can be stored in any order in the 1d_nwk input file.

3.11.5 Improved Error Messaging When Using Virtual Pipe (VPI/VPO) in 1d_nwk

Build 2023-03-AF improves the error messaging when accidentally using a “VPI” or “VPO” type in a 1d_nwk layer rather than a 1d_pit layer. ERROR 1459 is now triggered rather than ERROR 1438.

3.11.6 Trigger Error Message For “I” and “O” 1d_nwk Point Types

Build 2023-03-AF will trigger ERROR 1460 and ERROR 1461 when encountering “I” and “O” types for 1d_nwk points respectively.

3.11.7 Bug Fix Passing Initial Values to External 1D when using Quadtree

Build 2023-03-AF fixes a bug where the initial water levels were not being correctly initialized and pass to an external scheme when using Quadtree. This could result in crashes when the external model attempts its first timestep because they are so out of sync.

References