Bonjour !
 
Oui j'y ai pensé effectivement ça pourrait être ça mais comment je peux vérifier ? Parce que dans la simulation j'ai exporté les captures en poids ET en nombre. Elles ont pu être inversées lors de la simulation ?
Quand je prends la matrice "Catch" dans le code : MatrixND discard = popMon.getCatch(pop).copy(); est ce que je peux préciser que je veux la matrice en nombre ?

Le 7 juin 2011 09:56, Bastien Preuss <Bastien.Preuss@ird.fr> a écrit :

Bonjour Camille,

 

As-tu bien vérifié ce que disait Eric, à savoir que tu ne mélanges pas des abondances et des poids ? :

L'export exporte MATRIX_DISCARDS_WEIGHT_PER_STR_MET_PER_ZONE_POP

et non MATRIX_DISCARDS_PER_STR_MET_PER_ZONE_POP que vous utilisez dans votre regles.

 

Ça m’est déjà arrivé ! et effectivement les poids sont bcp plus important que les abondances.

 

En espérant que ça soit juste ça !

 

Bastien

 

 

 

De : isis-fish-users-bounces@list.isis-fish.org [mailto:isis-fish-users-bounces@list.isis-fish.org] De la part de camille de la Vega
Envoyé : mardi 7 juin 2011 18:46
À : isis-fish-users@list.isis-fish.org
Objet : Re: [Isis-fish-users] Rules pour mettre une ogive de trie

 

Merci Sigrid.

Mais ça ne change rien d'inverser les boucles. Les rejets sont toujours beaucoup plus élevés que les captures.

J'ai vérifé les captures sans la règle sont les mêmes que les captures avec la règle. C'est donc bien les rejets qui sont mal calculé mais ça doit être au moment du remplissage de la matrice parce que les étapes d'avant donnent des valeurs cohérentes.

Je vais essayer de faire le script avec Matrix Interator. Mais je comprends pas pourquoi ça marche pas avec les boucles...

++

Le 6 juin 2011 19:33, <Sigrid.Lehuta@ifremer.fr> a écrit :

Hello,

je ne sais pas si ca resoudra ton pb, mais l ordre dans lequel tu boucles avec  strategie au debut est bisarre. j ai peur que tu ecrases l ancienne matrice discard a chaque nouvelle strategie...

je ferais plutot :
for(pop){
if(pop){
for(str){
for(grp){
for(zone){
if (met){
}}}}}}

ensuite je me rappelle plus si c est important mais ligne 203 je fermerais la parenthese devant le else ("}else{")

sinon pour eviter les boucles je ferais bien un matrixIterator... mais essaies deja comme ca.
A+















camille de la Vega <cam.delavega@gmail.com> a écrit :

J'ai un nouveau problème : les valeurs de rejets sont beaucoup plus grande
que les valeurs des captures...
J'ai affiché dans le debug les pourcentages à rejeter ("rejet") qui sont bon
(entre 0 et 1) et les valeurs des rejets ("value") qui sont cohérent
aussi...
Mais les valeurs des rejets dans result export sont de l'ordre 10E7 alors
que les captures sont de l'ordre 10E4.
Le problème vient peut être de discard.setValue qui n'est pas au bon endroit
dans la boucle ?
Les valeurs des pourcentages à rejeter n'étaient pas bonnes jusqu'à ce que
je mette directement "1-trie" dans le code sans créer la variable "rejet=1"
au début des boucles "for". Je crois que la valeur mise dans rejet par le
code "rejet=rejet-trie" était reprise dans la boucle et n'était pas remise à
1. Donc je me dis que c'est peut être le même problème avec le
discard.setValue (la matrice discard n'étant pas définie dans la même
boucle).

Camille
Le 6 juin 2011 14:03, Eric Chatellier <chatellier@codelutin.com> a écrit :

Le 06/06/2011 13:00, camille de la Vega a écrit :
> Sorry !
> Le voila !
> Camille
N'est pas peur de lire le debug si tu y arrive, car normalement
quand ca plante, il t'informe sur ce qui ne va pas.

Dans ce cas, l'erreur est :
java.util.NoSuchElementException: L'objet passé en argument n'a pas été
retrouvé
ou la dimension donnée ne convient pas:zone metier merlu-seiche in
[zone_merlu_presence, zone_merlu_recrutement, zone_merlu_reproduction,
zone_merlu_cotiere]
 at org.nuiton.math.matrix.MatrixHelper.indexOf(MatrixHelper.java:234)
 at

org.nuiton.math.matrix.MatrixHelper.semanticsToDimension(MatrixHelper.java:208)
 at
org.nuiton.math.matrix.AbstractMatrixND.setValue(AbstractMatrixND.java:380)
 at
org.nuiton.math.matrix.AbstractMatrixND.setValue(AbstractMatrixND.java:402)
 at

rules.Ogive_de_Trie.aw <http://rules.ogive_de_trie.aw/>


$original$_AW_$postAction$_AW_$rules_Ogive_de_Trie(Ogive_de_Trie.java:206)

A la ligne Ogive_de_Trie :
discard.setValue(str, metier, group, zone, sanstrie);
dans ce cas, la zone ne semble pas être une zone qui a servit
a définir la matrice Catch.

"merlu-seiche" par rapport à zone_merlu_presence, zone_merlu_recrutement,
zone_merlu_reproduction, zone_merlu_cotiere ?

J'essayerais en remplacant :
List<Zone> zones = siMatrix.getZones(date);
par
List<Zone> zones = pop.getZones();

--
 Éric Chatellier <chatellier@codelutin.com>
Tel: 02.40.50.29.28
http://www.codelutin.com

_______________________________________________
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