Population.Modeling: Modeling an Exploited Population (Structured by Age)

Description Usage Arguments Details Value Author(s) Examples

View source: R/PopulationModeling.R

Description

Provides a flexible and generic operating model (OM) which simulates the real dynamics of the fishery system. The OM is formed by biological, fishery and control components. The stock is described as age structured population along the time.

Usage

1
Population.Modeling(ctrPop, ctrBio, ctrFish, SR)

Arguments

ctrPop

A list containg the following elements:

  • years=vector containing the years for which the dynamics of the fishery system is simulated.

  • ages=vector containing the different ages presented in the stock. The oldest age defines a plus group.

  • niter=number of iterations of the simulation process (see Details for more information about the stochastic and deterministic performance).

  • N0=a number corresponding to the population size at first age and year, or a vector containing the population size at first year for all ages. It is worth to mention that the user needs to know in which units is the number introduced here. For example, it can refers to individuals or thousands of individuals.

  • minFage=minimum age for which the corresponding fishing mortality is considered to compute the mean fishing mortality.

  • maxFage=maximum age for which the corresponding fishing mortality is considered to compute the mean fishing mortality.

  • ts=time of the year at which the stock is simulated. This parameter takes a value between 0 and 1, since the year is considered as a unit. For example, ts=0.25 means that the stock is simulated on March. By default is zero (January), it is interesting to control this parameter for example when we compute the SSB.

  • tc=time of the year at which the capture is simulated. This parameter takes a value between 0 and 1, since the year is considered as a unit. By default is 0.5 half of the year.

  • seed=a numeric value to introduce into set.seed() function for having a reproducible result. By default is NULL, which means that the results are not reproducible, that is, each run returns different results.

ctrBio

A list containg the following biological parameters of the population:

  • M=matrix containing the rates of instantaneous natural mortality for each year and age.

  • CV_M=coefficient of variation associated to the natural mortality. In each iteration the rates of instantaneous natural mortality come from a log-normal distribution centered on the corresponding value of M and variability determined by CV_M.

  • L_inf=asymptotic average maximum body size (parameter of Von Bertalanffy Growth Model, see Details). It is important to take care of the units of the introduced number, which must be in accordance with other parameter. The unit can be, for example, cm.

  • t0=hypothetical age at which the species has zero length (parameter of Von Bertalanffy Growth Model, see Details).

  • k=growth rate coefficient that determines how quickly the maximum is attained (parameter of Von Bertalanffy Growth Model, see Details)

  • CV_L=coefficient of variation associated to the stock length. In each iteration the length comes from a normal distribution centered on the corresponding length obtained from Von Bertalanffy Growth Model (for each age at ts) and the corresponding variability is determined by CV_L.

  • CV_LC=coefficient of variation associated to the captures length. In each iteration the length comes from a normal distribution centered on the corresponding length obtained from Von Bertalanffy Growth Model (for each age at tc) and the corresponding variability is determined by CV_LC.

  • a=allometric growth parameter. It is important to introduce this parameter in a unit according to the units used to measure the length and weight.

  • b=scaling constant of allometric growth. It is important to introduce this parameter in a unit according to the units used to measure the length and weight.

  • a50_Mat=x-value of the sigmoid's midpoint of the logistic function used to generate the maturity matrix.

  • ad_Mat=minus the inverse of the logistic growth rate (steepness of the curve) used to generate the maturity matrix. Zero or positive are NOT valid.

  • CV_Mat=coefficient of variation associated to the a50_Mat parameter. In each iteration the maturity matrix values comes from a logistic function whose a50_Mat parameter is generated from a log-normal distribution centered on the given value of a50_Mat and variability detrmined by CV_Mat.

ctrFish

A list containg the following fishing parameters of the population:

  • f=is the annual component of fishing mortality F = f * SEL.

  • ctrSEL= list of two objects, "type" which specifies the selectivity function considered and "par" which contains the corresponding parameters. Below the different selectivity functions are described.

    • type="cte", a constant selectivity function is used, which means that there is no dependence on the age of the the prey and the probability to be captured. In this case the element "par" contains:

      • cte= the constant probability value (cte is a value in [0,1]).

    • type="Andersen", the Andersen selectivity function that is dependent on the ratio of a parameter to the prey age is considered, and the element "par" contains the values of its parameters (see Details):

      • p1=define the value of x at which the transition between the two gaussian functions happens; that is, x=p5/exp(p1). Negative values are NOT valid.

      • p3=ascending slope parameter. Negative values or zero are NOT valid.

      • p4=descending slope parameter. Negative values or zero are NOT valid.

      • p5=define the value of x at which the transition between the two gaussian functions happens; that is, x=p5/exp(p1). Negative values or zero are NOT valid.

    • type="Gamma", the Gamma selectivity function which only depends on the prey age is considered, the element "par" contains the values of (see Details)

      • gamma=the size of the mesh used by the fleet (according to the units of the remaining parameters, for example, cm). Negative values or zero are NOT valid.

      • beta=the scale parameter. Negative values or zero are NOT valid.

      • alpha=the shape parameter. Negative values are NOT valid.

    • type="Logistic", the Logistic selectivity function based on ages is considered (see Details), the element "par" contains the parameters a50_Sel and ad_Sel.

      • a50_Sel=age at which the captured proportion is equal to 50 percent the x-value of the sigmoid's midpoint of the logistic function.

      • ad_Sel=minus the inverse of the logistic growth rate (steepness of the curve). Zero or positive are NOT valid.

  • CV_SEL=coefficient of variation associated to the selectivity.

    • for type="cte", the values of the selectivity matrix comes from a uniform distribution with mean equal to "cte" and whose variability is determined by CV_SEL.

    • for type="Logistic", the value of the parameter a50_SEL in each iteration comes from a normal distribution centered on the given value of such parameter, and whose variability is determined by CV_SEL.

    • for type="Andersen", the value of the parameter p1 in each iteration comes from a normal distribution centered on the given value of such parameter, and whose variability is determined by CV_SEL.

    • for type="Gamma", the value of the parameter alpha in each iteration comes from a normal distribution centered on the given value of such parameter, and whose variability is determined by CV_SEL.

SR

A list containing the following parameters of spawning stock recruitment relationship:

  • type=stock recruitment model options. Three choices are available: "cte" which means that a constant recruitment is used, "BH" which corresponds to Beverton-Holt Recruitment Model and "RK" which refers to Ricker Recruitment Model. The default option is "cte".

  • par= parameters of the stock recruitment model specified in the argument "type". In order to introduce the following parameters correctly we need to know which are the units of biomass and N0 to be consistent.

    • type="cte" then recruitment is equal to the population size at first age and year introduced previously in N0 parameter then par=NULL.

    • type="BH" then par is equal to a vector containing the following elements:

      • a_BH=maximum number of recruitments produced (parameter of Beverton-Holt Recruitment Model, see Details).

      • b_BH=spawning stock needed to produce recruitment equal to half maximum (parameter of Beverton-Holt Recruitment Model, see Details).

      • CV_REC_BH=coefficient of variation associated to the Beverton-Holt Recruitment Model. In each iteration the deterministic equation of the model is multipled by log-normal residuals centered on 0 and whose variability is determined by CV_REC_BH.

    • type="RK" then par is equal to a vector containing the following elements:

      • a_RK=recruits-per-spawner at low stock levels (parameter of Ricker Recruitment Model, see Details).

      • b_RK=relates to the rate of decreasing of recruits-per-spawner as SSB increases (parameter of Ricker Recruitment Model, see Details).

      • CV_REC_RK=coefficient of variation associated to the Ricker Recruitment Model. In each iteration the deterministic equation of the model is multipled by log-normal residuals centered on 0 and whose variability is determined by CV_REC_RK.

Details

STOCHASTIC AND DETERMINISTIC PERFORMANCE

The first iteration (niter=1) contains the results corresponding to the deterministic case, to wit, all the coefficients of variation (CV's) associated to the different bilogical and fishery components are zero. The next iterations contain the stochastic results. Hence, if niter=1 (CV's=0), we only obtain the deterministic performance. If niter=1 and the CV's are different than 0, the function returns ERROR because the first iteration is the deterministic one and hence the CV's can not be used. If niter>1 and the CV's are 0, the function returns ERROR because it does has sense to repeat a deterministic process (a process without variability).

VON BERTALANFFY GROWTH MODEL

Von Bertalanffy Growth Model equation is

L(x)=L_inf*(1-exp(-k*(x-t0)))

where L_inf is the asymptotic average maximum body size, t0 is hypothetical age at which the species has zero length, and k is growth rate coefficient and x is the vector of ages where the function must be computed.

LOGISTIC FUNCTION

The logistic function equation is

L(x)<-1/(1+exp((x-x50)/xd))

where x50 is the x-value of the sigmoid's midpoint of the logistic function, and xd is minus the inverse of the logistic growth rate (steepness of the curve).

SELECTIVITY FUNCTIONS

Andersen selectivity function is

SA(x)<-p0+p2exp(-(ln(p5/x)-p1)^2/p4) if ln(p5/x)<=p1

and

SA(x)<-p0+p2exp(-(ln(p5/x)-p1)^2/p3) if ln(p5/x)>p1.

We fixed p0=0, which is the beginning size for the plateau, and p2=1, which is the maximum value attainable by the function. Remember that p3 and p4 are the ascending and descending slope parameters, respectively, whereas p1 and p5 define the value of x at which the transition between the two gaussian functions happens; that is, x=p5/exp(p1).

Gamma selectivity function is

SG(x)<-((x/((alpha-1) beta gamma))^(alpha-1))exp(alpha-1-(1/beta gamma)),

where gamma is the size of the mesh, alpha is the shape parameter and beta is the scale parameter.

RECRUITMENT MODELS

The formulation of the Beverton-Holt Recruitment Model equation is:

R=a_BH*SSB/(b_BH+SSB)

where SSB is the maturity biomass (spawning stock), a_BH is the maximum number of recruitments produced and b_BH is the spawning stock needed to produce recruitment equal to half maximum.

The formulation of the Ricker equation is:

R=a_RK*SSB*exp(-b_RK*SSB)

where SSB is the maturity biomass (spawning stock), a_RK is the recruits-per-spawner at low stock levels and b_RK relates to the rate of decreasing of recruits-per-spawner as SSB increases.

Value

A list containing the following components.

Matrices:

Arrays of matrices containing the population values.

Info:

The information used to create the population.

Author(s)

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# First we introduce the basic parameters to define the population.
# Note that N0 is equal to 10000 individuals, and hence below we are
# consistent with this unit when we introduce the biological and
# stock-recruitment parameters.
ctrPop<-list(years=seq(1980,2020,by=1),niter=2,N0=10000,ages=0:15,minFage=4,
maxFage=7,ts=0,tc=0.5,tseed=NULL)

# Now, we introduce the biological parameters of the population.
# Note that L_inf is in cm, and a and b parameters allow us to relate
# the length in cm with the weight in Kg.
number_ages<-length(ctrPop$ages);number_years<-length(ctrPop$years)
M<-matrix(rep(0.4,number_ages*number_years),ncol = number_years)
colnames(M)<-ctrPop$years
rownames(M)<-ctrPop$ages
ctrBio<-list(M=M,CV_M=0.2, L_inf=124.5, t0=0, k=0.164, CV_L=0.2, CV_LC=0.2, a=4.5*10^(-6), b=3.1049,
           a50_Mat=3, ad_Mat=-0.5,CV_Mat=0.2)

# We continue introducing the fishing parameters.
# Below, we have different objects ctrSEL depending on which selectivity function is used.
# Constant selectivity
ctrSEL<-list(type="cte", par=list(cte=0.5),CV_SEL=0.2)

# Logistic selectivity
ctrSEL<-list(type="Logistic", par=list(a50_Sel=1.5, ad_Sel=-1),CV_SEL=0.2)

# Gamma selectivity
ctrSEL<-list(type="Gamma", par=list(gamma=10,alpha=15, beta=0.03),CV_SEL=0.05)

# Andersen selectivity
ctrSEL<-list(type="Andersen", par=list(p1=2,p3=0.2,p4=0.2,p5=40),CV_SEL=0.05)

f=rep(0.5,number_years)
ctrFish<-list(f=f,ctrSEL=ctrSEL)

# Finally, we show below the three possible stock recruitment relationship.
# The values of the parameters of Beverton-Holt Recruitment Model and Ricker
# Recruitment Model are ones suitables when the biomass is measured in Kg and
# the recruitment is measured as number of individuals.

a_BH=10000; b_BH=400; CV_REC_BH=0.2; a_RK=10; b_RK=0.0002; CV_REC_RK=0.2
# If the spawning stock recruiment relationship is constant:
SR<-list(type="cte",par=NULL)
# If the spawning stock recruitment relationship is Beverton-Holt Recruitment Model:
SR<-list(type="BH",par=c(a_BH,b_BH,CV_REC_BH))
# If the spawning stock recruitment relationship is Ricker Recruitment Model:
SR<-list(type="RK",par=c(a_RK,b_RK,CV_REC_RK))

# The following lines allow us to use the described function.
Pop.Mod<-Population.Modeling(ctrPop=ctrPop,ctrBio=ctrBio,ctrFish=ctrFish,SR=SR)
# To access to the matrices:
Pop.Mod$Matrices
# To access to the information
Pop.Mod$Info

IMPRESSPROJECT/ModelingPopulation documentation built on March 21, 2020, 12:14 a.m.