Multi-fleet, multi-area, multi-stock population dynamics model
Source:R/calc_population.R
calc_population.RdProject age-structured populations forward in time. Also used by [calc_phi_project()] to calculate
equilibrium abundance and biomass for which there is no analytic solution
due to seasonal movement.
Usage
calc_population(
ny = 10,
nm = 4,
na = 20,
nf = 1,
nr = 4,
ns = 2,
initN_ars = array(1, c(na, nr, ns)),
mov_ymarrs,
M_yas = array(0.3, c(ny, na, ns)),
SRR_s = rep("BH", ns),
sralpha_s = rep(1e+16, ns),
srbeta_s = rep(1e+16, ns),
mat_yas = array(1, c(ny, na, ns)),
fec_yas = array(1, c(ny, na, ns)),
Rdev_ys = matrix(1, ny, ns),
m_spawn = 1,
m_advanceage = 1,
delta_s = rep(0, ns),
natal_rs = matrix(1, nr, ns),
recdist_rs = matrix(1/nr, nr, ns),
fwt_ymafs = array(1, c(ny, nm, na, nf, ns)),
q_fs = matrix(1, nf, ns),
sel_ymafs = array(1, c(ny, nm, na, nf, ns)),
condition = c("F", "catch"),
F_ymfr = array(0, c(ny, nm, nf, nr)),
Cobs_ymfr = array(1e-08, c(ny, nm, nf, nr)),
Fmax = 2,
nitF = 5L
)Arguments
- ny
Integer, number of years for the projection
- nm
Integer, number of seasons
- na
Integer, number of age classes
- nf
Integer, number of fleets
- nr
Integer, number of regions
- ns
Integer, number of stocks
- initN_ars
Abundance in the first year, first season. Array
[a, r, s]- mov_ymarrs
Movement array
[y, m, a, r, r, s]. If missing, uses a diagonal matrix (no movement among areas).- M_yas
Natural mortality (per year). Array
[y, a, s]- SRR_s
Character vector by
sfor the stock recruit relationship. Seecalc_recruitment()for options- sralpha_s
Numeric vector by
sfor the stock recruit alpha parameter- srbeta_s
Numeric vector by
sfor the stock recruit beta parameter- mat_yas
Maturity ogive. Array
[y, a, s]- fec_yas
Fecundity schedule (spawning output of mature individuals). Array
[y, a, s]- Rdev_ys
Recruitment deviations. Matrix
[y, s]- m_spawn
Integer, season of spawning
- m_advanceage
Integer, season at which to advance integer year age classes
- delta_s
Numeric vector by
s. Fraction of season that elapses when spawning occurs, e.g., midseason spawning whendelta_s = 0.5.- natal_rs
Matrix
[r, s]. The fraction of the mature stocksin regionrthat spawns at time of spawning. See example in Dstock.- recdist_rs
Matrix
[r, s]. The fraction of the incoming recruitment of stocksthat settles in regionr.- fwt_ymafs
Fishery weight at age. Array
[y, m, a, f, s]- q_fs
Relative catchability of stock
sfor fleetf. Defaults to 1 if missing. Matrix[f, s]- sel_ymafs
Fishery selectivity. Array
[y, m, a, f, s]- condition
Whether the fishing mortality is conditioned on the catch or specified F argument.
- F_ymfr
Fishing mortality (per season). Array
[y, m, f, r]. Only used ifcondition = "F".- Cobs_ymfr
Fishery catch (weight). Array
[y, m, f, r]. Only used ifcondition = "catch"to solve for F (seecalc_F()).- Fmax
Numeric, the maximum Findex value
- nitF
Integer, number of iterations for the Newton-Raphson routine
Value
A named list containing:
N_ymarsStock abundanceF_ymarsFishing mortality (summed across fleets)F_ymfrFishing mortality (by fleet and region)Z_ymarsTotal mortalityF_ymafrsFishing mortality (disaggregated by fleet)CN_ymafrsCatch at age (abundance)CB_ymfrsFishery catch (weight)VB_ymfrsVulnerable biomass available to the fishing fleetsNsp_yarsSpawning abundance (in the spawning season)Npsp_yarsPotentail spawners, mature animals in the spawning season that do not spawn if outside natal regionsS_yrsSpawning outputR_ysRecruitmentpenaltyNumeric quadratic penalty if apical fishing mortality (by fleet) exceedsFmax. Seecalc_F().