Flow Routing in RiverSim

Principles:
The flow routing algorithm used in RiverSim was originally developed by Resources Planning Associates. It has been recoded from the original Fortran and is now an integral part of the RiverSim environment.

Essentially, a river reach is represented by some number of "virtual reservoirs" (VR) in a chain. The input to the reach enters the top reservoir in the chain and is moved successively through the others, the release of the last reservoir being the output of the reach.

Each VR in the chain determines its release by the formula:

Rt = (a * It + b * S t-1) c Eq 1
where R is release, I is inflow and S is storage. a, b and c are calibration coefficients and t represents the time step. Each VR is constrained to conserve mass through the equation:

St = St-1 + I t - Rt - L t Eq 2
where L is a loss term. Loss is calculated as a coefficient d times the storage at the end of the previous time step.

There are, then five coefficients which may be adjusted to cause the reach properly to model some section of river. They are:

  • 0 <= a <= 1 the fraction of inflow to be released,
  • 0 <= b <= 1 the fraction of storage to be released,
  • 0 <= c <= 1 the power to which the right side of Equation 1 is raised,
  • 0 <= d <= 1 the fraction of prior period storage which is lost, and
  • 1 <= n <= 16 the number of VR's that compose the reach.

Constructing a Model with Routing:

First, construct the nodes (reservoir, confluence, diversion) at the top and bottom of the reach in the normal way. The palette now has two link buttons:

The first, marked with the red R will construct a reach. It is used in the same way as the normal link button. click the mouse over the source node and hold the left button down. Drag the mouse to the destination node and release it. If all is well, you will have a thick blue arrow between the two nodes.

To open the reach and set its parameters, click the right mouse button over the blue arrow and select "Open" in the pop up menu. This will get you this dialog. The fields are editable and you may set the parameters as desired.

To test your parameters:

  • Load the input and output series of the Calibrator slot with observed flows at the top and bottom of the reach,
  • Open the "Calibrate" menu at the top of the main window and choose "Manual Calibrate",
  • Open the "Calibrate" menu again and choose "Report Calibration",
  • Paste into a spreadsheet.
This sequence will give you three series in columns in the spreadsheet. The leftmost series will be the observed flow at the top of the reach. The middle series will be the observed outflow at the bottom of the reach. The rightmost column will be the outflow produced by routing the observed inflow through the reach using the calibration parameters you have provided. You may adjust your parameters and repeat as often as desired. Saving the model will also save the parameters, so you should only need to perform this calibration when the hydraulics change or you desire to run the model at a different time step.

Automatic Calibration:

Even if you have considerable experience with manual calibration of routing reaches, you may want to use the automatic calibration feature to get a start. The automatic calibrator uses a genetic algorithm (GA) to match the routing parameters to the two observed series in the Calibrator slot. To use the automatic calibrator, choose "Genetic Calibrate" from the "Calibrate" menu. The following dialog will appear:

The top five boxes are editable, the parameters having these meanings:

  • Population Size This is the number of chromosomes in the breeding population for the GA.

  • Crossover Probability This is the probability that two chromosomes will exchange genetic material in the next generation.

  • Survival Rate The fraction of each generation that will survive to produce offspring for the next generation.

  • Mutation Probability The probability that any member of the chromosome list will have a random one bit mutation.

  • Converge Within The allowable difference between the total fitness measure of the surviving chromosomes in the current generation and those in the prior generation.

Once the parameters are set to your satisfaction, mouse the "Play" button. The generation box will mark the progress of the GA. When the algorithm has converged, the average percent error box will be filled in with a measure of the final solution. Note that time to run the automatic calibration depends on the length of the time series you are trying to match, the size of the population you choose and the tightness of the convergence criterion. For the default parameters and a time series 400 steps long, calibration will require about 35 generations and will take a couple of minutes.

As above, choosing "Report Calibration" in the "Calibrate" menu will provide a spreadsheet report of the final calibration parameters.

Contents
Index

Copyright Jon Behrens & Associates, Inc. 1994 - 2000
All rights reserved.