Coast Model Introduction (Chapter 1 of the Coast Model Manual)
1. Introduction
1.1 Background
The National Marine Fisheries Service (NMFS) has responsibility for administering the US Endangered Species Act (ESA) for anadromous fish and shared responsibility for managing ocean salmon fisheries. Because of this dual responsibility, NMFS has a need to evaluate the constraints of ESA considerations on harvest management, and the impacts of harvest and habitat management on the recovery of depleted stocks. These evaluations need to be made on a coastwide basis and should be internally consistent and consistent with models used in other management arenas.
In 1997 NMFS contracted with the University of Washington School of Fisheries to begin developing a single broad modeling framework that will assist NMFS in meeting its salmon management responsibilities. A Model Committee, composed of State, Tribal, and Federal salmon biologists and modelers, was formed to help develop model specifications, identify research priorities, ensure consistency with existing models, and certify research models for management use. Initial meetings with the Review Committee resulted in the following overall objectives for this modeling project:
- Provide a common framework for both conservation risk assessment and harvest management analysis;
- Expand the geographic scope of current harvest models;
- Link coho and chinook salmon models;
- Incorporate life cycle (production) models for both species to evaluate long-term harvest and conservation strategies;
- Allow flexibility to accommodate new methods and model designs;
- Provide an interface with a large subset of ocean and freshwater databases maintained by the Pacific States Marine Fisheries Commission.
Objective six was postponed because it was deemed beyond the scope of this project. During 1999 the Pacific Salmon Commission contracted with ESSA Technologies Ltd (Vancouver, BC) and UW to develop several enhancements to its Chinook Model, including an interface to databases.
1.2 Code Framework Overview
The Coast Model is not a single "model," but instead is a code framework that can be configured to represent many different models depending upon the specific process algorithms and data specified in the input files. At the time of release (December 1999) the Coast Model only contains algorithms used by the Pacific Salmon Commission (PSC) chinook model. Section 1.5 gives an overview of the PSC chinook model; Section 2 describes its algorithms in detail. To configure the Coast Model to represent other salmon harvest models, such as the Fishery Regulation Analysis Model (FRAM) or the Proportional Migration (PM) model, new algorithms must be added to the processes. The general idea is to build up a library of algorithms for each process so the same code framework can be configured to represent a wide variety of models.
A key feature of the code is the clear separation of the fishing mortality and migration processes. All current salmon harvest models simulate changes in regulations by scaling fishery harvest rates up or down compared to some base period. Thus, it is difficult to simulate harvest regimes that differ significantly from the base period, especially in terms of changing the timing and location of individual fisheries. In contrast, the Coast Model performs three basic functions:
- Divides time and space into any number of timesteps and regions;
- Creates a biological system composed of any number and types of stocks that suffer natural mortality, mature, spawn, and migrate discretely through the time/space grid;
- Superimposes a harvesting process over the biological system.
The Coast Model code framework is flexible because it uses an object-oriented programming language (C++) that encapsulates algorithms representing model processes (e.g., natural mortality, fishing mortality, maturation, migration, spawning) and associated data into single code objects. Thus, the new framework removes the need to require that all stocks use the same algorithms and data types, or the need for complicated branching code to treat stocks differently (e.g., if Stock A, do it this way; if Stock B, do it another way; if Stock C, do it a third way; etc.).
1.3 Specific Code Features
1.3.1 Discrete Time Chronology
The Coast Model is a discrete time model that loops over years and timesteps within each year. The user can specify any number of years and timesteps. The following processes occur within each timestep (in this order):
- Cohort Ageing
- Natural Mortality
- Fishing Mortality
- Maturation
- Spawning
- Migration
The above processes were needed to simulate the PSC Chinook Model. Additional processes could be added as more complicated algorithms are developed. For example, processes to update the physical characteristics of each geographic region (e.g., average sea surface temperature, average surface current direction and speed) and/or the biological characteristics (e.g., average abundance of prey species, average abundance of predator species) could be included at the start of each timestep. All following processes could have algorithms that use these region characteristics (e.g., natural mortality could depend on sea surface temperature and predator abundance; migration could depend on surface current direction and speed).
1.3.2 Cohort Based
The fundamental biological unit in the model is a cohort (i.e., a group of fish having the same biological characteristics). Cohorts can be defined by species, brood year, sex, growth group, maturation status, mark status, or tag status. Note the inclusion of maturation status. Immature and mature fish from the same brood year have different migration patterns and thus are treated as separate cohorts. As described later, the Maturation Process creates new mature cohorts.
1.3.3 Processes and Data Controlled by "Managers"
A "Manager" controls each process within a timestep. Each manager stores individual process objects and controls computation flow, but does not dictate specific process algorithms. For example, the SpawningManager stores a spawning process for each stock in each year and knows at which timestep(s) and region(s) to activate the processes. When it is time to perform spawning, the SpawningManager loops through all the stocks, passes the stock its correct spawning process, and directs the stock to implement the process. Each spawning process contains all the data and algorithms necessary for a stock to perform spawning (i.e., generate one or more new cohorts of fish). Thus, some stocks might use a Ricker function, others might use a Beverton-Holt function, and still others might use a truncated linear function representing hatchery production.
1.3.4 Data Access by Generic Array
One of the greatest limitations of conventional model code is the fixed dimensionality of parameters. For example, a natural mortality rate might be indexed by age; or stock and age; or by stock, age, and location. Whenever the dimensionality changes, considerable re-coding is required. In the Coast Model, parameters are dimensioned at run time via "generic arrays." The first line of each data input file specifies the dimensionality of the parameter.
1.3.5 Data Request Manager
Process algorithms often require intermediate variables (e.g., sum of catches by fishery over a base period). To facilitate computing and storing intermediate variables, the Coast Model uses a Data Request Manager. At the end of each process, the manager checks to see if there are any data requests that require some action. If yes, the data are gathered and stored.
1.3.6 Input/Output Using Existing Tools
The Coast Model uses a "token-based" data input system. Each datafile contains key words, or tokens, that specify the type of data expected next. When duplicating the PSC chinook model, a utility program translates data from existing files into the token-based format. Output from the Coast Model is formatted into a single stream of Standardized Data Sentences (e.g., cohort abundance sentence, natural mortality sentence). Instead of creating formatted reports directly from the program, utility programs must be written to generate reports from the standard data sentences. Section 4 Output Language describes the output sentences in detail.
1.3.7 Multi-Timestep Iteration Capability
An "Iteration Manager" allows the code to:
- stop at the end of a timestep to evaluate certain conditions (e.g., the total catch in a fishery over several previous timesteps compared to catch quota);
- restart the model at a previous timestep using different values for control variables (e.g., fishing effort levels);
- repeat the above steps until the condition is satisfied.
1.4 Code Limitations
At the time of release (December 1999), the Coast Model code has the following limitations:
- all processes are deterministic (i.e., there is no stochastic capability);
- current algorithms are limited to those used in the PSC Chinook Model;
- parameter estimation techniques have not been perfected (especially for the migration process and region specific harvest rates).
1.5 Pacific Salmon Commission Chinook Model
General Description of the PSC Chinook Model
The PSC Chinook Model was developed by the PSC Chinook Technical Committee to examine alternative management approaches to implement the PSC chinook rebuilding program (the next section contains a brief history of the model). The model is capable of simulating a large number of years, stocks (hatchery and natural), and fisheries (troll, net, and sport). (See Table 1 and Table 2.) A key feature of the model is the interaction between stocks through annual catch ceilings imposed upon fisheries that harvest multiple stocks. As stocks rebuild or decline at different rates over time, relative harvest rates in ceilinged fisheries also change. Single stock models cannot simulate this type of interaction.
Simulations are divided into two time periods: (1) a calibration period; and (2) a management simulation, or projection, period. The calibration period runs from 1979 through the last year for which model parameters can be estimated (usually one year earlier than the current year). The simulation period runs from the current year to any future year (usually about 10-15 years in the future). The PSC Chinook Model produces information to help evaluate the effects of changes in brood year survival rates and several management actions:
- pre-recruitment (i.e., age one) survival projections
- pre-spawning survival (i.e., inter-dam losses)
- enhancement activities
- catch ceilings (catch quotas)
- harvest rate strategies
- size limits.
Production parameters for both hatchery and natural stocks are estimated from historical data. Ocean survival rates for ages one through five are assumed fixed (at 0.5, 0.6, 0.7, 0.8, and 0.9, respectively) for all stocks. Survival rates to age one (also called Environmental Variability, or "EV," scalars) are estimated during the calibration process. Other parameters are estimated by a technique known as "cohort analysis" or "virtual population analysis." This type of analysis involves reconstructing an annual series of abundance estimates using catch and escapement data and making assumptions about natural and incidental mortalities. Once each cohort has been reconstructed, the following parameters are estimated:
- Cohort size for each age class at the beginning of each year
- Age specific harvest rates for each fishery
- Maturity schedule for all ages
- Estimates of incidental fishing mortalities.
The PSC chinook model is calibrated by finding a suite of stock and year-specific smolt to age one survival rates (EV scalars) that results in model outputs that most closely match user specific terminal run sizes, escapements, or catches for individual stocks during the base period. The user specifies the EV scalars for the simulation period, often taken to be the average of the base period values. The model results are known to be sensitive to the selection of the EV scalars for the simulation period.
Management changes are evaluated by changing key parameters, such as future catch ceilings or harvest rates, and rerunning the model.
Number | Fisheries | Abbreviation |
---|---|---|
1 | Alaska Troll | Alaska T |
2 | Northern B.C. Troll | North T |
3 | Central B.C. Troll | Centr T |
4 | West Coast Vancouver Island Troll | WCVI T |
5 | Washington/Oregon Troll | WA/OR T |
6 | Strait of Georgia Troll | Geo St T |
7 | Alaska Net | Alaska N |
8 | Northern B.C. Net | North N |
9 | Central B.C. Net | Centr N |
10 | West Coast Vancouver Island Net | WCVI N |
11 | Juan de Fuca Net | J De F N |
12 | North Puget Sound Net | PgtNth N |
13 | South Puget Sound Net | PgtSth N |
14 | Washington Coast Net | Wash Cst N |
15 | Columbia River Net | Col R N |
16 | Johnstone Strait Net | John St N |
17 | Fraser River Net | Fraser N |
18 | Alaska Sport | Alaska S |
19 | North/Central B.C. Sport | Nor/Cen S |
20 | West Coast Vancouver Island Sport | WCVI S |
21 | Washington Ocean Sport | Wash Ocn S |
22 | North Puget Sound Sport | PgtNth S |
23 | South Puget Sound Sport | PgtSth S |
24 | Strait of Georgia Sport | Geo St S |
25 | Columbia River Sport | Col R S |
Number | Stocks | Abbreviation |
---|---|---|
1 | Alaska South SE | AKS |
2 | Northern/Central B.C. | NTH |
3 | Fraser River Early | FRE |
4 | Fraser River Late | FRL |
5 | West Coast Vancouver Island Hatchery | RBH |
6 | West Coast Vancouver Island Natural | RBT |
7 | Upper Strait of Georgia | GSQ |
8 | Lower Strait of Georgia Natural | GST |
9 | Lower Strait of Georgia Hatchery | GSH |
10 | Nooksack River Fall | NKF |
11 | Puget Sound Fingerling | PSF |
12 | Puget Sound Natural Fingerling | PSN |
13 | Puget Sound Yearling | PSY |
14 | Nooksack River Spring | NKS |
15 | Skagit River Wild | SKG |
16 | Stillaguamish River Wild | STL |
17 | Snohomish River Wild | SNO |
18 | Washington Coastal Hatchery | WCH |
19 | Columbia River Upriver Brights | URB |
20 | Spring Creek Hatchery | SPR |
21 | Lower Bonneville Hatchery | BON |
22 | Fall Cowlitz River Hatchery | CWF |
23 | Lewis River Wild | LRW |
24 | Willamette River | WSH |
25 | Spring Cowlitz Hatchery | CWS |
26 | Columbia River Summers | SUM |
27 | Oregon Coastal | ORC |
28 | Washington Coastal Wild | WCN |
29 | Snake River Wild Fall | LYF |
30 | Mid Columbia River Brights | MCB |
1.5.2 Brief History of the PSC Chinook Model
During the negotiations which led to the Pacific Salmon Treaty in 1985, efforts to reach agreement on chinook management focused on strategies which would rebuild depressed natural stocks within an agreed-upon time period. At the technical level, several microcomputer models were developed to provide a method of consistently and objectively analyzing alternative options under consideration during the negotiations.
The computer models were designed to analyze how various combinations of fisheries management actions would affect rebuilding. Prior to the development of the models, information on the production levels for natural chinook stocks was often limited to measurements of catch and escapement in or near the corresponding river of origin. Direct estimates of a significant component of overall production (i.e., harvest levels in ocean and near-shore mixed stock fisheries) were often not available for the natural stocks of interest. By integrating chinook life history assumptions with coded-wire-tag (CWT) recovery data, the models permitted the simulation of ocean and terminal harvest and escapement patterns.
The models simulated the process of rebuilding under hypothetical fishery policies that reduced harvest rates over time. As spawning escapements of depressed stocks increased to optimum levels, production increased. By maintaining fishery regimes, such as harvest ceilings, as run sizes progressively increased, rebuilding accelerated.
The models were initially designed to evaluate alternative fishery management regimes with respect to their implications for successfully rebuilding depressed chinook stocks by 1998. They progressed from simple cohort analyses designed to evaluate overall harvest rates and patterns of exploitation for single stocks or groups of stocks, to a "Multiple Stock Model" which incorporated multiple fisheries, stocks and brood years as well as stock- recruitment production functions. Intermediate steps included a simple "Forward Cohort Analysis" and a "Single Stock" multiple brood and fishery model (also including the stock-recruitment function).
While the "Single Stock" model achieved the goal of providing a set of mutually acceptable rules for evaluating proposals under consideration when the Pacific Salmon Treaty was being negotiated, it did not adequately represent results expected when several stocks were involved. Under the single stock approach, the progressive reductions in harvest rates in fisheries with ceilings resulting from increasing stock size over the course of the rebuilding cycle are transferred entirely to the single stock in the Model. In reality, the harvest rate changes in pre-terminal fisheries would be influenced by the abundance of the aggregate of stocks available. However, while the abundance of depressed components of the aggregate would be expected to increase as a result of increased escapement, the abundance of many components would remain relatively stable. As a result, the single stock approach would tend to underestimate the time required for rebuilding; it would present an overly optimistic picture of the effects of future reductions in harvest rates resulting from increased production.
Application of the Model to describe these mechanisms requires the assumption that proportional changes in total model fishery catch are represented by the actual changes in the real world catch. It also assumes that the stock composition in the Model catch reflects the relative contribution of these stocks to the actual catch (the abundance of unrepresented stocks is assumed to be constant).
If these assumptions are not met, the ceiling or quota mechanism on rebuilding will produce incorrect rebuilding schedules. The quota or ceiling mechanism will take effect at different harvest levels for each particular stock depending on the abundance of other stocks in the catch. For example, the rate at which a particular stock rebuilds may be accelerated by the presence of other stocks in the ceiling fisheries. If these other stocks respond to management measures at a faster rate, their abundance is increased and the relative contribution of the stock of interest to the fishery is reduced. This effect is similar to that resulting from enhancement where the increased abundance of hatchery fish will "saturate" the fishery under a fixed harvest ceiling and dilute the impact on wild stocks resulting in increased savings of wild fish to escapement.
More detailed stratification of fisheries was required to respond to a number of policy questions that were raised over time. The resolution needed for modeling may vary from issue to issue, depending upon the questions to be addressed and the availability of necessary data. The final Model used for the Pacific Salmon Treaty negotiations in 1984 incorporated four stocks and nine fisheries. The Model was modified in 1987 to enable it to simulate up to 25 fisheries and 26 stocks. In 1993 and 1994 the number of stocks was increased to 29 and 30, respectively.
By 1987, the effects of incidental mortality losses to the chinook rebuilding program had increasingly become a matter of concern as management agencies implemented various changes to fishing regulations to increase benefits under the fishery regimes established through the Pacific Salmon Commission. The Model has been modified to more realistically reflect incidental mortality losses and permit the evaluation of regulations such as non-retention restrictions and size limit changes.
The Model was recoded into Microsoft QuickBasic language beginning in 1986 and was revised in a number of important ways to better meet needs under implementation of the Pacific Salmon Treaty.
The listing of the Snake River Fall Chinook stock as "endangered" under the US Endangered Species Act generated interest in harvest management decisions from stakeholders outside the normal harvest management "family." In 1993 the University of Washington School of Fisheries, with funding from the Bonneville Power Administration, began creating a user-friendly version of the PSC Chinook Model. The goal was to create a tool that both scientists and the general public could use to explore the effects of various harvest management regulations on chinook stock rebuilding.
The new user-friendly model, called CRiSP Harvest, was initially created in C++ under the UNIX operating system and was completed in 1995. In 1996 a PC version was developed to make the model more accessible to the general public. At the April 1996 Sustainable Fisheries Conference held in Victoria, British Columbia, Canada a new modeling approach was presented in which the harvest and migration processes were separated by using a State Space Model (Newman 1998). Discussions at that conference lead to the project to develop the Coast Model.