simulation plante index out of bound dans totalFishingMortality de simatrix
mais je n'arrive pas à voir pourquoi. Eric? merci Steph -- ...................................................................... Stephanie MAHEVAS (Stephanie.Mahevas@ifremer.fr) IFREMER/EMH (Ecologie et Modèles pour l'Halieutique) Tel: (33) 2 40 37 41 81 Fax: (33) 2 40 37 40 75 o \ o / _ o __| \ / |__ o _ \ o / o /|\ | /\ ___\o \o | o/ o/__ /\ | /|\ / \ / \ | \ /) | ( \ /o\ / ) | (\ / | / \ / \ ......................................................................
je dirais que tes groupes min et max d une de tes pop sont mal definis... genre 1 et 4 alors que tu as 4 groupes (dc ca devrait etre 1 et 3) Le 21 mai 2015 19:00, Stephanie MAHEVAS <Stephanie.Mahevas@ifremer.fr> a écrit :
mais je n'arrive pas ą voir pourquoi. Eric? merci Steph
-- ...................................................................... Stephanie MAHEVAS (Stephanie.Mahevas@ifremer.fr) IFREMER/EMH (Ecologie et Modčles pour l'Halieutique) Tel: (33) 2 40 37 41 81 Fax: (33) 2 40 37 40 75
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
ps: c est un peu chaud d ouvrir les pj pour moi, si tu l identifie, je veux bien que tu envoies la ligne d erreur. Biz Le 21 mai 2015 22:04, Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :
je dirais que tes groupes min et max d une de tes pop sont mal definis... genre 1 et 4 alors que tu as 4 groupes (dc ca devrait etre 1 et 3)
Le 21 mai 2015 19:00, Stephanie MAHEVAS <Stephanie.Mahevas@ifremer.fr> a écrit :
mais je n'arrive pas ą voir pourquoi. Eric? merci Steph
-- ...................................................................... Stephanie MAHEVAS (Stephanie.Mahevas@ifremer.fr) IFREMER/EMH (Ecologie et Modčles pour l'Halieutique) Tel: (33) 2 40 37 41 81 Fax: (33) 2 40 37 40 75
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
Le 21/05/2015 22:04, Sigrid Lehuta a écrit :
je dirais que tes groupes min et max d une de tes pop sont mal definis... genre 1 et 4 alors que tu as 4 groupes (dc ca devrait etre 1 et 3)
C'est ca. 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à. Le vrai bug se situe dans la methode totalFishingMortality : http://forge.codelutin.com/projects/isis-fish-data/repository/entry/trunk/sc... 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
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/sc...
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
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/sc...
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
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/sc...
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
Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :
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 !
exact! je me suis fait avoir. J'ai mal lu l'Api. Merci!
- naturalDeathRatePop = naturalDeathRatePop.meanOverDim(1).reduce();; 2 points virgule...
bien vu ! ce qui est etrange c'est que ca compile... je renvoie mon debug apres avoir refait tourner!
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/sc...
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
lorque je lance une simu avec Gravite, HCR, TAC et TailleMin pour la sole, voici les logs de la simu qui plante au pas de temps ou la HCR commence à s'appliquer le premier warn est etrange et le error est sur le get d'une variable qui est pourtant bien declaree dans la base WARN|14:19:41,666|DefaultSimulator.java|175|simulate|Can't evaluate rule condition for: rules.TAC20102015HCR_Sole_OptionLO@439e99a9 java.lang.NullPointerException at rules.TAC20102015HCR_Sole_OptionLO.condition(TAC20102015HCR_Sole_OptionLO.java:253) at simulators.DefaultSimulator.simulate(DefaultSimulator.java:172) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:441) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:271) .... WARN|14:20:15,582|ResultManager.java|187|addActiveRule|addActiveRule not implemented WARN|14:20:15,582|ResultManager.java|187|addActiveRule|addActiveRule not implemented WARN|14:20:15,582|ResultManager.java|187|addActiveRule|addActiveRule not implemented ERROR|14:20:15,695|InProcessSimulatorLauncher.java|484|localSimulateSameThread|Error during simulation java.lang.NullPointerException at fr.ifremer.isisfish.simulator.SimulationVariable.getAsDouble(SimulationVariable.java:100) at rules.HCR2015_Sole_transition_MSY_2020.preAction_aroundBody2(HCR2015_Sole_transition_MSY_2020.java:312) at rules.HCR2015_Sole_transition_MSY_2020$AjcClosure3.run(HCR2015_Sole_transition_MSY_2020.java:1) at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149) at fr.ifremer.isisfish.aspect.RuleAspect.makeTimedCall(RuleAspect.java:121) at fr.ifremer.isisfish.aspect.RuleAspect.initPreCall(RuleAspect.java:85) at rules.HCR2015_Sole_transition_MSY_2020.preAction(HCR2015_Sole_transition_MSY_2020.java:194) at simulators.DefaultSimulator.simulate(DefaultSimulator.java:198) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:441) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:271) Stephanie.Mahevas@ifremer.fr a écrit :
Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :
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 !
exact! je me suis fait avoir. J'ai mal lu l'Api. Merci!
- naturalDeathRatePop = naturalDeathRatePop.meanOverDim(1).reduce();; 2 points virgule...
bien vu ! ce qui est etrange c'est que ca compile...
je renvoie mon debug apres avoir refait tourner!
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/sc...
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
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users
Le probleme pour la sole venait des variables ajoutées à la population (interface variables de pop) quand je les initialise dans la regle HCR ca passe ( double M=0.1;). Mais je ne comprends pas pourquoi. J'avais pris le modèle de Sigrid qui marchait chez elle double M = context.get(param_pop).getAsDouble("Mnat"); J'ai evidemment verifie si c'etait un double et si le nom etait le meme d'ou cela peut-il venir? Stephanie.Mahevas@ifremer.fr a écrit :
lorque je lance une simu avec Gravite, HCR, TAC et TailleMin pour la sole, voici les logs de la simu qui plante au pas de temps ou la HCR commence à s'appliquer le premier warn est etrange et le error est sur le get d'une variable qui est pourtant bien declaree dans la base
WARN|14:19:41,666|DefaultSimulator.java|175|simulate|Can't evaluate rule condition for: rules.TAC20102015HCR_Sole_OptionLO@439e99a9 java.lang.NullPointerException at rules.TAC20102015HCR_Sole_OptionLO.condition(TAC20102015HCR_Sole_OptionLO.java:253) at simulators.DefaultSimulator.simulate(DefaultSimulator.java:172) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:441) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:271) .... WARN|14:20:15,582|ResultManager.java|187|addActiveRule|addActiveRule not implemented WARN|14:20:15,582|ResultManager.java|187|addActiveRule|addActiveRule not implemented WARN|14:20:15,582|ResultManager.java|187|addActiveRule|addActiveRule not implemented ERROR|14:20:15,695|InProcessSimulatorLauncher.java|484|localSimulateSameThread|Error during simulation java.lang.NullPointerException at fr.ifremer.isisfish.simulator.SimulationVariable.getAsDouble(SimulationVariable.java:100) at rules.HCR2015_Sole_transition_MSY_2020.preAction_aroundBody2(HCR2015_Sole_transition_MSY_2020.java:312) at rules.HCR2015_Sole_transition_MSY_2020$AjcClosure3.run(HCR2015_Sole_transition_MSY_2020.java:1) at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149) at fr.ifremer.isisfish.aspect.RuleAspect.makeTimedCall(RuleAspect.java:121) at fr.ifremer.isisfish.aspect.RuleAspect.initPreCall(RuleAspect.java:85) at rules.HCR2015_Sole_transition_MSY_2020.preAction(HCR2015_Sole_transition_MSY_2020.java:194) at simulators.DefaultSimulator.simulate(DefaultSimulator.java:198) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:441) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:271)
Stephanie.Mahevas@ifremer.fr a écrit :
Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :
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 !
exact! je me suis fait avoir. J'ai mal lu l'Api. Merci!
- naturalDeathRatePop = naturalDeathRatePop.meanOverDim(1).reduce();; 2 points virgule...
bien vu ! ce qui est etrange c'est que ca compile...
je renvoie mon debug apres avoir refait tourner!
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/sc...
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
_______________________________________________ Isis-fish-users mailing list Isis-fish-users@list.isis-fish.org http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users
pour le warn je vois pas trop a part si tu n as pas selectionné le resultat MATRIX_CATCH_WEIGHT_PER_STRATEGY_MET_PER_ZONE_MET (Attention c est zone MET et non pop). Le 25 mai 2015 16:20, <Stephanie.Mahevas@ifremer.fr> a écrit :
Le probleme pour la sole venait des variables ajoutées à la population (interface variables de pop) quand je les initialise dans la regle HCR ca passe ( double M=0.1;). Mais je ne comprends pas pourquoi. J'avais pris le modèle de Sigrid qui marchait chez elle double M = context.get(param_pop).getAsDouble("Mnat"); J'ai evidemment verifie si c'etait un double et si le nom etait le meme d'ou cela peut-il venir?
Stephanie.Mahevas@ifremer.fr a écrit :
lorque je lance une simu avec Gravite, HCR, TAC et TailleMin pour la sole, voici les logs de la simu qui plante au pas de temps ou la HCR commence à s'appliquer le premier warn est etrange et le error est sur le get d'une variable qui est pourtant bien declaree dans la base
WARN|14:19:41,666|DefaultSimulator.java|175|simulate|Can't evaluate rule condition for: rules.TAC20102015HCR_Sole_OptionLO@439e99a9 java.lang.NullPointerException at rules.TAC20102015HCR_Sole_OptionLO.condition(TAC20102015HCR_Sole_OptionLO.java:253) at simulators.DefaultSimulator.simulate(DefaultSimulator.java:172) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:441) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:271) .... WARN|14:20:15,582|ResultManager.java|187|addActiveRule|addActiveRule not implemented WARN|14:20:15,582|ResultManager.java|187|addActiveRule|addActiveRule not implemented WARN|14:20:15,582|ResultManager.java|187|addActiveRule|addActiveRule not implemented ERROR|14:20:15,695|InProcessSimulatorLauncher.java|484|localSimulateSameThread|Error during simulation java.lang.NullPointerException at fr.ifremer.isisfish.simulator.SimulationVariable.getAsDouble(SimulationVariable.java:100) at rules.HCR2015_Sole_transition_MSY_2020.preAction_aroundBody2(HCR2015_Sole_transition_MSY_2020.java:312) at rules.HCR2015_Sole_transition_MSY_2020$AjcClosure3.run(HCR2015_Sole_transition_MSY_2020.java:1) at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149) at fr.ifremer.isisfish.aspect.RuleAspect.makeTimedCall(RuleAspect.java:121) at fr.ifremer.isisfish.aspect.RuleAspect.initPreCall(RuleAspect.java:85) at rules.HCR2015_Sole_transition_MSY_2020.preAction(HCR2015_Sole_transition_MSY_2020.java:194) at simulators.DefaultSimulator.simulate(DefaultSimulator.java:198) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:441) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:271)
Stephanie.Mahevas@ifremer.fr a écrit :
Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :
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 !
exact! je me suis fait avoir. J'ai mal lu l'Api. Merci!
- naturalDeathRatePop = naturalDeathRatePop.meanOverDim(1).reduce();; 2 points virgule...
bien vu ! ce qui est etrange c'est que ca compile...
je renvoie mon debug apres avoir refait tourner!
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/sc... > > 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
_______________________________________________ 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
participants (4)
-
Eric Chatellier -
Sigrid Lehuta -
Stephanie MAHEVAS -
Stephanie.Mahevas@ifremer.fr