get_ref_pts: get_ref_pts

View source: R/get_ref_pts.r

get_ref_ptsR Documentation

get_ref_pts

Description

Calculations of stock dependent quantities over a range of fishing mortalities (F). This is code based on code from the Beaufort Assessment Model converted from ADMB to R, for both bam functions get_msy and get_per_recruit_stuff.

Usage

get_ref_pts(
  rdat = NULL,
  maxF = NULL,
  nFopt = 10001,
  nFres = 101,
  SPR_props = c(0.3, 0.4, 0.5),
  nages = NULL,
  sel_wgted_L = NULL,
  sel_wgted_D = NULL,
  M = NULL,
  reprod = NULL,
  spawn_time_frac = NULL,
  R0 = NULL,
  steep = NULL,
  BiasCor = NULL,
  SR_switch = NULL,
  R0_2 = NULL,
  steep_2 = NULL,
  BiasCor_2 = NULL,
  SR_switch_2 = "none",
  rec_mean = NULL,
  wgt_mt = NULL,
  wgt_klb = NULL,
  wgt_klb_L = NULL,
  wgt_klb_D = NULL,
  make_plot = FALSE,
  plot_digits = 3
)

Arguments

rdat

BAM output rdat file object

maxF

Maximum fishing mortality rate. numeric vector

nFopt

length of F vector for grid search optimization

nFres

length of F vector for filtering grid search results to limit output size

SPR_props

proportions of SPR to compute reference points at. numeric vector

nages

Number of ages in population model. numeric vector

sel_wgted_L

effort-weighted, recent selectivities toward landings. numeric vector of length nages

sel_wgted_D

effort-weighted, recent selectivities toward discards. numeric vector of length nages

M

Natural mortality rate. numeric vector of length nages

reprod

Reproductive potential at-age vector. numeric vector of length nages

spawn_time_frac

time of year of peak spawning, as a fraction of the year. numeric

R0

Beverton-Holt R0 parameter (virgin recruitment) used in equilibrium calculations. Numbers of fish at first age (often age-0 or age-1). numeric vector

steep

Beverton-Holt steepness parameter used in equilibrium calculations. numeric vector

BiasCor

bias correction used in equilibrium calculations. numeric vector

SR_switch

1 for Beverton-Holt, 2 for Ricker, 3 for none (average recruitment) used in equilibrium calculations. integer

R0_2

Beverton-Holt R0 parameter (virgin recruitment) used in non-equilibrium calculations. Numbers of fish at first age (often age-0 or age-1). numeric vector

steep_2

Beverton-Holt steepness parameter used in non-equilibrium calculations. numeric vector

BiasCor_2

bias correction used in non-equilibrium calculations. numeric vector

SR_switch_2

1 for Beverton-Holt, 2 for Ricker, 3 for none (average recruitment) used in non-equilibrium calculations. integer

wgt_mt

Weight-at-age in metric tons for fish in the population. numeric vector of length nages

wgt_klb

Weight-at-age in thousand pounds for fish in the population. numeric vector of length nages

wgt_klb_L

Weight-at-age in thousand pounds for fish in the landings. numeric vector of length nages

wgt_klb_D

Weight-at-age in thousand pounds for fish in the discards. numeric vector of length nages

make_plot

Indicate whether or not to plot results. logical

plot_digits

number of significant digits to show in plot. numeric

Details

This functions computes msy-based reference points with equilibrium methods, and computes SPR-based reference points using non-equilibrium methods. Both sets of calculations use the same function, sr_eq, to calculate recruitment at each level of F, but separate sets of arguments are passed to each call. By default, SR_switch_2="none", setting recruitment to BiasCor_2*R0_2. To set recruitment equal to a fixed value (e.g. empirical mean recruitment from a set of years), set R0_2 equal to that value, and set BiasCor_2 equal to 1.

Value

Invisibly returns a list including data generated by the equilibrium and non-equilibrium calculations (data_eq and data_neq), as well as MSY and SPR-based reference points (ref_pts_msy and ref_pts_SPR), computed with equilibrium and non-equilibrium methods, respectively.

Author(s)

Erik Williams, Kyle Shertzer, and Nikolai Klibansky

Examples

## Not run: 
rdat <- rdat_VermilionSnapper
res <- get_ref_pts(rdat,make_plot=TRUE)
# Using average recruitment in the non-equilibrium calculations, as in SEDAR 55
rec_mean <- mean(rdat$t.series[paste(1976:2013),"recruits"])
res2 <- get_ref_pts(rdat,R0_2=rec_mean,BiasCor_2=1,make_plot=TRUE)

## End(Not run)

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