ADMB Documentation  -a65f1c97
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
baranov.cpp File Reference

(Last Changed on December 15, 2011 for git-revision e4a822a6a76b688bbd84aa9598fe2daa081fa049.)

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. More...
 
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. More...
 

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.