Règle HCR transition MSY
Bonjour, Je viens de tester la règle HCR_transition_MSY, associée à TACpoidsPop_pourHCR, pour Sole et plie, avec la base V4 de Sigrid et simulateur par cellule et ça ne tourne plus sur la dernière version d'ISIS (alors qu'avant la 4.3.1 je n'avais pas eu de problème avec ces règles... certes avec la base de Loïc) : en gardant les valeurs par défaut (début janvier 3 pour la première, step 36 pour la seconde, donc au même moment), ça plante en février 3. Je joins les properties, le log et le debug. Au besoin je pourrai envoyer le dossier complet de simu. Bon week-end, Yves -- ------------------------------------------------------------ Yves REECHT Laboratoire Ressources Halieutiques IFREMER - Centre Manche Mer du Nord 150, Quai Gambetta 62200 Boulogne-sur-Mer FRANCE tel. +33 (0)3 21 99 56 09 --------------------------------------------------)><))))°>
Le 05/09/2014 18:14, Yves Reecht a écrit :
Bonjour, Bonjour,
Je viens de tester la règle HCR_transition_MSY, associée à TACpoidsPop_pourHCR, pour Sole et plie, avec la base V4 de Sigrid et simulateur par cellule et ça ne tourne plus sur la dernière version d'ISIS (alors qu'avant la 4.3.1 je n'avais pas eu de problème avec ces règles... certes avec la base de Loïc) : en gardant les valeurs par défaut (début janvier 3 pour la première, step 36 pour la seconde, donc au même moment), ça plante en février 3.
Comme on peut le voir dans les log, l'erreur se situe ici: java.lang.NullPointerException at rules.TACpoidsPop_PourHCR.condition(TACpoidsPop_PourHCR.java:136) at simulators.DefaultSimulator.simulate(DefaultSimulator.java:172) at simulators.SimulatorEffortByCell.simulate(SimulatorEffortByCell.java:51) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:441) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:271) Donc à la ligne 136 du fichier TACpoidsPop_PourHCR.java, quelque chose est "null". Il s'agit de ce code: tacInTons = (Double) context.getValue("TAC_" + param_population.getName() + "_HCR"); Je pense que cette regle dépend d'autre chose qui doit mettre une valeur "TAC_" + param_population.getName() + "_HCR" dans le context de simulation, mais dans l'execution actuelle, elle n'existe pas. Il y a aussi une erreur similaire pour le fichier HCR_transition_MSY.java (ligne 159): Tac2010 = (Double) context.getValue("tacInTons_" + param_populationHCR.getName() + "_2010"); -- Éric Chatellier - www.codelutin.com - 02.40.50.29.28
Merci, Effectivement, mettant une valeur fixe à TAC2010, ça tourne (Loïc l'utilisait après la règle TAC20082010). Du coup j'essaie de faire une règle modifiée avec un paramètre TAC2010 modifiable par l'utilisateur (fichier joint), et je ne sais pas où j'ai mal fais, mais la paramètre refuse de s'afficher dans l'interface. Yves Le 08/09/2014 11:00, Eric Chatellier a écrit :
Le 05/09/2014 18:14, Yves Reecht a écrit :
Bonjour, Bonjour, Je viens de tester la règle HCR_transition_MSY, associée à TACpoidsPop_pourHCR, pour Sole et plie, avec la base V4 de Sigrid et simulateur par cellule et ça ne tourne plus sur la dernière version d'ISIS (alors qu'avant la 4.3.1 je n'avais pas eu de problème avec ces règles... certes avec la base de Loïc) : en gardant les valeurs par défaut (début janvier 3 pour la première, step 36 pour la seconde, donc au même moment), ça plante en février 3. Comme on peut le voir dans les log, l'erreur se situe ici: java.lang.NullPointerException at rules.TACpoidsPop_PourHCR.condition(TACpoidsPop_PourHCR.java:136) at simulators.DefaultSimulator.simulate(DefaultSimulator.java:172) at simulators.SimulatorEffortByCell.simulate(SimulatorEffortByCell.java:51) at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:441)
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:271)
Donc à la ligne 136 du fichier TACpoidsPop_PourHCR.java, quelque chose est "null".
Il s'agit de ce code: tacInTons = (Double) context.getValue("TAC_" + param_population.getName() + "_HCR");
Je pense que cette regle dépend d'autre chose qui doit mettre une valeur "TAC_" + param_population.getName() + "_HCR" dans le context de simulation, mais dans l'execution actuelle, elle n'existe pas.
Il y a aussi une erreur similaire pour le fichier HCR_transition_MSY.java (ligne 159): Tac2010 = (Double) context.getValue("tacInTons_" + param_populationHCR.getName() + "_2010");
-- ------------------------------------------------------------ Yves REECHT Laboratoire Ressources Halieutiques IFREMER - Centre Manche Mer du Nord 150, Quai Gambetta 62200 Boulogne-sur-Mer FRANCE tel. +33 (0)3 21 99 56 09 --------------------------------------------------)><))))°>
Le 08/09/2014 11:33, Yves Reecht a écrit :
Merci,
Effectivement, mettant une valeur fixe à TAC2010, ça tourne (Loïc l'utilisait après la règle TAC20082010). Du coup j'essaie de faire une règle modifiée avec un paramètre TAC2010 modifiable par l'utilisateur (fichier joint), et je ne sais pas où j'ai mal fais, mais la paramètre refuse de s'afficher dans l'interface. Le parametre doit avoir un nom qui commence par "param_".
-- Éric Chatellier - www.codelutin.com - 02.40.50.29.28
Comment ai-je pu passer à côté ? Ça marche nickel maintenant, merci. Le 08/09/2014 11:59, Eric Chatellier a écrit :
Le 08/09/2014 11:33, Yves Reecht a écrit :
Merci,
Effectivement, mettant une valeur fixe à TAC2010, ça tourne (Loïc l'utilisait après la règle TAC20082010). Du coup j'essaie de faire une règle modifiée avec un paramètre TAC2010 modifiable par l'utilisateur (fichier joint), et je ne sais pas où j'ai mal fais, mais la paramètre refuse de s'afficher dans l'interface. Le parametre doit avoir un nom qui commence par "param_".
-- ------------------------------------------------------------ Yves REECHT Laboratoire Ressources Halieutiques IFREMER - Centre Manche Mer du Nord 150, Quai Gambetta 62200 Boulogne-sur-Mer FRANCE tel. +33 (0)3 21 99 56 09 --------------------------------------------------)><))))°>
participants (2)
-
Eric Chatellier -
Yves Reecht