quelques suggestions :
- envoies le log pour savoir a quelle ligne ca plante
- as tu bien selectionné les resulats necessaires (comme matrixFishingMortality)

sinon pour les HCR je pense que ca vient de la :

 matOth.getSubMatrix(0,step.getYear(),step.previous());
=> matOth.getSubMatrix(0,12*(step.getYear()-1),12); idem pour matIsis
la methode c est (dimension, premier element a garder, nombre d elements a selectionner) cf API !

- naturalDeathRatePop = naturalDeathRatePop.meanOverDim(1).reduce();; 2 points virgule...

pas d idee pour la langoustine envoie ton debug
Bon courage

Le 25 mai 2015 08:17, <Stephanie.Mahevas@ifremer.fr> a écrit :
j'ai fait qq simu pour essayer de comprendre
les symptomes
sans la langoustine et sans les regles HCR ca tourne (..13-07.zip)
sans la langoustine, avec les regles HCR Sole et Merlu, ca plante à partir du moment ou les regles HCR demarrent (janvier 6) - (..17-58.zip)
avec la langoustine tout plante (avec ou sans HCR) alors que j'avais reussi à faire tourner la simu avec la langoustine sans les HCR - (...zip)
Il y a donc deux sources d'erreur les HCR et maintenant la langoustine.


Stephanie.Mahevas@ifremer.fr a écrit :


Je pense que l'erreur est plus grave que ca. (cf ci-dessous pour les groupes)
Mes simus qui tournaient avant plantent des le calcul de TotalFishingMaortality.
C'est donc arriver à partir du moment ou j'ai rajoute les regles dont le nom commence par HCR.
Je n'arrive pas à voir ce que j'ai pu changer. Je n'ai pas touche à la base de donnees sauf pour rajouter des variables suplementaires dans les pop. Je n'ai pas touche au siMatrix.

Les regles sont dans la base que j'ai envoyee. Je sais pas comment m'y prendre pour trouver d'ou ca peut venir.

Dans la population nephrops, minGroup = 0, maxGroup = 57,
mais les groups vont de 0 à 56 seulement, il en manque donc un pour avoir une
cohérence à ce niveau là.
non les groupes vont bien de 0 à 57, soit 58 groupes.
Ou vois-tu qu'il n'y en a que 56?

dans totalFishingMortality, on recupere la sous matrice
 tfmMatrix = tfmMatrix.getSubMatrix(1, group, Nbre);
qd group = GroupMin (groupe 0), Nbre = 58, donc on prend les 58 groupes. Ca me semble correct, sauf si SubMatrix compte le nombre de groupe apres groupMin. Mais pourquoi ca aurait marche avant???
en plus cette methode fonctionne dans mes simu toutes simples, ca a commence a ne plus marcher des que je rajoute les regles HCR...

et a present quand je relance mes simu toutes simples ca ne marche plus...



Le vrai bug se situe dans la methode totalFishingMortality :
http://forge.codelutin.com/projects/isis-fish-data/repository/entry/trunk/scripts/SiMatrix.java#L1232

où les group sont récupéré entre minGroup et maxGroup inclut.
Donc 57 - 0 + 1 = 58, alors que tu as 57 groupes.


Donc je vois l'erreur technique, mais pas l'erreur conceptuelle.

--
Éric Chatellier - www.codelutin.com - 02.40.50.29.28

_______________________________________________
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



_______________________________________________
Isis-fish-users mailing list
Isis-fish-users@list.isis-fish.org
http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users