Screen capture of the outmigrant survival simulator, applied to a reach of the Snake River. Swarm provides a process control panel (top left) and a probe display (not shown in this picture). The probe display allows the user to see and change all simulation parameters before and during execution. The animation window shows the predators, and the migrants as they disperse downstream. The dots in regular rows are nodes imported from a finite-difference hydrodynamic model; the river velocity is known in two dimensions at each node. The graphs update continuously. The line graph shows how many migrants are currently moving, have arrived at the downstream end, and have been eaten by predators. The histogram shows how predators are distributed by river depth.
This application is being built in collaboration with Dr. Jim Anderson, Columbia Basin Research, School of Fisheries, University of Washington. Its objective is to provide simulations that estimate how the survival probability of downstream migrating salmon and steelhead varies with river flow, predator densities, and predator behavior. These estimates are being used as parameters for other models that can be used to predict outmigrant survival under alternative reservoir management methods. [See: Zabel, R.W., J.J. Anderson & P.A. Shaw. 1998. A multiple-reach model describing the migratory behavior of Snake River yearling chinook salmon (Oncorhynchus tschawytscha). Canadian Journal of Fisheries and Aquatic Sciences 55: 658-667.]
We developed a complete formulation report and working computer code for this model, which has been improved and is now in use at Columbia Basin Research. The model has the following characteristics.
- We use steady-state, two-dimensional habitat information (river size and shape, depth, velocity) for one river reach. This information is imported from a hydraulic model maintained by Pacific Northwest National Labs. The hydraulic model provides the depth and two-dimensional velocity components at points (which we call nodes) spaced approximately every 15-30 meters apart. Different river reaches or flow scenarios can be simulated by importing different hydraulic model files.
- Predator fish are randomly distributed throughout the river initially, but move in such a way that habitat preferences are expressed. Predators move with random direction, but the magnitude of their movement is related to their preference for the depth and velocity at their current location: predators move shorter distances when in preferred habitat. The model runs for a number of time steps to allow predators to develop their habitat preferences before outmigrant simulations begin.
- Simulated downstream-migrating salmon smolts are released at a user-designated location (e.g., at the dam at upstream end of the river reach). These migrants drift downstream following the river flow velocities and their own random swimming velocity. Higher random swimming velocities provide more dispersion of the migrants. If a migrant passes within the capture radius of a predator, it dies.
- Migrants obtain the river velocity from the hydraulic model node that is closest to their location. The random swimming component of migrant velocity is user-determined and has a constant magnitude. The frequency with which migrants change the random direction of their swimming velocity is independent of the movement time step. The user specifies the number of seconds that pass before a migrant chooses a new random swimming direction.
- Predation is a three-dimensional phenomenon. Each migrant and predator has a depth, and a migrant must be within a predator's capture radius over all three dimensions to be killed.
- The locations of nodes, migrants, and predators are tracked at a one-meter resolution. The time step for migrant movement is variable; we get satisfactory execution times using time steps as short as a few seconds.
- The hydraulic model nodes, predators, and migrants all appear on an animation window; the nodes create a two-dimensional map of the river. The model user can watch the fish as they travel downstream. (For large river reaches, the animation window is large and the objects on it are small, so it is also possible to animate only part of the space.)
- We keep track of how many migrants die vs. survive their trip through the reach, and each migrant's travel time and path distance.
- The model is coded using the Swarm simulation system.
- User interfaces include a "probe display" that lets model parameters be changed before or during model execution; the animation window; a graph of how many migrants are moving, arrived downstream, or dead; and histograms of predator habitat use.
- The model is designed to be very easy to extend. For example, it would be easy to make predators aware of when they captured a migrant and to make predator movement a function of feeding success. We could copy code from our trout model to simulate the bioenergetics of predators, or to make the swimming velocity of migrants a function of their condition.
- We prepared a detailed description of the model's purpose and formulation; and a brief user guide to the software.