ADMB Documentation  11.5.3197
 All Classes Files Functions Variables Typedefs Friends Defines
Functions
baranov.cpp File Reference

Routines for iteratively solving the Baranov catch equation. More...

#include "statsLib.h"

Go to the source code of this file.

Functions

double get_ft (const double &ct, const double &m, const dvector &va, const dvector &ba)
dvector get_ft (dvector &ct, const double &m, const dmatrix &V, const dvector &ba)
 Solving the Baranov catch equation for multiple fleets.
dvector get_ft (dvector &ct, const double &m, const dmatrix &V, const dvector &na, const dvector &wa)
 Solving the Baranov catch equation for multiple fleets.

Detailed Description

Routines for iteratively solving the Baranov catch equation.

Author:
Steven Martell
Date:
2/28/2011

The general form of the Baranov catch equation is given by:

\[ C = \frac{N F(1-\exp(-F-M))}{F+M} \]

where $ C $ is the catch (in either total numbers or total weight) $N$ is the abundance at the start of the time step, $ F$ is the instantaneous fishing mortality rate $M$ is the instantaneous natural mortality rate. The Baranov catch equation is a transcedental equation; here Newtons root finding method is implemented to determine $F$.

The basic algorithm is as follows:

1) Set initial guess for $F$ based on Popes approximation $ F=\frac{C}{N \exp(-0.5M)}$.

2) Calculate the predicted catch $\acute{C}$ based on initial $F$

3) Calculate the derivative of the catch equation $ \frac{\partial{C}}{\partial{F}} ={\frac {N \left( 1-{{\rm e}^{-M-F}} \right) }{M+F}}+{\frac {NF{ {\rm e}^{-M-F}}}{M+F}}-{\frac {NF \left( 1-{{\rm e}^{-M-F}} \right) }{ \left( M+F \right) ^{2}}} $

4) Update estimate of $ F $ using $ F_{i+1} = F_i - \frac{\acute{C}-C}{\frac{\partial{C}}{\partial{F}}} $

At present this function is only implemented for data-type variables.

Definition in file baranov.cpp.


Function Documentation

double get_ft ( const double &  ct,
const double &  m,
const dvector va,
const dvector ba 
)
Author:
Steven James Dean Martell UBC Fisheries Centre
Date:
2011-07-12
Parameters:
ctthe observed catch
mthe instantaneous natural mortality rate
vaa vector of age-specific selectivities.
bathe initial numbers or biomass (same units as the catch) at age.
Returns:
ft the instantaneous fishing mortality rate for fully selected (va=1) individuals.
See also:

Definition at line 51 of file baranov.cpp.

dvector get_ft ( dvector ct,
const double &  m,
const dmatrix V,
const dvector ba 
)

Solving the Baranov catch equation for multiple fleets.

Author:
Steven James Dean Martell UBC Fisheries Centre
Date:
2011-07-12
Parameters:
cta vector of observed catch for each fleet.
mthe instantaneous natural mortality rate (age-independent).
Va matrix of age-specific selectivities where each row corresponds to the fleet.
bathe initial numbers or biomass (same units as the catch) at age.
Returns:
ft a vector of instantaneous fishing mortality rate for fully selected (va=1) individuals for each fishing fleet.
See also:

Definition at line 94 of file baranov.cpp.

dvector get_ft ( dvector ct,
const double &  m,
const dmatrix V,
const dvector na,
const dvector wa 
)

Solving the Baranov catch equation for multiple fleets.

Author:
Steven James Dean Martell UBC Fisheries Centre
Date:
2011-07-12
Parameters:
cta vector of observed catch for each fleet.
mthe instantaneous natural mortality rate (age-independent).
Va matrix of age-specific selectivities where each row corresponds to the fleet.
naa vector of initial numbers or biomass (same units as the catch) at age.
waa vector of mean weights-at-age
Returns:
ft a vector of instantaneous fishing mortality rate for fully selected (va=1) individuals for each fishing fleet.
See also:

Definition at line 174 of file baranov.cpp.