Modelling farm dams in Source using the Onstream Farm Dam node
Create Onstream Farm Dam node(s) in a Source model
Modelling farm dams in Source is more commonly undertaken as part of a catchment model, where sub-catchment flows provide the inflows to each farm dam node. However, the farm dam node is available from the Node palette and can also be used in a schematic river system model. The creation of a farm dam node (1) in a river system model from the Schematic Editor and (2) in a catchment model from the Geographic Editor is different. The methods for both models are described separately below:
(1) From the Schematic Editor
An onstream farm dam node is represented in the Node Palette as a green triangle . Dragging the node icon from the Node Palette to the Schematic Editor interface will drop a farm dam node in an existing Source model. This node can then be manually linked to other nodes in the model as needed. Accurate coordinates of farm dams’ positions are not required but can be entered through the Source Feature Table if required.
(2) From the Geographic Editor
Onstream farm dam nodes can be applied to a catchment model from the Geographic Editor individually or in bulk:
a. Change a single existing model element in a Source catchment model to an onstream farm dam
The first step is to select an existing model element (e.g., a Confluence node). Right-click on the selected node to display the context menu. Click on Change Node Model (step 1 in Figure 1) on the context menu to display an additional context menu. Select the Onstream Farm Dam option (step 2 in Figure 1) to change the node to an Onstream Farm Dam that is displayed as a green triangle. If there is no existing model element, the Add Node option (step 3 in Figure 1) can be used to add a Confluence for subsequent node model changes.
Figure 1 Modeling Onstream Farm Dam node from Geographic Editor
b. Bulk Change Node Models for onstream farm dams
Right-clicking on any place in the Geographic Editor model interface will display a context menu, which includes the Bulk Change Node Model menu item (step 4 in Figure 1). This menu item allows the user to bulk change a group of nodes to onstream farm dams:
- Prepare a location shapefile of the nodes for the farm dams - to facilitate later conversion, these exact locations should have been used during the model building and should already exist as e.g. Confluence nodes in the catchment model
- Right-click to select the Bulk Change Node Model menu item. This will open the Bulk Change Node Models editor interface (Figure 2). Initially, the contents of the Nodes Located box and the selected item in the dropdown list of destination node types are empty.
- Click on the button to Load node location shape file (Figure 2). This will display an Open dialogue box, which allows the user to select a prepared location shape file. After the user clicks on the OK button in the Open dialogue box, the names of the matching nodes (e.g. 156, 157) in the Source model will be displayed in the Nodes Located box. These nodes must have the exact locations as defined in the shapefile. Select Onstream Farm Dam as the target node type from the dropdown list below the Nodes Located box.
- Select Change all loaded nodes (as in Figure 2) to convert all nodes in the Nodes Located box to the target node type in the dropdown list (e.g. Onstream Farm Dam in Figure 2).
- The user can repeat the above steps to convert nodes to other types if needed. Otherwise, click on the Done button to close the window.
Note: The Bulk Change Node Models tool can also be used to convert the located nodes to other types, such as Supply Points, Gauges, etc. The procedure is the same as above for onstream farm dams, and the user just needs to select the expected node type (e.g. Supply Point) from the dropdown list instead of Onstream Farm Dam.
Figure 2 Bulk Change Node Models interface
Configure Onstream Farm Dam node(s) in a Source model
The parameters of an onstream farm dam can be configured individually per node using the Feature Editor of each node. Since a farm dam model typically contains many farm dam nodes, this method can be time consuming. Another option is to configure multiple nodes of modelled onstream farm dams using the Source Feature Table. These two methods can be used in conjunction to facilitate model configuration.
1 Configure an individual Onstream Farm Dam node
Double-click on a node or right-click to access the Edit option will open the node Feature Editor. The user can then use the Feature Editor to set up the farm dam node parameters. Clicking on Edit from the selected farm dam node will open the farm dam editor (Figure 3)
Figure 3 Farm Dam editor – Dam Information
a. Dam Information
The farm dam information is on the default interface of the farm dam editor (Figure 3). The parameters Dam Capacity, Max. Dam Surface Area and Initial Storage Percentage in Figure 3 are self-explanatory. Other parameters are described below.
- Diversion Fraction - This parameter indicates how much of the upstream inflow is 'diverted' to pass through the farm dam and will be included in the water balance calculation for the node. The remaining water will be re-directed (through bypass) to the downstream flow.
- Dead Storage Volume (/Dead Storage Proportion) – is the volume of the farm dam stored below the level of the lowest outlet (the minimum supply level). The demand and release requirements cannot access this water, but the natural loss (e.g. evaporation, seepage) in this water still occurs. Dead Storage Volume can also be input as a percentage or proportion of Dam Capacity by ticking the Use Proportion checkbox. The parameter name will change to Dead Storage Proportion when the Use Proportion checkbox is ticked. The user can click on the %/proportion button to swap the type between percentage (%) and proportion.
Note that the values entered from different types (i.e., volume, percentage, and proportion) for the same farm dam will only be automatically converted once the configuration is saved by clicking on the OK button of the Editor interface.
The Dead Storage Volume can be entered as (a) a Value, (b) a Data Source - normally a time series, or (c) a Function.
The allowable range of Dead Storage Volume is between zero and max capacity. Percentage and proportion ranges are from 0 to 100 and 0 to 1 respectively. If the entered values are not within the permitted range, a run error will occur. The user then needs to fix this issue. The example screen of the error message (e.g. for entering -1) is shown in Figure 4. “166” in Figure 4 is the name of the associated farm dam node.
Figure 4 Run error screen for unsuitable input of Dead Storage Volume
- Bypass Flow - defines a low flow/environmental flow bypass requirement for onstream farm dams. Flow is transferred from upstream directly to the downstream of the farm dam.
Now Bypass Flow can be entered by four types of data sources: (a) from a value, (b) from Data Source, normally it is a time series, (c) from the function and (d) a Monthly Pattern shown in Figure 5.
Figure 5 The Editor Screen of Select Source for ByPass Flow
The Bypass Flow is designed to be greater or equal to zero. If the entered value is negative, a run error will occur. The user then needs to fix this issue. The example screen of the error message (for entering -2 for Bypass Flow) is shown in Figure 6.
Figure 6 Running error message for unsuitable input of Bypass Flow and Release Volume
- Release Volume - defines the voluntary water release requested from the farm dam. The volume(s) can be entered by three types: (a) from a value, (b) from Data Source, which normally is a time series and (c) from the function.
The Release Volume is also greater or equal to zero. If the entered value is negative, the running error will occur (Figure 6). The user then needs to fix this issue.
- Activation Date Enabled and Activation Date- defines whether the farm dam will be ignored in the water balance simulation and when the Source begins to use the data of this farm for water balance simulation if Activation Date Enabled is ticked. The setup consists of two steps: (1) ticking on the check box of Enable Active Date will ignore this farm data in the water balance simulation. (2) enter a date in the text box of the Activation Date. From that date, Source will begin to use the data of this farm dam in the water balance simulation until the End Date of the simulation. The entered date will be automatically truncated by the Start Date and End Date during the simulation.
Before the Activate Date (e.g. before 01/01/2000 in Figure 3), the farm dam merely passes on the inflows straight to the outflow without any water balance calculations. The recorders will still be active and record the values during the inactive period, but any calculation-related recorders will be set as zero, and the outflow will equal the inflow. On the date of activation, the node will start functioning as normal. If the Activation Date Enabled is not ticked, the node is functioning as normal as well.
Note that two parameters (i.e., Activation Date Enabled and Activation Date) are used instead of one parameter because this feature is only required by the farm dam node. Using two parameters in software development can avoid affecting other parts of Source but only affect the fam dam node.
- Dam Surface Area Options - provides three options for the dam surface area during the water balance calculation:
- Constant dam surfaces area using ‘Max. Dam Surface Area’ parameter – The entered constant value of Dam Surface Area is used in water balance calculation such as converting rainfall and evaporation from the depth to volume in the farm dam storage.
- Allow dam surface area to vary according to dam volume - The area will be calculated on the basis of the storage volume, default equations and parameters. The storage volume is from the beginning of the time step. The calculated dam surface area at each time step will be used in water balance calculation. Custom Equation Parameters check box is unticked.
- Custom Equation Parameters – This function works only when the option Allow dam surface area to vary according to dam volume is selected and the Custom Equation Parameters check box is ticked. The dam surface area will be calculated based on the storage volume at the beginning of the time step, and the equation of Volume =A*Area^B. Where A and B are input parameters from the Interface. The calculated area at each time step will be used in water balance calculation.
b. Interstation Flow
Interstation flow is typically used in a Schematic representation of onstream farm dam functionality. Inflows into an onstream farm dam are assumed to come from two sources:
(i) overflows from the upstream dam(s), and
(ii) the local flow generated by the interstation area between an upstream dam and this dam. In a Source catchment model this local flow is contributed as local sub-catchment outflow, also known as lateral flow.
Clicking on the Interstation Flow in the left panel of Figure 3 will display the Interstation flow parameters in the right panel for the configuration (Figure 7). The parameters include Scaling Factor and Reference Timeseries Values/Data Source. The user can select the option Values for the constant value or Data Source for a timeseries defined in Source Data Sources.
The interstation inflow is calculated based on a reference value or time series (i.e., at a flow gauge) that has been scaled down/up. If the scaling factor is 0.8 and the reference timeseries value is 0.25 ML/d, the Actual Interstation Flow (ML) is 0.2 ML/d. The scaling factor reflects (a) the interstation catchment area relative to the reference catchment area and (b) the nonlinear relationship between the catchment area and flow.
Figure 7 Farm dam editor – Interstation Flow
c. Seepage
Seepage from the farm dam into the underlying soil can be modelled by defining an exfiltration rate (e.g., mm/d). The water that seeps from the farm dam is lost from the catchment and does not re-enter the system downstream.
Clicking on the Seepage in the left panel of Figure 3 will display the Seepage parameter in the right panel for configuration (Figure 8). The parameters can be configured by the constant value or time series from the Data Source.
Figure 8 Farm dam editor – Seepage
d. Demand
Clinking on the Demand in the left panel of Figure 3 will display the demand parameters in the right panel for configuration (Figure 9). The demand parameters include Demand Factor and Demand Timeseries Values/Data Source. The demand factor can be estimated from the ratio of the average annual demand of the farm dam volume.
In this farm dam model, the demand is not directly using Demand Timeseries. The demand volume is determined by the demand factor and farm dam volume, and its temporal distribution is determined by the Demand Timeseries Values/Data Source.
Figure 9 Farm dam editor – demand
e. Rainfall
Clicking on the Rainfall in the left panel of Figure 3 will display the rainfall parameters in the right panel (Figure 10). The parameter is the rainfall to the edited farm dam, and it can be configured by constant Values or timeseries data in Data Sources. Its unit is depth such as mm, and the Source will convert it to volume by the dam area calculated as the description in section (1) The farm dam information.
Figure 10 Farm dam editor – Rainfall
f. Evapotranspiration
Clicking on Evapotranspiration in the left panel of Figure 3 will display the evapotranspiration parameters in the right panel (Figure 11). The parameter is the evapotranspiration from the edited farm dam, and it can be configured by constant Values to timeseries in Data Source. Its unit is depth such as (mm/day), and the Source will convert it to volume using the calculated dam area as the description in section (1) The farm dam information.
Figure 11 Farm dam editor – Evapotranspiration
The OK button (Figure 3) will save the farm dam setup. The Cancel button will discard the entered parameters.
2 Configure multiple Onstream Farm Dam nodes
The Source Feature Table allows inputting, editing, checking, and outputting all parameters of all farm dams together. Tool menu item Edit » Feature Table... can access Feature Table for this functionality (Figure 12). Clicking on the Onstream Farm Dam in the left panel (Figure 12) will display the existing values of all editable parameters for all onstream farm dams in the right panel.
The Feature Table headlines of all parameters are the same as (or similar to) those names described in the above section of For an individual node of Onstream Farm Dam except for seven headlines below:
- Dead Storage Set Using Proportion – This is related to the value of Use Proportion checkbox on the Interface (Figure 3). Its change in the Feature Table will decide which one, Dead Storage Volume or Dead Storage Proportion, will be editable in the Feature Table.
- Dead Storage Volume and Dead Storage Proportion - The definitions of both columns are the same as those in Figure 3. However, although both columns are listed in the Feature Table, only one column in each row can be saved. The edited values in cells of column Dead Storage Proportion will be saved if Dead Storage Set Using Proportion(s) in the same rows are selected. Otherwise, the edited values in the cells of column Dead Storage Volume will be saved. After the Feature Table is saved, the remaining cells in another column (either Dead Storage Volume or Dead Storage Proportion) will be automatically converted from the saved cells by Source.
- Dam Surface Area Calculation – which only has two values for selection: Constant or Variable. The value of Constant indicates the option of Constant dam surfaces area using ‘Max. Dam Surface Area’ parameter (Figure 3) will be used in the water balance calculation. Variable indicates the option Allow dam surface area to vary according to dam volume (Figure 3) will be used in water balance calculation.
- Is Custom Param – shows the value of the check box Custom Equation Parameters (Figure 3). Its value only works when Variable is selected in the column Dam Surface Area Calculation.
- SA-Volume EQN A Factor - the value for A Factor (Figure 3). Its value will be used only when Dam Surface Area Calculation column is Variable and Is Custom Param is ticked.
- SA-Volume EQN B Factor - the value for B Factor (Figure 3). Its value will be used only when Dam Surface Area Calculation column is Variable and Is Custom Param is ticked.
The user can directly edit all parameters from Feature Table.
Figure 12 Farm dam configuration for multiple farm dams through the Feature Table
Recorders of Onstream Farm Dam node
Some recorders for the onstream farm dam in Source are described below to clarify the difference between the similar recorders.
Recorder | Description | Note |
Bypass Flow (ML/d) | The input values for bypass in the current farm dam. | |
Actual bypassed flows (ML) | The actual bypass flows in the time step from the bypass to downstream of the farm dam. It is limited by available upstream flow plus relevant Interstation station flow. | |
Interstation Flow Reference series (ML/d) | The input Reference data for Interstation Flow. | |
Actual Interstation Flow (ML) | The real Interstation Flow in the time step to the current farm dam and its value is the product of the Scaling Factor and Interstation Flow Reference series. | |
Evapotranspiration (mm/d) | The input data of evapotranspiration from the current farm dam. | |
Actual Evaporation Volume (ML) | The real evaporation volume in the time step from the current farm dam and its value is based on the dam surface area and inputted Evapotranspiration (mm/d) in the time step. | |
Rainfall (mm/d) | The input data of rainfall to the current farm dam. | |
Actual Rainfall Volume (ML) | The real rainfall volume in the time step to the current farm and its value is based on the dam surface area and inputted rainfall (mm/d) in the time step. | |
Seepage TS (mm/d) | The input data of seepage from the current farm dam. | |
Actual Seepage (ML) | The real seepage volume in the time step from the current farm dam and its value is based on the dam surface area and inputted SeepageTS (mm/d) in the time step. | |
Demand Timeseries Value (ML/d) | The input template data of demand timeseries from the current farm dam. | |
Actual Demand Volume (ML) | The real water volume is used for the demand request from the current farm dam in the time step. Its temporal distribution is determined by Demand Timeseries Value (ML/d) while its value can be different to Demand Timeseries Value (ML/d). | |
Supplied Demand Volume (ML) | The actual released water to meet the requested Actual Demand Volume (ML). It should equal to or less than the Actual Demand Volume (ML). | |
Diversion Fraction (%) | The input parameter defines the percent or proportion of the upstream flow that will be directly diverted to the farm dam. | |
Actual Diverted flows (ML/d) | The proportioned “upstream” flow, which includes both the upstream flow and interstation inflow, is included in the water balance calculation for the current farm dam. This is the “upstream” flow scaled by Diversion Fraction (%). | |
Dead Storage Volume (ML) | The input value/time series/function of the Dead Storage Volume (ML). This parameter and the Dead Storage Proportion (%) below are the same parameter in different types. The user only needs to enter one type, and Source will automatically convert one type to another and record both. | |
Dead Storage Proportion (%) | The input value/time series/function of the Dead Storage Volume (ML). This parameter exists as the percentage/proportion of dam capacity. | |
Storage Record (ML) | The simulated storage volume of the farm dam at the end of the time step. This recorder replaces the common recorder of Storage Volume (ML) in the Farm Dam node. | |
Release Volume (ML) | The input parameter for water rerelease requests. | |
Actual Release Volume (ML) | The actual water released to meet the Rerelease Volume requests and its value is limited by the available water. |
Migrate an older Source model using the FarmDams plugin across to core Source
Prior to Source version 5.30 onstream farm dam functionality in Source was accessed through the FarmDamPlugin community plugin and the ObservationPointNodeModel community plugin. Since Source version 5.30 the functionality in these plugins has been incorporated as part of core Source functionality. However, older Source models built using the plugins won't automatically open in Source version 5.30 or later. Only Source projects using these plugins in Version 5.20 can be automatically opened in later versions with farm dam functionality in core Source.
To migrate older Source farm dam projects requires first upgrading pre-Source version 5.30 models (those using the Farm Dams plugin) to Source version 5.20:
- open Source version 5.20 with the FarmDam plugin (and ObservationPointNodeModel plugin, if needed) installed
- load the existing model in Source version 5.20
- save the now upgraded project in Source version 5.20
The upgraded project can then be opened in later versions of Source without the Farm Dams plugin installed, and Source will automatically migrate the required functionality.