River Simulations III
November 2008


Page: 1 * 2 * 3

A total of 3612 river simulations have been performed, using slightly different input parameters (e.g. width, depth, flow, etc...) each time, so as to generate a range of river shapes and behaviors. During each simulation, the location of the river was tracked and accumulated in several 2d arrays. After all simulations were complete, the 2d coverage arrays for all rivers could be summed up and plotted on either the topographic maps or satellite images of the valley. These plots show the percentage of all simulations which passed through various points in the valley, where those points which were occupied at least once by all rivers are shown in red. This area is designated as the probable '100 year migration corridor' for the river:


(Click for larger image)

Here are plots of this coverage area at 0, 20, 40, 60, 80, and 100 years:

Here is a plot of the final average erosion, in hectares per half kilometer squared:

85% of the river simulations were performed using the Johannesson-Parker meandering model of 1989, which is based on the solution of 2 integral equations. Most of the simulated rivers shown in the previous pages have been produced using this method. However, as a comparison, 540 simulations were perfomed using a much simpler (and less 'physical') meandering model which is based on the difference in circumference of two circles of different radii (e.g. around river bends). Shown below are 4 examples from this set of runs --the longest (5061), the shortest (4351), covering the most area (5278), and a typical 'average' river (5373):


These runs, when combined, produce a coverage plot which is similar to that of the Johannesson-Parker simulations:

'Target' areas within the river valley can be defined which correspond to towns, roads, airstrips, parks, and other geographic landmarks:

The 100 year coverage array can be overlayed on these targets to see which of them are encroached upon by the river, and to what degree:

The database can track the course of every individual river over time to see when, and how much area of, each target it will reach and cover:

Loading from runs.rsq
3072 entries read
Percent of target area occupied during simulation:
    i                 file          coverEP           coverG         coverHDF           coverJ          coverMe          coverMi         coverPSP           coverR          coverVe          coverVo           coverW          coverYE          coverYS
----- -------------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ----------------
    1         run0000.mnrr         0.000000         0.000000         0.000000         0.000000         0.000000         0.000000         0.386667         0.000000         0.000000         0.000000         0.000000         0.000000         0.000000
    2         run0001.mnrr         0.000000         0.000000         1.000000         0.000000         0.000000         0.000000         0.546667         0.000000         0.000000         0.000000         0.000000         0.000000         0.111111
    3         run0002.mnrr         0.000000         0.000000         1.000000         0.000000         0.000000         0.000000         0.666667         0.000000         0.294118         0.000000         0.000000         0.071429         0.222222
    4         run0003.mnrr         0.117647         0.000000         1.000000         0.000000         0.000000         0.000000         0.906667         0.000000         0.235294         0.000000         0.000000         0.071429         0.222222
    5         run0004.mnrr         0.000000         0.000000         0.200000         0.000000         0.000000         0.000000         0.413333         0.000000         0.000000         0.000000         0.000000         0.071429         0.000000
...
                      min:         0.000000         0.000000         0.000000         0.000000         0.000000         0.000000         0.306667         0.000000         0.000000         0.000000         0.000000         0.000000         0.000000
                      max:         1.000000         1.000000         1.000000         0.666667         0.000000         1.000000         1.000000         0.000000         1.000000         0.000000         0.000000         1.000000         1.000000
                     mean:         0.463886         0.002930         0.710417         0.000217         0.000000         0.036133         0.761714         0.000000         0.383195         0.000000         0.000000         0.132138         0.060366

Time rivers reach specific targets (years):
    i                 file          reachEP           reachG         reachHDF           reachJ          reachMe          reachMi         reachPSP           reachR          reachVe          reachVo           reachW          reachYE          reachYS
----- -------------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ----------------
    1         run0000.mnrr        -1.000000        -1.000000        -1.000000        -1.000000        -1.000000        -1.000000         0.000000        -1.000000        -1.000000        -1.000000        -1.000000        -1.000000        -1.000000
    2         run0001.mnrr        -1.000000        -1.000000        70.000000        -1.000000        -1.000000        -1.000000         0.000000        -1.000000        -1.000000        -1.000000        -1.000000        -1.000000        90.000000
    3         run0002.mnrr        -1.000000        -1.000000        60.000000        -1.000000        -1.000000        -1.000000         0.000000        -1.000000        90.000000        -1.000000        -1.000000        10.000000        70.000000
    4         run0003.mnrr        80.000000        -1.000000        40.000000        -1.000000        -1.000000        -1.000000         0.000000        -1.000000       100.000000        -1.000000        -1.000000        10.000000        50.000000
    5         run0004.mnrr        -1.000000        -1.000000        90.000000        -1.000000        -1.000000        -1.000000         0.000000        -1.000000        -1.000000        -1.000000        -1.000000        20.000000        -1.000000
...
                      min:        30.000000        80.000000        20.000000       100.000000        -1.000000        60.000000         0.000000        -1.000000        30.000000        -1.000000        -1.000000        10.000000        30.000000
                      max:       100.000000       100.000000       100.000000       100.000000        -1.000000       100.000000         0.000000        -1.000000       100.000000        -1.000000        -1.000000       100.000000       100.000000
                     mean:        61.805444        91.000000        60.371257       100.000000        -1.000000        85.773810         0.000000        -1.000000        69.011387        -1.000000        -1.000000        17.254174        71.926864

The database can also find examples of individual rivers which reach and cover several designated targets at some time during the simulation, but which miss others. In the following plots, two towns (in green and red at upper left of valley) are eventually covered by the same river in 4 different examples:

This information, along with the 2d coverage maps shown above, can be used to assess the relative danger from the river to specific locations within the valley at different times during the next 100 years. For example, here are contour plots showing the percentage (95%, 75%, 50%, 25%, 5%, 1%) of all simulated rivers reaching points in the valley. Towns lying on or inside these lines have a 1/100, 5/100, etc..., chance of being overrun by the river during 100 years:


Finally, the single-thread meandering model used in this study is clearly not adequate to accurately represent a river such as the Missouri, primarily because:

  1. It reduces the geometry of the river to a single idealized channel defined by a centerline and width and having a trapezoidal cross-section, and
  2. It does not track the transport of sediment within the water from where it is eroded from the banks or bottom to where it is eventually deposited downstream.

As a logical next step to the current study, I have begun work on a simple 'multiple-thread' simulation which:

Here are examples of 3 and 5 thread simulations, with color and contours showing the depth of the water at each point (red = shallow/ground, blue = deepest):



Although this is an initial, simplistic attempt, it is sufficient to demonstrate how the combined, synergetic effect of several discrete threads of flow might produce the geometry and dynamics which are closer to what are seen in the real river, including:

Further work on multiple-thread simulations will be continued in the next project, if any. This concludes the work on the Missouri National Recreational River project. The final report will be available here in PDF format once it is complete (end of January 2009).


©Sky Coyote 2008