Estructura de codificación
Especificaciones y tecnicismo
octubre, 2024
Clave Talla-Edad
Sección de código ADMB
para implementar los supuestos en el crecimiento individual.
admb.growth
//==============================================
FUNCTION Eval_prob_talla_edad//==============================================
int i, j;
= mfexp(log_Linfprior);
Linf = mfexp(log_kprior);
k = mfexp(log_Lo);
Lo
(1) = Lo;
mu_edadfor (i=2;i<=nedades;i++){
(i) = mu_edad(i-1)*mfexp(-k)+Linf*(1-mfexp(-k));} //Shnute y Fornier 1980
mu_edad= mfexp(log_alfa)+mfexp(log_beta)*mu_edad;
sigma_edad = ALK( mu_edad, sigma_edad, Tallas);
Prob_talla
//========================================================================
(dvar_vector& mu, dvar_vector& sig, dvector& x)
FUNCTION dvar_matrix ALK//========================================================================
//RETURN_ARRAYS_INCREMENT();
int i, j;
;
dvariable z1;
dvariable z2int si,ni; si=mu.indexmin(); ni=mu.indexmax();
int sj,nj; sj=x.indexmin(); nj=x.indexmax();
(si,ni,sj,nj);
dvar_matrix pdf.initialize();
pdfdouble xs=0.5*(x[sj+1]-x[sj]);
for(i=si;i<=ni;i++) //loop over ages
{
for(j=sj;j<=nj;j++) //loop over length bins
{
=((x(j)-xs)-mu(i))/sig(i);
z1=((x(j)+xs)-mu(i))/sig(i);
z2(i,j)=cumd_norm(z2)-cumd_norm(z1);
pdf}//end nbins
(i)/=sum(pdf(i));
pdf}//end nage
return(pdf);
Relación stock-recluta
Sección de código ADMB
para implementar los supuestos en el crecimiento individual.
stock.recruitment
//---------------------------------------------
// Relacion Stock-Recluta
//---------------------------------------------
= mfexp(log_h_prior);
h
if(opt_Reclu==1) //ByHolt
{
= 4*h*mfexp(log_Ro)/(5*h-1);//
alfa = (1-h)*SSBo/(5*h-1);
beta }
if(opt_Reclu==2) // Ricker
{
= 1.25*log(5*h)-log(phi);
alfa = 1.25*log(5*h)/SSBo;
beta }