F_calc: F_calc

View source: R/F_calc.r

F_calcR Documentation

F_calc

Description

Calculations of stock dependent quantities over a range of fishing mortalities (F). This code calculates spawning potential ratio (SPR), and then maximum sustainable yield (MSY) using equilibrium methods incorporating a Beverton-Holt stock-recruit relationship. Many of the calculations, particularly the MSY calculations, are based on code in the Beaufort Assessment Model. This function is essentially the same as the get_msy function, but is not as specific to BAM.

Usage

F_calc(
  ac,
  h = NULL,
  R0 = NULL,
  rec_sigma = 0,
  M,
  Fmax = 1,
  F_n = 101,
  sel_L,
  sel_D,
  PS,
  w,
  ep,
  Px = 0.4,
  P_st = 0.5,
  plots = FALSE,
  plus_group = TRUE,
  plot_digits = 3
)

Arguments

ac

age classes. numeric vector

h

Beverton-Holt steepness parameter

R0

Beverton-Holt R0 parameter. Numbers of fish at age-a (often age-0 or age-1).

rec_sigma

recruitment standard deviation in log space. used to compute lognormal bias correction – exp(sigma^2/2)

M

Natural mortality rate

Fmax

Maximum fishing mortality rate

F_n

Number of fishing mortality rates to try

sel_L

Selectivity at age for landings

sel_D

Selectivity at age for discards

PS

Proportion of fish to include in stock calculation, at age (e.g. mature females at age)

w

weight at age in any units, used to convert numbers-at-age to weight-at-age. Results in weight will be in these units.

ep

egg production proxy at age (e.g. weight, fecundity)

Px

reference proportion of unfished spawning potential ratio (e.g. Px=.40)

P_st

Time of year when spawning occurs, as a proportion.

plots

logical. Draw plots?

plot_digits

number of significant digits to show in plot

Author(s)

Erik Williams, Kyle Shertzer, and Nikolai Klibansky

Examples

rdat <- rdat_VermilionSnapper
pr <- rdat$parms
as <- rdat$a.series
F_calc(ac=as$age, h=pr$BH.steep, R0=pr$R0,rec_sigma=rdat$parms$R.sigma.par, M=as$M,
       sel_L=rdat$sel.age$sel.v.wgted.L, sel_D=rdat$sel.age$sel.v.wgted.D,
       PS=rep(1,length(as$age)), w=as$wholewgt.wgted.L.klb, ep=as$reprod,
       plots=TRUE,P_st=rdat$parms$spawn.time,plot_digits=4)

# When there is no SRR, the function will still compute SPR without computing MSY-based equilibrium values
rdat <- rdat_RedSnapper
pr <- rdat$parms
as <- rdat$a.series
F_calc(ac=as$age, M=as$M, sel_L=rdat$sel.age$sel.v.wgted.L, sel_D=rdat$sel.age$sel.v.wgted.D,
       PS=rep(1,length(as$age)), w=as$wholewgt.wgted.L.klb, ep=as$reprod,
       plots=TRUE,P_st=rdat$parms$spawn.time,plot_digits=4)

nikolaifish/bamExtras documentation built on April 17, 2025, 9:44 p.m.