Je pense avoir trouvé le soucis : quand j'ai installé la v4.3 un nouveau dossier isis-fish4-beta a été créé, et les règles du community-database ont été remplies automatiquement (à partir de mon dossier isis-fish4 ?). Il se trouve que certaines des règles se trouvant dans ce dossier community ne sont pas les dernières que j'ai créées (qui prenaient en compte la sauvegarde de 13 pas de temps uniquement), mais correspondent à des règles présentes dans un dossier isis-fish4_old qui me servait à stocker d'anciennes règles. J'ai remis les bonnes règles dans le dossier rules de la community database de isis-fish4-beta et relancé des simus, on va voir ce que ça donne. Par contre je m'interroge, quelle est la règle pour ISIS pour remplir les dossiers du community-database quand un nouveau dossier ISIS est créé ? Car par définitions les règles community ne sont pas sur le serveur, si ? Loïc Eric Chatellier <chatellier@codelutin.com> a écrit :
Le 21/05/2014 17:34, Loic.Gasche@ifremer.fr a écrit :
Bonjour,
Cette dernière version semble corriger le problème de lancement avec les règles, mais :
- les temps de simus ne semblent plus si courts que ça : J'en suis à avril 8 après 35 minutes de simulation sans aucune règle. Il a aussi fallu 2h45 pour faire une simu avec juste le modèle de gravité comme règle (sur mon pc portable, avec toutes les pops et toutes les flottilles) Difficile de dire ce qui cloche. Je pense que tu devrais pouvoir obtenir moins de 10 minutes comme durant nos tests avec ta base de données, mais dans les mêmes conditions. On a désactiver au maximum les entrées/sorties (log...) et surtout, j'ai un pc super récent. Les 35 minutes ne semble pas excessive suivant les conditions.
Ensuite, suivant comment est codée la règle, ça peut ralentir énormément l’exécution de la simulation.
- La simu avec toutes les règles a planté car je rencontre un PB avec une règle que je ne rencontrais pas avant : j'ai un null pointer exception qui fait comme s'il n'arrivait pas à trouver dans la règle la valeur de F2010 provenant d'une autre règle. Le hic est qu'il y a une log.info de cette valeur et qu'elle est connue (1.16...).
[Thread-15] (SubProcessSimulationLauncher.java:305) run - dans un sous processus>ERROR [SimThread sim_test_7DV11_ISIS43_ttesPop_ttesRegles_2014-05-21-14-24] (InProcessSimulatorLauncher.java:475) localSimulateSameThread - Error during simulation INFO [Thread-15] (SubProcessSimulationLauncher.java:305) run - dans un sous processus>java.lang.NullPointerException INFO [Thread-15] (SubProcessSimulationLauncher.java:305) run - dans un sous processus> at rules.HCR_transition_MSY.preAction_aroundBody2(HCR_transition_MSY.java:183) INFO [Thread-15] (SubProcessSimulationLauncher.java:305) run - dans un sous processus> at rules.HCR_transition_MSY$AjcClosure3.run(HCR_transition_MSY.java:1) INFO [Thread-15] (SubProcessSimulationLauncher.java:305) run - dans un sous processus> at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149) INFO [Thread-15] (SubProcessSimulationLauncher.java:305) run - dans un sous processus> at fr.ifremer.isisfish.aspect.RuleAspect.makeTimedCall(RuleAspect.java:120) INFO [Thread-15] (SubProcessSimulationLauncher.java:305) run - dans un sous processus> at fr.ifremer.isisfish.aspect.RuleAspect.initPreCall(RuleAspect.java:85) INFO [Thread-15] (SubProcessSimulationLauncher.java:305) run - dans un sous processus> at rules.HCR_transition_MSY.preAction(HCR_transition_MSY.java:172) INFO [Thread-15] (SubProcessSimulationLauncher.java:305) run - dans un sous processus> at simulators.DefaultSimulator.simulate(DefaultSimulator.java:198) INFO [Thread-15] (SubProcessSimulationLauncher.java:305) run - dans un sous processus> at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:431) INFO [Thread-15] (SubProcessSimulationLauncher.java:305) run - dans un sous processus> at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:268)
C'est effectivement un résultat qui n'existe pas: MatrixND MatF2010 = matResult.getMatrix(param_beginStep.previous(), param_populationHCR, ResultName.MATRIX_TOTAL_FISHING_MORTALITY); double F2010 = MatF2010.sumAll();
Tu utilises encore le tagValue pour conserver en mémoire les 13 derniers pas de temps ? Si oui, tu ne tombe pas dans un cas au dela des 13 derniers pas de temps ?
-- É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