Bonjour à tous, Juste pour dire que mon équation marche maintenant. Il fallait faire appel à la méthode copy() dans recruitmentInputs.get(0).getAboundance().copy(); Le code est ci-dessous. Bonne journée à tous. double b = 2.5251; double q = 311.3700; double gamma = 8.0132; double rec = 0 ; double nbs = 0; double nbM = recruitmentInputs.size(); // nb de mois de repro //log.info("nbm: " + nbM); //Double p = recruitmentInputs.get(0).getRecruitementContribution(); MatrixND abnd = recruitmentInputs.get(0).getAboundance().copy(); log.info(" Abondance : " + abnd); List <PopulationGroup> groups = pop.getPopulationGroup(); List <Zone> zoneRepro = pop.getReproductionZone(); for (Zone z : pop.getReproductionZone()){ for (PopulationGroup g : pop.getPopulationGroup()){ if (g.getId() == 2){ nbs = abnd.getValue(g, z); rec = b * nbs / ( 1 + Math.pow((nbs/q), gamma) ); result.setValue(g, z, rec); //log.info ("nbs: " + nbs + " g : " + g.getId() + " zone : " + z); } } } return 0; ----- Mail original ----- De: "dedah.ahmed-babou" <dedah.ahmed-babou@ird.fr> À: "isis-fish-users" <isis-fish-users@list.isis-fish.org> Envoyé: Jeudi 9 Décembre 2021 16:44:42 Objet: Re: [Isis-fish-users] Individus contribuant au rectrutement Oui, c'est bien ça merci infiniment. J'ai toujours 0 partout dans la matrice récupérée pour les deux mois repro ! J'espère que je vais pouvoir comprendre pourquoi. A+. Dedah. ----- Mail original ----- De: "Stephanie MAHEVAS" <Stephanie.Mahevas@ifremer.fr> À: "isis-fish-users" <isis-fish-users@list.isis-fish.org> Envoyé: Jeudi 9 Décembre 2021 16:11:34 Objet: Re: [Isis-fish-users] Individus contribuant au rectrutement essaie .getAboundance() .... j'ai l'impression que Abundance est devenue Aboundance (http://api.isis-fish.org/fr/ifremer/isisfish/types/RecruitmentInput.html) Le 09/12/2021 à 15:27, dedah.ahmed-babou@ird.fr a écrit :
Merci Stéphanie pour cet appui.
En fait, ce code me retourne un bug au niveau de la ligne : MatrixND N = recruitmentInputs.get(1).getAbundance(); et ce qui m'embrouille depuis ce matin.
L'objet recruitmentInputs disponible dans l'éditeur est une instance de la classe RecruitmentInputMap et non pas de RecruitmentInput, alors que les méthodes getBiomass(), getAbundance() et getRepro() sont des méthodes de la classe RecruitmentInput.
En appliquant .get(1) à l'objet de RecruitmentInputMap je m'attend à ce qu'il me retourne un objet RecruitmentInput pour pouvoir lui appliquer getBiomass() etc. cependant l'objet retourné d'après la doc est une instance de la classe HashMap (Object) ...
Donc, j'imagine que le problème se résume dans la façon où on peut récupérer un objet de RecruitmentInput (j'ai essayé en passant par pop, mais rien encore).
Merci et à plus.
Dedah.
----- Mail original ----- De: "Stephanie MAHEVAS" <Stephanie.Mahevas@ifremer.fr> À: "isis-fish-users" <isis-fish-users@list.isis-fish.org> Envoyé: Jeudi 9 Décembre 2021 14:37:32 Objet: Re: [Isis-fish-users] Individus contribuant au rectrutement
sur le site web dans shared sripts il y a un exemple de relation stock/recrutement qui peut t'aider (http://isis-fish.org/v4/downloads/ModifRepro.java)
double nbM = recruitmentInputs.size(); // nb de mois de repro
pour tout m in {0,...,nbM-1} recruitmentInputs.get(m) contient les abondances, biomasses, et Repro du mois m de la reproduction (hhttp://api.isis-fish.org/fr/ifremer/isisfish/types/RecruitmentInput.html#rec...)
recruitmentInputs.get(m).getBiomass() (qui est une matrice groupe*zone) recruitmentInputs.get(m).getAbundance() (qui est une matrice groupe*zone) recruitmentInputs.get(m).getRepro() (qui est une matrice zone)
du coup il faut que tu boucles sur les zones pour le groupe 2 MatrixND N=recruitmentInputs.get(m).getAbundance(); List <PopulationGroup> groups = pop.getPopulationGroup(); List <Zone> zoneRepro = pop.getReproductionZone(); double NG2=0; for (Zone zone:zoneRepro){ for (PopulationGroup cr : groups){ if cr.getId()== 2 //je dirais que pour toi c'est plutot getId() car tu as des stades NG2 += N.getValue(cr,zone) } }
A faire verifier par Eric mais tu peux toujours tester
sinon, envoie ton algo et ton code associé
Steph
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users
-- ...................................................................... Stephanie MAHEVAS (stephanie.mahevas@ifremer.fr) IFREMER/EMH (Ecologie et Modèles pour l'Halieutique) https://annuaire.ifremer.fr/cv/16343/ Tel: (33) 2 40 37 41 81 - 06 75 83 59 33 o \ o / _ o __| \ / |__ o _ \ o / o /|\ | /\ ___\o \o | o/ o/__ /\ | /|\ / \ / \ | \ /) | ( \ /o\ / ) | (\ / | / \ / \ ...................................................................... _______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users _______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users