— 2.0 KB
File contents
selF1<-0
selF2<-0.25
selF3<-0.35
selF4<-1.1 # Chosen as Fcrash
Linf<-160
k<-0.1
beta<-3
cond<-0.02
ages<-1:14
t0<-0
la<-Linf*(1-exp(-k*(ages-t0))) # Mean length at age
la<-round(la,2)
wa<-cond*la**beta/1000 # Mean weight at age in kg
wa<-round(wa,2)
s50<-5 # Age at 50% selection
sa<-round(1/(1+exp(-1.1*(ages-s50))),2) # Selection at age
p50<-5.5
pa<-round(1/(1+exp(-2*(ages-p50))),2) # Proportion mature at age
M<-0.2
recrCV<-0.4
yrfun<-function(Fmult){
Fmort<-Fmult*sa
Z<-Fmort+M
prop<-(Fmort/Z)*(1-exp(-Z))
Ztemp<-c(0,Z[1:(length(Z)-1)])
cumZ<-exp(-cumsum(Ztemp))
C<-prop*cumZ
Y<-sum(wa*C)
return(Y)
}
srfun<-function(Fmult){
Fmort<-Fmult*sa
Z<-Fmort+M
Ztemp<-c(0,Z[1:(length(Z)-1)])
cumZ<-exp(-cumsum(Ztemp))
S<-sum(wa*pa*cumZ)
return(S)
}
years<-1:5
project<-function(Nhist,Fmort,sa,M,wa,alpha,K){
N0<-Nhist
Z<-Fmort*sa+M
Ytraj<-c()
Straj<-c()
for(y in years){
C<-(Fmort*sa/Z)*(1-exp(-Z))*N0
S<-sum(wa*pa*N0)
#R<-(alpha*S/(1+S/K))*exp(rnorm(1)*recrCV) # Recr with variation
R<-(alpha*S/(1+S/K)) # Recr without variation
N1<-N0*exp(-Z)
N0<-c(R,N1[1:(length(N1)-1)])
Ytraj<-c(Ytraj,sum(wa*C))
Straj<-c(Straj,S)
}
return(list(Y=Ytraj,S=Straj))
}
alpha<-1/srfun(selF4) # Make this Fcrash
K<-20000
Frange<-(0:(selF4*100))/100 # Range for plotting
sr<-sapply(Frange,srfun)
yr<-sapply(Frange,yrfun)
Srange<-K*(alpha*sr-1)
Srange<-ifelse(Srange>0,Srange,0)
Rrange<-alpha*Srange/(1+Srange/K)
Yrange<-yr*Rrange
#par(mfrow=c(2,2))
#plot(Frange,yr,type='l',lwd=3)
#plot(Frange,sr,type='l',lwd=3)
#plot(Srange,Rrange,type='l',lwd=3)
Fhist<-selF3
Zhist<-Fhist*sa+M
srhist<-srfun(Fhist)
Shist<-K*(alpha*srhist-1)
Rhist<-alpha*Shist/(1+Shist/K)
Nhist<-Rhist*exp(cumsum(-c(0,Zhist[1:(length(Zhist)-1)])))
#barplot(Nhist,names.arg=ages)
#plot(Srange,Yrange,type='l',lwd=3)
#lines(Srange,0.10*Srange,lwd=3,col="blue")