il y a une petite coquille
- j'ai sélectionné ds les paramètres de simu/résultats, AbundanceBeginMonth mais je ne l ai pas ds l interface de résultats (biomassBeginMonth fonctionne en revanche...)
- ca marche pour notre exemple de relation stock recruitment (avec un seul mois de repro et utilisant la biomasse)
- je galère plus avec l'exemple plus compliqué des dérives d'oeufs. On a 2 mois de repro, forcée a 100000 oeufs pour toutes zones, tous les mois. et l etalement se fait sur 3 mois (0.5,0.3,0.2). on recoupère repro. La mortalité est nulle, je m attends donc a voir 50000,80000,50000 et 20000 oeufs arriver chaque mois de recrutement pour une zone donnée pour les années sans modif.
je te remets le code de recrutement:
/// exemple oeufs 2 mois de repro
// on veut appliquer une serie temporelle de M
MatrixND zrzr = pop.getMappingZoneReproZoneRecru();
int y = context.getSimulationControl().getStep().getYear();
if(y%2 == 1){
zrzr = zrzr.divs(2);
}
MatrixHelper.fill(result,0);
double nbM = recruitmentInputs.size();
double res = 0;
PopulationGroup g0 = pop.getPopulationGroup().get(0);
for(int m=0; m<nbM; m++){
Double p = recruitmentInputs.get(m).getRecuitementContribution();
if(p != null){
MatrixND oeufsm = recruitmentInputs.get(m).getRepro().mults(p);
zrzr.mult(oeufsm);
for(MatrixIterator it = oeufsm.iterator(); it.hasNext();) {
it.next();
result.setValue(g0,it.getSemanticsCoordinates()[0], it.getValue()+result.getValue(g0,it.getSemanticsCoordinates()[0]));
//System.out.println("Displayoeufs "+m+" "+p+" "+it.getValue());
}
}
}
return 0;
Avec ça je n'ai que des zéros.
en supprimant "zrzr.mult(oeufsm);" j ai des chiffres mais pas ceux auxquels je m'attends. Les valeurs de p sont bonnes.
mois1 de recruitment m=0 : 50000 OK m=1 : rien OK
mois2 m=0 : 0 !, m=1 : 50000 OK
mois3 m=0 : 0 ! , m=1 : 15000 ??!!
mois4 m=0 : rien OK, m=1 : 3000 !
ca ne correspond à rien de compréhensible.
confirmation en supprimant la multiplication par p:
mois m=0 m=1
1 100000 -
2 0 100000
3 0 100000
4 - 100000
Tu peux regarder ça ?
Merci
Steph, tu valides ?C'est possible ?Merci, je teste la nouvelle version des que possible.Le cas continu que tu as deniché, doit correspondre a une repro toute l'année mais des saisons crées pour les migrations ou la capturabilité.
en attendant bien vu pour les multiples saisons de repro.
oui ce sont des choses qui arrivent chez la sardine ou le harreng par exemple (c est d'ailleurs rarement continu plutot une ponte de printemps et une d'automne)...
=> Pour etre generique je dirais bien considerer les 4 ou 2 saisons différentes et faire autant de recrutements différents. le lien saison de ponte-saison de recrutement est déterminé par le delta.Le 29 septembre 2015 17:53, Eric Chatellier <chatellier@codelutin.com> a écrit :Bonjour,
Voici une version qui fonctionne assez bien et testée sur plusieurs base:
http://forge.codelutin.com/attachments/download/3422/isis-fish-4.4.0.0-r4300-bin.zip
>
> Voici ce que j'avais noté: l'équation n'est appelée QUE aux pas de temps de
> recrutement (=saison de repro + delta + etalement).
J'ai testé une base de données qui avait plusieurs saison de reproduction (4
saison de un mois chacune) et toute avec la reproduction sélectionnée.
Que faut-il faire dans ce cas ?
- considérer les 4 saison comme une seule ?
- considérer les 4 saisons différente et faire 4 recrutement différent ?
Est-il possible qu'il y ai deux saisons de reproduction non continue dans une
region ?
--
Éric Chatellier - www.codelutin.com - 02.40.50.29.28
_______________________________________________
Isis-fish-devel mailing list
Isis-fish-devel@list.isis-fish.org
http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-devel