Salut Eric,

je teste enfin
- getRecuitementContribution()
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




Le 1 octobre 2015 18:59, Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :
Merci, je teste la nouvelle version des que possible.

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)...
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é.

=> 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.

C'est possible ?
Steph, tu valides ?

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