![]() |
Indian Ocean Skipjack
|
#include <model.hpp>
Public Member Functions | |
| void | initialise (void) |
| void | update (uint time) |
| void | equilibrium (void) |
| void | pristine_go (void) |
| Frame | yield_curve (double step=0.01) |
| Frame | yield_per_recruit (void) |
| void | msy_go (void) |
| void | msy_find (void) |
| void | status_go (const double &status) |
| void | b40_find (void) |
| void | write (void) |
Variable getting methods | |
| double | biomass_status (void) const |
Parameter setting methods | |
| void | movement_uniform (void) |
| void | spawning_uniform (void) |
Dynamics setting methods | |
| void | exploitation_rate_set (double value) |
| double | exploitation_rate_get (void) const |
| void | fishing_mortality_set (double value) |
| double | fishing_mortality_get (void) const |
| void | catches_set (double catches_, double error=0.2) |
| void | effort_set (double effort_) |
Public Attributes | |
| Array< double, Region, Age > | numbers |
| Array< double, Region > | biomass |
| Array< double, Region > | biomass_spawners |
| Array< double, Region > | biomass_spawners_unfished |
| double | msy |
| double | e_msy |
| double | f_msy |
| double | biomass_spawners_msy |
| int | msy_trials |
| double | e_40 |
| double | f_40 |
| double | biomass_spawners_40 |
Spawning and stock-recruitment | |
| Array< double, Quarter > | spawning |
| Array< double, Region, Quarter > | biomass_spawning |
| Array< double, Region, Quarter > | biomass_spawning_unfished |
| Array< double, Region > | recruits_unfished |
| double | recruits_steepness |
| bool | recruits_relation_on = true |
| Array< double, Region > | recruits_determ |
| bool | recruits_variation_on = true |
| double | recruits_sd |
| Normal | recruits_distrib |
| double | recruits_autocorr |
| double | recruits_deviation = 0 |
| double | recruits_multiplier = 1 |
| Array< double, Region > | recruits |
Growth | |
| double | growth_rate_1 |
| double | growth_rate_2 |
| double | growth_assymptote |
| double | growth_stanza_inflection |
| double | growth_stanza_steepness |
| double | growth_age_0 |
| double | growth_cv_0 |
| double | growth_cv_old |
| Array< double, Size > | length_size |
| Array< Normal, Age > | length_age |
| Array< double, Age, Size > | age_size |
Weight | |
| double | weight_length_a |
| double | weight_length_b |
| Array< double, Size > | weight_size |
| Array< double, Age > | weight_age |
Maturity | |
| double | maturity_length_inflection |
| double | maturity_length_steepness |
| Array< double, Size > | maturity_size |
| Array< double, Age > | maturity_age |
Natural mortality | |
| double | mortality_mean |
| Array< double, Age > | mortality_shape |
| Array< double, Age > | mortality |
| Array< double, Age > | survival |
Movement | |
| Array< double, RegionFrom, Region > | movement_region |
| double | movement_length_inflection |
| double | movement_length_steepness |
| Array< double, Size > | movement_size |
| Array< double, Age > | movement_age |
Data related "nuisance" parameters | |
| Array< double, Quarter > | m_pl_quarter = {0.97,0.87,0.97,1.19} |
Selectivity and exploitation | |
| Array< double, SelectivityKnot > | selectivity_lengths = {20,30,40,50,60,70,80} |
| Array< double, Method, SelectivityKnot > | selectivity_values |
| Array< double, Method, Size > | selectivity_size |
| Array< double, Method, Age > | selectivity_age |
| enum IOSKJ::Model::{ exploit_none = 0, exploit_rate = 1, exploit_catch = 2, exploit_effort = 3 } | exploit |
| Array< double, Region, Method > | biomass_vulnerable |
| Array< double, Region, Method > | cpue |
| Array< GeometricMean, Region, Method > | cpue_base |
| Array< double, Region, Method > | catches |
| Array< double, Region, Method > | effort |
| Array< double, Region, Method > | catchability |
| Array< GeometricMean, Region, Method > | catchability_estim |
| Array< double, Region, Method > | exploitation_rate_specified |
| Array< double, Region, Method > | catches_taken |
| Array< double, Region, Method > | exploitation_rate |
| Array< double, Region, Age > | escapement |
Model of the Indian Ocean skipjack tuna fishery. This class encapsulates the dynamics of both the fish population and fishing.
Test that when there is no substantial change in equilibrium conditions given further simulation.
Test that when there is no movement and equal reruitment distribution that the equilibrium biomass is equal in all areas
Test that recruitment variation has the right mean and standard deviation.
|
inline |
Calculate a status related re
|
inline |
Get the stock status (spawning biomass as a fraction of pristine)
|
inline |
Set the catch by region/method assuming a certain allocation, currently based on the period 2003-2012 (see data/nominal-catches-quarter.R)
Note that currently this does not allow for seasonal variation, assumes an equal split across quarters
|
inline |
Set the number of effort units by region/method
|
inline |
Move the population to a deterministic equilibrium by iterating over time until biomass in each region remains stable
|
inline |
Get overall exploitation rate.
|
inline |
Set overall exploitation rate. Used in testing and in equilibrium exploitation e.g. MSY/BMSY calculations
Currently assumes an equal explotation rate is applied to the three main methods in each region (W/PS,M/PL,E/GN). An alternative would be to assume equal exploitation rates in each region and use current partial exploitation rates by method within each region.
|
inline |
Get overall instantaneous rate of fishing mortality (F). Like exploitation_rate_get but gives F instead of exp. rate.
|
inline |
Set overall instantaneous rate of fishing mortality (F). Like exploitation_rate_set but uses F instead of exp. rate.
|
inline |
Initialise various model variables based on current parameter values
|
inline |
Set movement parameters so that there is uniform movement.
All movement_regions elements set to 1/(number of regions). All sizes move. Mainly used for testing
|
inline |
Calculate MSY related reference points
|
inline |
Take this model to a equilibirum state associated with MSY
|
inline |
Set spawning seasonality parameters so that there is uniform spawning.
All elements set to 1. Mainly used for testing.
|
inline |
Take this model to a equilibrium state associated with a proportion of B0
|
inline |
Perform a single time step
|
inline |
Write model attributes to files for examination
|
inline |
Generate a yield curve
|
inline |
Generate a yield per recruit curve
This is really a biomass-per-recruit curve.
| Array<double,Age,Size> IOSKJ::Model::age_size |
Proportion of fish of each age in each size bin
| Array<double,Region> IOSKJ::Model::biomass |
Total biomass by region
| Array<double,Region> IOSKJ::Model::biomass_spawners |
Total biomass of spawners
| Array<double,Region> IOSKJ::Model::biomass_spawners_unfished |
Unfished equlibrium spawners (biomass)
This differs from biomass_spawning_unfished in that it is not affected by the proportion spawning in a season
| Array<double,Region,Quarter> IOSKJ::Model::biomass_spawning |
The total spawning biomass by region
| Array<double,Region,Quarter> IOSKJ::Model::biomass_spawning_unfished |
Unfished spawning biomass by region and quarter. It is necessary to have this by quarter because the proportion of mature fish that spawn varies by quarter.
| Array<double,Region,Method> IOSKJ::Model::biomass_vulnerable |
Vulnerable biomass by region and method
| Array<double,Region,Method> IOSKJ::Model::catchability |
Estimated catchability by region and method
| Array<double,Region,Method> IOSKJ::Model::catches |
Catches by region and method
| Array<double,Region,Method> IOSKJ::Model::catches_taken |
Catches by region and method given maximimum exploitation rate of one. This variable is useful for penalising against impossible dynamics.
| Array<double,Region,Method> IOSKJ::Model::cpue |
CPUE. Simply biomass_vulnerable scaled to its geometric mean for the period 1985-2013
| double IOSKJ::Model::e_40 |
40B0 related variables
| Array<double,Region,Method> IOSKJ::Model::effort |
Effort by region and method
Currently these are nominal units relative to the period 2004-2013
| Array<double,Region,Age> IOSKJ::Model::escapement |
Escapement (i.e. survival form exploitation)
| Array<double,Region,Method> IOSKJ::Model::exploitation_rate |
Exploitation rate by region and method for current time step
| Array<double,Region,Method> IOSKJ::Model::exploitation_rate_specified |
The exploitation rate specified, for example, when calculating MSY/Bmsy
| double IOSKJ::Model::growth_rate_1 |
Parameters of the two-stanza vonBertallanffy
| Array<Normal,Age> IOSKJ::Model::length_age |
Length distribution for each age group
| Array<double,Size> IOSKJ::Model::length_size |
Length associated with each size
| Array<double,Quarter> IOSKJ::Model::m_pl_quarter = {0.97,0.87,0.97,1.19} |
Lengths at each selectivity knot
The default values below are simply the means of the observed standardised CPUE index by quarter.
| double IOSKJ::Model::maturity_length_inflection |
Maturity at length logistic function
| Array<double,Size> IOSKJ::Model::maturity_size |
Maturity at size and age
| Array<double,Age> IOSKJ::Model::mortality |
Instantaneous rate of natural mortality at age
| double IOSKJ::Model::mortality_mean |
Mean instantaneous rate of natural mortality across ages
| Array<double,Age> IOSKJ::Model::mortality_shape |
Relative morality by age. These are used to calculate a mortality at age by multiplying by mortality_mean. These are from Everson 2011 IOTC–2011–WPTT13–30
| double IOSKJ::Model::movement_length_inflection |
Movement proportion at size logistic function
| Array<double,RegionFrom,Region> IOSKJ::Model::movement_region |
Movement maximum proportion moving from one region to another
| double IOSKJ::Model::msy |
MSY related variables
| Array<double,Region,Age> IOSKJ::Model::numbers |
Fish numbers by region and age
| Array<double,Region> IOSKJ::Model::recruits |
Total number of recruits at time t
| double IOSKJ::Model::recruits_autocorr |
Autocorrelation in recruitment deviations
| Array<double,Region> IOSKJ::Model::recruits_determ |
Deterministic recruitment at time t
| double IOSKJ::Model::recruits_deviation = 0 |
Recruitment deviation at time t
| Normal IOSKJ::Model::recruits_distrib |
Underlying distribution for generation recr deviations
| double IOSKJ::Model::recruits_multiplier = 1 |
Recruitment multiplier at time t
| bool IOSKJ::Model::recruits_relation_on = true |
Flag to turn on/off recruitment relation (if off then recruits_unfished is used)
| double IOSKJ::Model::recruits_sd |
Standard deviation of recruitment deviations
| double IOSKJ::Model::recruits_steepness |
Steepness of stock-recruit relation
| Array<double,Region> IOSKJ::Model::recruits_unfished |
Unfished equlibrium recruitment (numbers) by region
| bool IOSKJ::Model::recruits_variation_on = true |
Flag to turn on/off recruitment variation
| Array<double,SelectivityKnot> IOSKJ::Model::selectivity_lengths = {20,30,40,50,60,70,80} |
Lengths at each selectivity knot
| Array<double,Method,Size> IOSKJ::Model::selectivity_size |
Selectivities by method and size
| Array<double,Method,SelectivityKnot> IOSKJ::Model::selectivity_values |
Proportion selected at each selectivity knot for each method
| Array<double,Quarter> IOSKJ::Model::spawning |
The spawning fraction by quarter
| Array<double,Age> IOSKJ::Model::survival |
Quarterly rate of survival from natural mortality at age
| double IOSKJ::Model::weight_length_a |
Weight at length power funciton
| Array<double,Size> IOSKJ::Model::weight_size |
Weight at size
1.8.11