The Columbia River Salmon Passage model (CRiSP.1) tracks the downstream migration and survival of migratory fish through the tributaries and dams of the Columbia and Snake Rivers to the estuary. CRiSP.1 describes in detail the movement and survival of individual stocks of natural and hatchery-spawned juvenile salmonids and steelhead through hundreds of miles of river and the major dams. Constructed from basic principles of fish ecology and river operation, CRiSP.1 provides a synthesis of current knowledge on how the major hydroelectric system in the country interacts with one of its major fisheries. Biologists, managers and others interested in the river system can use this interactive tool to evaluate the effects of river operations on smolt survival.
There are five major uses of the model:
There are two modes in which CRiSP.1 can be executed. Scenario Mode illustrates the interactions of model variables. Monte Carlo Mode, which is stochastic, provides measures of variability and uncertainty in predicting passage survival. Using Monte Carlo Mode, estimates of probability distributions for survival and travel time can be determined for any stock between any two points in the river system.
CRiSP.1 has advanced programming features including:
The model is designed to run on Windows 95/NT operating systems or Sun SPARC workstations running Solaris2.X operating system. CRiSP.1 has been tested in both environments.
CRiSP.1 was developed at Columbia Basin Research, School of Fisheries, University of Washington, under a contract from Environment, Fish and Wildlife, Bonneville Power Administration (BPA).
The model is being applied to the Columbia River. As a result, the files describing the river and release points of fish into the river are an essential part of the model. A list of references pertaining to model theory and calibration can be found in the Theory, Calibration and Validation Manual.
CRiSP.1 models passage and survival of multiple salmon substocks through the Snake and Columbia rivers and their tributaries and the Columbia River Estuary.

Map of Columbia and Snake Rivers
The model recognizes and accounts for the following aspects of the life-cycles of migratory fish and their interaction with the river system in which they live.
Fish survival through reservoirs depends on:
Fish migration rate depends on:
Fish passage through dams depends on:

Cross-section of a dam showing fish passage routes. Fish collected
in bypass systems are returned to the tailrace or transported downstream.
CRiSP.1 is one of several models describing the passage of juvenile salmon through the Columbia Basin system. The major mainstem passage models and their time steps are outlined below. All of these models describe fish survival through the river system but differ in the details included. The simplest model is PAM and the most complex is CRiSP.1.6. With increasing complexity, the other models fall in between. CRiSP.0 is close to PAM, FLUSH lies in the middle and CREM and RESPRED are in turn more complex.
Simple and complex models each have advantages and disadvantages and the choice depends in part on the types of questions being addressed. Simple models are easy to understand and do not require large amounts of data since they are generally developed to the degree of resolution of the available data. Unfortunately, since they are designed to fit existing data, the variables are identified from past studies and there is no formal process to assess if chosen variables are insignificant or the driving variables. Simple models, being empirical and based on existing data, typically fit the available data but it is not clear that they would still represent the system if the system were to change.
In general, complex models are based on underlying mechanisms which are inferred from analogous systems. As such, they often can be extended beyond the data of the system they are modeling. Mechanistic models are particularly useful for developing hypotheses that are to be tested through experimentation. A disadvantage of such models is that they require a considerable effort to understand and calibrate, and there is a chance that the underlying mechanisms may be misapplied or inappropriate, this can also be the case with simple empirical models.
The tags of "simple and empirical" vs. "complex and mechanistic" are, in fact, only points along a continuum. Even the simplest models have some underlying mechanism and complex models, at some level of detail, contain empirical descriptions in which the parameters have no mechanistic foundation and are applied because they fit data or a desired mathematical form. The level of detail at which a model switches to empirical formulations distinguishes its degree of mechanism.
All of the existing mainstem fish passage models leave out some variables which may be important. The simplest models, such as PAM and CRiSP.0, rely solely on flow to describe survival and are of limited value for investigating other factors. Although FLUSH and CRiSP.1.6 consider the effects of fish age on survival, none of the models considers differences in fish conditions, fish bioenergetics, or the river and tributary carrying capacities.
Version 1.6 of the CRiSP Model includes many updates, changes and new features. Yearly Input Data Files from previous versions of the model can be converted into the new version data files by reading the files into CRiSP.1.6 and writing the data out to your local system. We recommend using the CRiSP.1.6 calibrated values. Changes to the model in version 1.6 include improvements to the internal operation of the model and the graphical user interface (GUI). The following list highlights many of the improvements to the model.
The species and stocks of fish entering the river system are arbitrarily defined. Species are identified as:
Stocks are identified by their species, spawning stream, and season. The number of fish released at each site is identified on a daily basis. Each release group has a unique set of passage parameters and corresponding model results are tabulated separately.
Note. Wild and hatchery migrants do not necessarily need to be defined as separate stocks if separate tracking is not desired, but definition as separate stocks is required if you assign them different parameter values (e.g. different vulnerability to predation, swimming behavior, etc.). If you want to keep track of different stocks as different releases with the same parameters, CRiSP.1 tracks each release separately in both Monte Carlo Mode and Scenario Mode.
CRiSP.1 calculates arrival of all fish on each day to each river segment (a section of river between confluences, dams, or headwaters) before calculating passage of fish to the next downstream segment. With this set of arrival information, it is possible to assign rules for fish transportation based on a percentage of the total run that will arrive at a dam. Thus, CRiSP.1 moves fish downstream a segment at a time, adding smolts coming from tributaries or hatcheries on a daily basis. The number of fish leaving a river segment on any given day depends on:
Dam operations control important variables of CRiSP.1. The three major variables are daily total flows, spills, and fish transportation.
Dam passage survival depends on the pathway fish take through a dam. At all dams, fish arriving at the forebay can pass over the spillway or through the powerhouse. The fraction of fish entering the spillway depends on:
Fish entering the powerhouse can pass through the turbines or be guided by traveling screens. The propensity of a population to be guided is represented by a fish guidance efficiency (fge) which can be set constant or varied over a season for each project and population. (See FGE and FGE Equation sections for more details.) Mortality depends on the pathway chosen which accrues for spillway passage, collection, and turbine passage. Dam activities are calculated on a six hour basis and summed over a day to provide a daily fish input to the next reservoir.
Bypassed fish at specified dams may be transported in barges or trucks to any point in the river downstream of the collection site. Bypassed fish not transported are released into the tailrace. CRiSP.1 removes transported fish at a dam, computes a mortality, and releases fish at the transportation site at a later time as determined by a transportation velocity. Whether collected fish are transported depends on rules developed to simulate actual transportation decisions. Transportation factors are set with the Transport Tool and include:
Survival and migration of fish in CRiSP.1 can be modeled in two modes: Scenario Mode and Monte Carlo Mode.
Scenario Mode runs one year with as many releases as desired. It can be used to gain insight on the effects of changes in system parameters on the survival and migration of fish during a single water year. In this mode, natural unregulated inflows are specified. These flow into the mainstem rivers and storage reservoirs at headwaters. System operation and fish biological parameters can be varied stochastically according to user specifications.
Monte Carlo Mode runs CRiSP.1 with as many releases as desired for one or more combinations of water year and system operations. The main variable changed in each run is river flow. Flows are specified at the project (dam), not headwaters. In each run, a different flow regime and other model parameters are used. Fish survival is determined for each run and the distribution of survivals from all runs provides an estimate of the probability distribution of survival under the specified conditions. Flow is generated from runs of the hydroregulation models maintained by the Army Corps of Engineers (HYSSR) and the BPA (HYDROSIM). The hydroregulation models use historical water data and a projection of electrical demand to simulate system flows, which are designated flow.archive files. These files give period-averaged flows at operating projects which are modulated by CRiSP.1 to represent daily flows. CRiSP.1 uses the modulated flows along with yearly input data files describing the system operations and fish biological parameters to produce histograms of survival.

Interaction of hydroregulation model and CRiSP.1 in Monte Carlo Mode
CRiSP.1 integrates a number of submodels that describe interactions of isolated components. Together they represent the complete model. These elements include submodels for: fish travel time, reservoir mortality, dam passage, total dissolved gas supersaturation, and flow/velocity relationship. The structure of CRiSP.1 allows you to select different formulations of these submodels at run time. In this sense, CRiSP.1 can be configured for simple interactions or it can be set up to consider many ecological interactions. CRiSP.1, as it is presently calibrated, has an intermediate level of complexity: age dependent travel time is implemented, but other age dependent factors are switched off. A brief description of submodels follows.
Travel Time
The smolt migration submodel, which moves and spreads releases of fish down river, incorporates flow, river geometry, fish age and date of release. The arrival of fish at a given point in the river is expressed through a probability distribution. All travel time factors can be applied or they can be switched off individually, resulting in a simplified migration model.
The underlying fish migration theory was developed from ecological principles. Each fish stock travels at a particular velocity relative to the water velocity. The relative velocity can be set to vary with fish age. In addition, within a single release, fish spread as they move down the river.
Predation Rate
The predation rate submodel distinguishes mortality in the reservoir, and the forebay and tailrace of dams. The rate of predation can depend on temperature, diel distribution of light, smolt age, predator density, and reservoir elevation.
Gas Bubble Disease
CRiSP.1 incorporates a separate component of mortality due to gas bubble disease which is produced by total dissolved gas supersaturation. The mortality rate is species specific and is adjusted to reflect the effect of fish length and population depth distribution.
Dam Passage
Timing of fish passage at dams is developed in terms of a species dependent distribution factor and the distribution of fish in the forebay, which can change with daily and seasonal light levels. Fish guidance efficiency can be held constant over a season or it can vary with fish age and reservoir level.
Transportation Passage
Transportation of fish at collection dams is in accordance with the methods implemented by the U.S. Army Corps of Engineers. The start and termination of transportation and separation of fish according to species can be determined for any dam under the same rules used to manage the transportation program. Time in transportation and transportation mortality can also be set.
Total Dissolved Gas Supersaturation
Total dissolved gas supersaturation, resulting from spill at dams, can be described with gas production equations which are an empirical fit of spill data and monitoring data collected by the U.S. Army Corps of Engineers. Alternatively, supersaturation can be described by other empirical models (not calibrated) or by a mechanistic submodel that includes information on the geometry of the spill bay and physics of gas entrainment.
Flow
Flow is modeled in two ways: it can be specified at dams using results of system hydroregulation models or it can be described in terms of daily flows at system headwaters. When flow is described in headwater streams, the flow submodel generates a random set of seasonal flows that have statistical properties in accordance with the available water over a year. In this fashion, the model statistically reproduces flow for wet, average and dry years. The user controls the mainstem river flows by adjusting the outflow of the storage reservoirs within their volume constraints.
Water Velocity
Water velocity is used in CRiSP.1 as one of the elements defining fish migration. Velocity is determined from flow, reservoir geometry and reservoir elevation.
Reservoir Drawdown
Reservoir elevation is set on a daily basis from elevation information in the system hydroregulation models or from user specified files. As water levels drop, part of the reservoir may become a free-flowing stream.
Stochastic Processes
CRiSP.1 can be run in a Monte Carlo Mode in which flows and model parameters vary within prescribed limits. In this mode, survival to any point in the river can be determined as a probability distribution.
Geographical Extent
CRiSP.1 can describe a river to any desired level of detail by changing a single file containing the latitude and longitude of river segments, dams and release sites. In its present configuration, three river description files are available. One file contains an abbreviated river map with the major tributaries and about thirty representative release sites, although more can be added easily. The two other river description files contain drawdown alternatives. See the River Description File section for more information.
The CRiSP.1 submodels are individually calibrated. Thus CRiSP.1 was not directly calibrated from mark-recapture survival studies. Instead, such studies provided a check on the calibrations of the individual mechanisms of the model (model validation). Notes on the submodel calibrations are detailed below.
Travel Time
The travel time submodel was calibrated for subyearling chinook, yearling chinook, and steelhead using tagging data from the entire river system and over the entire migration season. Two separate calibration processes were applied: one to measure the spread of fish as they moved through the reservoir, and the other to measure the change in relative migration velocity with fish age. The first used marked, individual stock releases over a short period of time, and the second used marked and recaptured fish over entire seasons.
Predation Rate
Predator-prey interactions in CRiSP.1 were calibrated with information from predation studies in John Day Reservoir and information on predator densities for each of the major reservoirs.
Gas Bubble Disease
The rate of mortality due to gas bubble trauma was calibrated from dose-response studies conducted in both field and laboratory conditions.
Dam Passage
Diel passage elements of CRiSP.1 were calibrated from hydroacoustic and radio-tagging studies at dams. Fish guidance efficiency and spill efficiency were calibrated from a number of studies at a variety of dams. Fish guidance efficiency can be set to change with fish age and reservoir level or it can be set constant over the year. Mortalities in dam passage were determined from mark-recapture studies at dams.
Transportation Passage
Separation of large and small fish in transportation was applied from general information on the efficiency of the separators in the transportation facilities at dams. A transportation mortality was determined for each species, based on transport-benefit studies. In addition, time to transport fish through the river system was specified.
Total Dissolved Gas Supersaturation
Total dissolved gas supersaturation models were calibrated with data from the Army Corps and includes information collected in the 1992 drawdown study in Lower Granite and Little Goose reservoirs, as well as monitoring data from recent aggressive spill programs.
Flow
Headwater flows in Scenario Mode were calibrated from information on stream flows provided by the U.S. Geological Survey. In Monte Carlo Mode, the modulators of the period average hydroregulation model flows were calibrated against historical daily flow records at dams.
Water Velocity
Water velocity requires information on reservoir and geometry. The relationship between geometry and elevation and free stream velocities were determined from Lower Granite Reservoir drawdown studies.
Stochastic Processes
The ranges for variables used in the Monte Carlo Mode have been calibrated to available data in the above mentioned studies.
The cross-platform Help provides instructions for using Columbia River Salmon Passage model (CRiSP.1) on both Unix and Windows 95/NT operating systems. Any differences in the commands used or the operation of CRiSP.1 between the operating systems are noted in the text. Help is designed to meet the needs of a wide variety of users, from a novice user of Solaris2.X or Windows 95/NT operating systems to programmers familiar with the C++ language in which the CRiSP.1 model was written.
CRiSP.1 is designed to run on a Sun SPARC workstation running Solaris2.X or on a personal computer running Windows 95/NT operating systems. CRiSP.1 should run as expected on Windows 98, 2000, ME, and XP. The first step is to install the model on your computer.
CRiSP Passage information and files are available to users via the World Wide Web (web). Questions about CRiSP.1 can be sent to the CRiSP Passage email address listed below.
http://www.cbr.washington.edu/crisp/crisp.htmlcrisp-passage@cbr.washington.educrisp1.exe icon or launch crisp1.exe from a Run dialog box.setup.exe icon.crisp1.exe.
gunzip r1.6.0.tar.gz
tar -xf r1.6.0.tar
There are four files required to run CRiSP.1 in both Scenario and Monte Carlo modes:
columbia.desc: defines the river segments, locations of dams, and release sitescrisp1.exe: CRiSP.1 executable codebase.dat: a database file that can be read into CRiSP.1flow.archive: A file of flows, spills and reservoir elevations (elevations are given in HYSSR files) initially generated from a hydroregulation model such as SAM, HYSSR or HYDROSIM. Outputs of these models are converted to CRiSP.1 compatible flow files using a preprocessor.In the simplest file arrangement, all files are placed in the same folder (or directory). For example, the configuration below shows these files contained within the folder named CRiSP Passage. By default, output files are written to the directory from which CRiSP.1 was executed (the CRiSP.1 "home directory"). On Windows 95/NT operating systems, this is the source directory for crisp1.exe. When saving files to the local system, you can override the default directory to specify any output directory. On the Unix system, the files can be written out to any directory for which the you have write permissions. For more information about these files and other input and output files, see the CRiSP.1 Files section.

Windows 95/NT installation of CRiSP.1
There are several ways to start CRiSP.1 using the graphical interface from your Desktop.
Wait for the CRiSP.1 Graphical User Interface and River Map to appear. Basic information about CRiSP.1, model parameters, and running CRiSP.1 are covered in later sections.

Main Panel and River Map
To start CRiSP.1 from a command prompt, the model must be in the current directory (or, on Unix only, in the path). At a command prompt, type a command with the following syntax:
crisp1 [-l{wmrd}] [-bsmi] [-r river_desc] [-f data_file] [-o output_file] [-c output_control_file] [-u]
The arguments delimited by "[ ]" are all optional and can be given in any order. If an argument is not present, the default value is used.
-l{wmrd} controls the logging level. Five separate classes of logging messages are defined: Errors which are always logged, Warnings, Messages, Raw output, and Debug output. By default, Warnings are logged and the others are not. If -l is given, then the default is ignored and the characters which follow define what is logged. For example -lwm causes Warnings and Messages to be logged, -l causes nothing (except Errors) to be logged, -ld causes only Debug output to be logged, and -lr causes Raw output to be logged.-bsmi controls the running mode. b selects Batch Mode (the default is Graphical User Interface mode). s selects Scenario Mode. m selects Monte Carlo Mode (which is the default in Batch Mode). i selects Realtime Mode. The letters can be combined in various ways and not all need to be included. -bsi would select Batch Realtime Scenario Mode. -b selects Batch Monte Carlo Mode (since Monte Carlo Mode is the default for Batch Mode). Batch Monte Carlo Mode runs depend on the existence of a .crisp-alts file which specifies which alternatives to run.realtime.dat unless an alternate yearly data file is indicated with the -f flag. Running in Realtime Mode will create a realtime subdirectory with several default files, of particular interest is realtime.real file which is the output file. For Realtime Monte Carlo mode runs, a flow file named flow.archive must reside in the run directory. In Realtime Monte Carlo Mode, the model does not depend on the .crisp-alts file to determine which alternative and which files to use.-r river_desc specifies the name of the river description file. The default file is columbia.desc.-f data_file specifies the name of the yearly data file. The default file is base.dat.-o output_file specifies the name of the parameter data file to output at the end of a batch run. This option can only be used in conjunction with the -b argument. Only one -o option is allowed for any given batch run. The extension of the output filename determines what parameter data used during the model run will be written to the file. See the Model Parameter Data Files section for further details. For example,name.dat writes out a parameter data file with all information in itname.rls writes out a parameter data file with only the release informationname.ctrl writes out a control file with "include" directives and the 8 parameter data subset files which contain the whole database between them.-c output_control_file gives the name of the parameter data configuration file to be used for the entire batch run. This option can only be used in conjunction with the -b argument. Either a file of type .dat or .cnf may be specified. If this option is given, the program as it starts up first reads columbia.desc, then it reads the "output_control_file" and turns on the Lock Output Settings feature, then it reads the yearly input data file (ignoring any output settings contained therein), and then it runs the model in batch mode, as specified by the other command line arguments. This option is intended to facilitate control of data output in batch mode processing.-u indicates that a summary.alt# file should be written for each alternative run, exactly as if the "Write Supplemental Data" check box had been checked in the GUI Monte Carlo window. Data written to the file is based on the output settings in the yearly input data file(s) specified in each alternative. This option can only be used in conjunction with the -b{mi} argument.Example commands that open the CRiSP.1 Graphical User Interface
crisp1
crisp1 -lmw -r columbia_drawdown.desc -f new.dat
crisp1 -f test.dat
Example commands that run CRiSP.1 in batch mode
crisp1 -b -o batch.ctrl
crisp1 -b -c batch.dat
crisp1 -bsi -f realtime.alt.dat
crisp1 -b -u
The CRiSP Passage model can be executed in batch mode for either Monte Carlo or Scenario runs. See the Starting from the Command Prompt section for command options. The following are special instructions on running in batch mode for both Unix and Windows 95/NT operating systems.
On the Unix system, batch mode runs can be executed from the command prompt using any of the options detailed in the Starting from the Command Prompt section. There are a few special considerations for running CRiSP.1 in batch mode on Unix systems. The CRiSP.1 Unix distribution includes the program crisp1bat, which is the simulation engine of CRiSP.1 without the graphical user interface. Using this program, you can run CRiSP.1 in batch mode without having to set the DISPLAY environment variable. This makes it possible to run the CRiSP.1 model in batch mode from a dial-up connection or from a detached process, i.e. left running after logging off the workstation. The crisp1bat program uses the same command prompt arguments as crisp1, except that the -b is assumed.
Example commands
crisp1bat -o batch.ctrl
crisp1bat -c batch.dat
crisp1bat -u
There are a few special considerations for running CRiSP.1 in batch (non-graphics) mode on Windows 95/NT systems. These derive from the architecture of Windows 95 and Windows NT, which make sharp distinctions between MS-DOS-based programs and Windows-based programs.
If you are running CRiSP.1 from the MS-DOS prompt, you have two choices: 1) redirect the program's standard and error output streams to text files or 2) have standard and error output streams write to the MS-DOS shell.
Example command to redirect the output streams to text files
crisp1 -bs -f base.dat >output.txt 2>error.txt
Example command to redirect both of the output streams to the same file
crisp1 -bs -f base.dat 1>output.txt 2>&1
To let the batch mode program's output streams write to the MS-DOS shell, you must use a second program called crisp1b that runs crisp1 in batch mode and is equivalent to crisp1 -b.
crisp1b -s -f base.dat
For this to work properly, the files crisp1.exe and crisp1b.exe must reside in the same directory.
Warning. It would be a mistake to run the crisp1b program and then redirect its standard output streams.
columbia.desc)base.dat)flow.archive)columbia.descThe River Description File (columbia.desc) contains all the information necessary to define the physical river system from the ocean to the various headwaters. This includes latitudes and longitudes of all possible release sites, dams, and river segments as well as many of the physical parameters of these features. All menus and input and output tools automatically configure from the information in this file. See the Technical Details section on the River Description File Structure for details on file structure, rules of construction, and parameter definitions. The Parameter Glossary contains definitions of the parameters and tokens found in this file.
The columbia.desc file is an ASCII file that you can edit and contains the following information:
The default columbia.desc file contains an abbreviated description of the Columbia Basin river system with about thirty fish release points and major dams. Some rivers in the basin are not represented in this map (for example, Imnaha River or Grande Ronde River).
Additional River Description Files are also available in the CRiSP.1 distribution. They have been modified to reflect changes in the river that could occur under certain proposed management actions. The file columbia_snakedraw.desc does not have any of the Snake River dams in it. This simulates a Snake River drawdown in order to make the Snake River free-flowing. It has four dams removed that are in the default columbia.desc file: Lower Granite, Little Goose, Lower Monumental, and Ice Harbor dams. The file columbia_drawdown.desc is similar to columbia_snakedraw.desc. In addition to the removal of the four Snake River dams, it also has the John Day dam removed. This represents the most drawdown being considered. Five dams are removed that are in the default columbia.desc file. A River Description File can only be read when CRiSP.1 is initially started. In order to use one of the alternative files, you must start CRiSP.1 from a command prompt with the -r flag. See the Starting from the Command Prompt section for more information.

Columbia River map showing potential release sites, dams, and rivers
base.datThe Yearly Input Data File (base.dat) contains all model parameter data for a single year run. If no other yearly input data file is specified when CRiSP.1 is started, the model will initially read the file base.dat. The CRiSP.1 Graphical User Interface menus are used to create and modify the parameter data for a run or for storage in data files. The data can be saved as either a single file or as a group of parameter data files corresponding to predefined data groupings. These files can be read into the model individually or in a group prior to a run. See the Reading Data into CRiSP.1 section for further details. A file containing all model parameter data is designated .dat and is referred to as a yearly input data file.
Parameter Data File Name Extensions
dat: all model parameter databeh: parameters related to fish travel time and mortalityres: predator density in reservoirsspill: spill schedules at all damsflow: headwater flows, losses, elevations, storage reservoirsdam: all parameters related to dam operationrls: all parameters describing fish releasesriver: headwater temperature and river parameterscnf: runtime settings and output settingsThe Model Parameter Data Files section discusses the data and file name extensions in further detail. A yearly input data file containing all the data used in CRiSP.1 may be over 1M in size, depending on the number of releases and tributaries defined in the river. Typical data files are about 200K in size. See Technical Details section on the Yearly Input Data File Structure for details on file structure, rules of construction, and parameter definitions. The Parameter Glossary contains definitions of the parameters and tokens found in this file.
CRiSP.1 contains eight predefined model parameter data file name extensions. The model parameter data files are subsets of the data in CRiSP.1. All data in CRiSP.1 can be contained in these eight parameter data file types. All eight files combined would contain the same information as a Yearly Input Data File (.dat). By using Save As and a predefined extension, specific model parameter data groupings can be saved to a file for future use. In a similar manner, specific model parameter data groupings can be read into CRiSP.1 by using Open. See the Reading Data into CRiSP.1 section for further details. All eight parameter data files can be written out simultaneously using a Control File.
The following is a list of data parameters stored in each file as determined by the file name extension. Following each extension is a short description and in parentheses is the GUI menu location for editing these parameters.
.rls: release information (Release).res: reservoir parameters (Reservoir).beh: behavior parameters (Behavior).flow: flow parameters (Flow).dam: dam guidance and mortality factors (Dam).spill: spill information at each dam (Dam).river: river information (Reservoir).cnf: config information (Run)A Control File allows you to write out or read in a set of parameter data files. In this manner, subsets of model parameter data can be replaced while other elements are unchanged. Control files are designated by the extension .ctrl.
Control files contain a list of Model Parameter Data Files which are identified in the lines below the Control File line (see file sample). You can save to disk all eight parameter data files with the same base name as the Control File by selecting Control Files (*.ctrl) for Save as type (Unix users will need to specify the file name extension) from File
Save As.
When reading control files into CRiSP.1, the parameter data files specified in a Control File can have different base names. By editing the Control File, you can mix parameter data files from different alternatives and sessions. You can use any text editor to edit a Control File. Each specific combination of parameter data files listed in a Control File can be read into CRiSP.1 by selecting the control file you want from File
Open.
Sample Control File with a list parameter data files from different alternatives.
#===================================================# # CRiSP Control File CRiSP v1.6.0 (Solaris 2.x) # #Written on Fri Jun 25 11:53:20 1999 #===================================================# version 6 include session.beh include session1.res include session3.spill include session.flow include session2.dam include session.rls include session4.river include session.cnf
flow.archiveThe Flow Archive File (flow.archive) contains flow, spill and elevation data generated from hydroregulation models such as SAM, HYSSR or HYDROSIM. The flow archive file can be used in Monte Carlo Mode as the source for flow, planned spill, and elevation. Information contained in a flow.archive file includes:
See Technical Details section on the Flow Archive File Structure for details on file structure and parameter definitions.
A CRiSP.1 run generates and stores various information in output files and directories. Without making any selections with Output Settings (Run Menu), a model run in either mode generates travel time and survival information at the Estuary. All other data output must be specified prior to the run in Output Settings or specified in the data files used during the run. The following files and directories result from model runs and are stored in the CRiSP.1 home directory.
summary.dat: An output file that contains results from the most recent run of CRiSP.1 in the Scenario Mode. This includes for each selected passage point:summary.alt#: An output file that contains results from the most recent run of an alternative in Monte Carlo Mode if the "Write supplemental data" check box is selected in the Monte Carlo window or if the -u command line option is used in batch mode. Run results written to this file are determined by the Output Settings specified in the yearly input data files used in each alternative.altern#: A Monte Carlo Alternative directory that contains three output files. The files should only be modified by using the Monte Carlo tools to make any changes. The files are as follows:altern#.alt: name of flow archive, names of input files in an alternative, number of games and years in the archive file, and number of times each archive flow file year is usedaltern#.ind: internal index file generated by CRiSP.1altern#.out: output information used in Monte Analysis.By default, data stored in CRiSP.1 is replaced by data read from a file, if and only if, that data item appears in the file. For each appearing data item, this is referred to as a "replace" operation. For example, this allows you to read in new flow information from a .flow file without affecting the rest of the data currently stored in CRiSP.1.
There are three types of data that are exceptions to this rule: spill schedules, transport records, and releases. For these three types of data, a decision is made as to whether to delete existing data prior to reading the file. In all cases and all modes, once data reading has begun, multiple specifications of transport, spill, or release data are merged with each other.
In interactive (GUI) mode, CRiSP.1 performs Replace or Merge operations according to file extension and user response.
Depending on the file name extension, Replace or Merge operations are as follows:
.dat, .ctrl, or unknown.spill, .spi.dam.rls.beh, .res, .flo, .flow, .riv, .river, .cnfFiles which are "included" from other files are not subject to the above determinations (see the CRiSP.1 Parser section for information on file includes). Only the top-level file to be read (not included) will have its extension examined. The above list then holds for all data read from that file or from any file subsequently "included."
In batch mode runs, a replace operation is always performed. All spill, transport, and release data are first deleted, and then replaced with data appearing in the file. All other data appearing in the file is replaced as per the standard default. Note that in batch mode, since the pre-existing data consists of hard-coded defaults which may be questionable, it is advisable to make sure that files used in batch mode runs provide full coverage for all parameters.
Interactive operation of CRiSP.1 is through a graphical user interface (GUI) using a two-button or three-button mouse. CRiSP.1 standard features and tools are detailed in the following sections.
CRiSP.1 uses standard window features found on Windows 95/NT and Unix systems for opening, closing, resizing, and shrinking windows to an icon. If you have questions, please refer to your operating system and software documentation.
The following are definitions of mouse operations as used in this documentation.
Both the mouse and the keyboard can be used to open and select from the menus and submenus found in CRiSP.1.
Using the mouse, you can open windows from menus and submenus.
Using the keyboard, you can open windows from menus and submenus.
Open context-sensitive help information by clicking
or
in a window. The context-sensitive help and additional information is accessible from Help in the Main Panel.
Throughout the model, CRiSP.1 uses the concept of two level editing and display. The data being displayed on the screen may be different from the data in the underlying database. A red dot
in each corner of a window indicates that the data being displayed is different from the data currently stored in the model and that changes have not been applied to the underlying database, yet. For changes to take effect, click Apply or Apply All. Modifications that have not been applied can be discarded by clicking Reset or Reset All.
Note. For example, if you open windows for all three dams for Flows / Reservoirs and modify the Outflow at each dam, you can apply the changes in two ways. If you click Apply in the Chief Joseph Dam Outflow window, that will only save the changes made to Chief Joseph Dam Outflow. If you click Apply All in any of the three dam Outflow windows, that will save changes made to Outflow at all three dams.
All input windows in CRiSP.1 contain all or a combination of the Standard Commands.

Powerhouse Schedule window (default) and before applying changes
In general, any number of windows of the same type can be active at the same time - just select the same menu item several times to create several copies of the same type of window. For input windows (dialogs and editable graphs), it is possible to have multiple windows displaying the same data at the same time. If the data is changed in one window, the others will update automatically to reflect the changes.
Yellow dots
will be displayed in the corners of all output graph windows when any input data has been changed, but the model has not been re-run to create new outputs. Yellow dots do not imply correlation between the data displayed in the output window and the changes to model input.
To demonstrate this, run the program in Scenario Mode, and the open a Passage graph for the Estuary and the VVar window. After you click Apply in the VVar window, the passage graph will display yellow dots. VVar has changed, but passage has not been recalculated. Now run the model again. Passage is now up to date with respect to model inputs, so the yellow dots disappear. Please take note that yellow dots would also appear on a TDG Saturation output graph, even though VVar does not influence total dissolved gas.

Yellow Dots in Passage for Estuary window
Slider Input windows are one type of data input windows found in CRiSP.1. Red sliders represent parameter settings and are changed using the mouse or the keyboard as described in the following sections. CRiSP.1 variables that incorporate sliders include:
As shown below, there are several formats for Slider Input windows. The Unregulated Headwater Flow Maximum window is an example of the Slider Input window in its simplest form. The Migration Rate Variance window contains a "tab" list where the list of variables is longer than allowed for one screen (ten variables) and is accessible by clicking on the tabs (labeled A, B, etc.) at the top of the window. Also illustrated in this window is the concept of setting Mean, Low and High values for each variable. The Dam Predation Probability window illustrates a Slider Input window containing time-specific, dam-specific and species-specific settings.

Various Slider Input windows
There are three ways to edit the value of an individual slider.
All changes made to slider values need to be applied by clicking Apply / Apply All / OK before the values will take effect.

Slider Input window and Slider Value dialog box
Some Slider Input windows contain a tab list (variable list is longer than ten items), click on a letter tab to access a portion of the list and edit the desired slider as directed above. Some Slider Input windows contain Mean, Low, and High value sliders which are separate entities and are edited separately.
There are several Slider Input windows which involve setting time-specific, dam-specific and species-specific values for each slider, and there is one Slider Input window which involves setting reach-specific and species-specific values.
Parameter values can be set individually for each species at each dam by selecting the desired species from the species menu, selecting the desired dam from the dam menu, and then following the directions above. If you make multiple changes to dam and species parameter settings, click Apply All to save all the changes made. Parameters can be grouped across Time (T), Dam (D) or Reach (R), and Species (S) by selecting the appropriate check boxes to the right of the slider. See the Edit Multiple Slider Values Simultaneously and Edit All Slider Values Simultaneously sections for directions.

Dam Predation Probability window.
Editing multiple slider values simultaneously uses the "group" concept. For the majority of Slider Input windows, there is only one column of check boxes on the right side of the slider labeled G. There are several Slider Input windows in CRiSP.1 which involve setting time-specific, dam-specific or reach-specific, and species-specific values. These Slider Input windows have check box columns labeled T (time), D (dam), R (reach), and S (species). For Slider Input windows containing sliders for mean, low and high values, sliders are grouped for mean, low or high values separately.
All changes made to slider values need to be applied by clicking Apply / Apply All / OK before the values will take effect.

Multiple sliders grouped
Editing all slider values simultaneously uses the "group" concept. For the majority of Slider Input windows, there is only one column of check boxes on the right side of the slider labeled G. For Slider Input windows containing sliders for mean, low and high values, sliders are grouped for mean, low or high values separately. There are several Slider Input windows in CRiSP.1 which involve setting time-specific, dam-specific or reach-specific, and species-specific values. These Slider Input windows have check box columns labeled T (time), D (dam), R (reach), and S (species).
All changes made to slider values need to be applied by clicking Apply / Apply All / OK before the values will take effect.

All sliders grouped with top check box
Slider Input windows that involve setting time-specific, dam-specific or reach-specific, and species-specific values include the following features:
Editable Graph windows allows rapid input and visualization of data that varies from day to day. Open Editable Graph windows by making a selection from a menu. Depending on the settings in the Mouse Tool, some Editable Graph windows can be opened from the River Map by clicking on a dam, reach or headwater. CRiSP.1 variables that can be set with a Editable Graph window include:
In all cases, Julian day is given as the horizontal coordinate (X-axis) with day zero corresponding to December 31. The vertical axis (Y-axis) is defined below the graph, naming the parameter and its unit of measurement.
Actively update the graph display for dam, reach, or headwater as the pointer moves over the location on the River Map.
Fix scale to current settings in order to visually compare graphs.
Increase vertical graph scale. Or right-click in the upper-half of graph (2). This doubles the vertical scale.
Decrease vertical graph scale. Or right-click in lower-half of graph (3). This halves the vertical scale.
Round scale up to next significant number.
Display graph with continuous line connecting the data points (default view).
Display the graph with horizontal lines connecting the data points.
Display the graph as hollow bar chart.
Display graph as solid bar chart.
Group several graphs together to simultaneously change the scale when using Ymax, Ymin,
,
,
, or
.
Editable Graph window
There are three ways to edit the values in a Editable Graph window.
to update the display list with the new values and redraw the corresponding graph.
to update the display list with the new values and redraw the corresponding graph.All changes need to be applied by clicking Apply All / Apply / OK for changes to take effect.
Opens Save dialog box to save data points to a text file.
Opens Print dialog box to print graph to a selected printer.
Opens context-sensitive Help for the active graph window variable.Schedule Tool windows allow for keyboard input of data by time periods in days or hours. Schedule Tool windows occur two ways in CRiSP.1. Every Editable Graph window includes a Schedule button which opens a companion Schedule Tool window for editing the data. In addition, CRiSP.1 contains Schedule Tool windows that exist separately from Editable Graph windows, for example, Powerhouse Schedule (Dam Menu).
to update the display list with the new values and redraw the corresponding graph.You can define a period to be a single day or a range of days. A single value can be applied to a range of days even if values are already specified for the days. Use the steps outlined above (create a new period) to create a new range of days.
to update the display list with the new values and redraw the corresponding graph.Schedule Tool features and functions

Schedule Tool window
Julian Day Output windows allow visualization of data calculated by CRiSP.1. The viewing features are the same as the Editable Graph; however, the Julian Day Output window has no input features. Open Julian Day Output windows by making a selection from a menu. Depending on the settings in the Mouse Tool, Julian Day Output windows can be opened from the River Map by clicking on a dam or reach. CRiSP.1 includes the following dam and reach specific Julian Day Output windows:

Julian Day Output window
Actively update the graph display for dam, reach, or headwater as the pointer moves over the location on the River Map.
Fix scale to current settings in order to visually compare graphs.
Increase vertical graph scale. Or right-click in the upper-half of graph. This doubles the vertical scale.
Decrease vertical graph scale. Or right-click in lower-half of graph. This halves the vertical scale.
Round scale up to next significant number.
Display graph with continuous line connecting the data points (default view).
Display the graph with horizontal lines connecting the data points.
Display the graph as hollow bar chart.
Display graph as solid bar chart.
Group several graphs together to simultaneously change the scale when using Ymax, Ymin,
,
,
, or
.
Closes the Julian Day Output window.
Opens Save dialog box to save data points to a text file.
Opens Print dialog box to print graph to a selected printer.
Opens context-sensitive Help for the active graph window variable.Equation Input windows allow you to view and edit equation settings and parameters which are, in effect, submodels of CRiSP.1. The response of the equation to the parameters over the possible range of the independent variable is illustrated in the equation window as each parameter is changed. Note that for equation inputs, if you alter an equation and wish to use that altered equation in subsequent model runs you must click the Apply button to activate it, otherwise the model will revert to the previously-displayed equation and values.
Equation name | Independent variable | Dependent variable migration | Julian day | migration rate in miles/day spill | % river spill | % fish passage with spill tdg saturation | spill in kcfs | % tdg sat above 100% gas mortality | % tdg sat above 100% | % mortality/day population density vs. depth | depth (ft) | density, % of population/ft fge | fish age | fish depth parameters transportation mortality | water particle travel time | % transportation mortality

Equation Input window
Equation Input features and functions
Equation Input windows contain all or a combination of these features and functions.
The Graphical User Interface of CRiSP.1 contains the Title Bar, Menu Bar, Toolbar, Status Bar, and River Map.

Main Panel of CRiSP.1
Open/Read a parameter data file into the model (see Reading Data into CRiSP.1 for details).
Save parameter data to a file (see Model Parameter Data Files for details on file types).
Print Map.
Display or hide River Map.
Display or hide Latitude/Longitude (LatLon) Grid.
UnZoom one level of zoom stack for the River Map.
Run model in Scenario Mode.
Cancel a run in either Scenario or Monte Carlo Mode.
Open Mouse Tool to redefine mouse button functions on the River Map.The River Map identifies river segments, dams, headwaters, and release sites as determined by the columbia.desc file. The majority of model variables, such as river flow or fish passage, can be accessed from any site on the map by positioning the pointer on the location and clicking a mouse button (Mouse Tool settings determine which windows open). The River Map contains the following features and functions:
Potential Release Site
Existing Release Site
Dam, Potential Transport Site
Existing Transport Site
in the Toolbar or select UnZoom from the View menu.
River Map with river segments, dams and release sites
The File menu contains general model functions and features.
Selecting File
Open opens a file selection dialog box to read data files into the model. You can use this menu option to open any data file in the proper format, either manually created or saved from CRiSP.1. You can revert to all default settings and parameter values for CRiSP.1 by using this menu option to open a Yearly Input Data File (.dat). In addition, the Open command is represented by
in the Toolbar. Several parameter data files can be read into CRiSP.1 simultaneously by using a Control File.
Selecting File
Save As opens a file selection dialog box to save part or all of the current database to a single file or to multiple parameter data files. The data files use a file name concatenated with predefined extensions (described in the Model Parameter Data Files section) identifying the type of data to be written out to that file. All the parameter information can be written out to separate data files by using a Control File. In addition, the Save As command is represented by
in the Toolbar.
The Save As function allows you to store model parameter changes, i.e. parameter values that have been set with the various input parameter tools, on disk for reuse. This gives you the flexibility to manipulate and store all data used in CRiSP.1 except flow archive data. Each parameter data file can be written separately by naming the file and choosing from the Save as type selection menu or specifying the appropriate data file extension. Currently, the Save as type selection menu is available for Windows 95/NT only.
Selecting File
Print Map opens a printer control dialog to print the River Map. In addition, the Print Map command is represented by
in the Toolbar.
You can define the function of the mouse buttons when used on the River Map by selecting File
Mouse Tool. In addition, the Mouse Tool command is represented by
in the Toolbar. Location-specific output windows can be opened by placing the pointer on the desired location on the River Map and clicking the appropriate mouse button. The Status Bar displays which Dam, Reach, or Headwater is active. The exact function of the mouse button depends on where the pointer is located, which button is pressed, and how the functions have been assigned. For example, On Release can be set to open a Release Tool or to have No Operation; the default setting opens a Release Tool window with a right-click on a Release Site. Four categories of selection are available: On Dam, On Reach, On Release, and On Headwater.
The actions of each mouse button are changed by selecting the desired function from each category. Any changes you make take effect immediately and do not need to be applied. The Middle Button selections are provided for a three-button mouse; the settings are unavailable if you are using a two-button mouse.

Mouse Tool identifies mouse button functions on the River Map
Selecting File
Message Log opens or restores the Log window. The Log window provides a number of messages from model runs. CRiSP.1 will alert you in the Log window if model operations encounter unexpected or incorrect model parameters. Error messages that warn of data problems that will cause CRiSP.1 to stop are always displayed in the Log window. You can choose which other types of messages will be displayed by choosing one or more of the options from the Logging menu in the Log window.
Please send email to "crisp-passage@cbr.washington.edu" if you have questions about any of the messages you get when running the model.
Log window features
summary.dat) and 2) any data requested by making selections in the Output Settings windows before run execution.columbia.desc file by checking if flows and cross-sectional area of segments are reasonable.Sample output showing the beginning of a Scenario Mode run summary
transportation started at Lower Granite Dam, day 92
transportation stopped at Lower Granite Dam, day 300
transportation started at Little Goose Dam, day 92
transportation stopped at Little Goose Dam, day 300
transportation started at Lower Monumental Dam, day 94
transportation stopped at Lower Monumental Dam, day 300
transportation started at McNary Dam, day 160
transportation stopped at McNary Dam, day 300
CRiSP1 Summary Output File
Mon Jun 21 10:51:58 1999
Scenario Mode
No average flows were calculated for this simulation.
Statistics fields: first day, last day, total passage, mean day
median day, mode day, std.dev day, avg.flow
bypass out, spillway out, turbine out, transport out
total in, bypass in, spillway in, turbine in, transport in
The preceding line was repeated 2 times.
Release: Dworshak Species: Steelhead Stock: Generic Start date:
119 Released: 1192503
Survival Below Lower Granite Pool
Passed: 1078314
Survival: 90.4%
stats: 120 165 1078314.38 127.03 126.33
125.00 3.45 0.00 0.00 0.00 0.00 0.00 1179277.88
0.00 0.00 0.00 0.00
Selecting File
Exit discards all unsaved changes and quits the CRiSP.1 program. If you have made changes to parameter values and settings in CRiSP.1 that you want to use at a later time, you should first save your changes to the appropriate parameter data file or save the whole database as a Yearly Input Data File (.dat). See the Save As section for further information on writing out settings and parameter values.
The View menu contains functions related to the display of the River Map.
Selecting View
UnZoom clears one level of the River Map zoom stack. In addition, the UnZoom command is represented by
in the Toolbar. This action can also be accomplished by clicking on an undefined area on the River Map. See the River Map section for more details.
Selecting View
Grid turns on or off the display of the latitude / longitude (latlon) grid on the River Map. The default setting for CRiSP.1 is to display the latlon grid. In addition, the Grid command is represented by
in the Toolbar.
Selecting View
Map turns on or off the display of the River Map. The default setting for CRiSP.1 is to display the River Map. In addition, the Map command is represented by
in the Toolbar.
The Release menu provides access to the Release Tool and its companion graph window, the Release Schedule. By opening these windows, you can create, modify, or delete releases. On the River Map,
designates the location of possible releases as defined in the columbia.desc file and
designates the location of existing releases as defined in a Yearly Input Data File (.dat) or a .rls file.
Selecting a release site from Release
New opens the Release Tool and its companion graph window, the Release Schedule, for creating a release at this site. The list of possible release sites is determined by the specifications in the River Description File (columbia.desc). See the Release Tool section for further details on creating, editing, and deleting releases.
Selecting Release
Release Tool opens the Release Tool window and its companion graph window, the Release Schedule. In these windows, you can control release parameters including the timing and numbers of fish released and their level of smolt development. You can save your release specifications to a Yearly Input Data File (.dat) or a .rls file for subsequent use (see Save As).
Details on creating, editing, and deleting releases are covered in the following sections:
New - Opens the Release Tool and editable Release Schedule window for the selected site. After a new release is created (see Create New Release section) and applied, the River Map and the Existing releases site list will automatically update to show the newly created release.
Release Tool: Opens the Release Tool and editable Release Schedule window.
or
on the River Map (unless you reconfigure the Mouse Tool).
After a new release is created and applied, the River Map and the Existing releases menu will automatically update to show the newly created release. On the River Map, if there where no previous releases specified at the release site, the release icon
will change to the existing release icon
.

Release Tool window
After an existing release is deleted and applied, the River Map and the Existing releases menu will automatically update to reflect this change. On the River Map, the release icon
will change to the possible release site icon
if there are no other releases specified at that release site.
Parameters for individual releases are set in the Release Tool window. Multiple releases can be identified for any site. Setting release parameters uses the Release Tool window and the Release Schedule graph window.

Release Tool window
Release Tool features and functions
Open the Release Schedule window, companion to the Release Tool window, by opening the Release Tool window. See the Open Release Tool section for details. In the Release Schedule window, you can change the number of fish released and the release range (the number of days over which the release is spread) following the Release Start day set in the Release Tool window. The range of the release and the number of fish released is displayed using Julian Day in the Release Schedule window. Please note that you are not actually setting release numbers to occur on specific days. CRiSP.1 will ignore attempts to set part or all of the release range before the Release Start day. After setting the range of the release, if you change the Release Start day in the Release Tool window, the whole release range will shift in respect to the change in that date (the length of the release range will remain the same). For example, if the range of the release is five days and the Release Start day is adjusted in the Release Tool window, the release will remain spread over five days. If you make changes in release counts or the number of days of release, you must click Apply for changes to take effect.
This is an Editable Graph window.

Release Schedule window, the Release Tool companion window
The Reservoir menu allows modification of predator densities, water temperature at the headwaters, and several global river parameters.
Selecting Reservoir
Reach Predator Density opens a window for setting predator densities by species for each river segment. Densities are given as number of northern pikeminnows per square kilometer of reservoir, excluding the tailrace and forebay (set in Dam
Predator Density). This measure, based on full pool dimensions, is effectively a measure of the relative number of predators in a river segment. A segment is defined as a section of river between river elements (such as dams and confluences). Predation mortality in CRiSP.1 is related to predator abundance, predator temperature response, and a predator activity coefficient. These factors combine to determine a predation rate which is applied to the smolt population on a time-step basis. To use these parameter values during a run, select Gas and Pred Mortality as the Mortality Model in Run
Runtime Settings.
This is a Slider Input window. Click on the letter tabs to page through the Reach list.
This Slider Input window includes a menu for selecting by Species. You can group sliders by: Reach (R) or Species (S).

Reach Predator Density window
Selecting Reservoir
Predator Distribution Coefficient opens a window for setting the predator distribution coefficient of the predator density/volume interaction for each river segment. The main purpose of the predator density/volume interaction is to properly scale the effect of initial predator densities on predation rate during reservoir drawdown. To use these parameter values during a run, turn on predator density / volume interaction in Run
Runtime Settings.
This is a Slider Input window. Click on the letter tabs to page through the Reach list.

Predator Distribution Coefficient window
Selecting Reservoir
Reach Gas Theta opens a window for setting the mixing parameter for dissolved gas in a specified reach. Gas Theta determines the rate of mixing between the gas levels in the left-bank and right-bank flows of the river (facing downstream). These flows often have different levels of gas upon exiting a dam and become more mixed as the river flows downstream. The mixing rate is with respect to time and is set by default to be 0.075 (mile)^-1, which leads to roughly 95% mixing after 40 miles. A value of zero for Reach Gas Theta results in no mixing between the flows and a value of 10 allows for complete mixing between the flows.
This is a Slider Input window. Click on the letter tabs to page through the Reach list.

Reach Gas Theta window
Selecting Reservoir
Gas Distribution opens a graph of the level of dissolved gas in a reach from the start of the reach to the end. Both the left-bank flow and right-bank flow levels are marked on the same graph, with the left-bank flow in red and the right-bank flow in blue. These flows often have different levels of gas upon exiting a dam and become more mixed as the river flows downstream. The total amount of gas in the reach also decreases due to the dissipation in the reach. A slider for the graph is provided to change the Julian day for which gas is displayed. The X-axis is the distance downstream in miles from the start of the reach, mile 0. The Y-axis is the gas level measured in percent above 100, the equilibrium level. For example, if saturations vary between 100% and 110%, the Y-axis will range from 0 to 10.
This window emulates an Equation Input window, but it is display only.

Gas Distribution window
Selecting a Dam from Reservoir
TDG Saturation > 100%
Dam opens a histogram of the total dissolved gas (tdg) level exiting the dam for viewing only. This corresponds to the tailrace dissolved gas level. Tdg saturation for both the powerhouse flow (red) and spill flow (blue) levels are marked on the same graph. These flows often have different levels of gas upon exiting a dam because of the gas production from spill. Consult the table below to determine whether the spill side is left or right, looking downstream, at a specific dam. Histograms of the daily tdg level are displayed in percent above 100, the equilibrium level. For example, if saturations vary between 100% and 110%, the Y-axis will range from 0 to 10.
DAM spill side
Chief Joseph right
Wells left
Rocky Reach left
Rock Island right
Wanapum right
Priest Rapids right
McNary right
John Day right
The Dalles right
Bonneville right
Dworshak left
Hells Canyon right
Lower Granite right
Little Goose right
Lower Monumental left
Ice Harbor right
This is a Julian Day Output window.

TDG Saturation > 100% for Ice Harbor Dam
Selecting a Reach from Reservoir
TDG Saturation > 100%
Reach opens a histogram of the level of total dissolved gas (tdg) exiting the reach for viewing only. Tdg saturation for both the left-bank flow (red) and right-bank flow (blue) levels are marked on the same graph. These flows often have different levels of gas upon exiting a dam because of the gas production from spill. As the water flows downstream, the level of total dissolved gas decreases due to dissipation across the air-water surface. For reaches directly above a dam, this corresponds to the forebay dissolved gas level. Histograms of the daily tdg level are displayed in percent above 100, the equilibrium level. For example, if saturations vary between 100% and 110%, the Y-axis will range from 0 to 10 with the Julian date on the X-axis.
This is a Julian Day Output window.

TDG Saturation > 100% for Columbia above Snake Confluence
Selecting a Dam from Reservoir
Water Temperature
Dam opens a histogram of water temperature at the dam for viewing only. Water temperature is set on a daily basis in the headwaters. River temperatures in downstream segments are computed according to the fractions of the incoming flow which are derived from different headwaters in the segment and the temperature of the headwaters on a given day.
This is a Julian Day Output window.

Water Temperature for Dworshak Dam
Selecting a Reach from Reservoir
Water Temperature
Reach opens a histogram of water temperature in the reach for viewing only. Water temperature is set on a daily basis in the headwaters. River temperatures in downstream segments are computed according to the fractions of the incoming flow which are derived from different headwaters in the segment and the temperature of the headwaters on a given day.
This is a Julian Day Output window.

Water Temperature for Clearwater River
Selecting a Headwater from Reservoir
Headwater Temperature opens a window for setting water temperature for the selected headwater. Headwater temperature is specified on a daily basis. Daily water temperature at a headwater is read in to CRiSP.1 as input from the Yearly Input Data File (.dat). This window can be opened by right-clicking on a headwater on the River Map (unless you reconfigure the Mouse Tool).
This is an Editable Graph window.

Headwater Temperature for Clearwater Headwater
Selecting a Reach from Reservoir
Velocity opens a histogram of the daily river velocity in miles per day for the reach for viewing only. The river velocity through a reach is calculated based on water elevation, bathymetry, and the daily flow level in the segment. Bathymetry data is read in to CRiSP.1 from the River Description File (columbia.desc).
This is a Julian Day Output window.

Velocity for Columbia Gorge
Selecting Reservoir
River Parameters opens a window for setting several parameters that are applied throughout the river system and do not depend on species or day. The model is fairly sensitive to changes in these parameters; caution is recommended when making changes to these parameters.
This is a Slider Input window.

River parameters window
The Behavior menu allows you to set coefficients that model the rate of migration and survival. These parameters are species-specific and are applied uniformly in all reservoirs.
Predation coefficients effect the rate of predation activity by northern pikeminnows on smolt for a given predator density. The coefficients are species specific and are defined separately for reaches, dam forebays and dam tailraces. Predation mortality in CRiSP.1 is related to predator abundance, predator temperature response, and a predator activity coefficient. These factors combine to determine a predation rate which is applied to the smolt population on a time-step basis.
Behavior
Predation Coef
Reach Activity opens a window for setting the predator activity coefficient which scales the maximal consumption rate to represent in situ conditions where predator-prey encounters may be less frequent, alternative prey may exist, and predators may not be feeding to satiation. Functions with settings in Reach Predator Density and Predation Temperature Response Equation to set a rate of predation mortality. To use these parameter values during a run, select Gas and Pred Mortality for the Mortality Model in Run
Runtime Settings. This is a Slider Input window.
Selecting Behavior
Predation Coef
Forebay or Behavior
Predation Coef
Tailrace opens a Slider Input window for setting the predation coefficients in dam forebays or tailraces, respectively, which effect the rate of predation activity on a species as they travel through that segment.
Each Slider Input window contains three sliders for setting mean, low, and high values by species. When the low and high values are set to zero, or when the low and high are set to the mean value, CRiSP.1 uses the mean value at all times (the term becomes deterministic). When the low and high values are not equal, CRiSP.1 uses the mean, low and high values to randomly generate a value when executed with variance suppression turned off in the Runtime Settings window under the Run Menu. With variance suppression turned on, CRiSP.1 uses the mean value and ignores the high and low values. In either case, the mean value must lie within the central two quartiles of the distribution (i.e., the middle 50%). For example, if the low value is set to 0 and the high value is set to 100 then the mean value must be set between 25 and 75. If values are set that do not conform to this restriction, CRiSP.1 will abort the run and generate an error message in the Message Log (if open) specifying which species have bad parameters.
ERROR: bad stochastic param reach pred coeff for Chinook 0.
-->mean not in range 12.386550 <= mean <= 17.341249
ERROR: aborting run due to bad parameter values.
Slider Input window features.

Predation Coefficient Reach, Forebay and Tailrace windows
Selecting Behavior
VVar opens a window for setting the migration variance parameter which describes the along-stream spreading of a group of fish migrating through the river segments. This value is held constant over the year. It is also called the velocity variance parameter.
This is a Slider Input window. Click on the letter tabs to page through the species and stock list.

VVar window
Selecting Behavior
Migration Rate Variance opens a window for setting the variability of the velocity of each stock. This window contains three sliders for each stock, denoting a mean, low, and high value. These values produce the envelope around the velocity for each release of each stock: a larger envelope around the mean value means that stock velocity is highly variable from model run to model run. Migration rate variation differs from VVar in that it applies to the entire stock and produces variation in velocity on a game by game basis. VVAR, conversely, operates to produce "spread" in a release over the entire course of migration.
Warning. The impact of large variance in velocity can be substantial; it is not recommended to alter the calibrated values of migration rate variance.
Migration rate variance is defined by a piecewise linear distribution within the range identified by low and high values. When the low and high values are set to zero or when the low and high are set to the mean value, CRiSP.1 uses the mean value at all times (the term becomes deterministic). When the low and high values are not equal, CRiSP.1 uses the mean, low and high values to randomly generate a value when executed with variance suppression turned off in the Runtime Settings window under the Run Menu. With variance suppression turned on, CRiSP.1 uses the mean value and ignores the high and low values. In either case, the mean value must lie within the central two quartiles of the distribution (i.e., the middle 50%). For example, if the low value is set to 0 and the high value is set to 100 then the mean value must be set between 25 and 75. If the mean value does not conform to this restriction, CRiSP.1 will abort the run and generate an error message in the Message Log (if open) specifying which species or stocks have bad values.
This is a Slider Input window. Click on the letter tabs to page through the species and stock list.

Migration Rate Variance window
Selecting Behavior
Predation Temperature Response Equation opens a window for setting the temperature response component of predator activity which determines maximum consumption rates as a function of temperature. These functions are based on laboratory experiments. Predation mortality in CRiSP.1 is related to predator abundance, predator temperature response, and a predator activity coefficient (see the Predation Coef section for further details). These factors combine to determine a predation rate which is applied to the smolt population on a time-step basis. There are three choices for Predation Temperature Response Equation: two exponential forms and a sigmoidal form. In the sigmoidal form (the recommended equation), the variables are as follows:
This is an Equation Input window.

Predation Temperature Response Equation window
Selecting Behavior
Migration Equation opens a window for setting the migration rate equations for each stock. Several migration rate equations are available, ranging from a simple model with a constant migration rate to a more complex model which relates migration rate to river velocity, date in the season, and downstream acceleration. In addition, other equations relate migration rate to fish length and temperature. For the given stock, the parameter sliders in the equation window change the shape of the migration pattern in well-defined ways.
Migration rate equations parameter definitions
In addition to parameters that vary the migration rate parameters, you may vary covariates that affect migration rate. These covariates are varied in the display only.
This is an Equation Input window.

Migration Equation window
Selecting Behavior
Gas Mortality Equation opens companion windows, the Gas Mortality window and the Population Density vs. Depth window. These two windows are interrelated, and together define the mortality due to gas relationship. The average gas mortality for a reach is calculated by averaging over all gas levels in a reach and also using a fish depth distribution. There is roughly a three percent per foot compensation for every foot below the surface. The average is computed by multiplying the gas mortality equation by the fish depth distribution and integrating over the length and depth of the reach. The percent mortality per day for the reach is a flow-weighted average of the mortality in each flow.
The Gas Mortality window displays the average mortality due to gas for each species in a reach specified by a set of adjustable parameters. Gas Mortality is displayed in %mortality/day versus the percent of dissolved gas saturation above 100 in the right-bank flow. The Gas Mortality Equation uses the following parameters:
The remaining parameters in this window are for display purposes only in order to describe and display attributes of a reach that affect its average gas mortality rate:
This is an Equation Input window.

Gas Mortality Window
Selecting Behavior
Gas Mortality Equation opens companion windows, the Gas Mortality window and the Population Density vs. Depth window. These two windows are interrelated, and together define the mortality due to gas relationship. The average gas mortality for a reach is calculated by averaging over all gas levels in a reach and also using a fish depth distribution. There is roughly a three percent per foot compensation for every foot below the surface. The average is computed by multiplying the gas mortality equation by the fish depth distribution and integrating over the length and depth of the reach. The percent mortality per day for the reach is a flow-weighted average of the mortality in each flow.
The Population Density vs. Depth window uses three parameters to describe the depth profile for each stock modeled, where:
This is an Equation Input window.

Population Density vs. Depth window
Selecting Behavior
Simple Mortality Equation opens a window for setting the parameters used in the Simple Mortality Model based on the FLUSH Model (see CRiSP.1 in Context with Other Models). In the Simple Mortality Model, reservoir survival is a function of fish travel time. To use these parameter values during a run, select Simple Mortality for the Mortality Model in Run
Runtime Settings. There are four choices for the Simple Mortality Equation of the form,
Survival = 1/ ((FTT^B) * (exp(A*FTT)-1)+1
where:
This is an Equation Input window.

Simple Mortality equation window
Marmorek, D.R., et al. 1996. Plan for Analyzing and Testing Hypotheses (PATH): Final report on the retrospective analysis for fiscal year 1996. Compiled and edited by ESSA Technologies Ltd., Vancouver, B.C.
Selecting Behavior
FLUSH Transport Merit Equation opens a window for setting the parameters used in the Simple Mortality Model based on the FLUSH Model (see CRiSP.1 in Context with Other Models). To use these parameter values during a run, select Simple Mortality for the Mortality Model in Run
Runtime Settings. The Y-axis is the merit of transport value D and the X-axis is the percent survival. There are four choices for the FLUSH Transport Merit Equation--used in PATH for spring chinook (Marmorek 1996)--where:
This is an Equation Input window.

FLUSH Transport Merit Equation window
Marmorek, D.R., et al. 1996. Plan for Analyzing and Testing Hypotheses (PATH): Final report on the retrospective analysis for fiscal year 1996. Compiled and edited by ESSA Technologies Ltd., Vancouver, B.C.
The Flow menu controls input of flows to the river system at headwaters, removal of water for irrigation, and changes in both the reservoir and river segment elevation levels. The computation of flow in any river segment depends on the way CRiSP.1 is run.
In the Scenario Mode, flows in all river segments are determined from the flows generated in headwaters and flow inputs and losses in each river segment from irrigation. Outflows from storage reservoirs are specified according to the volume constraints of the reservoirs. Finally, river flows are produced using the downstream propagation algorithm which combines storage reservoir flows and unregulated headwater flows.
In Monte Carlo Mode, average flows over defined periods at the dams are read as input from flow archive files produced by hydroregulation models. The period average flows are then modulated to give simulated daily flows at the dams. Using this information, flows in the headwaters are calculated with an upstream propagation algorithm. Finally, flows through river segments are calculated from the headwaters with the downstream propagation algorithm.
Selecting a Dam from Flow
Dams opens a flow histogram at the dam for viewing only. Flows at dams are determined by input flows specified at the headwater and losses over intervening reaches. You can edit headwater Flows or reservoir Flow Loss, but not the flow at the dam. In addition, flow output windows can be opened by configuring the Mouse Tool and selecting a dam on the River Map.
This is a Julian Day Output window.

Flow at Bonneville Dam
Selecting a Reach from Flow
Reaches opens a flow histogram at the reach for viewing only. Flows at reaches are determined by input flows specified at the headwater and losses over intervening reaches. You can edit headwater Flows or reservoir Flow Loss, but not the flow at the reach. In addition, individual output windows can be opened by configuring the Mouse Tool and selecting the reach on the River Map.
This is a Julian Day Output window.

Flow at Hanford Reach
Selecting a Headwater from Flow
Headwater
Flows opens a window for setting flows for the selected headwater for Scenario Mode runs. Headwater flows are specified on a daily basis. These are combined at confluences to produce flows through all segments of the river system. Flows at dams are determined by input flows specified at the headwater and losses over intervening reaches. You can change the headwater flows or the reservoir losses, but not the flow at the dams.
The mode used to run CRiSP.1 determines how headwater flow is created. In Scenario Mode, flows can also be randomly set by using the Headwater Modulation function. In Monte Carlo Mode, headwater flows can be calculated from flows at the dams as input by the flow.archive file.
This is an Editable Graph window.

Flow Submenus
Selecting Flow
Headwater
Unregulated Max opens a window for allocating flows to unregulated headwaters, that is streams with a confluence downstream of a dam. This is a 100-year flow used to determine how flow is distributed among unregulated headwaters in the Monte Carlo Mode, when flows at the dams are specified. It is not used as a limit and will be automatically reset to the maximum flow placed, if greater than the initial value assigned. Default values are determined by relative cross-sectional areas of the streams.
This is a Slider Input window.

Headwater Unregulated Flow Maximum window
Selecting a Reach from Flow
Loss opens a window for setting flow loss for the selected river segment. Flow loss in each segment is the loss of flow due to withdrawal, mainly from irrigation, on a daily basis or groundwater input on a daily basis. In the Loss window, positive values represent withdrawals and negative values represent return flows.
The loss data in a segment represents the change in flow that occurs between the flow input (calculated from the flow of upstream segments) and the flow output (stored as data in the segment). Where not specified, flow loss is set to zero.
This is an Editable Graph window.

Flow Loss window for Columbia above Snake Confluence
Selecting a Reach from Flow
Elevation opens a window for setting the elevation of the selected reach on a daily basis. For storage reservoirs, see Reservoirs. In Scenario Mode, the values set in this window are used to control the reservoir elevation. In Monte Carlo Mode, the reservoir elevation can be input from the Flow Archive File if it contains reservoir elevation, otherwise, it is taken from the specified Yearly Input Data File.
This is an Editable Graph window.
columbia.desc file, full pool reservoir elevations are defined using forebay_elevation and tailrace_elevation. Reservoir elevations may be computed from volume and surface area if no other information is present. They may also be input directly as average depth using the depth token.
Runtime Settings causes predator density to increase with elevation lowering. This increase may counteract the benefits of faster migration velocity and may result in no change in smolt survival.
Elevation window for McNary Pool
Selecting a Reservoir from Flow
Reservoirs opens two windows, Basin Volume and Outflow, for the selected storage reservoir. Flow out of storage reservoirs is set by specifying either daily outflow (in kcfs) in the Outflow window or daily volume of the storage reservoir in kilo-acre feet (kaf) in the Basin Volume window. The Basin Volume window takes into account the amount lost to outflow and the amount added by inflow and runoff. These are Editable Graph windows.
In Scenario Mode, flows from storage reservoirs such as Dworshak, Chief Joseph, and Hells Canyon are controlled through these two windows and interact with the headwater flow (accessed through the Headwaters submenu). The input flow (output flow from the headwater), outflow, and volume values set by these windows are constrained as follows:
Adjusting storage reservoir flows is an interactive process. Outflow and volume are modified according to the above constraints given the input flow. When either the Outflow or the Basin Volume are adjusted with the mouse buttons, both windows are updated immediately when the mouse button is released. These windows allow you to examine the effect of adding new storage to the system, applying a water budget using existing storage, or pulsing outflow from storage facilities. To update the effect of a new input flow on storage reservoir volume, run the Scenario Mode of CRiSP.1. The three windows -- Basin Volume, Outflow, and Flow -- will be updated according to the constraints.

Basin Volume, Outflow and Input Flow windows for Dworshak to control storage reservoir flows
Selecting Flow
Headwater Modulation opens a window for setting overall water availability in the system relative to an average water year for Scenario Mode runs. Setting the water year level as a proportion of the mean flow and computing flows places modulated flows into all the headwaters. The slider for proportion of mean flow sets the total available water as the fraction of an average water year. The average water year (proportion of the mean flow set to 1) is the total runoff as determined from flows over the 1980's. You can determine how wet or dry the year is during a Scenario run. The proportion of mean flow can be set from 0 (extremely dry) to 2 (extremely wet). This scaling factor applies to all unregulated headwaters.
Caution. Changing this value causes flows to change, perhaps dramatically, throughout the model.
This is a Slider Input window.

Headwater Modulation window
The Dam menu includes many parameters that can be altered at each dam. These elements can be applied to specific dams and in some instances to specific species.
Selecting Dam
Transport opens the Transport Tool. By using the Transport Tool, you can control transport parameters which include the timing and numbers of fish transported. You can specify transportation of fish from any transport point (dam) to any river segment downstream. On the River Map, the
icon designates the location of possible transport sites and the
icon designates the location of existing transports as defined in a Yearly Input Data File (.dat) or a .dam file.
Note. Rules of transportation are made to conform to the regulations according to the Fish Passage Plan for 1991. (Corps of Engineers Projects, US Army Corps of Engineers North Pacific Division report CENPD-PE-WM March 1991.)
Steps for creating, deleting, and editing transports are covered in the following sections:
Transport,After a new transport is created and applied, the River Map and the Existing Transport list will automatically update to show the newly created transport. On the River Map, the dam icon
will change to the transport icon
.
TransportAfter a transport is deleted and the changes are applied, the River Map and the Existing Transport list will automatically update to reflect this change. On the River Map, the transport icon
will change to the dam icon
.
Parameters for each transport are set in the Transport Tool window. Each element of the Transport Tool window is described below. There are several ways to edit each slider in this window.

Transport Tool window
Transport Tool features and functions
Selecting Separation Success Fractions from the Transport Tool window allows you to set the percent of each species returned to the river at each dam when separating. See the Set Transport Parameters section for details on setting other transportation parameters.
This is a Slider Input window where the slider value for a specific species can be "grouped" for all dams using the D check box. This allows you to simultaneously set the separation probability for Chinook 0 to the same value at all dams.

Separation Success Fractions window
Selecting Dam
Transport Mortality Equation opens a window for specifying a relationship between water particle travel time (WPTT) and transport survival. The relationship is based on the assumption that changes in flow affect how well fish survive transportation. You can set four parameters in the Transport Mortality Equation window:
Between tt1 and tt2, CRiSP.1 interpolates in a linear fashion. This is an Equation Input window.

Transport Mortality Equation window
Selecting Dam
Spill Efficiency opens a window for setting parameters that describe the efficiency of passing fish with spill water at dams. Spill efficiency is set for each dam on a species-specific basis. The spill efficiency equations are of the form, Y = f (X: a, b, c, e), where:
The average efficiency is displayed by a red line in the equation window and the blue lines determine the bound for the variance as set by var. This is an Equation Input window.

Spill Efficiency equation window
Selecting a Dam from Dam
Spill opens a spill fraction histogram at the specified dam for viewing only. Spill refers to water that flows over the top of the dam.
Caution. Care must be taken to distinguish between the displayed day-averaged spill percentage (this window) and the percentage of instantaneous flow that is to be spilled during spill hours (set in the Spill Schedule windows).
This is a Julian Day Output window.

Spill Fraction for The Dalles Dam
Selecting Dam
Spill Schedule opens two companion windows, Planned Spill Days and Preferred Fish Spill Periods. You can adjust spill operations at dams using these two windows. Spill refers to water that flows over the top of the dam.
CRiSP.1 considers three types of spill: Planned Spill, Overgeneration Spill, and Forced Spill. The Scenario Mode considers Planned Spill and Forced Spill only. In the Monte Carlo Mode, Overgeneration Spill is obtained from the flow.archive file, and Planned Spill can be obtained from the flow archive file or set with the Spill Schedule windows. It is recommended that Planned Spill be set with the Spill Schedule windows--Planned Spill Days and Preferred Fish Spill Periods--when making Monte Carlo runs by selecting "user data" as the source for Planned Spill in the Monte Carlo window.
flow.archive files and is defined over periods of either two weeks or one month.Selecting Dam
Spill Schedule opens the Planned Spill Days window and its companion window Preferred Fish Spill Periods for adjusting spill operations at dams. The Planned Spill section discusses how the settings in these two windows work together. The Planned Spill Days window controls Spill Fraction, the fraction of river flow spilled on an instantaneous basis, and Planned Spill Days, the Julian days when spill fractions are planned as part of the water budget and spill allocation agreements.
This is a Schedule Tool window with the following features:
to transfer the values from the text boxes back into the Spill Days list.The new/modified values only take effect after clicking Apply / Apply All / OK. Click Reset / Reset All / Cancel to revert back to the last saved values.

Planned Spill Days window
Selecting Dam
Spill Schedule opens the Preferred Fish Spill Periods window and its companion window Planned Spill Days for adjusting spill operations at dams. The Planned Spill section discusses how the settings in these two windows work together. The Preferred Fish Spill Periods window controls Fish Spill Days, the Julian days when spill is allocated for fish passage, and Fish Spill Hours, the hours of the day when water will actually be spilled.
This is a Schedule Tool window with the following features:
In the figure below, fish spill is identified for days 0 to 365 and fish spill hours 0 to 24 (fish spill operates all day, all year-round). Use the Start Day, Stop Day, Start Hour, and Stop Hour text boxes to create new periods or modify existing preferred fish spill periods. In order to set periods where fish spill is not occurring, you must clear the Preferred check box and set the values for Start Day, Stop Day, Start Hour, and Stop Hour during which fish spill is not to occur. For example, if you want fish spill to only occur at night and not during the day hours (6-18):
to transfer the values from the text boxes to the Spill Days and Spill Hours list.The new/modified values only take effect after clicking Apply / Apply All / OK.

Preferred Fish Spill Periods window
The separation of Planned Spill Days and Preferred Fish Spill Periods is an arbitrary convention that arose out of the 1989 Spill Agreements. In practice, the spill fraction should be indicated in the fish spill days and planned spill days should be eliminated; however, this is not the way the agreement was written.
The relationship between these spill operation variables is illustrated in the figure below. Planned Spill Days allocate a certain fraction of the river flow to be spilled during specified blocks of days as given in the water budget. Different fractions can be set for different blocks of days. Preferred Fish Spill Periods, however, indicate the actual days that spill will occur. The Fish Spill Hours specify blocks of time in each Fish Spill Day when spill occurs. In the example below, two Planned Spill Day periods are given. In the first period 50% of the daily averaged flow is planned to be spilled between Julian Day 0 and 100 and in the second period 70% spill is planned between day 125 and 300. These spills are computed as percentages of the average flow over the day. In this example, Fish Spill is identified for Julian Days 50 to 75 and 150 to 300. Spill will be 50% and 70%, respectively, of the daily averaged flows during these periods. The spill planned during days 125 and 150 will not occur. The Fish Spill Days period 150 to 300 has Fish Spill Hours 0 to 12.

Schematic of possible Planned Spill variables
Note. In the example above, the second spill period demands 70% of total river flow, but only allocates 12 hours per day to spill it in. This will produce a warning message from CRiSP.1 since the model will be unable to achieve the 70% spill requirement by spilling only 50% of the time. Users should be careful to make their spill requests consistent with realistic dam operations.
Selecting Dam
Spill Cap opens a window for setting a maximum flow which can be passed over the spillway at each dam. Spill Cap only applies to Planned Spill; if Forced Spill (see Spill Schedule section) requires exceeding the spill cap, the cap is ignored.
This is a Slider Input window. Click on the letter tabs to page through the list of dams.

Spill Cap window
Selecting Dam
Predator Density opens a window for setting predator densities by species in the forebay and tailrace at each dam (reaches are set in Reservoir
Reach Predator Density). Predator numbers are expressed on a square kilometer basis. This function accounts for the increase in predator density at the dam relative to densities in the reservoirs. As forebay and tailrace depths change with pool elevations, the predator density can be specified to adjust according to the change in depth from full pool by turning on predator density / volume interaction in Run
Runtime Settings.
This is a Slider Input window. Click on the letter tabs to page through the list of dams. This slider input window groups forebay values separately from tailrace values.
This Slider Input window includes menus for selecting by Dam and by Species. You can group sliders by Dam (D) or Species (S).

Dam Predator Density in forebay and tailrace
Selecting Dam
Predation Probability opens a window for adjusting the predation rate to some fraction below the maximum rate for each dam and species. Since predators typically use visual cues to find and capture prey, light levels should effect the rate of predation of fish in the forebay of the dam. Since dam passage varies between day and night, CRiSP.1 allows for the probability of predation to change over a 24 hour period in dam time increments (6 hours). A diel variation in reservoir predation is not applied since CRiSP.1 only uses two time steps over the day for reservoirs.
This is a Slider Input window.
This Slider Input window includes menus for selecting by Dam and by Species. You can group sliders by: Time-Step (T), Dam (D), or Species (S).

Dam Predation Probability window
Selecting Dam
TDG Saturation Equations opens three gas production equation windows--Day, Night and Backup--for defining the production of total dissolved gas supersaturation due to spilling at dams. The relationship between spill in kcfs and total dissolved gas above 100% saturation in the water is illustrated in the equation windows.
Operations at many dams differ during the day and night hours as a result different gas production equations are specified for each dam. Night is defined as hours 0-6 and 18-24 in the model. If the gas production characteristics are not significantly different for Night and Day, then these equations are specified to be the same.
The Backup equation is intended to supply a third equation in case the spill value falls out of a reasonable range for the equations provided for Day and Night characteristics. For example, the linear equations work best for McNary and Bonneville under normal spill operations; however, extremely high spills could create gas levels too high in an unbounded linear equation. Spill values less than lb (lower bound) or greater than ub (upper bound) determine the switch to the Backup equation.
There are six different gas production curves to choose from in each of the gas production windows. Bounded Linear and Bounded Exponential are the new and recommended production equations. Gas spill 1, Gas spill 2, and the other two equations offer other choices for gas production characteristics but are not implemented at any dam. The Gas spill equations have been the calibrated equations in previous versions of CRiSP.1. In general, the gas production equation parameters have been calibrated to existing data sets, and we recommend that you do not alter these values.
These are Equation Input windows.

TDG Supersaturation Equation windows
Selecting Dam
Dam Gas Theta opens a window for setting the mixing parameter Gas Theta for each dam. This mixing parameter determines the level of mixing between the left-bank and right-bank flows in the tailrace of the dam and the resulting gas levels in each flow upon exiting the dam. This essentially determines the amount of mixing between the spill flow and the powerhouse flow in the tailrace. See the TDG Saturation > 100%: Dam section to determine whether the spill side is left or right, looking downstream, at a specific dam. Setting Gas Theta to zero results in no mixing between the spill and powerhouse flows and a value of 10 allows for complete mixing between the flows.
Gas Theta is different from K Entrain in that it determines how much mixing is happening between the powerhouse and spill flows in the tailrace where as K Entrain determines how much more gas is added to the system. Gas Theta will result in an exchange of gas between flows but the total amount of gas remains the same.
This is a Slider Input window. Click on the letter tabs to page through the list of dams.

Dam Gas Theta window
Selecting Dam
K entrain opens a window for setting the entrainment coefficient at a dam. K entrain determines how much additional gas is added to the powerhouse flow in the tailrace as a function of the amount of water going over the spillway into the tailrace of the dam and the spill flow gas level. The higher the amount of spill the more gas that is added to the powerhouse flow with the level of total dissolved gas (tdg) in the powerhouse flow ranging from the forebay tdg level to the tdg level in the spill flow. A K entrain value of zero results in no entrainment and the powerhouse flow will exit the dam at the same gas level it entered. A value of 10 results in maximum entrainment and the powerhouse flow will exit the dam at the same gas level that the spill produced in the spill flow.
K entrain is different from the Dam Gas Theta in that it determines how much more gas is added to the system where as the mixing parameter Gas Theta determines how much mixing is happening between the powerhouse and spill flows in the tailrace. Gas Theta will result in an exchange of gas between flows but the total amount of gas remains the same.
This is a Slider Input window. Click on the letter tabs to page through the list of dams.

K Entrain window
Selecting Dam
Delay Equation opens the Passage Delay window which displays the passage probability in six hour intervals. The Delay Equation is a CRiSP.1 submodel that delays fish at a dam depending on the species, time of day, season, and flow. The delay is expressed in terms of a passage probability, not in terms of observed passage. The probability of passage depends on the model parameters; in all cases, increasing the parameters decreases the probability of delay and thus time spent in the forebay. The parameters are:
Several factors which affect delay are included in the display. Adjusting these factors does not change model data.
This is an Equation Input window.

Dam Passage Delay window
Selecting Dam
Powerhouse Capacity opens a window for setting how much flow each dam can put through its powerhouse before being forced to spill the remaining flow. Dams differ in their design, and different dams can accommodate differing amounts of flow through each powerhouse before being forced to spill excess flow.
This is a Slider Input window. Click on the letter tabs to page through the list of dams.

Powerhouse Capacity window
Selecting Dam
Powerhouse Schedule opens a window for setting the days and hours in which any powerhouse is used. Dams with two powerhouses can operate on a schedule to optimize survival during the fish passage season. The strategy is to operate the highest priority powerhouse up to its hydraulic capacity, then spill water up to another level called the spill threshold (set in Powerhouse Spill Thresholds window). Above this threshold, the second powerhouse is used. If the hydraulic capacity of the second powerhouse is exceeded, excess flow is spilled. For times when the second powerhouse is not scheduled, the spill threshold is not applied and all flow exceeding the hydraulic capacity of the first powerhouse is put into spill only. In the example, the Bonneville Dam primary powerhouse (set in Powerhouse Priority window) is on all day, every day.
In the figure below, the powerhouse is set to operate all day, all year-round. Use the Start Day, Stop Day, Start Hour, and Stop Hour keyboard input boxes to create new periods or modify existing periods of activity. In order to have periods where the powerhouse is not in operation, you must clear the On check box and set Start Day, Stop Day, Start Hour, and Stop Hour for the period in which powerhouse operations are not to occur. For example, if you want the powerhouse to operate only at night and not during the day hours (6-18):
to transfer the values from the text boxes to the Day List and Hour List.The new/modified values only take effect after clicking Apply / Apply All / OK.
This is a Schedule Tool window.

Powerhouse Schedule window
Selecting Dam
Powerhouse Priority opens a window for setting which powerhouse is designated the primary powerhouse. There are two dams that require a primary powerhouse to be set: Bonneville Dam and Rock Island Dam.

Powerhouse Priority window
Selecting Dam
Powerhouse Spill Thresholds opens a window for setting the maximum amount of spill allowed (in kcfs) at each primary powerhouse, set in Powerhouse Priority window, before the secondary powerhouse is used.
This is a Slider Input window.

Powerhouse Spill Thresholds window
Selecting Dam
Mortality opens a window for setting the fish mortality rates for each dam and species in the various passage routes: spillway, bypass, turbine, and transport. Transportation mortality can be altered using parameters available in the Transport Mortality Equation window.
The probability distribution of mortality for each passage route is defined by a piecewise linear distribution within the range identified by low and high values. When the low and high values are set to zero or when the low and high values are set to the mean value, CRiSP.1 uses the mean value at all times (the term becomes deterministic). When the low and high values are not equal, CRiSP.1 uses the mean, low and high values to randomly generate a value when executed with variance suppression turned off in Runtime Settings (Run Menu). With variance suppression turned on, CRiSP.1 uses the mean value and ignores the high and low values. In either case, the mean value must lie within the central two quartiles of the distribution (i.e., the middle 50%). For example, if the low value is set to 0 and the high value is set to 100 then the mean value must be set between 25 and 75. If the mean value does not conform to this restriction, CRiSP.1 will abort the run and generate an error message in the Message Log (if open) specifying which species at which dams have bad values.
This is a Slider Input window. In this slider input window, you can group sliders by: Dam (D) or Species (S). If you group sliders by Dam (D), you are modifying the mean, low or high value for the corresponding passage routes for the specified Species at all dams. If you group sliders by Species (S), you are modifying the mean, low or high value for the corresponding passage routes at the specified Dam for all species.

Dam Mortality window
Selecting Dam
FGE opens a window for defining the fish guidance efficiency of the bypass systems at dams for day and night periods.
One of two possible functional relationships can be specified for fge: constant fge or time varying fge (see FGE Equation). When age dependent fge is turned off (Run
Runtime Settings), the model will use the constant fge condition and the values set in this window. Day and night fge then vary randomly on each dam time interval according to a fixed probability distribution, i.e. the distribution has no seasonal trend. Fge is specific to a given dam and species and its random variations occur for each dam time interval (6 hours).
The probability distribution of constant fge is defined by a piecewise linear distribution within the range identified by the low and high values. When the low and high values are set to zero, or when the low and high are set to the mean value, CRiSP.1 uses the mean value at all times (the term becomes deterministic). When the low and high values are not equal, CRiSP.1 uses the mean, low and high values to randomly generate a value when executed with variance suppression turned off (Run
Runtime Settings). With variance suppression turned on, CRiSP.1 uses the mean value and ignores the high and low values. In either case, the mean value must lie within the central two quartiles of the distribution (i.e., the middle 50%). For example, if the low value is set to 0 and the high value is set to 100 then the mean value must be set between 25 and 75. If values are set that do not conform to this restriction, CRiSP.1 will abort the run and generate an error message in the Message Log (if open) specifying which species at which dams have bad values.
The probability distributions for day and night fge set in this window are used in the calculation of time varying fge and the night fge values are displayed in the FGE Equation window. Changes applied to the probability distributions will automatically update the display in the FGE Equation window.
This is a Slider Input window.

Fge window
Selecting Dam
FGE Equation opens a window for setting parameters for time varying fge which differs from constant fge set in the FGE window. In order to execute a model run using the time varying fge condition, you must turn on age dependent fge (Run
Runtime Settings). When the model is run under this condition, day and night fge change randomly for each dam time interval (6 hours) according to probability distributions that change with fish age and reservoir elevation. Variations in fge from the initial condition depends on Julian day, the day since the onset of smoltification, set in the Release Tool window, and reservoir elevation for each day, set in the Elevation window. The FGE Equation window displays the values for night fge only; however, both day and night values are calculated using the parameters set in this equation window as well as the mean, low and high fge values set in the FGE window. The difference between day and night fge is determined by the sliders describing the probability distribution in the FGE window. Changes applied to the probability distribution will automatically update the display in the FGE Equation window. In the FGE Equation window, mean fge is depicted as a red line and the blues lines designate the low and high values. Fge is plotted against fish age relative to the onset of smoltification. To coordinate effects of age dependent behavioral factors in fge and the seasonal dependent reservoir level factor, you must select the Julian day of the onset of smoltification. The fge submodel parameters are as follows:
This is an Equation Input window.

Night Fge Equation window.
CRiSP.1 computes daily fish passage on a release-specific basis for all river segments and dams. In CRiSP.1, passage and survival of fish through a reservoir is expressed in terms of the fish travel time through the reservoir, the predation rate in the reservoir, and a mortality rate resulting from fish exposure to total dissolved gas supersaturation, an effect called Gas Bubble Disease. Fish enter the forebay of a dam from the reservoir and experience predation during delays due to diel and flow related processes. They leave the forebay and pass the dam mainly at night through spill, bypass or turbine routes, or the fish are diverted to barges or trucks for transportation. Once they leave the forebay, each route has an associated Mortality rate and fish returning to the river are exposed to predators in the dam tailrace before they enter the next reservoir.
The Passage menu provides access to passage histograms for each reach and dam in the model and for each of the four dam passage methods: bypass, turbine, spillway, and transport. Passage histograms are also accessible by clicking on the desired location of the River Map (unless the Mouse Tool options have been redefined). In order to view passage data and histograms, the desired passage output data must be specified before running CRiSP.1.
Passage
Dam: Opens fish passage histogram for selected dam.
Passage
Reach: Opens fish passage histogram for selected reach.
Bypass
Dam: Opens fish passage histogram for fish traveling through the bypass route at the dam.
Turbine
Dam: Opens fish passage histogram for fish traveling through the turbines at the dam.
Spillway
Dam: Opens fish passage histogram for fish traveling through the spillway at the dam.
Transport
Dam: Opens fish passage histogram for fish transported from the dam.All Passage menu windows include a couple features which are not found in other Julian Day Output windows. Each passage histogram includes a species menu (1) in the upper-right corner of the window which allows you to view the survival and timing data for each species individually (Chinook 0, Chinook 1, or Steelhead) or for All species combined at the dam or reach. The default view is all species combined. Below the X-axis of the graph is the line "total passage # = %." This is the total number of fish passing the selected point--dam or reach--for each day (2) and the percentage of the total number of fish released for the entire system that pass through the selected point (3). For example, in a run where the total number of fish released is 1,000,000 and total passage at Bonneville Dam is 281,029, then the passage at Bonneville Dam is 28% of the total number of fish released. When you view passage for a specific species the percentage is of the total number of species released. If you are viewing Spillway, Bypass, Turbine, or Transport Passage, the percentage shown is the percent of the total number of fish released.

Passage for Bonneville Dam
The Run menu contains selections related to running CRiSP.1 in both Scenario Mode and Monte Carlo Mode.
Selecting Run
Run Scenario executes a Scenario Mode run using the data currently stored in the model. The data is a combination of parameter data read into the model and any changes in settings you have applied. In addition, the Run Scenario command is represented by
in the Toolbar. Scenario Mode is used for determining migration and survival for a single year at a time. The model can be run in the Scenario Mode using its default settings as determined by base.dat. Normally, the default settings are replaced by reading user-specified parameter data into the model, selecting release sites, and running CRiSP.1. The results can be viewed in Passage Histograms, and statistical results can be viewed in the Message Log or in the summary.dat file which contains results from the most recent Scenario Mode run.
base.dat file when initially opened unless otherwise specified by command line options. Other parameter data can be read into the model by selecting File
Open or by clicking
. The CRiSP.1 distribution includes the "yearly.data" directory which contains .dat files with actual data for each year from 1965 to the present. All changes applied during a session will be used in the Scenario Mode run. In order to save changes made to parameter data and settings for another session, use the Save As feature to save parameter data files or the whole database to a file.
on the River Map to open a Release Tool or by selecting Release
New. Existing releases are represented by
on the River Map. See the Release Tool section for further information on creating, deleting, and editing releases.
Transport. See the Transport Tool section for further information on creating and editing transports. Existing transports are represented by
on the River Map.
Output Settings.summary.dat file. Only one flow point can be specified.
Runtime Settings and setting the runtime options you want.
Message Log.
Run Scenario or clicking
.You can produce the same output parameters from a model run during another session by saving output settings and runtime settings to a .cnf file.
CRiSP.1 can be run in batch scenario mode from a shell which would otherwise not be able to run the model using the graphical user interface. Please see the Running in Batch Mode section for special instructions on running CRiSP.1 in batch mode.
crisp1crisp1 -bscrisp1batcrisp1bat -s -c batch.cnfcrisp1 (redirects both output streams to the same file)crisp1 -bs -f batch.dat 1>output.txt 2>&1crisp1b (redirects output streams to shell)crisp1b -s -r columbia.descSee the Starting from the Command Prompt section for further information on command prompt options for CRiSP.1.
Warning. Do not quit while the model is running.
Results produced by executing CRiSP.1 in Scenario Mode are written to the summary.dat file and the Message Log which includes survival and travel time information for all selected points. Reports of parameter values used during the most recent Scenario Mode run can be generated from the Input Data Report window (Analysis menu).
To see the number of fish passing a river segment or dam each day, the cumulative number that eventually pass over the whole season, and percent survival on a species-specific basis open Passage Histograms by clicking the desired river segment or dam on the River Map.
Information generated from the run is written to the summary.dat file and the Message Log. The output begins with each Release followed by the survival information for each passage point requested (see Run Scenario Mode Interactively). Following the release survival information is a summary statement for all releases. Any other data you selected in Output Settings, e.g. water temperature, will follow all the release and survival information.
Release
Survival Below Reach or Dam Passage Point for Specific Release
Summary for all Releases
Statistics fields:
Sample portion of the summary.dat file
CRiSP1 Summary Output File
Wed Jun 23 10:49:36 1999
Scenario Mode
McNary Dam was used as the average flow indicator.
Statistics fields: first day, last day, total passage, mean day
median day, mode day, std.dev day, avg.flow
bypass out, spillway out, turbine out, transport out
total in, bypass in, spillway in, turbine in, transport in
Release: Dworshak Species: Steelhead Stock: Generic Start date:
119 Released: 1192503
Survival Below Lower Granite Pool
Passed: 1078314
Survival: 90.4%
stats: 120 165 1078314.38 127.03 126.33
125.00 3.45 238.74 0.00 0.00 0.00 0.00
1179277.88 0.00 0.00 0.00 0.00
Survival Below Lower Granite Dam
Passed: 229929
Transported Out:783159
Vn: 0.140
FLUSH D: 0.272
Survival: 19.3%
stats: 120 160 229928.91 128.20 127.24
127.00 4.05 238.67 0.00 23894.62 230001.47
712674.81 1054854.88 783159.00 24382.27 247313.36
783159.00
...
Summary for all Releases
Released: 4411986
Passed: 1780767
Survival: 40.4%
Selecting Run
Cancel Run or clicking
during a run stops both Scenario Mode and Monte Carlo Mode runs. In addition, the Monte Carlo window includes a "Cancel Run" button to stop Monte Carlo Mode runs. Monte Carlo Mode runs may take a while to stop processing.
Selecting Run
Monte Carlo opens the Monte Carlo window for creating, deleting and editing Monte Carlo alternatives. Monte Carlo Mode runs CRiSP.1 for one or more combinations of water year and system operations. Flows are specified at dams or reaches and propagated upstream to the headwaters. In each run, a different flow regime and other model parameters are used. Fish survival is determined for each run and the distribution of survivals from all runs provides an estimate of the probability distribution of survival under the specified conditions.
The main variable changed in each run is river flow. Flow is generated from runs of the hydroregulation models maintained by the Army Corps of Engineers (HYSSR) and BPA (HYDROSIM). The hydroregulation models use historical water data and a projection of electrical demand to simulate system flows, which are designated a Flow Archive File. These files provide period-averaged flows at operating projects which are modulated by CRiSP.1 to represent daily flows. CRiSP.1 uses the modulated flows along with a Yearly Input Data File for each power year to describe the system operations and fish biological parameters to produce histograms of survival and travel time. The CRiSP.1 distribution includes the "flow.data" directory which contains weekly averaged flow files for each year from 1961 to 1994.
In Monte Carlo Mode, you can run CRiSP.1 with one or more alternatives. An alternative is a file containing the flow file name, the number of games (runs), the number of years (power years), and the name of the Yearly Input Data File to use for each power year in the alternative. The Monte Carlo window contains three panels: Alternatives to run, Alternative being edited, and Run control. In the following sections, you will find details on creating, deleting, editing and running Monte Carlo alternatives.
Monte Carlo.altern#. It is recommended to assign a more descriptive name to the alternative to simplify later interpretation.After you create a new alternative, the Alternatives to run list and the Alternative being edited list in the Monte Carlo window will update to include the new alternative. At the same time, an altern# directory has been created on disk which contains the Monte Carlo files.
See the Monte Carlo section for the list of related sections.
Monte Carlo.After you delete an alternative, the Alternatives to run list and the Alternative being edited list in the Monte Carlo window will update to reflect this change. At the same time, the altern# directory will be deleted from disk.
See the Monte Carlo section for the list of related sections.
Parameters for each alternative are set in the Monte Carlo window. The Monte Carlo window is divided into three panels: Alternatives, Alternatives being edited and Run control. Each panel is described separately.

Monte Carlo window
Alternatives
In the Alternatives panel (upper portion of the window), you can select alternatives to run, select an alternative to edit, Create New Alternatives, and Delete Existing Alternatives. It has the following controls:
changes the current directory to a directory you specified by typing in the text box.
browses your local system to select the working directory. Note. Unix users, this function does not work properly. Use the text box and
to change working directory.Alternative being edited
The Alternative being edited control panel displays information based on the alternative selected in the Alternative being edited list (6) in the Alternatives panel, and sets flow and other model information. It contains the following controls:
A. If you select archive as source of flow, follow these steps:
- flow archive: Identify the flow.archive file by typing the name of the file in the text box and click Use, or by clicking
to browse your local system to select the appropriate file. This file must be in a format that CRiSP.1 can read. The CRiSP.1 distribution includes single year flow files (flow.data directory) for 1961 through 1994. Flow archive files typically contain period averaged flows and spills at dams as computed by a hydroregulation model such as HYSSR or HYDROSIM for a number of water years, or games, each identified by a year (e.g. 1938).
- - Typically, the archive will contain specifications for spill amounts at each dam. This information, however, is also specified in the yearly input files. To avoid confusion, CRiSP.1 requires that you decide which spill information to use: the data from the archive or the data from the .dat file. In the same manner, you will also need to specify the source of the elevation information.
- Planned spill from (8): Select source of planned spill information from period averaged data in the flow archive file (archive) or from hourly spill in yearly input (11) file (user data).
- Elevation from (9): Select source of reservoir elevation information from period averaged elevation in a flow archive file (archive) or from daily elevation in yearly input (11) file (user data).
- Customize games (10): Customize games with this control to run multiple games of different water years. After you select an archive, this window displays a list of all the water years in the archive, e.g. 1929:1. Type the preferred number of games for each water year (zero is acceptable). Select a water year to edit the number of times to run each year in the text box. Click
to update the changes to the number of games. Click
to update all water years for the number of games typed into the # games text box. Click Apply All / Apply to save changes made to the alternative.
B. If you select user data as source of flow, follow these steps:
- Planned spill and Elevation data are automatically read from a Yearly Input Data File. Use Spill Schedule and Elevation windows, respectively, to change the values and make sure to save your changes to the yearly input data files that will be used. The changes must be saved to disk.
- # games (10): Set the number of games to run for each yearly input data file. Apply the changes by clicking Apply. You must first turn off variance suppression in Runtime Settings (Run menu) and save the settings to the yearly input data file being used.
.dat file for later use.
to browse the local file system to select a file. Click
to update the yearly input files list with your selection. Click
to update all yearly input file entries to use the file specified in the text box even if other selections have already been applied. Click Apply All / Apply to save changes made to the alternative.Run control
The Run control panel displays information about the alternatives and the status of a Monte Carlo run. It has the following controls:
Lock Output Settings or selecting Lock current output settings (i.e. making a selection in either place automatically updates both).summary.altern# file on disk (default setting is off).The Monte Carlo window also includes the following:
See the Monte Carlo section for the list of related sections.
When running in Monte Carlo mode, a number of results are calculated by the model, but only those requested by you will be available following the run. Before starting a Monte Carlo simulation, all output data and runtime settings must be specified.
Output Settings
To view and analyze survival and travel time information for any point in the river, the appropriate passage points must be specified before the run. Other output data also must be specified including water temperature and the average flow experienced by fish between the mean release date and mean passage date to any point in the river. There are two ways to save output data from Monte Carlo runs.
You can specify the output settings in each yearly input data file before running Monte Carlo alternatives.
Open and select a yearly input data file specified in the Monte Carlo alternative.
Output Settings and set the desired options in the Output Settings for Dams, Output Settings for Reaches and Output Settings for Headwaters windows.
Save As to save the yearly input data file to disk.OR
You can Lock Output Settings during the run.
Output Settings and set the desired options in the Output Settings for Dams, Output Settings for Reaches and Output Settings for Headwaters windows.
Lock Output Settings.Runtime Settings
CRiSP.1 can be run with different functions that effect the movement and survival of fish through the river system. Any specifications for Runtime Settings must be selected, applied and saved to the appropriate yearly input data files before running Monte Carlo.
For example, if you forget to turn off variance suppression in a particular yearly input data file, you need to:
Open and select the yearly input data file being used in alternative to read the file into CRiSP.1.
Runtime Settings.
Save As to save the yearly input data file to disk.After making all settings for parameters and output for each alternative, you are ready to Run Monte Carlo Interactively or Run Monte Carlo in Batch Mode.
See the Monte Carlo section for the list of related sections.
The steps to run CRiSP.1 in Monte Carlo Mode are as follows:
Monte Carlo to open Monte Carlo Tool.summary.alt# file with all the data specified by Output Settings in the yearly input data files for each alternative in the run. In addition, you can choose to have this information also recorded in the Message Log by turning on Messages (this produces a considerable amount of information in the log window).Monte Carlo runs are time-consuming. A 500-game run may take several hours, or more, to run. It is recommended to select several alternatives to run, start the run, and let it run overnight. You can shrink CRiSP.1 into an icon while it is running. Do not quit while the model is running.
See the Monte Carlo section for the list of related sections.
Monte Carlo alternatives can be run in batch mode. The steps to running CRiSP.1 in batch mode are as follows:
.crisp1-alts. The file must exist in the same directory where your CRiSP.1 program and all the alternatives reside. The model will run all the alternatives listed in the .crisp1-alts file before concluding. This file can be created using any text editing tool. It simply contains a list of the names of the alternatives to be run, one on each line. For example,
altern1
altern2
...
.crisp1-alts file in place, CRiSP.1 can be run in batch mode from a shell which would otherwise not be able to run the model using the graphical user interface. Batch mode is executed from the command prompt. Please see the Running in Batch Mode section for special instructions on batch mode operations. You can start batch Monte Carlo mode runs from the command prompt by typing any of the following example commands.crisp1crisp1 -b -ucrisp1batcrisp1bat -c batch.cnfcrisp1 (redirects both output streams to the same file)crisp1 -bm 1>output.txt 2>&1crisp1b (redirects output streams to shell)crisp1b -r columbia.desc -uSee the Starting from the Command Prompt section for further information on command line options for CRiSP.1.
Monte Carlo runs are time-consuming. A 500-game run may take several hours, or more, to run. It is recommended that you select several alternatives to run, start the run, and let it run overnight. Windows 95/NT users, do not quit while the model is running.
See the Monte Carlo section for the list of related sections.
CRiSP.1 contains three tools in the Analysis menu for interpreting the results of Monte Carlo simulations and analyzing and comparing Monte Carlo runs.
See the Monte Carlo section for the list of related sections.
Selecting Run
Lock Output Settings turns on or off the Lock Output Settings feature. When running in either Scenario or Monte Carlo mode, a number of results are calculated by the model; however, only the output data you have specified will be available following the run.
When Lock Output Settings is not selected (off), CRiSP.1 will use the output settings specified in a yearly input data file or .cnf file to determine which results will be available to view and analyze after a run. Be sure to specify the desired outputs and save them to the yearly input data files to be used in the Monte Carlo alternatives. For Scenario Mode runs, you can view the output either in histograms, e.g. Passage Histograms, or in the Message Log. For Monte Carlo Mode runs, you can view the output with the Monte Data Report and Monte Analysis under the Analysis Menu.
When selected (on), CRiSP.1 will override all output settings specified in any parameter data files read into the model or read during interactive Monte Carlo simulations. Instead, CRiSP.1 will generate output data for the current selections in the Output Settings windows for dams, reaches and headwaters. This allows a user, for example, to change the output data produced by a Monte Carlo run without editing all of the yearly data files used by that run.
In Monte Carlo Mode, this feature can be used both in batch mode and interactively. In batch mode, the command option -c output_control_file can be used to override any output settings for an individual alternative. In the interactive mode, the locking option can be set using this feature or by selecting the check box Lock current output settings in the Run control panel of the Monte Carlo window. The current output settings specified in the Output Settings windows for dams, reaches and headwaters will be used during run execution.
Selecting Run
Output Settings opens three windows for configuring dam, reach and headwater output to save for examination after run completion: Output Settings for Dams, Output Settings for Reaches and Output Settings for Headwaters. When running in either Scenario or Monte Carlo mode, a number of results are calculated by the model; however, only those requested by you will be available following the run. For Scenario Mode runs, you can view the output either in histograms, e.g. Passage Histograms, or in the Message Log. For Monte Carlo Mode runs, you can view the output with the Monte Data Report and Monte Analysis under the Analysis Menu.
Note. Be sure to specify the desired outputs and save them to the yearly input data files to be used in the Monte Carlo alternatives or use the Lock Output Settings feature.
For Dams, you can select to record output from the following parameters.
Click the check boxes to select the desired outputs. A whole row or column can be selected by clicking the all check box in a dam row (selects all parameters for that dam) or parameter column (selects all dams for that parameter). All check boxes can be selected by clicking the all column check box in the all row.

Output Settings for Dams window
For Reaches, you can select to record output from the following parameters.
flow.archive file if it contains reservoir elevation or from specified yearly input files specified by you.Click the check boxes to select the desired outputs. A whole row or column can be selected by clicking the all check box in a reach row (selects all parameters for that reach) or parameter column (selects all reaches for that parameter). All check boxes can be selected by clicking the all column check box in the all row.

Output Settings for Reaches window
For Headwaters, Flow and Water Temperature are the only available output parameters.
flow.archive file, or as specified in the yearly input data file(s) used for the alternative.Click the check boxes to select the desired outputs. A whole row or column can be selected by clicking the all check box in a headwater row (selects all parameters for that headwater) or parameter column (selects all headwaters for that parameter).

Output Settings for Headwaters window
Selecting Run
Runtime Settings opens a window for specifying several functional relationships for run execution. CRiSP.1 can be run with different functions that effect the movement and survival of fish through the river system. Settings are selected or cleared by clicking the respective check box. Each relationship is described in the following sections. Any Runtime Settings you want to take effect during a Monte Carlo Mode run must be applied and saved to a yearly input data file (.dat or .cnf) specified in the Monte Carlo alternative.

Runtime Settings window
The variance suppression option in Runtime Settings controls the stochastic parts of the model. When variance suppression is turned on, each subsequent run of the model uses exactly the same value for parameters that would otherwise be drawn from a distribution (the term becomes deterministic). This is useful for doing quick tests of sensitivity. By default, it is turned on. Variance suppression should be turned off when running multiple games in Monte Carlo Mode. Any Runtime Settings you want to take effect during a Monte Carlo Mode run must be applied and saved to a yearly input data file (.dat or .cnf) specified in the Monte Carlo alternative.
Predation Coef, Migration Rate Variance, Mortality, and FGE are examples of stochastic parameters in CRiSP.1. Each window contains sliders for setting the mean, low, and high values by species or by dam and species. When the low and high values are set to zero or the low and high are set to the mean value, CRiSP.1 uses the mean value at all times (the term becomes deterministic). When the low and high values are not equal, CRiSP.1 uses the mean, low and high values to randomly generate a value when executed with variance suppression turned off. With variance suppression turned on, CRiSP.1 uses the mean value and ignores the high and low values. In either case, the mean value must lie within the central two quartiles of the distribution (the middle 50%). For example, if the low value is set to 0 and the high value is set to 100, the mean value must be set between 25 and 75. If values are set that do not conform to this restriction, CRiSP.1 will abort the run and generate an error message in the Message Log (if open) specifying which parameters have bad values.
ERROR: bad stochastic param reach pred coeff for Chinook 0.
-->mean not in range 12.386550 <= mean <= 17.341249
ERROR: aborting run due to bad parameter values.
The predator density/volume interaction option in Runtime Settings serves to increase the mortality rate due to predation in CRiSP.1 runs. This runtime setting allows you to specify that predator density should increase as pool volume decreases, that is when the pool is drawn down. This interaction is based on the possibility that concentrating predators in a dam forebay or tailrace increases the encounter rate between predators and prey and thus effectively increases the mortality rate.
If predator density/volume interaction is selected (on), predator density is a function of pool elevation for reservoir, forebay and tailrace regions. This setting increases the effective predator density as pools are lowered which in turn increases the predation rate. By default, this option is turned off.
Any Runtime Settings you want to take effect during a Monte Carlo Mode run must be applied and saved to a yearly input data file (.dat or .cnf) specified in the Monte Carlo alternative.
The age dependent fge option in Runtime Settings specifies one of two possible functional relationships for fish guidance efficiency (fge): constant fge or time varying fge. When age dependent fge is turned off, the model will use the constant fge condition and the values set in the FGE window. Day and night fge then vary randomly on each dam time interval according to fixed probability distributions (the distribution has no seasonal trend). Fge is specific to a given dam and species and its random variations occur for each dam time interval (6 hours).
When age dependent fge is turned on, the model run varies fge at dams according to the settings in the FGE Equation window and the mean, low and high fge values set in the FGE window. When the model is run under this condition, day and night fge change randomly at each dam time interval according to probability distributions that change with fish age and reservoir elevation. Variations in fge from the initial condition depends on the day since the onset of smoltification which is set in the Release Tool window, and reservoir elevation for each day which is set with the Elevation window.
Any Runtime Settings you want to take effect during a Monte Carlo Mode run must be applied and saved to a yearly input data file (.dat or .cnf) specified in the Monte Carlo alternative.
The Mortality Model option in Runtime Settings specifies which of the two mortality models to use during run execution: Gas and Pred Mortality or Simple Mortality. CRiSP.1 is currently calibrated for the Gas and Pred Mortality model.
Any Runtime Settings you want to take effect during a Monte Carlo Mode run must be applied and saved to a yearly input data file (.dat or .cnf) specified in the Monte Carlo alternative.
The Analysis menu provides tools to analyze CRiSP.1 results.
Selecting Analysis
Input Data Report opens the Input Report Tool for generating lists of model parameters. This tool provides an easy way for you to determine the precise values currently in memory in CRiSP.1 and what values would be used in a Scenario Mode run. You can write the parameters values into tables that can be viewed on the screen, saved to a file, or printed. Any groupings of data can be written into the tables using the Input Report Tool. The Parameter Glossary contains definitions for all the parameters found in the Input Report Tool except for the individual parameters used in each model equation.
A similar option is available for batch mode runs using the -o output_file argument to generate a parameter data file. See Starting from the Command Prompt section for more information.
Input Report Tool features

Input Report Tool for generating tables of model parameters
Selecting Analysis
Monte Data Report opens the Monte Report Tool for generating summary reports from Monte Carlo runs that are tailored to individual needs.
Monte Report Tool features
The amount of time required to generate output from this tool depends on the number of alternatives and the number of games in each alternative. CRiSP.1 keeps in memory the selections made in the Monte Report Tool for the duration of the session or until selections are cleared by clicking Clear. This is to facilitate generating reports of the same parameters for multiple Monte Carlo runs. During a session, CRiSP.1 attempts to preserve sensible selections if new model runs are performed, alternatives are deleted, or the working directory is changed.

Monte Report Tool for generating model output reports
Output Settings. The average is taken over the period of time in which the fish traveled from release to the passage point. Only one dam can be selected as the flow indicator.Selections made in either in the Input Report Tool or the Monte Report Tool are displayed in the Output Window when you click View or View All. Information in the Output Window can be printed, saved to a file, or copied to a file. Line length is set in either the Input Report Tool or the Monte Report Tool window.
Output Window features

Output Window
Selecting Analysis
Monte Alt. Comparison opens the Alternative Comparison window for comparing two alternatives. You can compare two alternatives to determine if the probability distributions are statistically different.
Alternative Comparison features
The Alternative Comparison window uses the Kolmogorov-Smirnov test. The null hypothesis tested is that the two distributions are drawn from the same population, i.e. they are identical. To test this hypothesis, the d statistic is used. Results from the Kolmogorov-Smirnov test are displayed in the lower-left corner of the window.
The closer the probability is to zero the more likely the two distributions are statistically different. As a typical example, we would reject the hypothesis that the two distributions are the same for probability < 0.01.

Alternative Comparison window
Selecting Analysis
Monte Analysis opens the Monte Analysis Tool and its companion window the Analysis Tool graph window. Using these windows, you can visually examine the results of a Monte Carlo run. You can plot either the survival or travel time results as a straight frequency histogram or as a cumulative probability histogram.
Monte Analysis Tool features

Monte Analysis Tool
Selecting Analysis
Monte Analysis opens the Analysis Tool graph window and its companion window the Monte Analysis Tool for visually examining the results of a Monte Carlo run. The Analysis Tool graph window has the same features as a Julian Day Output window; however, Julian days are not the unit of measurement for the X-axis. Survival or travel time between the point of release and points downstream can be viewed as either a histogram or cumulative distribution based on the selections made in the Monte Analysis Tool window.
By selecting Survival or Travel Time for Data Type and clicking Plot in the Monte Analysis Tool, a frequency histogram or cumulative probability distribution of survival or travel time between release and river segment can be opened for passage points of any release.
Survival Graph
Travel Time Graph

Monte Analysis Tool Survival histogram
The Help menu contains the major categories of the Help system.
columbia.desc and base.dat.columbia.desc, base.dat, and flow.archive) and the CRiSP.1 Parser.The Help system window has five navigation functions:
The Parameter Glossary includes terms that occur in the CRiSP.1 input files: columbia.desc and base.dat. (See the River Description File Structure and Yearly Input Data File Structure sections, respectively, for further details.) Category indicates whether the Keyword or Token is part of the Dam, Reach, Headwater, Species or Global specifications in the River Description file or the Yearly Input Data file. Terms that are not in bold designate parameters not recommended for use in model operations or parameters not currently in use.
Keyword / Token [Category]: Description
columbia.desc file, e.g. dam Bonneville Dam. 2) [Dam] Names the dam and marks the beginning of parameter data for the dam. The dam name must be present in the columbia.desc file, and must be paired with an end statement.columbia.desc file. 2) [Headwater] 50-year maximum flow in the headwater; this is used to distribute flows at confluences during upstream propagation.columbia.desc file. 2) [Dam]: Minimum flow allowed at a dam, in kcfs.columbia.desc file, and must have a paired "end" statement. e.g. headwater Columbia_Headwater, and end headwater (Columbia_Headwater).columbia.desc file. 2) [Reach] Provides latitude and longitude for points in the course of the reach in the columbia.desc file, e.g. latlon 46 09 00 N 123 16 00 W marks 46 degrees 9 minutes north latitude, 123 degrees 16 minutes west longitude.columbia.desc file, and is paired with an "end" statement, e.g. end reach (Estuary).columbia.desc file - and 141 is the Julian date of the first day of fish release. This token must be paired with an end statement.columbia.desc file.columbia.desc file.columbia.desc file. Any species to be used in the model must be identified by the species token, e.g. species Steelhead. There is no fixed limit on the number of species that can be specified. 2) [Species]: This identifies the species in question, e.g. species Chinook_0. Following the remaining parameter specifications there must be a paired end token, e.g. end species (Chinook_0). The species must be identified in the columbia.desc file.columbia.desc file. Any specific stock to be used in the model must be identified by the stock token, e.g. stock Catherine Creek Ch2. There is no fixed limit on the number of stocks that can be specified. 2) [Release]: Identifies the stock of release. This can be set to "Generic" or a specific stock can be selected, e.g. Catherine Creek Ch2. The stock must be identified in the columbia.desc file.storage_basin 0.0 5185.5.columbia.desc file, i.e. Hells Canyon, Dworshak, and Chief Joseph.The purpose of this section is to provide advanced information about the files used by CRiSP.1 and parameters and tokens found in each file. A novice user of CRiSP.1 does not need to be familiar with level of detail that is discussed in the following sections.
The River Description File (columbia.desc) contains all the information necessary to define the physical river system from the ocean to the various headwaters. This includes latitudes and longitudes of release sites, dams, and river segments, and many of the physical attributes of these features. Sample reach and dam designations follow as well as parameter definitions.
The River Description File contains information specifying the physical characteristics of the river. The file must follow rules for construction of a river map. Rules on ordering of tokens (or keywords) include:
species Chinook 0
release_site McNary Face
latlon 45 56 23 N 119 15 11 W
end (release)
river Columbia
flow_max 280.00
flow_min 4
reach Estuary
width 5930.23
depth 60
lower_elev -60
latlon 46 14 8 N 123 52 19 W
latlon 46 15 3 N 123 48 44 W
[cut]
latlon 46 8 55 N 123 19 2 W
latlon 46 9 0 N 123 15 46 W
end (Estuary)
reach The Dalles Pool
[cut]
latlon 45 38 55 N 120 54 21 W
end (The Dalles)
reach Deschutes Confluence
[cut]
latlon 45 38 55 N 120 54 21 W
[cut]
end (Deschutes)
dam Chief Joseph Dam
powerhouse_capacity 219
floor_elevation 743.0
forebay_elevation 956.0
tailrace_elevation 786.0
spillway_width 1320
spill_side right
pergate 2.0
ngates 19
gate_width 40.0
basin_length 180
sgr 1.0
abbrev CHJ
storage_basin 0.0 5185.5
latlon 47 59 48 N 119 37 56 W
end (Chief Joseph)
end (Columbia)
The following is an example of a reach designation from a River Description File (.desc).
reach The Dalles Pool
width 3624.5
upper_depth 47.05
lower_depth 70.0
slope 87.92
lower_elev 55
latlon 45 36 50 N 121 7 57 W
latlon 45 37 38 N 121 6 48 W
latlon 45 38 25 N 121 5 37 W
latlon 45 38 58 N 121 4 46 W
latlon 45 39 12 N 121 3 14 W
latlon 45 39 8 N 121 1 22 W
latlon 45 39 11 N 121 0 9 W
latlon 45 38 57 N 120 58 52 W
latlon 45 39 24 N 120 57 8 W
latlon 45 39 18 N 120 56 18 W
latlon 45 38 58 N 120 55 24 W
latlon 45 38 55 N 120 54 21 W
end (The Dalles)
The following are examples of dam specifications from a River Description File (.desc).
Storage Basin Dam
dam Chief Joseph Dam
powerhouse_capacity 219
floor_elevation 743.0
forebay_elevation 956.0
tailrace_elevation 786.0
spillway_width 1320
spill_side right
pergate 2.0
ngates 19
gate_width 40.0
basin_length 180
sgr 1.0
abbrev CHJ
storage_basin 0.0 5185.5
latlon 47 59 48 N 119 37 56 W
end (Chief Joseph)
Dam with two Powerhouses
dam Bonneville Dam
powerhouse_capacity 136
powerhouse_2_capacity 152
floor_elevation -16.0
forebay_elevation 77.0
tailrace_elevation 14.5
bypass_elevation 65.5
spillway_width 1080.0
spill_side right
pergate 2.9
ngates 18
gate_width 60.0
basin_length 144.5
sgr 1.0
abbrev BON
latlon 45 38 41 N 121 56 21 W
end (Bonneville)
storage_basin 0.0 5185.5.The following are species, stock, release and river tokens found in a River Description File (.desc).
The Yearly Input Data File (base.dat) contains the information specific to the model run you wish to perform, such as releases, dam mortality rates, fge, and so forth. Parameters are described for each species, each dam, each reach, each headwater, and each release.
During a CRiSP.1 run, information is stored according to tokens corresponding to model variables and parameters. Token structure is illustrated below where tokens are species or gas_mort_eqn. A complete list of tokens can be found in the Parameter Glossary. For parameters that change in time, the token is followed by a time series of values. The model contains two time steps: reservoir time steps (one day) and dam time steps (6 hours). Parameters at dams, therefore, are specified for 4 periods per day, while parameters in reaches (flow, loss, elevation, temperature) are specified with one value per day. (See the Time in CRiSP.1 section for further information.)
For many parameters there will be a token that possesses one of three suffixes: mean, low, and high (e.g. day_fge_mean or day_fge_high). These describe the mean value and the two endpoints of the broken-stick distribution used to draw stochastic variables. For the sake of brevity, only one description for each collection of three such tokens is provided.
Equations have tokens ending in eqn or equation, e.g. gas_mort_eqn or fge_equation. Following each such equation will be a list of parameters. In the case of the fge equation, there are four parameters. For each parameter there are three values specified. The first represents the value used in the model, and the second two represent the minimum and maximum values allowed for parameter in CRiSP.1 You can adjust the allowed range for the parameter by editing these values. Editing these values will alter the bounds for the corresponding slider in the equation window. In the sections that follow, we only list the equation token itself, not the parameters that accompany it. The number following the token dictates the form of the equation used.
fge_equation Chinook_1 22
parameter 0 0.500000 0.000000 2.000000
parameter 1 10.000000 0.000000 100.000000
parameter 2 30.000000 0.000000 100.000000
parameter 3 30.000000 0.000000 100.000000
end fge_equation (Chinook_1)
The following is an example of a species specification from a Yearly Input Data file (.dat).
species Chinook_1
reach_pred_coef_mean 12.700000
reach_pred_coef_low 0.000000
reach_pred_coef_high 0.000000
forebay_pred_coef_mean 18.000000
forebay_pred_coef_low 0.000000
forebay_pred_coef_high 0.000000
tailrace_pred_coef_mean 0.000021
tailrace_pred_coef_low 0.000000
tailrace_pred_coef_high 0.000000
v_var 57.45
migr_var_coef_mean 1.00
migr_var_coef_low 0.70
migr_var_coef_high 1.30
gas_mort_eqn 34
parameter 0 0.000021 0.000000 0.010000
parameter 1 0.005980 0.000000 0.010000
parameter 2 10.900000 5.000000 15.000000
end gas_mort_eqn ( )
fish_depth_eqn 27
parameter 0 12.000000 0.010000 100.000000
parameter 1 36.000000 0.010000 100.000000
end fish_depth_eqn ( )
simple_mort_equation 44
parameter 0 14.070000 10.000000 18.000000
parameter 1 0.182000 0.000000 0.300000
parameter 2 0.000000 0.000000 1.000000
end simple_mort_equation ( )
flush_trans_equation 45
parameter 0 5.825900 5.000000 6.000000
parameter 1 5.353300 5.000000 6.000000
parameter 2 0.980000 0.000000 1.000000
end flush_trans_equation ( )
migration_eqn 24
parameter 0 0.643000 -10.000000 20.000000
parameter 1 9.810600 0.000000 100.000000
parameter 2 0.579100 0.000000 2.000000
parameter 3 0.122600 0.000000 2.000000
parameter 4 90.004997 50.000000 250.000000
parameter 5 0.150000 0.000000 1.000000
end migration_eqn ( )
pred_temp_response_eqn 38
parameter 0 22.265030 0.000000 100.000000
parameter 1 0.572960 0.000000 2.000000
parameter 2 9.861010 0.000000 30.000000
end pred_temp_response_eqn ( )
end species (Chinook_1)
The following is an example of a stock specification.
stock Catherine_Creek_Ch2
v_var 41.37
migr_var_coef_mean 1.00
migr_var_coef_low 0.10
migr_var_coef_high 0.10
migration_eqn 24
parameter 0 -5.975300 -10.000000 20.000000
parameter 1 4.910700 0.000000 100.000000
parameter 2 2.046700 0.000000 3.000000
parameter 3 0.000000 0.000000 2.000000
parameter 4 100.000000 50.000000 250.000000
parameter 5 0.154200 0.000000 1.000000
end migration_eqn ( )
pred_temp_response_eqn 38
parameter 0 22.265030 0.000000 100.000000
parameter 1 0.572960 0.000000 2.000000
parameter 2 9.861010 0.000000 30.000000
end pred_temp_response_eqn ( )
end stock (Catherine_Creek_Ch2)
columbia.desc file.Release parameters may or may not appear in the base.dat file. The following is an example of a release specification from a Yearly Input Data file (.dat).
release Chinook_1 Wild_Salmon_R_Stocks 115
stock Generic
smolt_onset 91
smolt_finish 91
vitality 0.00
vitality_change 0.00
length 0.00
number 20860 26662 56295 35179
40586 27468 50287 46775
57106 46554 43438 63271
65714 64520 52087 62479
58712 28651 33423
[19:365] 0
end release (Chinook_1)
release Steelhead Lower_Granite_Hatchery 141
where steelhead is the species, Lower Granite Hatchery is the release site (both of which must be defined in the columbia.desc file), and 141 is the Julian day of the first day of fish release (Release Start day). This token must be paired with an end statement.The following are examples of reach specifications from a Yearly Input Data file (.dat).
reach Bonneville_Tailrace
output_settings 0
pred_mean Chinook_0 8244.910156
pred_mean Chinook_1 1949.719971
pred_mean Steelhead 1949.719971
pred_dist 1.00
gas_theta 0.075000
delta_water_temp [*] 0.00
loss_max 280.00
loss_min -280.00
loss [*] 0.00
elevation_change [*] 0.00
output_gas Off
end reach (Bonneville_Tailrace)
reach Lower_Granite_Pool
output_settings 1
pred_mean Chinook_0 2590.510010
pred_mean Chinook_1 808.900024
pred_mean Steelhead 808.900024
pred_dist 1.00
gas_theta 0.075000
delta_water_temp 0.00 -0.01 0.03 -0.03
-0.04 -0.01 0.02 0.00
[cut]
0.00 0.00 -0.03 0.03
0.04 -0.03
loss_max 100.00
loss_min -100.00
loss [*] 0.00
elevation_change -3.10 -3.10 -3.20 -2.80
-2.30 -1.50 -1.80 -1.60
-1.70 -2.40 -2.10 -2.20
[cut]
-1.70 -1.60 -1.50 -1.40
-1.50 -1.60 -1.90 -1.80
-1.70
output_gas On [0:7] 1.10 [8:11] 0.90
[12:15] 1.10 [16:19] 1.20
[20:23] 0.20 [24:27] 0.25
[cut]
[728:851] 3.80 [852:975] 3.00
[976:1095] 2.60 [1096:1463] 0.00
end reach (Lower_Granite_Pool)
columbia.desc file, and is paired with an "end" statement, e.g. end reach (Estuary).The following is an example of a dam specification from a Yearly Input Data file (.dat).
dam Bonneville_Dam
output_settings 7
tailrace_length 1000.00
mod_ou_r 0.50
mod_ou_sigma 12.00
mod_norm_sigma 11.00
mod_weekly_amp 0.00
nsat_day_equation 29
[cut]
end nsat_day_equation ( )
nsat_night_equation 29
[cut]
end nsat_night_equation ( )
nsat_backup_equation 12
[cut]
end nsat_backup_equation ( )
gas_theta 10.000000
k_entrain 0.000000
spill_mort_mean Chinook_0 0.020000
spill_mort_low Chinook_0 0.000000
spill_mort_high Chinook_0 0.070000
bypass_mort_mean Chinook_0 0.020000
bypass_mort_low Chinook_0 0.000000
bypass_mort_high Chinook_0 0.080000
turbine_mort_mean Chinook_0 0.070000
turbine_mort_low Chinook_0 0.010000
turbine_mort_high Chinook_0 0.100000
transport_mort_mean Chinook_0 0.170000
transport_mort_low Chinook_0 0.000000
transport_mort_high Chinook_0 0.340000
pred_density_forebay Chinook_0 6221.540039
pred_density_tailrace Chinook_0 17658.000000
mean_forebay_transit_time Chinook_0 2.000000
separation_prob Chinook_0 0.800000
predation_prob Chinook_0 [*] 1.000000
day_fge_mean Chinook_0 0.160000
day_fge_low Chinook_0 0.080000
day_fge_high Chinook_0 0.240000
night_fge_mean Chinook_0 0.160000
night_fge_low Chinook_0 0.080000
night_fge_high Chinook_0 0.240000
spill_equation Chinook_0 1
[cut]
end spill_equation (Chinook_0)
fge_equation Chinook_0 22
[cut]
end fge_equation (Chinook_0)
trans_mort_equation Chinook_0 28
[cut]
end trans_mort_equation (Chinook_0)
delay_equation Chinook_0 46
[cut]
end delay_equation ( )
[cut]
powerhouse_capacity 136.00
powerhouse_schedule 0:365 (0:24)
powerhouse_priority 0
powerhouse_threshold 0.00
additional_powerhouse Bonneville_Dam_2
powerhouse_capacity 152.00
powerhouse_priority 1
powerhouse_threshold 75000.00
[cut]
end additional_powerhouse (Bonneville_Dam_2)
spill_cap 1000.00
fish_spill 0:365 (0:24)
planned_spill 0:7 = 0.00, 8:8 = 0.04, 9:9 = 0.08,
10:21 = 0.00, 22:23 = 0.05, 24:31 = 0.00,
[cut]
360:360 = 0.02, 361:361 = 0.05, 362:363 = 0.06,
364:365 = 0.05
flow_min 100.00
output_gas Off
end dam (Bonneville_Dam)
columbia.desc file, and must be paired with an end statement.columbia.desc file, i.e. Hells Canyon, Dworshak, and Chief Joseph.The following is an example of a headwater specification from a Yearly Input Data file (.dat).
headwater Columbia_Headwater
output_settings 0
mod_ou_r 0.93
mod_hi_sigma 0.08
mod_lo_sigma 0.06
mod_start_hi_sigma 96
mod_end_hi_sigma 196
mod_coeffs_a 1.00 -0.24 0.20 0.00 -0.04
mod_coeffs_b 0.00 0.13 -0.10 0.10 -0.02
flow_mean 110.00
flow_max 280.00
flow 4.00 104.17 100.62 122.10
output_gas Off
water_temp [0:49] 5.08 5.21
end headwater (Columbia_Headwater)
columbia.desc file, and must have a paired "end" statement. e.g. headwater Columbia_Headwater, and end headwater (Columbia_Headwater).The following is an example of the global parameters specification from a Yearly Input Data file (.dat).
gas_dissp_exp 0.20
hw_flow_prop 1.00
ufree 0.045000
fork_threshold 0.100000
water_travel_upper_segment Little_Goose_Pool
water_travel_lower_segment Estuary
water_travel_first_day 1
water_travel_last_day 365
runtime_settings 1
mortality_class gas_pred
The Flow Archive File (flow.archive) contains flow, spill and elevation data generated from hydroregulation models such as SAM, HYSSR or HYDROSIM. The flow archive file can be used in Monte Carlo Mode as the source for flow, planned spill, and elevation data. Users are unlikely to create flow archive files from scratch, but the format of such a file is described in this section. Information contained in a flow.archive file includes:
Sample portion of flow.archive
V0.9 CRiSP Flow Archive Fri Apr 2 17:07:59 1993 SOR sos2c games 49 # number of games years 1 # number of years dams 19 BON TDA JDA MCN IHR LMN LGS LWG DWR PRD WAN RIS RRH WEL CHJ GCL ALF HGH LIB periods 14 0:31, 32:59, 60:90, 91:105, 106:120, 121:151, 152:181, 182:212, 213:228, 229:243, 244:273, 274:304, 305:334, 335:365 #period water power dam elev plan over tot # year year spill spill flow DATA JAN 1929 0 BON 0.0 0.0000 0.0000 122135.0 JAN 1929 0 TDA 0.0 0.0000 0.0000 118805.0 JAN 1929 0 JDA 263.5 0.0000 0.0000 114350.0 JAN 1929 0 MCN 339.0 0.0000 0.0000 116620.0 JAN 1929 0 IHR 438.7 0.0000 0.0000 22813.0 JAN 1929 0 LMN 538.7 0.0000 0.0000 22813.0 JAN 1929 0 LGS 636.2 0.0000 0.0000 22313.0 JAN 1929 0 LWG 735.3 0.0000 0.0000 22313.0 JAN 1929 0 DWR 1556.9 0.0000 0.0000 1200.0 JAN 1929 0 PRD 0.0 0.0000 0.0000 88937.0 JAN 1929 0 WAN 0.0 0.0000 0.0000 88747.0 JAN 1929 0 RIS 0.0 0.0000 0.0000 88687.0 JAN 1929 0 RRH 0.0 0.0000 0.0000 86847.0 JAN 1929 0 WEL 0.0 0.0000 0.0000 87018.0 JAN 1929 0 CHJ 953.2 0.0000 0.0000 85108.0 JAN 1929 0 GCL 1287.0 0.0000 0.0000 85108.0 JAN 1929 0 ALF 2051.0 0.0000 0.0000 11887.0 JAN 1929 0 HGH 3486.7 0.0000 0.0000 8400.0 JAN 1929 0 LIB 2388.6 0.0000 0.0000 7232.0 FEB 1929 0 BON 0.0 0.0000 0.0000 118790.0 FEB 1929 0 TDA 0.0 0.0000 0.0000 115170.0
columbia.desc file. Dams described in the archive but not present in the columbia.desc file will be discarded. Dams in the columbia.desc file that are not covered in the flow archive will be given the same flow as the nearest downstream dam that is present in the archive.The flow archive itself is a long array of numeric data, and contains eight columns, delimited by tabs or spaces. This array must be preceded by the text "DATA." CRiSP.1 expects the data to be in the following order.
columbia.desc file and appear in the same order as listed in the flow archive header.In CRiSP.1, fish move both spatially and temporally. A distribution of fish over time is typically represented by an array whose index is some unit of time. There are several different time scales and references used throughout the model.
DAYS_IN_SEASON (366 days)SEASON_START_DAY.STEPS_PER_DAY (2 steps/day)STEPS_IN_SEASON (732 steps)DAYS_IN_SEASON * STEPS_PER_DAY)DAYS_IN_RUN (366 days)STEPS_IN_RUN (732 steps)DAYS_IN_SEASON * STEPS_PER_DAY)DAM_TIME_SLC (4 steps/day)SLICES_IN_STEP (2 steps)(DAM_TIME_SLC / STEPS_PER_DAY)SEASON_START_DAY (0)This is a description of the CRiSP.1 data parser syntax which is used for reading data into CRiSP.1. The parser reads and interprets parameter data files.
spill, steelhead, 4.6, and Bonneville.The parser reads tokens in sequential order from the beginning of a file to the end. If it finds a syntax error, it tries to recover by skipping the data and continuing at the beginning of the next line. The general format of the data is: token_name value(s).
Example
dam Dworshak_Dam
pred_density_forebay 376.53
pred_density_tailrace 1000.00
tailrace_length 1000.00
mod_ou_r 0.90
mod_ou_sigma 2.00
mod_norm_sigma 3.00
mod_weekly_amp 0.00
nsat_day_equation 18
parameter 0 3.310000 -10.000000 55.000000
parameter 1 0.460000 -1.000000 4.000000
parameter 2 -0.032000 -0.400000 0.100000
end nsat_day_equation ( )
...
powerhouse_capacity 10.50
powerhouse_schedule 0:365 (0:24)
end dam (Dworshak_Dam)
Comments start with the "#" token. When the parser encounters a #, it discards the rest of the line. You may type anything between the # and the Return <cr>.
Example
# This file contains data for Dworshak Dam
dam Dworshak Dam # Dworshak is on the Snake River
abbrev DWR # storage reservoir for North Fork Clearwater
latlon 46 30 51 N 116 17 40 W
end (Dworshak) # another comment
CRiSP.1 contains the command include which allows you to specify in a data file that you want the model to read data from an additional file when reading data from the top level file. The include command is followed by the name of the file that should be read at the same time. The include command can appear anywhere in the file below the file header and version number line. A parameter data file can contain several include commands. Each include command should appear on a separate line and only one file can be specified per each include command line. The file sample.dat which contains the line
include chinook1.rls
instructs the model to read the release information contained in chinook1.rls file when the model reads sample.dat. For any parameter data file types, except a Control File, once you read the data into CRiSP.1 and save the information on disk, the include line is replaced by the actual data contained in the file. Files which are included are not subject to the same file name extension examination as the top level file (see the Reading Data into CRiSP.1 section for more information).
Some commands indicate that the tokens that come after it are part of a different set of commands or menu. For example, the dam command indicates that commands after it are subcommands. This can be thought of as switching menus or selecting a submenu. These commands must be terminated with an end command.
The end command indicates that the current submenu is ending and to switch back to the original menu. Everything between an end token and its line ending is treated as a comment. The text between the end token and the end of the line marks which menu or submenu is ending.
Example
dam The_Dalles_Dam
powerhouse_capacity 375.00
powerhouse_schedule 0:365 (0:24)
spill_cap 235.00
fish_spill 0:365 (0:24)
end dam (The_Dalles_Dam)
release Steelhead Wild_Snake_R_Stocks 141
stock Generic
smolt_onset 91
smolt_finish 91
vitality 0.00
vitality_change 0.00
length 0.00
number 113188 [1:365] 0
end release (Steelhead)
The simplest array syntax lists values for the parameter in sequential order.
ArrayName Value Value Value ...
Example
loss 0.00 2.06 0.00 0.00 4.63 4.80 3.73
Arrays start at element 0. The last array index is one less than the number of elements in the array (n-1). For example, the fictional array sample has 300 numbers in it. It is defined in C as float sample[300], so its first element is accessed as sample[0] and its last one as sample[299].
The parser can be told to start adding values at a particular spot in the array by putting an index number in brackets to indicate the location. Instead of putting the first number after the brackets in element 0, it puts it in the element Index.
ArrayName [Index] Value Value Value ...
In the following example, the first value 45 will be applied to the element 3.
spill [3] 45 45 45 50
Index numbers do not have to be right after the command, and you can have more than one of them. For example, the following will set elements 0 through 2 to be 3, elements 5 through 7 to be 45, and elements 10 through 12 to be 50.
spill 3 3 3 [5] 45 45 45 [10] 50 50 50
A range of locations can be set to one number in an array by putting the starting index and ending index of the range separated by a ":" inside brackets. The range is set to be the single number after the brackets.
ArrayName [BeginIndex : EndIndex] Value
In the following example, the first value 45 will be applied to elements 0 through 12.
spill [0:12] 45
Like index numbers, ranges can appear anywhere in the array specification and you can have as many of them as you want. For example, the following will set elements 0 through 12 to be 45 and elements 13 through 50 to be 120.
spill [0:12] 45 [13:50] 120
To set one value to an entire array, put a "*" between brackets as an index. The entire array will be set to the single value after the brackets.
ArrayName [*] Value
Example
spill [*] 10
You can combine any of the above techniques. For example, if you want to set all the elements of an array named sample to be 1 except for the 25th and 252nd elements, which you want to be 155, you could type:
sample [*] 1 [25] 155 [252] 155
Most of the output routines for data use syntax similar to the following.
ArrayName [0:20] 3.45 [21:30] 4.2 5.6 4.8345 [33:200] 5.0
The current array index after setting a range of array elements is one after the last element set. For example,
ArrayName [0:10] 20
sets array elements 0 through 10 to be 20, and the current array index is set to 11. So,
ArrayName [0:10] 20 99
sets the 11th element of the array to be 99.
It is possible to specify the same index of an array several times. When this happens, the value stored is the last value set. For example,
sample 55 48 27 [2] 30 45 [3] 12 14 25 [4:50] 100
sets element 0 to 55, element 1 to 48, element 2 to 30 (value 27 is discarded), element 3 to 12 (value 45 is discarded), and elements 4 through 50 to 100 (values 14 and 25 are discarded). In this example,
sample 55 46 [*] 1
all elements of sample are set to 1.
ArrayName Value Value Value... ArrayName [ StartIndex ] Value Value Value... ArrayName [ StartIndex : EndIndex ] Value ArrayName [*] Value
Periods (time periods) are usually used for scheduling things such as spill. They can have a value associated with them that usually indicates a degree to which something is on. Periods are analogous to sparse arrays, except that a period can have several sub-periods associated with it.
A period range is denoted by the starting number followed by a ":" and then the ending number. For example,
0:10
is a period range starting at 0 and ending at 10. If you only want a range of one number, you do not have to specify the ":" and second number.
To associate a value to a period range, use an "=" followed by the desired value. All values are floating point numbers. For example,
0:10 = 0.45
would associate the value 0.45 to the range 0 through 10.
A period list is a sequence of one or more ranges separated by commas. For example,
0:10, 20:35, 50:360
is a period with three ranges. Ranges in a period list can have values. For example,
0:10 = .45, 20:35 = .5, 50:360 = .25
is a period with three ranges each of which have values associated with them. This can be thought of as a sparse array.
A range can have a sub-period associated with it. A sub-period uses a format identical to a period list. Sub-periods are usually used for fine tuning when something in a period is on or off. For example,
0:10 (0:8, 12:24), 50:360 (0:12)
is a period with two ranges which both have sub-periods.
fish_spill 0:365 (0:24)
planned_spill 0:300 = 0.00
fish_spill 3 (0:8)
planned_spill 0:5 = 0.3, 6 = 0.99, 7:10 = 0
fish_spill 0:10 (0:8), 11:20 (0:12), 100:184 (0:6, 18:24)
planned_spill 0:105 = 0.00, 106:122 = 0.09, 123:164 = 0.53, 165:235 =
0.41, 236:365 = 0.00
PeriodName period-list
period-list = period {, period}
period = [range | range = value] { (sub-period) }
sub-period = period-list
range = [Value | Value:Value]
Equations tell CRiSP.1 which type of equation to use on data and what the parameters are for those equations. The CRiSP.1 equation format is:
EquationName EqNumber
parameter ParameterNumber value min max
...
end EquationName
where
fge_equation.Print Version: PDF (2M)