error dans equation de recruitment V4.4
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;
participants (1)
-
Sigrid Lehuta