Simu en PJ.des que j utilise RecruitmentInputs le recruitment est 0.Salut,J'ai une erreur dans mes équations de recrutement (toutes neuves).L'equation compile et dans les tests précédents ça fonctionnait.Voyez vous le probleme?Merci !l'equation est la suivante
int y = context.getSimulationControl().getStep().getYear();
PopulationGroup g0 = pop.getPopulationGroup().get(0);
// constant Rec
boolean constant = true;
double val = 19699.71 * 1000; // average 2008-2014
// recruitment TS 2008-2010
//double [] TSRec ={21295,39186,48739}; // from nb at age WGNSSK 2012
double [] TSRec ={19921,31058,10616,25227,11073,14271,25732}; // WGNSSK 2015 (thousands)
if(y<3){
val = TSRec[y] * 1000;
}else if(!constant){
// get SSB
MatrixND biom = recruitmentInputs.get(0).getBiomass(); // zone x group
biom = biom.sumOverDim(1);
double ssb = 0;
for (MatrixIterator i=biom.iterator(); i.hasNext();) {
i.next();
Object [] sems = i.getSemanticsCoordinates();
PopulationGroup group = (PopulationGroup)sems[1];
ssb += i.getValue()* group.getMaturityOgive();
}
//Ricker (Espece/StockRecruit/FitSR.r, update 2015)
double alpha = 8.45;
double beta = 1.26e-4;
double eps = 1;
if(context.getValue("Sigma") != null) eps = (double)context.getValue("Sigma");// N(0,0.14)
val = alpha * ssb/1000 * Math.exp(-beta*ssb/1000) * 1000 *eps;
}
for(Zone z : pop.getRecruitmentZone() ){
result.setValue(g0,z,val);
}
return 0;