Title: | Reference Points for Fisheries Management |
---|---|
Description: | Calculates a range of biological reference points based upon yield per recruit and stock recruit based equilibrium calculations. These include F based reference points like F0.1, FMSY and biomass based reference points like BMSY. |
Authors: | Iago Mosqueira [cre], Laurence T. Kell [aut], Finlay Scott [aut] |
Maintainer: | Iago Mosqueira <[email protected]> |
License: | GPL-3 |
Version: | 2.5.9.9051 |
Built: | 2024-12-06 08:27:56 UTC |
Source: | https://github.com/flr/FLBRP |
Reference points computed outside of FLBRP
can be added to the @refpts
slot of an FLBRP
object. A subsequent call to brp()
will compute all
other quantities related to this reference point.
## S4 method for signature 'FLBRP,FLPar' e1 + e2
## S4 method for signature 'FLBRP,FLPar' e1 + e2
e1 |
A FLBRP object |
e2 |
A FLPar containing a set of reference points. |
The reference points to be added are passed as an FLPar
object. Names of
these reference points need to follow this convention:
For SSB reference points, name should strat with "B", e.g. "Blim".
For F reference points, first letter must be "F", e.g. "Fmsy".
Yield reference points should start with "C", e.g. "Cpa".
For recruitment reference points, use "R" as starting letter, e.g. "R0".
A FLBRP object with the added and calculated reference points.
The FLR Team
brp
data(ple4brp) refs <- FLPar(Fmsy=0.21, Blim=207288, Bpa=290203) plot(ple4brp + refs)
data(ple4brp) refs <- FLPar(Fmsy=0.21, Blim=207288, Bpa=290203) plot(ple4brp + refs)
This method carries out the necessary calculation to obtain the reference
points for an object of class FLBRP
. Results of the calculation are stored
in @refpts
slot of the object, and the object is then returned.
To directly obtain the recalculated refpts
slot of an FLBRP
object, the
computeRefpts
method can be used. This is equivalent to fitting the object
using brp
and then extracting the @refpts
slot.
The plot method for the FLBRP
class will show the relationship between
equilibrium SSB, Yield and Profit against levels of fishing mortality and
that of recruitment, Yield and profit against SSB.
## S4 method for signature 'FLBRP' brp(object) ## S4 method for signature 'FLBRP' computeRefpts(object) ## S4 method for signature 'FLBRP,missing' plot( x, refpts = dimnames(x@refpts)$refpt, obs = FALSE, labels = TRUE, shapes = "missing", colours = "missing", panels = NULL, ncol = 2, ... )
## S4 method for signature 'FLBRP' brp(object) ## S4 method for signature 'FLBRP' computeRefpts(object) ## S4 method for signature 'FLBRP,missing' plot( x, refpts = dimnames(x@refpts)$refpt, obs = FALSE, labels = TRUE, shapes = "missing", colours = "missing", panels = NULL, ncol = 2, ... )
object |
An object of class |
x |
An object of class |
refpts |
Reference points to include, defaults to all in standard |
obs |
Should observations be plotted? Defaults to |
An object of class FLBRP
with reference points estimated
An object of class ggplot2.
data(ple4brp) ple4brp <- brp(ple4brp) refpts(ple4brp) m(ple4brp)[1:3,] <- 0.2 computeRefpts(ple4brp) data(ple4brp) plot(ple4brp) # ADD observations plot(ple4brp, obs=TRUE) # SELECT which refpts to plot plot(ple4brp, refpts=c("msy", "crash", "f0.1")) plot(ple4brp, refpts=c("msy", "crash", "f0.1"), colours=c("green", "red", "blue")) plot(ple4brp, refpts=c("msy", "crash", "f0.1"), colours=c("green", "red", "blue"), shapes=c(21, 22, 23)) # method will only plot existing referenced points refpts(ple4brp) <- refpts(ple4brp)[c("msy", "fmax", "spr.30"),] plot(ple4brp) # Select which panels to plot plot(ple4brp, panels=1:4) # and in which format plot(ple4brp, panels=1:3, ncol=1)
data(ple4brp) ple4brp <- brp(ple4brp) refpts(ple4brp) m(ple4brp)[1:3,] <- 0.2 computeRefpts(ple4brp) data(ple4brp) plot(ple4brp) # ADD observations plot(ple4brp, obs=TRUE) # SELECT which refpts to plot plot(ple4brp, refpts=c("msy", "crash", "f0.1")) plot(ple4brp, refpts=c("msy", "crash", "f0.1"), colours=c("green", "red", "blue")) plot(ple4brp, refpts=c("msy", "crash", "f0.1"), colours=c("green", "red", "blue"), shapes=c(21, 22, 23)) # method will only plot existing referenced points refpts(ple4brp) <- refpts(ple4brp)[c("msy", "fmax", "spr.30"),] plot(ple4brp) # Select which panels to plot plot(ple4brp, panels=1:4) # and in which format plot(ple4brp, panels=1:3, ncol=1)
This function creates a complete set of standard S4 class accessors and replacers. Not intended for direct use.
createFLAccesors(class, exclude = character(1), include = missing)
createFLAccesors(class, exclude = character(1), include = missing)
class |
name of the class |
exclude |
Slot names to exclude |
include |
Slot names to include |
The FLR Team
Estimation of equilibirum reference points on the results obtained from fitting
a population model can be carried out using the FLBRP
class. Objects
of this classs contain the information necessary for the calculation of
population and fisheries quantities (abundance, catches, ...) under a range
of levels of fishing mortality ('F'). From these, the values of those
quantities that maximize or minimize the values of different indicators can
be calculated.
## S4 method for signature 'missing,missing' FLBRP( ..., model = formula(rec ~ a), params = FLPar(1, params = "a"), fbar = FLQuant(seq(0, 4, length.out = 101), quant = "age") )
## S4 method for signature 'missing,missing' FLBRP( ..., model = formula(rec ~ a), params = FLPar(1, params = "a"), fbar = FLQuant(seq(0, 4, length.out = 101), quant = "age") )
The most common input for the calculation of reference points is the result
of an stock assessment model fit, usually provided as two objects of class
FLStock
and FLSR
.
model
The formula for the stock-recruitment model, formula,
.
params
Parameters of the stock-recruitment relationship, FLPar,
.
refpts
The estimated reference points, FLPar,
.
fbar
A vector of mean fishing mortality values for calculating the reference points, FLQuant,
.
fbar.obs
The time series of observed mean fishing mortality, FLQuant,
.
landings.obs
The time series of observed total landings, FLQuant,
.
discards.obs
The time series of observed total discards, FLQuant,
.
rec.obs
The time series of observed recruitment, FLQuant,
.
ssb.obs
The time series of observed spawning stock biomasses, FLQuant,
.
stock.obs
The time series of observed total stock abundance, FLQuant,
.
profit.obs
The time series of profits, FLQuant,
.
landings.sel
Selectivity at age for the landings, FLQuant,
.
discards.sel
Selectivity at age for the discards, FLQuant,
.
bycatch.harvest
X, Fishing mortality at age of bycatch species, FLQuant,
.
stock.wt
Mean weight-at-age in the stock to use in calculations, FLQuant,
.
landings.wt
Mean weight-at-age in the landings to use in calculations, FLQuant,
.
discards.wt
Mean weight-at-age in the discards to use in calculations, FLQuant,
.
bycatch.wt
Mean weight-at-age in the bycatch to use in calculations, FLQuant,
.
m
Natural mortality at age, FLQuant,
.
mat
Maturity at age, FLQuant,
.
harvest.spwn
Proportion of harvest/fishing mortality before spawning, FLQuant,
.
m.spwn
Proportion of natural mortality before spawning, FLQuant,
.
availability
, FLQuant,
.
price
Price at age, FLQuant,
.
vcost
X, FLQuant,
.
fcost
X, FLQuant,
.
.obs
slots dims 1:5Slots containing observations, named
*.obs
, must share dimensions 1 to 5
Slots containing vectors of values at age, must share dimensions 1 to 5
You can inspect the class validity function by using
getValidity(getClassDef('FLBRP'))
All slots in the class have accessor and replacement methods defined that allow retrieving and substituting individual slots.
The values passed for replacement need to be of the class of that slot. A numeric vector can also be used when replacing FLQuant slots, and the vector will be used to substitute the values in the slot, but not its other attributes.
A construction method exists for this class that can take named arguments for
any of its slots. All slots are then created to match the requirements of the
class validity. If an unnamed FLQuant
object is provided, this is used
for sizing but not stored in any slot.
A standard method also exists for object of class FLStock
, with or
without additional information on the stock-recruits relationship. This can
be provided as an object of class FLSR
, one of class predictModel
or as a list wqith elements named 'params', of class FLPar
, and 'model',
of class formula
.
Methods exist for various calculations based on values stored in the class:
Neque porro quisquam est qui dolorem ipsum.
The FLR Team
data(ple4) # Create the FLSR and FLBRP objects psr <- fmle(as.FLSR(ple4, model="bevholt"), control=list(trace=0)) prp <- brp(FLBRP(ple4, sr=psr)) summary(prp) refpts(prp)
data(ple4) # Create the FLSR and FLBRP objects psr <- fmle(as.FLSR(ple4, model="bevholt"), control=list(trace=0)) prp <- brp(FLBRP(ple4, sr=psr)) summary(prp) refpts(prp)
Extends an object representing a fish population for projecting into the future using the assumed equilibirum values used in the calculation of reference points
## S4 method for signature 'FLStock,FLBRP' fwdWindow(x, y, end = dims(x)$maxyear)
## S4 method for signature 'FLStock,FLBRP' fwdWindow(x, y, end = dims(x)$maxyear)
x |
The population object, for example of class |
y |
The reference points object, of class |
end |
Final year of the extended object, always interpreted as a character |
slts <- c("stock.wt", "landings.wt", "discards.wt", "catch.wt", "m", "mat", "harvest.spwn", "m.spwn")
An object of the same class a x, extended to year=end
data(ple4) # Create the FLSR and FLBRP objects psr <- fmle(as.FLSR(ple4, model="bevholt"), control=list(trace=0)) prp <- brp(FLBRP(ple4, sr=psr)) res <- fwdWindow(ple4, prp, end=dims(ple4)$maxyear + 10)
data(ple4) # Create the FLSR and FLBRP objects psr <- fmle(as.FLSR(ple4, model="bevholt"), control=list(trace=0)) prp <- brp(FLBRP(ple4, sr=psr)) res <- fwdWindow(ple4, prp, end=dims(ple4)$maxyear + 10)
Calculates the values of fishing mortality, biomass, SSB etc. for a range of yields either side of MSY.
## S4 method for signature 'FLBRP' msyRange(object, range = 0.1)
## S4 method for signature 'FLBRP' msyRange(object, range = 0.1)
object |
|
range |
the values of yield around MSY |
object of class FLPar
with reference point quantities
refpts
data(ple4brp) msyRange(ple4brp)
data(ple4brp) msyRange(ple4brp)
Calculates the value of r, the intrisic rate of increase.
## S4 method for signature 'FLBRP,missing' r(m, by = "year", method = "el", ...)
## S4 method for signature 'FLBRP,missing' r(m, by = "year", method = "el", ...)
m |
An object of class |
object of class FLQuant
with r estimate
data(ple4brp) r(ple4brp)
data(ple4brp) r(ple4brp)
Calculates the surplus production.
## S4 method for signature 'FLBRP,missing,ANY' sp(stock, rel = TRUE)
## S4 method for signature 'FLBRP,missing,ANY' sp(stock, rel = TRUE)
m |
An object of class |
object of class FLQuant
with sp estimate
data(ple4brp) sp(ple4brp)
data(ple4brp) sp(ple4brp)
Calculates the spawners per recruit (spr
) at each level of fishing mortality (F)
in the fbar
slot, or the spawners per recruit when F=0 (spr0
).
## S4 method for signature 'FLBRP' spr(object) ## S4 method for signature 'FLBRP,missing,missing' spr0(ssb)
## S4 method for signature 'FLBRP' spr(object) ## S4 method for signature 'FLBRP,missing,missing' spr0(ssb)
object |
An object of class |
An object of class FLQuant
.
data(ple4brp) spr(ple4brp) spr0(ple4brp) data(ple4brp) spr0(ple4brp)
data(ple4brp) spr(ple4brp) spr0(ple4brp) data(ple4brp) spr0(ple4brp)