Performs a root finding routine to find the index of F that minimizes the difference between observed catch and the value predicted by the Baranov equation.
Arguments
- Cobs
Observed catch. Matrix
[f, r]
- N
Stock abundance at the beginning of the time step. Array
[a, r, s]
- sel
Selectivity. Array
[a, f, s]
- wt
Fishery weight at age. Array
[a, f, s]
- M
Instantaneous natural mortality. Units of per year
[a, s]
- q_fs
Relative catchability of stock
s
for fleetf
. Defaults to 1 if missing. Matrix[f, s]
- delta
Numeric, the duration of time in years corresponding to the observed catch, e.g., 0.25 is a quarterly time step.
- na
Integer, number of age classes
- nr
Integer, number of regions
- ns
Integer, number of stocks
- nf
Integer, number of fleets
- Fmax
Numeric, the maximum Findex value
- nitF
Integer, number of iterations for the Newton-Raphson routine
- trans
Whether to perform the search in log or logit space
Value
A list containing:
F_afrs
Fishing mortality arrayF_ars
Fishing mortality array (summed across fleets)Z_ars
Total mortality arrayF_index
Index of fishing mortality. Matrix[f, r]
CB_frs
Catch (biomass) arrayCN_afrs
Catch (abundance) arrayVB_afrs
Vulnerable biomass at the beginning of the time step. Arraypenalty
Penalty term returned byposfun()
whenF_index
exceedsFmax
fn
Difference between predicted and observed catch at the last iteration. Matrix[f, r]
gr
Gradient offn
with respect toF_index
in either log or logit space at the last iteration. Vector by[f, r]
Details
The predicted catch for fleet f
in region r
is
$$
C^{\textrm{pred}}_{f,r} = \sum_s \sum_a v_{a,f,s} q_{f,s} F_{f,r} \dfrac{1 - \exp(-Z_{a,r,s})}{Z_{a,r,s}} N_{a,r,s} w_{a,f,s}
$$
The Newton-Raphson routine minimizes \(f(x_{f,r}) = C_{f,r}^{\textrm{pred}} - C_{f,r}^{\textrm{obs}}\).
If trans = "log"
, \(F_{f,r} = \exp(x_{f,r})\).
If trans = "logit"
, \(F_{f,r} = F_{\textrm{max}}/(1 + \exp(x_{f,r}))\).
The gradient with respect to \(\vec{x}\) is $$ f'(x_{f,r}) = \sum_s \sum_a v_{a,f,s} q_{f,s} N_{a,r,s} w_{a,f,s} \left(\dfrac{\alpha\gamma}{\beta}\right)' $$
$$ \left(\dfrac{\alpha\gamma}{\beta}\right)' = \dfrac{(\alpha\gamma' + \alpha'\gamma)\beta - \alpha\gamma\beta'}{\beta^2} $$
where
\(\alpha_{f,r} = F_{f,r}\) |
\(\beta_{a,r,s} = Z_{a,r,s} = M_{a,s} + \sum_f v_{a,f,s} q_{f,s} F_{f,r}\) |
\(\gamma_{a,r,s} = 1 - \exp(-Z_{a,r,s})\) |
\(\beta'_{a,f,r,s} = v_{a,f} q_{f,s} \alpha'_{f,r}\) |
\(\gamma'_{a,f,r,s} = \exp(-Z_{a,r,s})\beta'_{a,f,r,s}\) |
If trans = "log"
, \(\alpha'_{f,r} = \alpha_{f,r}\).
If trans = "logit"
, \(\alpha'_{f,r} = F_{\textrm{max}}\exp(-x_{f,r})/(1 + \exp(-x_{f,r}))^2\).
This function solves for \(\vec{x}\) by iterating until \(f(\vec{x})\) approaches zero, where the vector arrow indexes over fleet and region. In iteration \(i+1\): $$\vec{x}_{i+1} = \vec{x}_i - \dfrac{f(\vec{x}_i)}{f'(\vec{x}_i)}$$.