+ if self._toStore("OMA") or \
+ self._toStore("SimulatedObservationAtOptimum"):
+ if self._toStore("SimulatedObservationAtCurrentState"):
+ HXa = self.StoredVariables["SimulatedObservationAtCurrentState"][IndexMin]
+ elif self._toStore("SimulatedObservationAtCurrentOptimum"):
+ HXa = self.StoredVariables["SimulatedObservationAtCurrentOptimum"][-1]
+ else:
+ HXa = Hm( Xa )
+ #
+ #
+ # Calculs et/ou stockages supplémentaires
+ # ---------------------------------------
+ if self._toStore("Innovation") or \
+ self._toStore("OMB"):
+ d = Y - HXb
+ if self._toStore("Innovation"):
+ self.StoredVariables["Innovation"].store( numpy.ravel(d) )
+ if self._toStore("BMA"):
+ self.StoredVariables["BMA"].store( numpy.ravel(Xb) - numpy.ravel(Xa) )
+ if self._toStore("OMA"):
+ self.StoredVariables["OMA"].store( numpy.ravel(Y) - numpy.ravel(HXa) )
+ if self._toStore("OMB"):
+ self.StoredVariables["OMB"].store( numpy.ravel(d) )
+ if self._toStore("SimulatedObservationAtBackground"):
+ self.StoredVariables["SimulatedObservationAtBackground"].store( numpy.ravel(HXb) )
+ if self._toStore("SimulatedObservationAtOptimum"):
+ self.StoredVariables["SimulatedObservationAtOptimum"].store( numpy.ravel(HXa) )