Mass Balance Calculations
    • 02 May 2024
    • 6 Minutes to read

    Mass Balance Calculations


    Article summary

    Why?

    The volume of water fed into a simulation should equal the volume of water out plus any volume stored in the system. However, this is not always exactly the case for the following reasons:

    • Approximation of numerical solution

    • Approximation of volume calculations

    • Model problems

    Some variation in the first two points is perfectly natural and, if small, not necessarily something to worry about. However, large variations, which could be due to #3 are indicative of a poorly-performing model.

    Thus, the volume discrepancy is calculated as being the difference between the cumulative net inflow volume (total inflow – total outflow) and the increase in storage in the model (current volume, i.e. stored in channels and reservoirs, less initial volume).

    What is output?

    During simulation

    % error : This is calculated as the volume discrepancy relative to the current maximum storage volume, e.g. if your current difference between net inflow and storage increase is 1m, and the storage volume is 100mat is greatest during the simulation, then this equates to a 1% mass error. (Therefore, if the initial system volume is relatively large, this may give an overoptimistic mass error value; hence the individual values are given in the summary as well, as an alternative measure – as a proportion of the boundary inflow volume - in order to inform the user).

    Summary

     

    Units: metric (US)

    Description

    Mass balance calculated every     

    s

    Frequency at which mass balance is calculated. Includes calculations of system volume and Muskingum routing flows; should have little effect on accuracy – inflows (other than Muskingum routing) are accumulated every timestep.

    Defaults to the model save interval.

    Initial volume         

    m3 (ft3)

    Volume within 1D model at the beginning of the simulation; calculated by:

    ∑(Mean wetted area × distance between) for each cross section pair, and

    The sum of all reservoir volumes

    Final volume

    m3 (ft3)

    As above, but at the end of the simulation

    Total boundary inflow

    m3 (ft3)

    Cumulative sum of (all flows into the model) × timestep, via boundaries (QT-type or HT-type) over all timesteps, i.e. includes “negative outflow” via HT boundaries

    (...of which linked) 

    m3 (ft3)

    If the model contains 2D links via HTBDYs, any inflow through them is given here. The “Total boundary inflow” figure above includes this volume

    Total routing inflow

    m3 (ft3)

    Cumulative sum of (all flows into Muskingum routing reaches) × timestep, over all timesteps. Includes internal reaches, i.e. not necessarily boundaries.

    Total routing outflow

    m3 (ft3)

    Cumulative sum of (all flows out of Muskingum routing reaches) × timestep, over all timesteps. Includes internal reaches, i.e. not necessarily boundaries.

    Total inflow (HD)   

    m3 (ft3)

    Total model inflow into hydrodynamic units, i.e. not routing sections. Can be via boundaries or outflow from a routing section.

    = Total boundary inflow + Total routing outflow - Total routing inflow

    Total boundary outflow

    m3 (ft3)

    Cumulative sum of (all flows out of the model) × timestep, via boundaries (QT-type, HT-type or QH-type) over all timesteps, i.e. includes “negative inflow” via QT boundaries

    (...of which linked) 

    m3 (ft3)

    If the model contains 2D links via HTBDYs, any outflow through them is given here. The “Total boundary outflow” figure above includes this volume

    Total lat. link inflow

    m3 (ft3)

    Cumulative sum of (all flows into the 1D model) × timestep, via lateral links (Flood Modeller 2D H-links; TUFLOW HX links or OpenMI) over all timesteps

    Total lat. link outflow

    m3 (ft3)

    Cumulative sum of (all flows out of the 1D model) × timestep, via lateral links (Flood Modeller 2D H-links; TUFLOW HX links or OpenMI) over all timesteps

    Max. system volume

    m3 (ft3)

    The maximum volume contained within the 1D model during the simulation (as calculated every mass balance interval)

    Max. |volume| increase

    m3 (ft3)

    The maximum volume increase (or decrease) relative to the initial volume within the 1D model during the simulation (as calculated every mass balance interval)

    Max. boundary inflow

    m3/s (ft3/s)

    The maximum inflow rate (summed over all inflow boundaries) at any time during the simulation

    Max. boundary outflow

    m3/s (ft3/s)

    The maximum outflow rate (summed over all outflow boundaries) at any time during the simulation

    Net increase in volume

    m3 (ft3)

    Difference between the final (or current) system volume and the initial volume of the 1D model

    Net inflow volume /

    Net HD inflow volume

    m3 (ft3)

    Difference between the total boundary and lateral link inflow and outflow volumes.

    If the model contains routing sections, this is adjusted by the net routing outflow (i.e. + total routing outflow – total routing inflow)

    Volume discrepancy

    m3 (ft3)

    Net inflow volume – net increase in volume. In an ideal model, this will be zero.

    Mass balance error

    %

    …of max system volume increase. The -volume discrepancy as a percentage of Max. system volume.

    Mass balance error [2]

    %

    …of boundary inflow volume. The -volume discrepancy as a percentage of the sum of Total boundary inflow and Total lat. link inflow.

    Note: Items in grey are only output when the model contains routing sections or 2D Q/SX links, as appropriate.

    Constraints

    The volume for Muskingum (Routing) sections are not calculated explicitly – usually, routing sections are parameterised with no reference to cross-sectional area – and therefore these are excluded from the volume calculations. Thus, the mass balance calculations only apply to fully hydrodynamic sections of the model. As such, any inflow into a Routing reach is excluded, although any outflow from a routing reach is included.

    Volumes stored in rivers, conduits (culverts) and reservoirs/ponds are included in the volume calculations. Flow volumes passing through boundaries are included, as well as any flow exchange with any dynamically-linked external model, e.g. Flood Modeller's urban solver, Flood Modeller's 2D solvers, TUFLOW.

    Note: the maximum system volume will increase up to a point … therefore the % error may be larger on the rising limb.

    Why are two values of % error given?

    Sometimes expressing a volume discrepancy with respect to the maximum volume can give misleading % errors (e.g. for a dynamic steady simulation, there should be little or no increase in system volume, but volume discrepancies can accumulate due to the numerical approximations, which would lead to an unrealistically high % error value). In some cases, it may be more realistically expressed as a proportion of the total cumulative inflow volume [AK1] . In either case, the user is advised to look at the total volume discrepancy, to inform whether the difference is within acceptable limits.

    Limitations and improvements

    • Temporal and spatial approximations. Volume is calculated as A.dx for each river section [pair], where A is the average wetted area, and dx is the longitudinal distance between them. (Reservoirs are similar, though A is surface area and dx is measured in the vertical sense; volume is summed over each segment in the data table). Therefore, refining the distance resolution will improve the accuracy of calculations.

    • Flow volumes are calculated every timestep; therefore, a finer resolution of the timestep will lead to increased accuracy.

    What model parameters affect mass balance?

    • Alpha – this is inherently mass non-conservative for a dynamic model if less than 1 (since it weights the final solution towards the previous calculation); therefore, increasing towards one will improve mass conservation.

    • Minitr – if increasing alpha is not an option, increasing the minimum number of iterations dilutes the effects stated above, i.e. the more iterations performed, the less the solution becomes weighted towards the previous.

    • Timestep – smaller timestep => increased resolution of numerical calculations (simulation and mass balance).

    • Model convergence – if the model is non-convergent, or the convergence tolerances are set too high, this can adversely affect the mass balance.

    • Glass wall” exceedance – if the modelled water level exceeds the section data by more than the “glass wall” height (dflood), this is again inherently non-mass conservative (since the river volume will not increase). By default, this will cause a fatal model error, although can be overridden. If so, this is a sign that something is wrong with the model and needs addressing, or if appropriate, increase the value of dflood.


    [AK1]Conversely, this may give an overly optimistic view of the result, e.g. you could have a tidal model which increases the WL 0.2m each cycle … as a proportion of inflow, the %error remains constant, but the actual error accumulates


    Was this article helpful?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.
    ESC

    Eddy AI, facilitating knowledge discovery through conversational intelligence