catchCurveSim {FSATeach} | R Documentation |

Constucts hypothetical catch-at-age data given choices for a hypothetical population (governed by the initial population size (No) and instantaneous mortality rate (Z)) and fishery (through age at recruitment to the gear and proportional vulnerabilities to the gear). The natual log of catch versus age is plotted (i.e., a catch curve) and slider bars can be used to change population or fisheries parameter values. This function an corresponding dynamics graphic can be used to explore the effects of a parameter on the catch curve and, thus, elucidate the effects of assumption violations.

catchCurveSim(max.age = 15, v = rep(1, max.age), Zycl = FALSE, ZdeltaAge = round(max.age/2, 0), NodeltaAge = ZdeltaAge, ZSteady = TRUE, NoSteady = ZSteady, recruit.age = 3)

`max.age` |
An single numeric integer indicating the oldest age to use in the simulations. |

`v` |
A single vector of length |

`Zycl` |
A single logical indicating whether changes in mortality rates are applied to and followed for each year-class or not. See details. |

`ZdeltaAge` |
A single numeric that indicates the age at which the mortality rate should change. See details. |

`NodeltaAge` |
A single numeric that indicates the age at which the initial population size should change. See details. |

`ZSteady` |
A single logical that indicates whether
the change in mortality rate will be steady
( |

`NoSteady` |
A single logical that indicates whether
the change in initial population size will be steady
( |

`recruit.age` |
A single numeric indicating what the age at full recruitment should be. See detials. |

A catch curve plot that is dynamically linked to a set of slider controls. The user can then alter the population or fishery parameters to see the effect of those changes on the catch curve. Each parameter that can be set or can be altered with the slider bars is described below.

The **‘Z mean’** controls the mean
instantaneous mortality rate to use in the simulations.
If **‘Z cv’** (see below) is set to 0 then this
is the exact mortality rate used in the simulations.

The **‘Z cv’** controls the coefficient of
variation (as a proportion, not a percentage) to use when
modeling the instantaneous mortality rate. If
**‘Z cv’** is set to 0 then no randomization is
used. If **‘Z cv’** is greater than 0 then a
random normal deviate centered on **‘Z mean’**
with a standard deviation of **‘Z
cv’*****‘Z mean’** is used to model the
instantaneous mortality rate.

A simulated change in instantaneous mortality rate is
controlled with the **‘Z delta’** slider bar
and the `ZdeltaAge`

, and `ZSteady`

arguments.
The **‘Z.delta’** slider controls a
proportional adjustment in the mortality rate that begins
at `ZdeltaAge`

. The adjustment is a constant
proportion through time/ages if `ZSteady=TRUE`

, but
grows geometrically if `ZSteady=FALSE`

. For
example, if **‘Z mean’** is set to 0.40,
**‘Z cv’** is set to 0 (i.e., no variability),
**‘Z delta’** is set to 1.2,
`ZdeltaAge=5`

, and `ZSteady=TRUE`

then the
vector of mortalities used for ages 1 to 10 would be

`c(0.4,0.4,0.4,0.4,0.4*1.2,0.4*1.2,0.4*1.2,0.4*1.2,0.4*1.2,0.4*1.2)`

Alternatively, if all values were the same except that
`ZSteady=FALSE`

, then the vector of mortalities used
for ages 1 to 10 would be

`c(0.4,0.4,0.4,0.4,0.4*1.2,0.4*1.2^2,0.4*1.2^3,0.4*1.2^4,0.4*1.2^5,0.4*1.2^6)`

The simulation code can consider two different tacks when
modeling variability in the instantaneous mortality rate.
The first tack considers that the mortality rate
experienced throughout the existence of each year-class
corresponding to ages in the cross-sectional sample older
than some defined age was different than all previous
year-classes. Simulations using this tack can be used to
assess the assumption of a constant mortality rate for
all year-classes. The second tack considers that the
mortality rate for all ages prior to some defined age was
the same for all year-classes but that a different
mortality rate for all ages after some defined age for
all year-classes should be used. Simulations using this
tack can be used to assess the assumption of a constant
mortality rate for all ages. Which track is used in a
set of simulations is set by the `Zycl=`

argument to
the function (and not by a slide bar). If
`Zcyl=TRUE`

then the first tack is used.

A set of slider bars are used to control similar aspects
of the initial population size (No). **‘No
mean’** and **‘No CV’** are the mean and
coefficient of variation to be used in the simulations.
Changes in the initial population size are simulated with
the **‘No delta’** slider and the
`NodeltaAge`

and `NoSteady`

arguments. These
adjustments are applied in the same manner as described
for the instantaneous mortality rate.

The vulnerabilties of each age of fish to the fishing
gear can be simulated in one of two ways. If a vector of
“1”s is sent in the `v`

argument (this is the
default) then the fish in all ages after the recruitment
age (which is selected with a slider bar) are fully and
equally vulnerable to the gear. Fish in age-classes
prior to the age of recruitment are modeled by a linear
increase in proportional vulnerability from a value of
0.1 to 1 (for the age at recruitment). A wider variety
of changes in vulnerabilities can be modeled by sending
various vectors of proportional vulnerabilities for each
age in the simulation. For example, if 10 ages are
modeled, then the vector
`c(0.1,0.3,0.6,1,1,1,0.8,0.6,0.4,0.2)`

could be used
to model incomplete vulnerabilities prior to age 4,
complete vulnerablities from age 4 to age 6, and then
incomplete vulnerabilities for age 7 and older. If the
vector of vulnerabilities sent does not contain all
“1”s then a recruitment age slider will not be
available.

None. A slide controlled dynamic graphic with the
following description is produced. The catch curve
graphic is shown for as many as three lines. The gray
line is the catch-at-age data for the default values (the
initial values when the simulation was begun). This line
is used simply as a basis for examining parameter
changes. The blue line is the catch-ag-age data for
current choices of **‘Z.mean’**,
**‘Z.cv’**, **‘No.mean’**, and
**‘No.cv’**, but not for any of the other
choices (i.e., no change in the ‘delta’ values).
In other words, the blue line reflects the model for
other than default parameter choices but WITHOUT any
assumption violations. This line serves as a basis for
different parameter choices without assumption
violations. The red line is the catch-at-age data for
all current choices of parameters in the slider box. The
lines are plotted in the order of “gray”,
“red”, “blue” so, if any two are equal then
the color first plotted will not be seen.

The range of values allowed for each of the parameters was chosen to allow a wide variety of modeling opportunities. However, it is highly likely that these ranges do not encompass every possible set of values that a user may wish to view. Thus, this function is more useful as a learning tool rather than a research simulation tool.

if (interactive()) { ## default modeling catchCurveSim() ## modeling with custom vulnerabilities catchCurveSim(v=c(0.1,0.3,0.6,1,1,0.8,0.7,0.6,0.5,0.4)) } # end if interactive

[Package *FSATeach* version 0.0.1 Index]