Salut,

J'ai une erreur dans mes équations de recrutement (toutes neuves).
des que j utilise RecruitmentInputs le recruitment est 0.
Simu en PJ.

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;