dpmBH_func: Simulate yield using the dynamic pool model.

View source: R/dpmBH_func.R

dpmBH_funcR Documentation

Simulate yield using the dynamic pool model.

Description

Estimate yield-at-age using the Beverton-Holt Yield-per-Recruit (YPR) model for a single year-class. This main function accepts a minimum length limit for harvest (minLL), a vector for conditional fishing mortality (cf), a vector of conditional natural mortality (cm), a vector of recruitment abundance (rec), and life history parameters (lhparams).

Usage

dpmBH_func(minLL, cf, cm, rec, lhparms, matchRicker = FALSE)

Arguments

minLL

A single numeric representing the minimum length limit for harvest in mm.

cf

A matrix of conditional fishing mortality where each row represents a year and each column represents age. Ages are age-0 through maximum age.

cm

A matrix of conditional natural mortality where each row represents a year and each column represents age. Ages are age-0 through maximum age.

rec

A single numeric representing initial recruitment abundance.

lhparms

A named vector or list that contains values for each N0, tmax, Linf, K, t0, LWalpha, and LWbeta. See makeLH for definitions of these life history parameters. Also see details.

matchRicker

A logical that indicates whether the yield function should match that in Ricker (). Defaults to TRUE. The only reason to changed to FALSE is to try to match output from FAMS. See the "YPR_FAMSvRICKER" article.

Details

Details will be filled out later

Value

A data.frame with the following calculated values:

  • age is the age of the year class

  • length is the mean length at age calculated using the von Bertalanffy growth model and provided parameters

  • weight is the mean weight at age calculated using the log10 length-weight regression using the provided parameters

  • N_start is the number of individuals at age at the start of the year.

  • exploitation is the exploitation rate.

  • expect_nat_death is the expectation of natural death.

  • cf is the conditional fishing mortality at age.

  • cm is the conditional natural mortality at age

  • F is the instantaneous rate of fishing mortality.

  • M is the instantaneous rate of natural mortality.

  • Z is the instantaneous rate of total mortality.

  • S is the (total) annual rate of survival

  • tr is the time for a fish to recruit to a minimum length limit (i.e., time to enter fishery).

  • Nt is the number of fish at time tr (time they become harvestable size).

  • biomass is the total biomass at age (g)

  • N_harvest is the total number harvested at age

  • N_die is the total number that die at age

  • yield is the estimated yield (in g).

For convenience the data.frame also contains the model input values (minLL, N0, N0, Linf, K, t0, LWalpha, LWbeta, and tmax).

The data.frame also contains a notes value which may contain abbreviations for "issues" that occurred when computing the results and were adjusted for. The possible abbreviates are as follows:

  • minLL>=Linf: The minimum length limit (minLL) being explored was greater than the given asymptotic mean length (Linf). For the purpose (only) of computing the time at recruitment to the fishery (tr) the Linf was set to minLL+0.1.

  • tr<t0: The age at recruitment to the fishery (tr) was less than the hypothetical time when the mean length is zero (t0). The fish can't recruit to the fishery prior to having length 0 so tr was set to t0. This also assures that the time it takes to recruit to the fishery is greater than 0.

  • Y=Infinite: The calculated yield (Y) was inifinity, which is impossible and suggests some other propblem. Yield was set to NA.

  • Y<0: The calculated yield (Y) was negative, which is impossible. Yield was set to 0.

  • Nharv<0: The calculated number of fish harvested (Nharv) was negative, which is not possible. Number harvested was set to 0.

  • Ndie<0: The calculated number of fish recruiting to the fishery that died naturally (Ndie) was negative, which is not possible. Number that died was set to 0.

  • agvglen<minLL: The average length of harvested fish was less than the given minimum length limit being explored, which is not possible (with only legal harvest). The average length was set to the minimum length limit.

Author(s)

Jason C. Doll, jason.doll@fmarion.edu

References

Ricker, W.E. 1975. Computation and interpretation of biological statistics of fish populations. Technical Report Bulletin 191, Bulletin of the Fisheries Research Board of Canada. Was (is?) from https://waves-vagues.dfo-mpo.gc.ca/library-bibliotheque/1485.pdf.

Slipke, J.W., and M.J. Maceina. 2014. Fishery analysis and modeling simulator. v1.64. American Fisheries Society, Bethesda, MD.

Examples

lhparms <- makeLH(N0=100,tmax=30,Linf=1349.5,K=0.111,t0=0.065,LWalpha=-5.2147,LWbeta=3.153)

# simulate yield from a single year-class
cm <- rep(0.18,(lhparms$tmax+1))
cf <- c(rep(0,3), rep(0.33,(lhparms$tmax+1) - 3))

Res_1 <- dpmBH_func(minLL=400,cm=cm,cf=cf,rec=1000,lhparms=lhparms,matchRicker=FALSE)

Res_1


rFAMS documentation built on Feb. 11, 2026, 1:06 a.m.