predict_mod {TropFishR} | R Documentation |
Prediction models
Description
This function applies Beverton & Holt's yield per recruit model as well as the Thompson & Bell model. These models predict catch, yield, biomass and economic values for different fishing mortality scenarions (in combination with gear changes).
Usage
predict_mod(
param,
type,
FM_change = NA,
E_change = NA,
FM_relative = FALSE,
Lc_change = NULL,
tc_change = NULL,
s_list = NA,
stock_size_1 = NA,
age_unit = "year",
curr.E = NA,
curr.Lc = NA,
plus_group = NA,
Lmin = NA,
Lincr = NA,
plot = FALSE,
mark = TRUE,
hide.progressbar = FALSE
)
Arguments
param |
a list consisting of following parameters (not all are required):
additional list objects for the Thompson and Bell model:
|
type |
indicating which model should be applied: |
FM_change |
vector with ascending fishing mortalities (if |
E_change |
vector with ascending absolute exploitation rates; |
FM_relative |
logical; indicating whether |
Lc_change |
vector with ascending lengths at first capture (Lc), or |
tc_change |
vector with ascending ages at first capture (tc) |
s_list |
list with selectivity parameters |
stock_size_1 |
stock size of smallest size class, if NA values are calculated relative to a stock size of 1000 individuals |
age_unit |
in which time unit the data is provided? "month" or "year" |
curr.E |
current exploitation rate if available |
curr.Lc |
current Lc (length at first capture) if available |
plus_group |
if a value is provided, a plus group is created comprising this size class and all above |
Lmin |
smallest length group where to start with selection ogive. Not required for "knife_edge" selection type |
Lincr |
arbitrary length increment between length groups for estimation of selection ogive. The smaller the higher the resolution but the slower the model run. Not required for "knife_edge" selection type |
plot |
logical; if TRUE results are displayed graphically |
mark |
logical; if value of choosen points should be displayed in graph (default: TRUE) |
hide.progressbar |
logical; should progressbar be displayed or hidden? (Default: FALSE) |
Details
The Thompson and Bell model incorporates an iteration step simulating the
stock by means
of the stock_sim
function. In case changes in gear
characteristics -
here measured in terms of Lc or tc, the length or age at first capture,
respectively -
should be explored, a list with selectivity information about the gear has
to be provided and
the prediction models make use of the selectivity select_ogive
function.
Sparre and Venema (1998) recommend to treat the last length class always as plus group.
This model is very sensitive to zero observations in the ultimate length
classes. If unrealistic results are returned,
it is recommended to cut length classes with zero observations, group
them in a plus group or to change the interval between
length classes.
Equations which are used in this function assume isometric growth, an
assumption often not met. Further, the assumption that there is no relationship
between the parental stock size and progeny
over a wide range of fishing mortalities or exploitation values,
respectively, is also said to be untrue. By default, the functions assume
knife-edge recruitment and selection of gears (Sparre and Venema, 1998).
If E_change instead of FM_change is used the range is cut at E=0.9, because
higher values of E correspond to unrealistic high values of fishing mortality.
If no selectivity information is given (by use of s_list), knife edge selectivity
with L50 equal to the first argument of Lc_change is assumed.
Value
A list with the input parameters and dependent on the model type following list objects:
-
type = 'ypr'
-
FM: fishing mortalities,
-
Lc or tc: lengths or ages at first capture,
-
list_Lc_runs: a list with dataframes for each Lc value:
-
FM_change: fishing mortalities
-
E: expoitation rates
-
Ty: mean age in annual yield
-
LY: mean length in annual yield
-
Wy: mean weight in annual yield
-
Y_R.rel: relative yield per recruit (change in catch in weigth per recruit relative to initial Y/R value)
-
B_R.rel: relative biomass per recruit
-
Y_R: yield per recurit (catch in weight per recruit)
-
B_R: biomass per recruit
-
B_R.percent: percentage biomass per recurit in relation to virgin biomass per recruit
-
-
df_Es: a dataframe with references points (columns) for different Lc values (rows)
-
df_current: a dataframe with the exploitation status, yield and biomass values of current exploitation or selectivity (if E_curr or Lc_tc_curr provided).
-
-
type = 'ThompBell'
-
dt: delta t,
-
N: population number,
-
dead: deaths due to natural reasons,
-
C: catch,
-
Y: yield,
-
B: biomass,
-
V: value,
-
totals: summed up values (total catch, total yield, total value, average biomass),
-
totC: total catches for different x factors,
-
totY: total yield values for different x factors,
-
totV: total values for different x factors,
-
meanB: average biomasses for different x factors,
-
F_change: fishing mortality changes;
-
-
type = 'ThompBell'
andLc_change
provided-
FM_change: fishing mortality changes,
-
Lc_change: changes in length at first capture,
-
Lt: lengths at age,
-
sel: probability of capture,
-
mat_FM_Lc_com.C: catch matrix for all fishing mortality and Lc/tc combinations,
-
mat_FM_Lc_com.Y: yield matrix for all fishing mortality and Lc/tc combinations,
-
mat_FM_Lc_com.V: value matrix for all fishing mortality and Lc/tc combinations,
-
mat_FM_Lc_com.B: biomass matrix for all fishing mortality and Lc/tc combinations;
-
References
Berkeley, S.A., and Houde, E.D., 1980. Swordfish, Xiphias gladius, dynamics in the Straits of Florida. ICES C.M., 11.
Beverton, R.J.H., and Holt, S.J., 1964. Table of yield functions for fishery management. FAO Fish. Tech. Pap. 38, 49 p.
Beverton, R.J.H., and Holt, S.J., 1966. Manual of methods for fish stock assessment. Pt. 2: Tables of yield functions. FAO Fisheries Technical Paper, (38)Rev.1:67 p.
Boerema, L.K., and J.A. Gulland, 1973. Stock assessment of the Peruvian anchovy (Engraulis ringens) and management of the fishery. Journal of the Fisheries Board of Canada, 30(12):2226-2235
Garcia, S. and N.P. van Zalinge, 1982. Shrimp fishing in Kuwait: methodology for a joint analysis of the artisanal and industrial fisheries. pp. 119-142 In: Report on the Workshop on assessment of the shrimp stocks of the west coast of the Gulf between Iran and the Arabian Peninsula. Fisheries development in the Gulf. Rome, FAO, FI:DP/RAB/80/015/1, 163 p.
Gulland, J.A., 1983. Fish stock assessment: a manual of basic methods. FAO/Wiley, New York.
Gulland, J.A. and Boerema, L., 1973. Scientific advice on catch levels. Fish. Bull. (US) 71:325-335.
Jones, R.E. 1957. A much simplified version of the fish yield equation. Doc. No. P. 21. Paper presented at the Lisbon joint meeting of International Commission Northwest Atlantic-Fisheries, International Council for the Exploration of the Sea, and Food and Agriculture Organization of the United Nations. 8 p. [Mimeo].
Millar, R.B., and Holst, R., 1997. Estimation of gillnet and hook selectivity using log-linear models. ICES Journal of Marine Science: Journal du Conseil, 54(3):471-477
Pauly, D., 1980. A selection of simple methods for the assessment of tropical fish stocks. FAO Fisheries Circulars (FAO). no. 729.
Pauly, D., 1984. Fish population dynamics in tropical waters: a manual for use with programmable calculators. ICLARM Stud. Rev. 8, 325 p.
Pauly, D. and M. Soriano. 1986. Some practical extensions to Beverton and Holt's relative yield-per-recruit model, p. 491-495. In J.L. Maclean, L.B. Dizon and L.V. Hosillos (eds.) The First Asian Fisheries Forum. Asian Fisheries Society, Manila.
Schaefer, M.B., 1954. Some aspects of the dynamics of populations important to the management of the commercial marine fisheries. Inter-Am. Trop. Tuna Comm., Bull. 1(2):27-56.
Schaefer, M.B., 1957. A study of the dynamics of the fishery for yellowfin tuna in the eastern tropical Pacific Ocean. Inter-Am. Trop. Tuna Comm., Bull. 2:247-268.
Sparre, P., and Venema, S.C., 1998. Introduction to tropical fish stock assessment. Part 1. Manual. FAO Fisheries Technical Paper, (306.1, Rev. 2). 407 p.
Examples
#______________________________________
# Yiel Per Recruit (YPR) / Beverton and Holt's model
#______________________________________
# age structured data
# Nemipterus marginatus
threadfin <- list(Winf = 286, K = 0.37, t0 = -0.2, M = 1.1, tr = 0.4)
predict_mod(threadfin, FM_change = seq(0,6,0.1),
tc_change = seq(0.2,1,0.2), type = 'ypr')
# Leiognathus spendens (Pauly, 1980)
ponyfish <- list(Winf = 64, K = 1, t0 = -0.2, M = 1.8, tr = 0.2)
predict_mod(ponyfish, tc_change = c(0.2,0.3,1.0), type = 'ypr', plot=TRUE)
#______________________________________
# length structured data
# Xiphias gladius (Berkeley and Houde, 1980)
swordfish <- list(Linf = 309, K = 0.0949, M = 0.18,
a = 0.0003, b = 3, Lr = 90)
select.list <- list(selecType = 'trawl_ogive', L50 = 120, L75 = 132)
#swordfish$midLengths <- seq(60,300,5)
output <- predict_mod(param = swordfish, Lc_change = c(100,118,150,180),
s_list = select.list, type = 'ypr', Lmin = 90, Lincr = 8)
plot(output)
data(hake)
hake$Lr <- 35
select.list <- list(selecType = 'trawl_ogive', L50 = 50, L75 = 54)
output <- predict_mod(param = hake, FM_change = seq(0,3,0.05),
Lc_change = seq(30,70,1), s_list = select.list,
type = 'ypr', plot = FALSE, curr.Lc = 50, curr.E = 0.73)
plot(output, type = "Isopleth", xaxis1 = "FM", yaxis1 = "Y_R.rel", mark = TRUE)
output <- predict_mod(param = hake, E_change = seq(0,1,0.1),
Lc_change = seq(2,120,2), #s_list = select.list,
type = 'ypr', plot = FALSE)
plot(output, type = "Isopleth", xaxis1 = "E", yaxis1 = "B_R")
#______________________________________
# Thompson and Bell model
#______________________________________
# with age structured data
data(shrimps)
output <- predict_mod(param = shrimps, FM_change = seq(0.1,20,0.1),
type = "ThompBell", age_unit = "month", plot = TRUE)
#______________________________________
# with length structured data
data(hake)
par(mar = c(5, 4, 4, 7))
predict_mod(param = hake,FM_change = seq(0.1,3,0.05),
type = 'ThompBell', plot = TRUE)
# create list with selectivity information
select.list <- list(selecType = 'trawl_ogive', L50 = 50, L75 = 55)
output <- predict_mod(param = hake, FM_change = seq(0,2,0.1),
Lc_change = seq(20,70,1),
curr.E = 0.4, curr.Lc = 50,
type = 'ThompBell', s_list = select.list)
plot(output, xaxis1 = "FM", yaxis_iso = "Lc", yaxis1 = "B_R", mark = TRUE)