Can't evaluate rule condition for: rules.TACpoidsPop_PourHCR@9039da
Bonjour, En réponse à une question qu'on s'est posés ce matin avec Benjamin sur un WARN dans le log d'une simu. En fait ce n'est pas vraiment un problème. En effet, cette règle (TACpoidsPop_PourHCR) n'avait pas vraiment de beginStep et de endStep (elle utilise ceux de l'HCR) et donc cherchait à s'appliquer même avant le début de l'HCR (ce qu'elle ne pouvait pas faire car il lui manquait les paramètres dont elle avait besoin). Mais a partir du début de l'HCR elle s'appliquait bien. D'ailleurs ce WARN disparaissait pour les pas de temps après le début de l'HCR. J'ai quand même rajouté dans la règle TACpoidsPop_PourHCR un beginRule et un endRule qui font que la règle ne va s'appliquer et aller chercher ses paramètres qu'entre ces pas de temps. Les F obtenus sont strictement identiques mais les WARN ont disparus (sauf pour le premier pas de temps de l'HCR), ça a le mérite de faire perdre 1Mo au log. Loïc
On Tue, 10 Dec 2013 16:45:46 +0100 Loic GASCHE <Loic.Gasche@ifremer.fr> wrote:
Mais a partir du début de l'HCR elle s'appliquait bien. D'ailleurs ce WARN disparaissait pour les pas de temps après le début de l'HCR.
J'ai quand même rajouté dans la règle TACpoidsPop_PourHCR un beginRule et un endRule qui font que la règle ne va s'appliquer et aller chercher ses paramètres qu'entre ces pas de temps.
Au lieu d'ajouter des paramètres qu'il faut renseigner, tu pouvais ajouter une condition dans TACpoidsPop_PourHCR que si ce que retourne les infos récupérées par context.getValue sont null alors on retourne directement false. donc remplacer: """ tacInTons = (Double) context.getValue("TAC_" + param_population.getName() + "_HCR"); """ par """ Object value = context.getValue("TAC_" + param_population.getName() + "_HCR"); if (value == null) { return false; } tacInTons = (Double)value; """ -- Benjamin POUSSIN -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com http://www.codelutin.com
participants (2)
-
Benjamin POUSSIN -
Loic GASCHE