1 #-*-coding:iso-8859-1-*-
3 Cas-test vérifiant sur le Blue que si l'erreur est nulle, l'incrément
6 __author__ = "Jean-Philippe ARGAUD - Mars 2008"
9 from daCore.AssimilationStudy import AssimilationStudy
11 #===============================================================================
12 def test(precision = 1.e-13, dimension = 3):
14 Cas-test vérifiant sur le Blue que si l'erreur est nulle, l'incrément
18 # Définition des données
19 # ----------------------
20 xt = numpy.matrix(numpy.arange(dimension)).T
21 Eo = numpy.matrix(numpy.zeros((dimension,))).T
22 Eb = numpy.matrix(numpy.zeros((dimension,))).T
24 H = numpy.matrix(numpy.core.identity(dimension))
32 # Définition des matrices de covariances d'erreurs
33 # ------------------------------------------------
34 R = numpy.matrix(numpy.core.identity(dimension)).T
35 B = numpy.matrix(numpy.core.identity(dimension)).T
39 ADD = AssimilationStudy()
40 ADD.setBackground (asVector = xb )
41 ADD.setBackgroundError (asCovariance = B )
42 ADD.setObservation (asVector = yo )
43 ADD.setObservationError (asCovariance = R )
44 ADD.setObservationOperator(asMatrix = H )
47 ADD.setAlgorithm(choice="Blue")
51 xa = numpy.array(ADD.get("Analysis").valueserie(0))
52 d = numpy.array(ADD.get("Innovation").valueserie(0))
54 # Vérification du résultat
55 # ------------------------
56 if max(abs(xa - xb)) > precision:
57 raise ValueError("Résultat du test erroné (1)")
58 elif max(abs(d)) > precision:
59 raise ValueError("Résultat du test erroné (2)")
62 print " Test correct, erreur maximale inférieure à %s"%precision
65 #===============================================================================
66 if __name__ == "__main__":
69 print "AUTODIAGNOSTIC"
70 print "=============="
71 # numpy.random.seed(1000)