# -*- coding: utf-8 -*-
#
-# Copyright (C) 2008-2022 EDF R&D
+# Copyright (C) 2008-2023 EDF R&D
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
def storeValueInX(self, xValue, HxValue, oName="" ):
"Stocke pour un opérateur o un calcul Hx correspondant à la valeur x"
if self.__lengthOR < 0:
- self.__lengthOR = 2 * min(xValue.size, 50) + 2 # 2 * xValue.size + 2
+ self.__lengthOR = 2 * min(numpy.size(xValue), 50) + 2
self.__initlnOR = self.__lengthOR
self.__seenNames.append(str(oName))
if str(oName) not in self.__seenNames: # Etend la liste si nouveau
- self.__lengthOR += 2 * min(xValue.size, 50) + 2 # 2 * xValue.size + 2
+ self.__lengthOR += 2 * min(numpy.size(xValue), 50) + 2
self.__initlnOR += self.__lengthOR
self.__seenNames.append(str(oName))
while len(self.__listOPCV) > self.__lengthOR:
- CurrentOptimum : état optimal courant lors d'itérations
- CurrentState : état courant lors d'itérations
- CurrentStepNumber : pas courant d'avancement dans les algorithmes en évolution, à partir de 0
+ - EnsembleOfSimulations : ensemble d'états (sorties, simulations) rangés par colonne dans une matrice
+ - EnsembleOfSnapshots : ensemble d'états rangés par colonne dans une matrice
+ - EnsembleOfStates : ensemble d'états (entrées, paramètres) rangés par colonne dans une matrice
- ForecastCovariance : covariance de l'état prédit courant lors d'itérations
- ForecastState : état prédit courant lors d'itérations
- GradientOfCostFunctionJ : gradient de la fonction-coût globale
self.StoredVariables["CurrentOptimum"] = Persistence.OneVector(name = "CurrentOptimum")
self.StoredVariables["CurrentState"] = Persistence.OneVector(name = "CurrentState")
self.StoredVariables["CurrentStepNumber"] = Persistence.OneIndex(name = "CurrentStepNumber")
+ self.StoredVariables["EnsembleOfSimulations"] = Persistence.OneMatrix(name = "EnsembleOfSimulations")
+ self.StoredVariables["EnsembleOfSnapshots"] = Persistence.OneMatrix(name = "EnsembleOfSnapshots")
+ self.StoredVariables["EnsembleOfStates"] = Persistence.OneMatrix(name = "EnsembleOfStates")
self.StoredVariables["ForecastCovariance"] = Persistence.OneMatrix(name = "ForecastCovariance")
self.StoredVariables["ForecastState"] = Persistence.OneVector(name = "ForecastState")
self.StoredVariables["GradientOfCostFunctionJ"] = Persistence.OneVector(name = "GradientOfCostFunctionJ")
logging.debug("%s Taille mémoire utilisée de %.0f Mio"%(self._name, self._m.getUsedMemory("Mio")))
self._getTimeState(reset=True)
#
- # Mise a jour des paramètres internes avec le contenu de Parameters, en
+ # Mise à jour des paramètres internes avec le contenu de Parameters, en
# reprenant les valeurs par défauts pour toutes celles non définies
self.__setParameters(Parameters, reset=True)
for k, v in self.__variable_names_not_public.items():
def run(self, Xb=None, Y=None, H=None, M=None, R=None, B=None, Q=None, Parameters=None):
"""
- Doit implémenter l'opération élémentaire de calcul d'assimilation sous
- sa forme mathématique la plus naturelle possible.
+ Doit implémenter l'opération élémentaire de calcul algorithmique.
"""
- raise NotImplementedError("Mathematical assimilation calculation has not been implemented!")
+ raise NotImplementedError("Mathematical algorithmic calculation has not been implemented!")
def defineRequiredParameter(self,
name = None,
asDict = None,
asScript = None,
):
- "Mise a jour des parametres"
+ "Mise à jour des paramètres"
if asDict is None and asScript is not None:
__Dict = Interfaces.ImportFromScript(asScript).getvalue( self.__name, "Parameters" )
else:
# ==============================================================================
class ExternalParameters(object):
"""
- Classe générale d'interface de type texte de script utilisateur
+ Classe générale d'interface pour le stockage des paramètres externes
"""
def __init__(self,
name = "GenericExternalParameters",
asDict = None,
asScript = None,
):
- "Mise a jour des parametres"
+ "Mise à jour des paramètres"
if asDict is None and asScript is not None:
__Dict = Interfaces.ImportFromScript(asScript).getvalue( self.__name, "ExternalParameters" )
else: