name = "Bounds",
message = "Liste des valeurs de bornes",
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "R", "B" ),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
# Correction pour pallier a un bug de TNC sur le retour du Minimum
if "Minimizer" in self._parameters and self._parameters["Minimizer"] == "TNC":
name = "Bounds",
message = "Liste des valeurs de bornes",
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "EM", "R", "B" ),
+ optional = ("U", "CM"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
# Correction pour pallier a un bug de TNC sur le retour du Minimum
if "Minimizer" in self._parameters and self._parameters["Minimizer"] == "TNC":
message = "Liste de calculs supplémentaires à stocker et/ou effectuer",
listval = ["CurrentState", "Residu", "SimulatedObservationAtCurrentState"]
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "HO" ),
+ optional = ("Y", ),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
Hm = HO["Direct"].appliedTo
Ht = HO["Tangent"].appliedInXTo
Remarque : les nombres inferieurs a %.0e (environ) representent un zero
a la precision machine.\n"""%mpr
if self._parameters["ResiduFormula"] == "ScalarProduct":
- __entete = u" i Alpha ||X|| ||Y|| ||dX|| R(Alpha) "
+ __entete = u" i Alpha ||X|| ||Y|| ||dX|| R(Alpha)"
__msgdoc = u"""
On observe le residu qui est la difference de deux produits scalaires :
qui doit rester constamment egal a zero a la precision du calcul.
On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.
- Y doit etre dans l'image de F. S'il n'est pas donne, on prend Y = F(X).
- """ + __precision
+ Y doit etre dans l'image de F. S'il n'est pas donne, on prend Y = F(X).\n""" + __precision
#
if len(self._parameters["ResultTitle"]) > 0:
__rt = unicode(self._parameters["ResultTitle"])
msgs = u""
msgs += __msgdoc
#
- __nbtirets = len(__entete)
+ __nbtirets = len(__entete) + 2
msgs += "\n" + __marge + "-"*__nbtirets
msgs += "\n" + __marge + __entete
msgs += "\n" + __marge + "-"*__nbtirets
message = "Type de simulation pour l'estimation des quantiles",
listval = ["Linear", "NonLinear"]
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "R", "B"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
Hm = HO["Tangent"].asMatrix(Xb)
Hm = Hm.reshape(Y.size,Xb.size) # ADAO & check shape
name = "Bounds",
message = "Liste des valeurs de bornes",
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "R", "B" ),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
if not PlatformInfo.has_nlopt and not self._parameters["Minimizer"] in ["COBYLA", "POWELL", "SIMPLEX"]:
+ logging.debug("%s Absence de NLopt, utilisation forcee du minimiseur SIMPLEX"%(self._name,))
self._parameters["Minimizer"] = "SIMPLEX"
#
# Opérateurs
typecast = numpy.random.seed,
message = "Graine fixée pour le générateur aléatoire",
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "R", "B" ),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
# Précalcul des inversions de B et R
# ----------------------------------
message = "Type de simulation pour l'estimation des quantiles",
listval = ["Linear", "NonLinear"]
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "R", "B" ),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
Hm = HO["Tangent"].asMatrix(Xb)
Hm = Hm.reshape(Y.size,Xb.size) # ADAO & check shape
name = "Bounds",
message = "Liste des valeurs de bornes",
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "R", "B" ),
+ optional = ("U", "EM", "CM", "Q"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
if self._parameters["EstimationOf"] == "Parameters":
self._parameters["StoreInternalVariables"] = True
message = "Liste de calculs supplémentaires à stocker et/ou effectuer",
listval = ["CurrentState", "SimulatedObservationAtCurrentState"]
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "HO"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
Hm = HO["Direct"].appliedTo
#
message = "Liste de calculs supplémentaires à stocker et/ou effectuer",
listval = ["CurrentState", "Residu", "SimulatedObservationAtCurrentState"]
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "HO"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
Hm = HO["Direct"].appliedTo
if self._parameters["ResiduFormula"] in ["Taylor", "TaylorOnNorm"]:
Remarque : les nombres inferieurs a %.0e (environ) representent un zero
a la precision machine.\n"""%mpr
if self._parameters["ResiduFormula"] == "Taylor":
- __entete = u" i Alpha ||X|| ||F(X)|| ||F(X+dX)|| ||dX|| ||F(X+dX)-F(X)|| ||F(X+dX)-F(X)||/||dX|| R(Alpha) log( R ) "
+ __entete = u" i Alpha ||X|| ||F(X)|| ||F(X+dX)|| ||dX|| ||F(X+dX)-F(X)|| ||F(X+dX)-F(X)||/||dX|| R(Alpha) log( R )"
__msgdoc = u"""
On observe le residu issu du developpement de Taylor de la fonction F,
normalise par la valeur au point nominal :
signifie que F est lineaire et que le residu decroit a partir de l'erreur
faite dans le calcul du terme GradientF_X.
- On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.
- """ + __precision
+ On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.\n""" + __precision
if self._parameters["ResiduFormula"] == "TaylorOnNorm":
- __entete = u" i Alpha ||X|| ||F(X)|| ||F(X+dX)|| ||dX|| ||F(X+dX)-F(X)|| ||F(X+dX)-F(X)||/||dX|| R(Alpha) log( R ) "
+ __entete = u" i Alpha ||X|| ||F(X)|| ||F(X+dX)|| ||dX|| ||F(X+dX)-F(X)|| ||F(X+dX)-F(X)||/||dX|| R(Alpha) log( R )"
__msgdoc = u"""
On observe le residu issu du developpement de Taylor de la fonction F,
rapporte au parametre Alpha au carre :
calcul du gradient est correct jusqu'au moment ou le residu est de l'ordre de
grandeur de ||F(X)||.
- On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.
- """ + __precision
+ On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.\n""" + __precision
if self._parameters["ResiduFormula"] == "Norm":
- __entete = u" i Alpha ||X|| ||F(X)|| ||F(X+dX)|| ||dX|| ||F(X+dX)-F(X)|| ||F(X+dX)-F(X)||/||dX|| R(Alpha) log( R ) "
+ __entete = u" i Alpha ||X|| ||F(X)|| ||F(X+dX)|| ||dX|| ||F(X+dX)-F(X)|| ||F(X+dX)-F(X)||/||dX|| R(Alpha) log( R )"
__msgdoc = u"""
On observe le residu, qui est base sur une approximation du gradient :
qui doit rester constant jusqu'a ce que l'on atteigne la precision du calcul.
- On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.
- """ + __precision
+ On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.\n""" + __precision
#
if len(self._parameters["ResultTitle"]) > 0:
__rt = unicode(self._parameters["ResultTitle"])
msgs = u""
msgs += __msgdoc
#
- __nbtirets = len(__entete)
+ __nbtirets = len(__entete) + 2
msgs += "\n" + __marge + "-"*__nbtirets
msgs += "\n" + __marge + __entete
msgs += "\n" + __marge + "-"*__nbtirets
message = "Liste de calculs supplémentaires à stocker et/ou effectuer",
listval = ["APosterioriCorrelations", "APosterioriCovariance", "APosterioriStandardDeviations", "APosterioriVariances", "BMA", "CurrentState", "CostFunctionJ", "CostFunctionJb", "CostFunctionJo", "Innovation"]
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "R", "B" ),
+ optional = ("U", "EM", "CM", "Q"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
if self._parameters["EstimationOf"] == "Parameters":
self._parameters["StoreInternalVariables"] = True
#
# Opérateurs
# ----------
- if B is None:
- raise ValueError("Background error covariance matrix has to be properly defined!")
- if R is None:
- raise ValueError("Observation error covariance matrix has to be properly defined!")
- #
Ht = HO["Tangent"].asMatrix(Xb)
Ha = HO["Adjoint"].asMatrix(Xb)
#
message = "Liste de calculs supplémentaires à stocker et/ou effectuer",
listval = ["OMA", "CurrentState", "CostFunctionJ", "CostFunctionJb", "CostFunctionJo", "SimulatedObservationAtCurrentState", "SimulatedObservationAtOptimum"]
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "R"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
Hm = HO["Tangent"].asMatrix(None)
Hm = Hm.reshape(Y.size,-1) # ADAO & check shape
message = "Liste de calculs supplémentaires à stocker et/ou effectuer",
listval = ["CurrentState", "Residu", "SimulatedObservationAtCurrentState"]
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
def RMS(V1, V2):
import math
Remarque : les nombres inferieurs a %.0e (environ) representent un zero
a la precision machine.\n"""%mpr
if self._parameters["ResiduFormula"] == "CenteredDL":
- __entete = u" i Alpha ||X|| ||F(X)|| | R(Alpha) log10( R ) "
+ __entete = u" i Alpha ||X|| ||F(X)|| | R(Alpha) log10( R )"
__msgdoc = u"""
On observe le residu provenant de la difference centree des valeurs de F
au point nominal et aux points perturbes, normalisee par la valeur au
cela signifie que le gradient est calculable jusqu'a la precision d'arret
de la decroissance quadratique.
- On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.
- """ + __precision
+ On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.\n""" + __precision
if self._parameters["ResiduFormula"] == "Taylor":
- __entete = u" i Alpha ||X|| ||F(X)|| | R(Alpha) log10( R ) "
+ __entete = u" i Alpha ||X|| ||F(X)|| | R(Alpha) log10( R )"
__msgdoc = u"""
On observe le residu issu du developpement de Taylor de la fonction F,
normalisee par la valeur au point nominal :
cela signifie que le gradient est bien calcule jusqu'a la precision d'arret
de la decroissance quadratique.
- On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.
- """ + __precision
+ On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.\n""" + __precision
if self._parameters["ResiduFormula"] == "NominalTaylor":
- __entete = u" i Alpha ||X|| ||F(X)|| | R(Alpha) |R-1| en % "
+ __entete = u" i Alpha ||X|| ||F(X)|| | R(Alpha) |R-1| en %"
__msgdoc = u"""
On observe le residu obtenu a partir de deux approximations d'ordre 1 de F(X),
normalisees par la valeur au point nominal :
l'increment Alpha, c'est sur cette partie que l'hypothese de linearite de F
est verifiee.
- On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.
- """ + __precision
+ On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.\n""" + __precision
if self._parameters["ResiduFormula"] == "NominalTaylorRMS":
- __entete = u" i Alpha ||X|| ||F(X)|| | R(Alpha) |R| en % "
+ __entete = u" i Alpha ||X|| ||F(X)|| | R(Alpha) |R| en %"
__msgdoc = u"""
On observe le residu obtenu a partir de deux approximations d'ordre 1 de F(X),
normalisees par la valeur au point nominal :
l'increment Alpha, c'est sur cette partie que l'hypothese de linearite de F
est verifiee.
- On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.
- """ + __precision
+ On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.\n""" + __precision
#
if len(self._parameters["ResultTitle"]) > 0:
__rt = unicode(self._parameters["ResultTitle"])
msgs = u""
msgs += __msgdoc
#
- __nbtirets = len(__entete)
+ __nbtirets = len(__entete) + 2
msgs += "\n" + __marge + "-"*__nbtirets
msgs += "\n" + __marge + __entete
msgs += "\n" + __marge + "-"*__nbtirets
name = "Bounds",
message = "Liste des valeurs de bornes",
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "R"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
# Correction pour pallier a un bug de TNC sur le retour du Minimum
if "Minimizer" in self._parameters and self._parameters["Minimizer"] == "TNC":
BasicObjects.Algorithm.__init__(self, "OBSERVERTEST")
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
print("Results of observer check on all potential variables or commands,")
print(" only activated on selected ones by explicit association.")
print("")
name = "BoxBounds",
message = "Liste des valeurs de bornes d'incréments de paramètres",
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "R", "B"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
if ("BoxBounds" in self._parameters) and isinstance(self._parameters["BoxBounds"], (list, tuple)) and (len(self._parameters["BoxBounds"]) > 0):
BoxBounds = self._parameters["BoxBounds"]
name = "Bounds",
message = "Liste des valeurs de bornes",
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO" ),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
Hm = HO["Direct"].appliedTo
#
typecast = numpy.random.seed,
message = "Graine fixée pour le générateur aléatoire",
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "HO"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
Hm = HO["Direct"].appliedTo
#
name = "Bounds",
message = "Liste des valeurs de bornes",
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "R", "B"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
if self._parameters["NoiseDistribution"] == "Uniform":
nrange = numpy.ravel(self._parameters["NoiseHalfRange"]) # Vecteur
message = "Liste de calculs supplémentaires à stocker et/ou effectuer",
listval = ["CurrentState", "Residu", "SimulatedObservationAtCurrentState"]
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "HO"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
Hm = HO["Direct"].appliedTo
Ht = HO["Tangent"].appliedInXTo
Remarque : les nombres inferieurs a %.0e (environ) representent un zero
a la precision machine.\n"""%mpr
if self._parameters["ResiduFormula"] == "Taylor":
- __entete = u" i Alpha ||X|| ||F(X)|| | R(Alpha) |R-1|/Alpha "
+ __entete = u" i Alpha ||X|| ||F(X)|| | R(Alpha) |R-1|/Alpha"
__msgdoc = u"""
On observe le residu provenant du rapport d'increments utilisant le
lineaire tangent :
lineaire ou quasi-lineaire, et le tangent est valide jusqu'a ce que
l'on atteigne la precision du calcul.
- On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.
- """ + __precision
+ On prend dX0 = Normal(0,X) et dX = Alpha*dX0. F est le code de calcul.\n""" + __precision
#
if len(self._parameters["ResultTitle"]) > 0:
__rt = unicode(self._parameters["ResultTitle"])
msgs = u""
msgs += __msgdoc
#
- __nbtirets = len(__entete)
+ __nbtirets = len(__entete) + 2
msgs += "\n" + __marge + "-"*__nbtirets
msgs += "\n" + __marge + __entete
msgs += "\n" + __marge + "-"*__nbtirets
name = "Bounds",
message = "Liste des valeurs de bornes",
)
+ self.requireInputArguments(
+ mandatory= ("Xb", "Y", "HO", "R", "B" ),
+ optional = ("U", "EM", "CM", "Q"),
+ )
def run(self, Xb=None, Y=None, U=None, HO=None, EM=None, CM=None, R=None, B=None, Q=None, Parameters=None):
- self._pre_run(Parameters)
+ self._pre_run(Parameters, R, B, Q)
#
if self._parameters["EstimationOf"] == "Parameters":
self._parameters["StoreInternalVariables"] = True
#
# Opérateurs
# ----------
- if B is None:
- raise ValueError("Background error covariance matrix has to be properly defined!")
- if R is None:
- raise ValueError("Observation error covariance matrix has to be properly defined!")
- #
H = HO["Direct"].appliedControledFormTo
#
if self._parameters["EstimationOf"] == "State":
self._name = str( name )
self._parameters = {"StoreSupplementaryCalculations":[]}
self.__required_parameters = {}
- self.StoredVariables = {}
+ self.__required_inputs = {"RequiredInputValues":{"mandatory":(), "optional":()}}
#
+ self.StoredVariables = {}
self.StoredVariables["CostFunctionJ"] = Persistence.OneScalar(name = "CostFunctionJ")
self.StoredVariables["CostFunctionJb"] = Persistence.OneScalar(name = "CostFunctionJb")
self.StoredVariables["CostFunctionJo"] = Persistence.OneScalar(name = "CostFunctionJo")
self.StoredVariables["SimulationQuantiles"] = Persistence.OneMatrix(name = "SimulationQuantiles")
self.StoredVariables["Residu"] = Persistence.OneScalar(name = "Residu")
- def _pre_run(self, Parameters ):
+ def _pre_run(self, Parameters, R=None, B=None, Q=None ):
"Pré-calcul"
logging.debug("%s Lancement", self._name)
logging.debug("%s Taille mémoire utilisée de %.0f Mio", self._name, self._m.getUsedMemory("Mio"))
self.__setParameters(Parameters)
#
# Corrections et complements
+ def __test_cvalue( argument, variable, argname):
+ if argument is None:
+ if variable in self.__required_inputs["RequiredInputValues"]["mandatory"]:
+ raise ValueError("%s %s error covariance matrix %s has to be properly defined!"%(self._name,argname,variable))
+ elif variable in self.__required_inputs["RequiredInputValues"]["optional"]:
+ logging.debug("%s %s error covariance matrix %s is not set, but is optional."%(self._name,argname,variable))
+ else:
+ logging.debug("%s %s error covariance matrix %s is not set, but is not required."%(self._name,argname,variable))
+ else:
+ logging.debug("%s %s error covariance matrix %s is set."%(self._name,argname,variable))
+ __test_cvalue( R, "R", "Observation" )
+ __test_cvalue( B, "B", "Background" )
+ __test_cvalue( Q, "Q", "Evolution" )
+ #
if ("Bounds" in self._parameters) and isinstance(self._parameters["Bounds"], (list, tuple)) and (len(self._parameters["Bounds"]) > 0):
logging.debug("%s Prise en compte des bornes effectuee"%(self._name,))
else:
raise ValueError("The value \"%s\" of the parameter named \"%s\" is not allowed, it has to be in the list %s."%( __val, name,listval))
return __val
+ def requireInputArguments(self, mandatory=(), optional=()):
+ """
+ Permet d'imposer des arguments requises en entrée
+ """
+ self.__required_inputs["RequiredInputValues"]["mandatory"] = tuple( mandatory )
+ self.__required_inputs["RequiredInputValues"]["optional"] = tuple( optional )
+
def __setParameters(self, fromDico={}):
"""
Permet de stocker les paramètres reçus dans le dictionnaire interne.