Description Usage Arguments Details Value Author(s) Examples
View source: R/PopulationModeling.R
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.
1 | Population.Modeling(ctrPop, ctrBio, ctrFish, SR)
|
ctrPop |
A list containg the following elements:
|
ctrBio |
A list containg the following biological parameters of the population:
|
ctrFish |
A list containg the following fishing parameters of the population:
|
SR |
A list containing the following parameters of spawning stock recruitment relationship:
|
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.
A list containing the following components.
Matrices: |
Arrays of matrices containing the population values. |
N: Third dimensional array containing the population size for each age, year and iteration.
F:Third dimensional array containing the instantaneous fishing mortality for each age, year and iteration.
M:Third dimensional array containing the instantaneous natural mortality for each age, year and iteration.
W:Third dimensional array containing the stock weight for each age, year and iteration (at ts).
Mat:Third dimensional array containing the proportion of mature at each age, year and iteration.
C_N:Third dimensional arraycontaining the number of captures for each age, year and iteration.
C_W:Third dimensional array containing the weight of captures for each age, year and iteration (at tc).
Info: |
The information used to create the population. |
ctrFish:Argument of the function containing fishing information.
ctrBio:Argument of the function containing biological information.
SR:Argument of the function containing stock-recruitment relationship.
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.3 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.
Marta Cousido-Rocha
Santiago Cerviño López
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
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.