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;