Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Insert excerptUnder ConstructionnopaneltrueUnder ConstructionSource requires functionality to model the movement of conservative constituents (eg. salt) along a river channel network, including exchange of constituent fluxes between floodplains, wetlands, irrigation areas and groundwater.

This functionality is required in Source to satisfy legislative requirements that exist in the Murray-Darling Basin. The MDBA’s Basin Salinity Management Strategy (BSMS) requires that the MDBA, state governments and the federal government contribute to reducing dryland and river salinity through land-use measures, salt interception schemes etc. To evaluate the impacts of these activities a reliable salinity modelling framework is required.

Model elements that require conservative constituent functionality include:

  • Link
  • Inflow node
  • Splitter node (Regulated and unregulated)
  • Confluence node
  • Minimum flow node (used to generate orders for dilution flows)
  • Storage node (These model reservoirs , wetlands and re-regulating weirs. Flows are routed through weirs using the same methodology as linksand can connect to wetlands)
  • Supply point node
  • Water user node and associated demand models
  • Loss Node
  • Gauge Node
  • Wetland Hydraulic Connector Node
  • Weirs (flows are routed through weirs using the same methodology as storage routing links)

This section describes the generic model for routing conservative constituents through links available in Source. It is based on a marker tracking method (Close, 1996).

"Markers" are established at the upstream end of the model and their movement downstream is modelled. The marker travels at the average speed of water in the river reach, thus is dependent on the routing of flow (inflow, outflow, storage, losses and gains for each division). The impact of inflows, evaporation and losses on the solute concentration of the marker is also described.

The method is appropriate for modelling the transport of most conservative constituents within stream channels. The method is inherently stable and is not affected by sudden changes in either concentration or flow.

The model will maintain a conservative constituent balance, even when a reach division ceases to flow and the dead storage evaporates, by allowing the modeller to maintain a small nominal storage volume in the division at all times.

Scale

Conservative constituent routing operates at the same spatial scale as link routing and operates at every model time-step when it is activated.

Principal developer

eWater CRC

Scientific provenance

The principles of the marker tracking method are described by Close (1996). Marker tracking has previously been implemented in BigMod.

Version

Source version 2.19

Dependencies

Each link where conservative constituent routing is activated requires a node at its upstream end to define constituent inputs, and a node at the downstream end to process constituent outputs as appropriate. It is also dependent on the routing of flow (inflow, outflow, storage, losses and gains for each division).

Assumptions and constraints

The parameters for particle tracking are summarised in to Table 1. Definitions of variables used in equations in following sections are listed in Table 2.

Table 1. Assumptions and Constraints

No

Assumption/Constraint

1

Rainfall, evaporation, diversions and inflows and outflows occurs uniformly over the model time-step.

2

Salinity concentration output at a node is the time weighted average of the marker concentrations that pass through that node over the model time-step. To obtain the load of salt passing through this point for the time-step, the time weighted average concentration is multiplied by the inflow to the node.

3

Constituent routing depends on flow properties in each division. Specifically, flow routing must be finalised for the division so that the inflow, outflow, change in storage and losses for the link over the time-step are known before constituent routing calculations start. It is assumed that the rates of inflow, outflow and losses for any link are constant over the time-step so that the storage in the link varies linearly over the time-step.

4

The marker routing method applies to weirs as well as river channel reaches.

5

Storages and wetlands are fully mixed.

6

Rainfall is assumed to contain no salt.

 


Table 2. Equation variables - definitions

Variable

Definition

Units

A

The cross-sectional area of the division at any given time t* during the model time-step dt.

m2

a

Rate of change in cross-sectional area of the division over the model time-step.

m2/s

At+1

Cross-sectional area of division at end of model time-step

m2

At

Cross-sectional area of division at start of model time-step

m2

c

The concentration of a marker in a division, or the average

g/m3

c0

The concentration of a marker in a division at a given time of t0*

g/m3

c1

The concentration of a marker in a division at a given time of t1*

g/m3

cEv

A factor to apply to the marker concentration, c0 to account for the effects of evaporation over time dt*

-

cLoad

A variable used to account for the change in concentration of a marker as a result of extra load being applied to a reach.

(m3/s)-1

dc

Change in concentration of a section of the division over a nominated time

g/m3/s

dt

Model time-step

s

dt*

Marker travel time-step within a division (t1* - t0*)

s

dx

Change in marker position during dt* as a fraction of the division length

-

Ev

The rate of evaporation loss in the division over the model time-step

m3/s

fd

A nominal marker’s location relative to its downstream marker as a fraction of the time or distance between its upstream and downstream markers fd + fu = 1

 


fu

A nominal marker’s location relative to its upstream marker as a fraction of the time or distance between its upstream and downstream marker fd + fu = 1

 

fcd/s

An identifier to assign properties to the downstream face of a marker

 

fcu/s

An identifier to assign properties to the upstream face of a marker

 

Fradd

The additional inflow as a fraction of the total inflow at an inflow node

 


Fru/s

The upstream inflow as a fraction of the total inflow at an inflow node

 


gapd

A variable used to store the distance or time between a marker and its downstream marker

 

gapu

A variable used to store the distance or time between a marker and its upstream marker

 

gLD

A global load switch which is either turned on or off

 

I

Inflow to the division

m3/s

Iadd

The additional inflow at an inflow node

m3/s

Ic

The load of solute inflow distributed over the division in the model time-step. That is c(g/m3)•vol(m3) ÷ RL(m) ÷ dt(s).This value can be attributed to the concentration of groundwater inflow or a nominal mass of solute entered to get a satisfactory calibration.

g/m/s

Iu/s

The upstream inflow at an inflow node

m3/s

Intp

A flag to determine whether a marker is interpolated by time or position

 

Intpvol

The value used to interpolate between existing markers

 

Ls

Net loss from the division where loss is defined as water leaving the division other than outflow from the end of the division.-Includes net-evaporation, seepage/infiltration, highflow losses and any other outflows from the division eg. distributed diversions.

m3/s

Lo

Net loss from the division other than net-evaporation ie. Lo = Ls - Ev

m3/s

Load

The load of the solute in a division at any point within the model time-step. It is calculated based on the location of markers within the division and their respective concentrations.

g

m

An identification for a nominal marker

 


md/s

An identification of the marker immediately downstream of marker m

 

mu/s

An identification of the marker immediately upstream of marker m

 

MAge

A value used to store a markers age ie how long since it was created

 


nc

Number of constituents being modelled

 

RL

Length of link

m

s

Rate of change in storage volume over the model time-step

m3/s

Image Modified

Division storage at time t1*

m3

Image Modified

Division storage at time t0*

m3

St+1

Division storage at end of model time-step

m3

St

Division storage at start of model time-step

m3

Sepmin

The minimum seperation of markers specified by the user as a fraction of either the time-step and distance between markers. eg. If Sepmin = 0.2 then markers that are located within 0.2 • dt or within distance fraction 0.2 are merged

 


t*

Elapsed time within a model time-step (s), t* = 0 at the beginning of a model time-step; and t* = dt at the end of a model time-step.

s

t0*

The elapsed time (t*) within a model time-step when a marker enters a division (0 ≤ t0* ≤ dt), or the start of the model time-step t0* = 0.

s

t1*

The elapsed time (t*) within a model time-step when a marker enters a division (0 ≤ t1* ≤ dt), or the start of the model time-step t1* = dt.

s

x

Position of marker, expressed as a proportion of the total length of division, at time t*, (0 ≤ x ≤ 1)

 


x0

Position of marker at t0* (0 ≤ x0 ≤ 1), as a proportion of total length of division.

 

 

Definitions

The following definitions supplement those in the eWater Glossary:

Concentration

The mass of dissolved constituent per unit volume at a particular location at a particular point in time.

Division

Part of a link. Each division in a link has the same length.

Face

Side of a marker, ie. upstream or downstream.

Load

The mass of constituent entering the river reach laterally.

Marker

Point in the river network at which conservative constituent concentration, marker age and load factors are calculated. Markers move during the model simulation at the average flow velocity of the river.

Marker travel time-step

Proportion of the model time-step that the marker resides within the current division.

Overview

The movement of conservative constituents in stream channels (links in Source) is modelled by tracking the movement of markers of water within the river.

Conservative constituents such as salt move through the river system in slugs. To model such discontinuities in concentration, each marker has a concentration recorded for two faces (or sides) - upstream and downstream.

In Source, links are divided into divisions for routing purposes. Initially, the model starts with a marker at the end of each division in every link. Every time-step, a new marker is created for each division, to mark the concentration at the end of that division at the end of the time-step. Markers travel through the river network until they are either merged with adjoining markers, or leave the river network.

The concentrations of conservative constituents such as salt at each marker changes as the marker moves within a link as a result of evaporation, groundwater inflows/losses and rainfall. To allow for this, each marker’s constituent concentrations as well as its position are tracked within the link over each model time-step.

The concentrations of markers are also changed at nodes in the river model to account for:

    • Inflows;
    • Confluences; and
    • Storages and wetlands (Storage node)., and
    • Weirs

Hence, in Source, marker concentration is set or recalculated at nodes used to model the items in the list above. In addition, there is the option for the modeller to set concentrations at gauge nodes.

The marker methodology is executed for each link routing division immediately following the flow routing phase and before processing the flow phase of the next downstream division or node. The distance a marker moves is driven by the velocity in the division over the current time-step. While the flow rate is assumed constant over the time-step, the velocity within the division will change as a result of change in reach storage and cross sectional area.

A key point is that the residence time of a marker within a division is typically different to the model time-step. Therefore, the concept of a marker travel time-step is introduced. The marker travel time-step represents the proportion of the model time-step that the marker resides within the current division. Each marker is likely to have a different marker travel time in each division and for subsequent model time-steps. There are four potential trajectories a marker can follow within a model time-step.

  • A marker starts the model time-step within the division and its final position at the end of the model time-step is within the same division;
  • A marker is in the upstream division (n-1) at the start of the model time-step, moves into the division (n) part way through the model time-step, and finishes within division (n) at the end of the model time-step;
  • A marker is in division n at the start of the model time-step and moves to division (n+1) part way through the model time-step; and
  • A marker is in division (n-1) at the start of the model time-step, moves into division (n) part way through the model time-step, and moves into division (n+1) prior to the end of the model time-step.

These scenarios are illustrated in Figure 1 (t is time at start of model time-step, dt =model time-step, RL = reach length, t* = elapsed time since start of model time-step, x = distance from start of division), where x is used to define the marker position within the division. t* is the elapsed time since the start of the model time-step and is used to track the time that markers enter and leave the division.

Figure 1. Movement of water markers relative to sub reach (division) n

 


A marker moves at average water velocity. Inflow to the division upstream of where the marker is located, losses upstream of the marker or change in reach storage will cause a change in marker position.

The distance a marker of water moves within a model division over dt* can be calculated from the water balance in the portion of the division upstream of the marker. The volume upstream of the marker in the division after dt* is equal to the volume upstream of the marker at the start of the marker travel time-step, plus inflows to the division over dt*, less net losses (Ls) from the division upstream of the marker (see Equation 1).

Equation 1
Image Modified

Expanding Equation 1 yields Equation 2:

Equation 2
Image Modified

Cancelling RL•A•x terms on each side of Equation 2 and assuming RL•A•dx•dt* ≈ 0 leads to Equation 3:

Equation 3
Image Modified

Equation 3 may then be rearranged to give Equation 4:

Equation 4
Image Modified

Rearranging Equation 4 in terms of dx results in Equation 5:

Equation 5
Image Modified

Creating the two following values, g0 and g1, which are constant over the model time-step:

and substituting these into Equation 5, allows dx to be expressed in terms of Equation 6 and Equation 7:

Equation 6
Image Modified
Equation 7
Image Modified

The storage volume of the link at any given time can be given as RL•A = RL•(At+a•t*). This allows Equation 7 to be rewritten as Equation 8:

Equation 8
Image Modified

Then Equation 8 may be rearranged so that the integral of dx and dt* is calculated as shown in Equation 9:

Equation 9
Image Modified

Integrating Equation 9 will lead to a value of x1 shown in Equation 14 that gives the location of the marker in the division at time t1* = dt; ie. the location of the marker at the end of the model time-step. The following equations show the integration process to arrive at Equation 14:

Equation 10
Image Modified
Equation 11
Image Modified
Equation 12
Image Modified
Equation 13
Image Modified

The storage volumes in the division at two specific times, t0* and t1*,are represented by the following relationships:

The term a is calculated by assuming that the rate of change in cross sectional area is constant through-out the model time-step. As reach length is constant, the change in cross sectional area can be expressed in terms of the reach storage at the start and end of the model time-step and is equivalent to the term s, the rate of change of the storage over the model time-step.

When t1* = dt:

Substituting the above into Equation 13 gives Equation 14 which defines the location of the marker, x1, within the division at the end of the model time-step:

Equation 14
Image Modified

If the calculated value of x1 in Equation 14 is greater than 1 then the marker has exited the division within the model time-step. Therefore, the time at which the marker exits the division needs to be defined. This time can be calculated by rearranging Equation 12 in the form shown.

Equation 15
Image Modified

Time t1* can be determined from Equation 15, where t1* is the time at which the marker will arrive at the end of the division.

Equation 16
Image Modified

As the marker has arrived at the end of the division, therefore x1 = 1, and by substituting in the relationships between area and storage, Equation 16 becomes Equation 17.

Equation 17
Image Modified

Alternative formulations

Equation 14 is the primary equation that defines the location of a marker, x1, in a division when t1* = dt, while Equation 17 defines the time a marker exits a division, t1*, when x1 > 1. However, these equations are not defined for the following conditions:

  • s ≠ 0 and Ls = -s; therefore g0 = 0 and g1 is undefined;
  • s = 0 and Ls ≠ 0; and
  • s = 0 and Ls = 0; therefore g0 = 0 and g1 is undefined

The next sections detail how x1 and t1* are calculated for the the above conditions.

Formulation for when s ≠ 0 and Ls = -s

From Equation 14 and using the established relationship of A = At + a • t*, the following relationship is obtained.

However as Ls = -s this leads to Equation 18:

Equation 18
Image Modified

Equation 18 may be then arranged in terms of dx and dt* as shown in Equation 19 so that the integrals may be taken to arrive at a value of x1 in Equation 21 through the steps outlined next:

Equation 19
Image Modified
Equation 20
Image Modified

Recalling that

And that when t1* = dt then:

Equation 21
Image Modified

If the value of x1 calculated in Equation 21 is greater than 1, then the marker has exited the division during the model time-step. The time elapsed when a marker exits the division (x1 = 1) can be calculated using Equation 20 and can be expressed in terms of t1* in Equation 24 through the process outlined next:

Equation 22
Image Modified
Equation 23
Image Modified
Equation 24
Image Modified

Formulation for when s = 0 and Ls ≠ 0.

For the case where s = 0 and Ls ≠ 0 the formulation starts from Equation 9 which then becomes:

Equation 25
Image Modified

In this case, g0 = Ls and g1 = I/Ls and therefore x1 may be expressed as shown in Equation 28 following the calculation process described next:

Equation 26
Image Modified
Equation 27
Image Modified
Equation 28
Image Modified

If the value of x1 calculated in Equation 28 is greater than 1, then the marker has exited the division during the model time-step. The time elapsed when a marker exits the division (x1 = 1) can be calculated using Equation 26 and can be expressed in terms of t1* in Equation 31 through the process outlined next: 

Equation 29
Image Modified

Equation 30
Image Modified
Equation 31
Image Modified

Formulation for when s = 0 and Ls = 0

For the case where s = 0 and Ls = 0 the formulation starts from Equation 4 which then becomes:

Equation 32
Image Modified

Equation 32 may then be arranged in terms of dx and dt* as shown in Equation 33 so that the integrals may be taken to arrive at a value of x1 in Equation 35 through the steps outlined next:

Equation 33
Image Modified
Equation 34
Image Modified
Equation 35
Image Modified

If the value of x1 calculated in Equation 35 is greater than 1, then the marker has exited the division during the model time-step. The time elapsed when a marker exits the division (x1 = 1) can be calculated using Equation 35 and can be expressed in terms of t1* in Equation 36, shown next:

Equation 36
Image Modified
 


Summaries of equations

Table 3 summarises the key equations that define the location of a marker of water in the division at the end of the model time-step. The conditions for the use of each formula are also contained in the table. It defines marker location (x1) at the end of the model time-step (t1* = dt) for conditions of s and Ls.

Table 3. Summary of equations (location)

Equation

Conditions

Equation Reference

Image Modified

When s = 0 and s ≠ -Ls

Equation 14

Image Modified

When s ≠ 0 and s = -Ls

Equation 21

Image Modified

When s = 0 and Ls ≠ 0

Equation 28

Image Modified

When s = 0 and Ls = 0

Equation 35

Table 4 summarises the key equations that define the time that a marker of water leaves the division. The conditions for the use of each formula are also contained in the table. It defines the time (t1*) when a marker exits a division within the model time-step (x1 > 1 and t1* < dt) for conditions of s and Ls.

Table 4. Summary of equations (time)

Equation

Conditions

Equation reference

Image Modified

When s = 0 and s ≠ -Ls

Equation 17

Image Modified

When s ≠ 0 and s = -Ls

Equation 24

Image Modified

When s = 0 and Ls ≠ 0

Equation 31

Image Modified

When s = 0 and Ls = 0

Equation 36



Change in marker concentration within a division

The following section considers the change in concentration of a marker as it travels within a division. Changes in concentration of a marker as a result of additional inflow at the beginning of a division, such as from an inflow, are processed at the inflow node. This section deals with the interactions that occur within a division that affect marker concentration such as net evaporation, diversions, seepage/infiltration and groundwater interactions.

If a small fraction of the division, dx, is considered, then the load (mass) of solute in dx at any point in time can be defined as:

Equation 37
Image Modified

The load of solute in the division section dx after time dt* can then be expressed by taking into account the initial load, the additional solute inflow and the losses other than from net evaporation (Lo) that occur. This is expressed in Equation 38.

Equation 38
Image Modified

The volume of water in the division section of length x after time dt*is as shown in Equation 39.

Equation 39
Image Modified

The final concentration of division section dx is equal to c+dc; ie. the load in division section after time dx divided by the volume of water in division section dx after time dt* as shown below in Equation 40.

Equation 40
Image Modified

Equation 40 can be rearranged in terms of dc as follows:

Which can then be simplified to give Equation 41 and Equation 42:

Equation 41
Image Modified
Equation 42
Image Modified

A limit exists as dt*→0 of and A = At+a•t* as was established previously so Equation 42 then becomes:

Equation 43
Image Modified

Using the relationships established previously when defining the location of the marker:


then Equation 43 can then be rearranged as follows and integrated:

Equation 44
Image Modified
Equation 45
Image Modified

Integrating Equation 45 gives Equation 48 below through the following calculations, where Equation 48 defines c1.

Equation 46
Image Modified
Equation 47
Image Modified
Equation
47
48
Image Modified

By defining the following:

Equation 48 becomes:

And can be expressed as:

Equation 49
Image Modified

where:

 


Alternative Formulations

Equation 49 is the primary equation that defines the concentration of a marker, c1, at time t1*. However this equation is not valid for the following conditions:

    • s = 0 and Ev = 0;
    • s = 0 and Ev ≠ 0; and
    • s ≠ 0 and Ev = 0.

The formulation for these conditions is contained in the sections below.

Formulation for when s = 0 and Ev = 0

When both s = 0 and Ev = 0, the concentration of the marker, c1, at time t1* may be calculated by adjusting Equation 44 as below:

Which leads to Equation 50, expressed in the same form as Equation 49.

Equation 50
Image Modified

Therefore:

Formulation for when s = 0 and Ev ≠ 0

When s = 0 and Ev ≠ 0, the concentration of the marker, c1, at time t1* may be calculated by adjusting Equation 44

Equation 51
Image Modified
Equation 52
Image Modified

Integrating Equation 51 leads to Equation 54 following the calculation steps shown next:

Equation 53
Image Modified

 


Which leads to equation Equation 54 (shown next), expressed in the same form as Equation 49.
Equation 54
Image Modified

Therefore:

Formulation for when s ≠ 0 and Ev = 0

When s ≠ 0 and Ev = 0, the concentration of the marker, c1, at time t1* may be calculated by adjusting Equation 44 as follows: 

Equation 55
Image Modified
Equation 56
Image Modified
Equation 57
Image Modified

Which leads to Equation 58 (shown next), expressed in the same form as Equation 49.

Equation 58
Image Modified

Therefore:

Summaries of equations

Using the standard equation (Equation 49, reproduced below) to define c1 as shown below:

We are able to calculate values of c1 by using the values of cev and cLoad, used to define marker concentration (c1) at time (t1*) defined for conditions of s and Ev in Table 5 and Table 6, respectively.

Table 5. Summary of equations to evaluate cev


cev Value

Conditions

Equation reference

Image Modified

When s ≠ 0 and Ev ≠ 0

Equation 49

Image Modified

When s = 0 and Ev ≠ 0

Equation 54

Image Modified

When s = 0 and Ev = 0
When s ≠ 0 and Ev = 0

Equation 50
Equation 58

Table 86. Summary of equations to evaluate cLoad

 


cLoad Value

Conditions

Equation reference

Image Modified

Whens ≠ 0 and Ev ≠ 0
When s = 0 and Ev ≠ 0

Equation 49
Equation 54

Image Modified

When s ≠ 0 and Ev = 0

Equation 58

Image Modified

When s = 0 and Ev = 0

Equation 50

Input data


Note about the algorithm change during the period from v5.0 to v5.30:

  • Marker merge functionality for distance did not have brackets in the right place before, and this reduced the number of markers being merged. Now this is revised, and the revised equation is one for the parameter of usGap.
  • The confluence condition in the CanMerge function (in Marker.cs) is now shifted, so it allows the merging of markers arriving with the start time of beginning (0) to occur; it was not hitting this condition and setting it to false.
  • The merge functionality at the confluence constituent provider is updated such as Constituent Interpolation Type is changed from Distance to Time.
  • In the algorithm for the storage mass in a division (divisionOutput.StoredMass), the minimum value for the division storage now is 0.00001 instead of the previous zero.

Marker routing interaction with instream processing

From Source version 5.1, the functionality was updated to allow interaction between the Marker routing process and the instream water quality process models. Core models such as decay are supported as well as external plug-in models.

The approach of interacting the Marker Routing with the instream processing models is as follows:

  • Perform the constituent marker routing as per normal in Source
  • Determine the mass within the division level of Source stream (/link)
  • Provide the mass from Source to the instream processing model 
  • The plug-in model will return a modified mass to Source
  • Adjust the 'faces' of the markers in that division proportionally to the change in mass.


Marker routing in Weirs

To ensure the mass balance of constituents within a weir, the conveyance flux and constituent mass is considered as:

1) when inflowing into a weir, it is added as an inflow into the upstream end of the weir's most downstream division

2) when outflowing from a weir it is treated as an outflow from the downstream end of the weir's most downstream division

This facilitates calculating the inflowing mass and outflowing mass since the model is adjusting markers at a point, not across the division within the timestep.

Note about the algorithm change in Weirs during the period from v5.0 to v5.30 :

  • Weir used division.conveyanceflux in calculations before. Now this has been changed to only include conveyance inflows, and the adjusted calculation equations include those for the flow and fraction add, conveyance inflow concentration and conveyance mass.
  • Weir was creating inflow markers under certain conditions, but it was not wiping the inflow marker flag after the processing was happening. Now all inflow marker flags are resetting as false after the processing.

Marker Age in Storages

The calculation of the marker age in a storage considers three sources of the constituents: (a) in the storage, (b) in upstream inflow and (c) in the conveyance flux. The fully mixed status is assumed in the storage. When multiple constituents are existed, only the marker age for one constituent is calculated and the marker ages of all remaining constituents are same as that of the calculated constituent.

The calculation can be expressed by the follow equation:

Image Added

Where:

MAgeStorage,t: 

The marker age of the storage at time step t.

MAgeStorageVol,t:The marker age of the constituent only from the storage volume at time step t and it is equal to 1 plus the marker age of the storage at time step t-1.
StorageVolt-1:The storage volume at the beginning of time step t.
MAgeUSFlowVol,tThe marker age of the constituent only from the upstream inflow to the storage at time step t.
USFlowVolt:The volume of the upstream inflow to the storage at time step t.
MAgeConveyVol,t:The marker age of the constituent only from the conveyance flux to the storage at time step t.
ConveyVolt:The volume of the conveyance flux to the storage at time step t.

Note that if the sum volume (i.e., StorageVolt-1USFlowVolt + ConveyVolt) in the equation is less than the required minimum storage volume at step t, the sum value will use the required minimum storage volume.


Input data:

Details on data are provided in the Source User Guide.

Output data

Outputs can be viewed in the Recording Manager; details are provided in the User Guide.

Reference list

Close, A.F. (1996) A New Daily Model of Flow and Solute Transport in the River Murray, 23rd Hydrology and Water Resources Symposium, Institution of Engineers, Australia, Canberra, pp 173-178.