]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
- Suppression des anciens examples
authorAndré Ribes <andre.ribes@edf.fr>
Fri, 25 Jun 2010 07:08:50 +0000 (09:08 +0200)
committerAndré Ribes <andre.ribes@edf.fr>
Fri, 25 Jun 2010 07:08:50 +0000 (09:08 +0200)
34 files changed:
src/tests/daComposant/Plateforme/context.py.in [deleted file]
src/tests/daComposant/Plateforme/test000_Etude_ADD.py [deleted file]
src/tests/daComposant/Plateforme/test001_Blue.py [deleted file]
src/tests/daComposant/Plateforme/test002_Blue.py [deleted file]
src/tests/daComposant/Plateforme/test003_Blue.py [deleted file]
src/tests/daComposant/Plateforme/test004_Blue.py [deleted file]
src/tests/daComposant/Plateforme/test005_Blue.py [deleted file]
src/tests/daComposant/Plateforme/test006_Blue_ReduceVariance.py [deleted file]
src/tests/daComposant/Plateforme/test007_Blue.py [deleted file]
src/tests/daComposant/Plateforme/test008_Kalman.py [deleted file]
src/tests/daComposant/Plateforme/test009_Blue_EspaceVeta.py [deleted file]
src/tests/daComposant/Plateforme/test010_Kalman_sur_trajectoire_1D.py [deleted file]
src/tests/daComposant/Plateforme/test012_LinearLeastSquares.py [deleted file]
src/tests/daComposant/Plateforme/test013_EnsembleBlue.py [deleted file]
src/tests/daComposant/Plateforme/test014_Persistence_et_Blue_en_boucle.py [deleted file]
src/tests/daComposant/Plateforme/test015_3DVAR.py [deleted file]
src/tests/daComposant/Plateforme/test016_3DVAR_par_fonction.py [deleted file]
src/tests/daComposant/Plateforme/test017_3DVAR_par_fonction.py [deleted file]
src/tests/daComposant/Plateforme/test018_3DVAR_par_fonction_avec_bornes.py [deleted file]
src/tests/daComposant/Plateforme/test101_RMS.py [deleted file]
src/tests/daComposant/Plateforme/test102_PlotVector.py [deleted file]
src/tests/daComposant/Plateforme/test103_PlotVectors.py [deleted file]
src/tests/daComposant/Plateforme/test104_HomogeneiteKhi2.py [deleted file]
src/tests/daComposant/Plateforme/test105_VarianceOrder.py [deleted file]
src/tests/daComposant/Plateforme/test106_CompareVarianceFisher.py [deleted file]
src/tests/daComposant/Plateforme/test107_GaussianAdequation.py [deleted file]
src/tests/daComposant/Plateforme/test108_StopReductionVariance.py [deleted file]
src/tests/daComposant/Plateforme/test109_HLinearity.py [deleted file]
src/tests/daComposant/Plateforme/test300_Optimize_CG.py [deleted file]
src/tests/daComposant/Plateforme/test301_Optimize_BFGS.py [deleted file]
src/tests/daComposant/Plateforme/test302_Optimize_LBFGS.py [deleted file]
src/tests/daComposant/Plateforme/test303_Optimize_TNC.py [deleted file]
src/tests/daComposant/Plateforme/test901_Informations_dynamiques.py [deleted file]
src/tests/daComposant/Plateforme/test902_Demonstrations_de_logging.py [deleted file]

diff --git a/src/tests/daComposant/Plateforme/context.py.in b/src/tests/daComposant/Plateforme/context.py.in
deleted file mode 100644 (file)
index be8c3d5..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#-*-coding:utf-8-*-
-
-# Permet de définir ou se trouve daCore
-import sys ; sys.path.insert(0, "@PYTHON_SITE@/salome/daCore")
-
diff --git a/src/tests/daComposant/Plateforme/test000_Etude_ADD.py b/src/tests/daComposant/Plateforme/test000_Etude_ADD.py
deleted file mode 100644 (file)
index 1bc94cf..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant que si les covariances d'erreur B et R sont identiques et
-    unitaires, l'analyse est située au milieu de l'ébauche [0,1,2] et de
-    l'observation [0.5,1.5,2.5].
-"""
-__author__ = "Jean-Philippe ARGAUD - Mars 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-import logging
-# logging.getLogger().setLevel(logging.DEBUG)
-
-#===============================================================================
-def test(precision = 1.e-13):
-    """
-    Cas-test vérifiant que si les covariances d'erreur B et R sont identiques et
-    unitaires, l'analyse est située au milieu de l'ébauche [0,1,2] et de
-    l'observation [0.5,1.5,2.5].
-    """
-    #
-    # Définition de l'étude d'assimilation
-    # ------------------------------------
-    ADD = AssimilationStudy("Ma premiere etude")
-    #
-    ADD.setBackground         (asVector     = [0,1,2])
-    ADD.setBackgroundError    (asCovariance = "1 0 0;0 1 0;0 0 1")
-    ADD.setObservation        (asVector     = [0.5,1.5,2.5])
-    ADD.setObservationError   (asCovariance = "1 0 0;0 1 0;0 0 1")
-    ADD.setObservationOperator(asMatrix     = "1 0 0;0 1 0;0 0 1")
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Blue")
-    #
-    ADD.analyze()
-    #
-    Xa = ADD.get("Analysis")
-    print
-    print "    Nombre d'analyses  :",Xa.stepnumber()
-    print "    Analyse résultante :",Xa.valueserie(0)
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(numpy.array(Xa.valueserie(0))-numpy.array([0.25, 1.25, 2.25])) > precision:
-        raise ValueError("Résultat du test erroné")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    
-    test()
diff --git a/src/tests/daComposant/Plateforme/test001_Blue.py b/src/tests/daComposant/Plateforme/test001_Blue.py
deleted file mode 100644 (file)
index 021909c..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant sur le Blue que si l'erreur est nulle, l'incrément
-    d'analyse est nul.
-"""
-__author__ = "Jean-Philippe ARGAUD - Mars 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(precision = 1.e-13, dimension = 3):
-    """
-    Cas-test vérifiant sur le Blue que si l'erreur est nulle, l'incrément
-    d'analyse est nul.
-    """
-    #
-    # Définition des données
-    # ----------------------
-    xt = numpy.matrix(numpy.arange(dimension)).T
-    Eo = numpy.matrix(numpy.zeros((dimension,))).T
-    Eb = numpy.matrix(numpy.zeros((dimension,))).T
-    #
-    H  = numpy.matrix(numpy.core.identity(dimension))
-    #
-    xb = xt + Eb
-    yo = H * xt + Eo
-    #
-    xb = xb.A1
-    yo = yo.A1
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    R  = numpy.matrix(numpy.core.identity(dimension)).T
-    B  = numpy.matrix(numpy.core.identity(dimension)).T
-    #
-    # Analyse
-    # -------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asMatrix     = H )
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Blue")
-    #
-    ADD.analyze()
-    #
-    xa = numpy.array(ADD.get("Analysis").valueserie(0))
-    d  = numpy.array(ADD.get("Innovation").valueserie(0))
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(abs(xa - xb)) > precision:
-        raise ValueError("Résultat du test erroné (1)")
-    elif max(abs(d)) > precision:
-        raise ValueError("Résultat du test erroné (2)")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    # numpy.random.seed(1000)
-    
-    test(dimension = 100)
diff --git a/src/tests/daComposant/Plateforme/test002_Blue.py b/src/tests/daComposant/Plateforme/test002_Blue.py
deleted file mode 100644 (file)
index 409f25b..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant que l'application des coefficients de correction so et sb
-    conduit à des matrices R et B pour lesquelles ces coefficients sont unitaires.
-"""
-__author__ = "Jean-Philippe ARGAUD - Mars 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(precision = 1.e-13, dimension = 3):
-    """
-    Cas-test vérifiant que l'application des coefficients de correction so et sb
-    conduit à des matrices R et B pour lesquelles ces coefficients sont unitaires.
-    """
-    #
-    # Définition des données "théoriques" vraies
-    # ------------------------------------------
-    xt = numpy.matrix(numpy.arange(dimension)).T
-    Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    Eb = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    #
-    H  = numpy.matrix(numpy.core.identity(dimension))
-    #
-    xb = xt + Eb
-    yo = H * xt + Eo
-    #
-    xb = xb.A1
-    yo = yo.A1
-    #
-    # Définition des matrices d'erreurs
-    # ---------------------------------
-    R  = numpy.matrix(numpy.core.identity(dimension)).T
-    B  = numpy.matrix(numpy.core.identity(dimension)).T
-    #
-    # Analyse BLUE
-    # ------------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asMatrix     = H )
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Blue")
-    #
-    ADD.analyze()
-    #
-    xa        = numpy.array(ADD.get("Analysis").valueserie(0))
-    d         = numpy.array(ADD.get("Innovation").valueserie(0))
-    SigmaObs2 = float( numpy.dot(d,(yo-numpy.dot(H,xa)).A1) / R.trace() )
-    SigmaBck2 = float( numpy.dot(d,numpy.dot(H,(xa - xb)).A1) /(H * B * H.T).trace() )
-    #
-    # Analyse BLUE avec correction des matrices R et B
-    # Attention : ce second calcul de BLUE avec le meme objet ADD
-    #             conduit à stocker les résultats dans le second step,
-    #             donc il faut appeller "valueserie(1)"
-    # ------------------------------------------------
-    ADD.setBackgroundError (asCovariance = SigmaBck2*B )
-    ADD.setObservationError(asCovariance = SigmaObs2*R )
-    ADD.analyze()
-    new_xa        = numpy.array(ADD.get("Analysis").valueserie(1))
-    new_d         = numpy.array(ADD.get("Innovation").valueserie(1))
-    new_SigmaObs2 = float( numpy.dot(new_d,(yo-numpy.dot(H,new_xa)).A1) / (SigmaObs2*R.trace()) )
-    new_SigmaBck2 = float( numpy.dot(new_d,numpy.dot(H,(new_xa - xb)).A1) /(H * (SigmaBck2*B) * H.T).trace() )
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(abs(xa - new_xa)) > precision:
-        raise ValueError("Résultat du test erroné (1)")
-    elif max(abs(d - new_d)) > precision:
-        raise ValueError("Résultat du test erroné (2)")
-    elif abs(new_SigmaObs2-1.) > precision:
-        print "new_SigmaObs2 =",new_SigmaObs2
-        raise ValueError("Résultat du test erroné (3)")
-    elif abs(new_SigmaBck2-1.) > precision :
-        print "new_SigmaBck2 =",new_SigmaBck2
-        raise ValueError("Résultat du test erroné (4)")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    # numpy.random.seed(1000)
-    
-    test(dimension = 100)
diff --git a/src/tests/daComposant/Plateforme/test003_Blue.py b/src/tests/daComposant/Plateforme/test003_Blue.py
deleted file mode 100644 (file)
index c0981b3..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant que si l'erreur sur le background est nulle et que
-    l'erreur sur les observations est connue, alors l'analyse donne le "milieu"
-    du background et des observations.
-"""
-__author__ = "Jean-Philippe ARGAUD - Mars 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(precision = 1.e-13, dimension = 3):
-    """
-    Cas-test vérifiant que si l'erreur sur le background est nulle et que
-    l'erreur sur les observations est connue, alors l'analyse donne le "milieu"
-    du background et des observations.
-    """
-    #
-    # Définition des données "théoriques" vraies
-    # ------------------------------------------
-    xt = numpy.matrix(numpy.arange(dimension)).T
-    Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    Eb = numpy.matrix(numpy.zeros((dimension,))).T
-    #
-    H  = numpy.matrix(numpy.core.identity(dimension))
-    #
-    xb = xt + Eb
-    yo = H * xt + Eo
-    #
-    xb = xb.A1
-    yo = yo.A1
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    R  = numpy.matrix(numpy.core.identity(dimension)).T
-    B  = numpy.matrix(numpy.core.identity(dimension)).T
-    #
-    # Analyse BLUE
-    # ------------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asMatrix     = H )
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Blue")
-    #
-    ADD.analyze()
-    #
-    Xa = ADD.get("Analysis")
-    xa        = numpy.matrix(Xa.valueserie(0)).T
-    SigmaObs2 = ADD.get("SigmaObs2")
-    SigmaBck2 = ADD.get("SigmaBck2")
-    d         = ADD.get("Innovation")
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(abs(xa.A1 - xb - Eo.A1/2.)) > precision:
-        raise ValueError("Résultat du test erroné (1)")
-    elif max(abs(yo - (H * xa).A1 - Eo.A1/2.)) > precision:
-        raise ValueError("Résultat du test erroné (2)")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    # numpy.random.seed(1000)
-    
-    test(dimension = 100)
diff --git a/src/tests/daComposant/Plateforme/test004_Blue.py b/src/tests/daComposant/Plateforme/test004_Blue.py
deleted file mode 100644 (file)
index 77a0e59..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant que si l'erreur sur le background est nulle et que
-    l'erreur sur les observations est connue, alors l'analyse donne le "milieu"
-    du background et des observations.
-"""
-__author__ = "Jean-Philippe ARGAUD - Mars 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(precision = 1.e-13, dimension = 3):
-    """
-    Cas-test vérifiant que si l'on rajoute l'évaluation de l'opérateur
-    d'observation au background, on obtient la même valeur que pour le BLUE
-    normal.
-    """
-    #
-    # Définition des données "théoriques" vraies
-    # ------------------------------------------
-    xt = numpy.matrix(numpy.arange(dimension)).T
-    Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    Eb = numpy.matrix(numpy.zeros((dimension,))).T
-    #
-    H  = numpy.matrix(numpy.core.identity(dimension))
-    #
-    xb = xt + Eb
-    yo = H * xt + Eo
-    Hxb = H*xb
-    #
-    xb = xb.A1
-    yo = yo.A1
-    HXb = Hxb.A1
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    R  = numpy.matrix(numpy.core.identity(dimension))
-    B  = numpy.matrix(numpy.core.identity(dimension))
-    #
-    # Analyse BLUE
-    # ------------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asMatrix     = H )
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Blue")
-    #
-    ADD.analyze()
-    #
-    xa        = numpy.array(ADD.get("Analysis").valueserie(0))
-    d         = numpy.array(ADD.get("Innovation").valueserie(0))
-    SigmaObs2 = float( numpy.dot(d,(yo-numpy.dot(H,xa)).A1) / R.trace() )
-    SigmaBck2 = float( numpy.dot(d,numpy.dot(H,(xa - xb)).A1) /(H * B * H.T).trace() )
-    #
-    # Analyse BLUE avec une évaluation au point Xb
-    # Attention : ce second calcul de BLUE avec le meme objet ADD
-    #             conduit à stocker les résultats dans le second step,
-    #             donc il faut appeller "valueserie(1)"
-    # ------------------------------------------------
-    ADD.setObservationOperator(asMatrix     = H, appliedToX = {"HXb":HXb} )
-    ADD.analyze()
-    #
-    new_xa        = numpy.array(ADD.get("Analysis").valueserie(1))
-    new_d         = numpy.array(ADD.get("Innovation").valueserie(1))
-    new_SigmaObs2 = float( numpy.dot(new_d,(yo-numpy.dot(H,new_xa)).A1) / R.trace() )
-    new_SigmaBck2 = float( numpy.dot(new_d,numpy.dot(H,(new_xa - xb)).A1) /(H * B * H.T).trace() )
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(abs(xa - new_xa)) > precision:
-        raise ValueError("Résultat du test erroné (1)")
-    elif max(abs(d - new_d)) > precision:
-        raise ValueError("Résultat du test erroné (2)")
-    elif abs((new_SigmaObs2-SigmaObs2)/SigmaObs2) > precision:
-        raise ValueError("Résultat du test erroné (3)")
-    elif abs((new_SigmaBck2-SigmaBck2)/SigmaBck2) > precision :
-        raise ValueError("Résultat du test erroné (4)")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    # numpy.random.seed(1000)
-    
-    test(dimension = 100)
diff --git a/src/tests/daComposant/Plateforme/test005_Blue.py b/src/tests/daComposant/Plateforme/test005_Blue.py
deleted file mode 100644 (file)
index 431dea6..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant que si H est l'identité et que les matrices de covariance
-    d'erreurs sont liées par R = alpha * B, alors l'ecart type de OMA est
-    proportionnel a l'ecart type de l'innovation d selon la relation :
-    rms(OMA)  = alpha/(1. + alpha) rms(d)
-"""
-__author__ = "Sophie RICCI - Septembre 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(precision = 1.e-13, dimension = 3, alpha = 2.):
-    """
-    Cas-test vérifiant que si H est l'identité et que les matrices de covariance
-    d'erreurs sont liées par R = alpha * B, alors l'ecart type de OMA est
-    proportionnel a l'ecart type de l'innovation d selon la relation :
-    rms(OMA)  = alpha/(1. + alpha) rms(d)
-    """
-    #
-    # Définition des données "théoriques" vraies
-    # ------------------------------------------
-    xt = numpy.matrix(numpy.arange(dimension)).T
-    Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    Eb = numpy.matrix(numpy.zeros((dimension,))).T
-    #
-    H  = numpy.matrix(numpy.core.identity(dimension))
-    #
-    xb = xt + Eb
-    yo = H * xt + Eo
-    #
-    xb = xb.A1
-    yo = yo.A1
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    B  = numpy.matrix(numpy.core.identity(dimension)).T
-    R  = alpha * B
-    #
-    # Analyse BLUE
-    # ------------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asMatrix     = H )
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Blue")
-    #
-    ADD.analyze()
-    #
-    xa = ADD.get("Analysis").valueserie(0)
-    d  = ADD.get("Innovation").valueserie(0)
-    #
-    # Calcul RMS pour d et OMA
-    # ------------------------
-    ADD.setDiagnostic("RMS",
-        name = "Calcul de la RMS sur l'innovation et OMA",
-        )
-    RMS = ADD.get("Calcul de la RMS sur l'innovation et OMA")
-    #
-    # La RMS de l'innovation d
-    # ------------------------
-    RMS.calculate(d,numpy.zeros(len(d)))
-    # Le calcul ci-dessus doit être identique à : RMS.calculate(xb,yo)
-    #
-    # La RMS de l'écart OMA
-    # ---------------------
-    RMS.calculate(xa,yo)
-    #
-    # Vérification du résultat
-    # ------------------------
-    if (RMS.valueserie(1) - (alpha/(1. + alpha)) * RMS.valueserie(0)) > precision:
-        raise ValueError("Résultat du test erroné")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    
-    test()
diff --git a/src/tests/daComposant/Plateforme/test006_Blue_ReduceVariance.py b/src/tests/daComposant/Plateforme/test006_Blue_ReduceVariance.py
deleted file mode 100644 (file)
index 77d7c63..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Vérification de la réduction de variance opérée par un BLUE lors de
-    l'analyse
-"""
-__author__ = "Sophie RICCI - Septembre 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(dimension = 10):
-    """
-    Cas-test vérifiant que l'analyse BLUE permet de réduire la variance entre
-    les écarts OMB et les écarts OMA
-    """
-    #
-    # Définition des données "théoriques" vraies
-    # ------------------------------------------
-    xt = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    Eb = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    #
-    H  = numpy.matrix(numpy.core.identity(dimension))
-    #
-    xb = xt + Eb
-    yo = H * xt + Eo
-    #
-    xb = xb
-    yo = yo
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    R  = numpy.matrix(numpy.core.identity(dimension)).T
-    B  = numpy.matrix(numpy.core.identity(dimension)).T
-    #
-    # Analyse BLUE
-    # ------------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asMatrix     = H )
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Blue")
-    #
-    ADD.analyze()
-    #
-    xa = numpy.array(ADD.get("Analysis").valueserie(0))
-    d  = numpy.array(ADD.get("Innovation").valueserie(0))
-    OMA  = yo.A1 -  xa
-    #
-    # Application du test
-    # -------------------
-    ADD.setDiagnostic("ReduceVariance",
-        name = "Reduction de la variance entre OMB et OMA")
-    #
-    D = ADD.get("Reduction de la variance entre OMB et OMA")
-    #
-    D.calculate( vectorOMB = d, vectorOMA = OMA )
-    #
-    # Vérification du résultat
-    # ------------------------
-    if not D.valueserie(0) :
-        raise ValueError("Résultat du test erroné (1)")
-    else :
-        print test.__doc__
-        print "    Test correct"
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    
-    test()
diff --git a/src/tests/daComposant/Plateforme/test007_Blue.py b/src/tests/daComposant/Plateforme/test007_Blue.py
deleted file mode 100644 (file)
index a8e5069..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant les relations d'ordre attendues sur les écarts RMS entre
-    les valeurs analysees et la valeur vraie, pour 3 analyses BLUE réalisées
-    avec des poids extrêmes dans R et B
-"""
-__author__ = "Sophie RICCI, Jean-Philippe ARGAUD - Septembre 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(dimension = 3):
-    """
-    Cas-test vérifiant les relations d'ordre attendues sur les écarts RMS entre
-    les valeurs analysees et la valeur vraie, pour 3 analyses BLUE réalisées
-    avec des poids extrêmes dans R et B
-    """
-    print test.__doc__
-    #
-    # Définition des données
-    # ----------------------
-    xt = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    Eb = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    H  = numpy.matrix(numpy.core.identity(dimension))
-    B  = numpy.matrix(numpy.core.identity(dimension)).T
-    xb = xt + Eb
-    yo = H * xt
-    xt = xt.A1
-    xb = xb.A1
-    yo = yo.A1
-    #
-    # Analyse BLUE
-    # ------------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservationOperator(asMatrix     = H )
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Blue")
-    #
-    # Définition des matrices de covariances d'erreur : ébauche parfaite
-    # ------------------------------------------------------------------
-    alpha1 = 10000.0
-    R  = alpha1 * B
-    ADD.setObservationError   (asCovariance = R )
-    ADD.analyze()
-    x1 = ADD.get("Analysis").valueserie(0)
-    #
-    # Définition des matrices de covariances d'erreurs : poids identiques
-    # -------------------------------------------------------------------
-    alpha2 = 1.0
-    R  = alpha2 * B
-    ADD.setObservationError   (asCovariance = R )
-    ADD.analyze()
-    x2 = ADD.get("Analysis").valueserie(1)
-    #
-    # Définition des matrices de covariances d'erreurs : observations parfaites
-    # -------------------------------------------------------------------------
-    alpha3 = 0.0001
-    R  = alpha3 * B
-    ADD.setObservationError   (asCovariance = R )
-    ADD.analyze()
-    x3 = ADD.get("Analysis").valueserie(2)
-    #
-    # Calcul des écarts RMS
-    # ---------------------
-    ADD.setDiagnostic("RMS", "Calcul de la RMS entre analyse et yo")
-    RMS = ADD.get("Calcul de la RMS entre analyse et yo")
-    #
-    RMS.calculate(x1,yo)
-    RMS.calculate(x2,yo)
-    RMS.calculate(x3,yo)
-    RMS_yo_x1 = RMS.valueserie(0)
-    RMS_yo_x2 = RMS.valueserie(1)
-    RMS_yo_x3 = RMS.valueserie(2)
-    #
-    print "    Cas ébauche parfaite       : R/B = %.1e"%alpha1,"RMS = %.7f"%RMS_yo_x1
-    print "    Cas poids identiques       : R/B = %.1e"%alpha2,"RMS = %.7f"%RMS_yo_x2
-    print "    Cas observations parfaites : R/B = %.1e"%alpha3,"RMS = %.7f"%RMS_yo_x3
-    if ( (RMS_yo_x3 <= RMS_yo_x2) and  (RMS_yo_x2 <= RMS_yo_x1) ) :
-        print "    La reponse de l'assimilation est cohérente avec la modification du rapport B/R."
-        print
-        print "    Test correct"
-        print
-    else :
-        raise ValueError("Résultat du test erroné")
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-    
-    test(dimension = 100)
diff --git a/src/tests/daComposant/Plateforme/test008_Kalman.py b/src/tests/daComposant/Plateforme/test008_Kalman.py
deleted file mode 100644 (file)
index 339d6d9..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant le fonctionnement du filtre de Kalman sur un système
-    dynamique de trajectoire 1D constante
-"""
-__author__ = "Jean-Philippe ARGAUD - Septembre 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-import Persistence
-
-#===============================================================================
-def test(dimension = 3):
-    """
-    Cas-test vérifiant le fonctionnement du filtre de Kalman sur un système
-    dynamique de trajectoire 1D constante
-    """
-    print test.__doc__
-    #
-    # Définition des données
-    # ----------------------
-    a_size = (dimension,)
-    #
-    # Valeur vraie
-    xt = -0.4
-    Xt = Persistence.OneScalar("Valeur vraie", basetype=float)
-    Xt.store(xt)
-    for i in range(dimension):
-        Xt.store(xt)
-    #
-    # Observations bruitées
-    yo = numpy.random.normal(xt, 0.1, size=a_size)
-    Yo = Persistence.OneScalar("Observations", basetype=float)
-    Yo.store(0.)
-    for v in yo:
-        Yo.store(v)
-    #
-    # Création de l'étude et résolution
-    # ---------------------------------
-    ADD = AssimilationStudy("Assimilation temporelle de Kalman")
-    #
-    ADD.setBackground         (asVector     = "0.")
-    ADD.setBackgroundError    (asCovariance = "1.")
-    #
-    ADD.setObservationOperator(asMatrix     = "1.")
-    ADD.setObservation        (asPersistentVector = Yo)
-    ADD.setObservationError   (asCovariance = "1.e-2")
-    #
-    ADD.setEvolutionModel     (asMatrix     = "1")
-    ADD.setEvolutionError     (asCovariance = "1.e-5")
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Kalman")
-    #
-    ADD.analyze()
-    #
-    Xa = ADD.get("Analysis")
-    print "    Valeur vraie visée........................:",xt
-    print "    Ebauche, i.e. valeur initiale d'analyse...:",Xa.valueserie(0)[0]
-    print "    Nombre d'analyses (sans l'ébauche)........:",Xa.stepnumber()-1
-    print "    Moyenne des analyses......................:",Xa.stepmean()
-    #
-    # Biais des erreurs
-    EpsY = []
-    for i in range(Yo.stepnumber()):
-        EpsY.append(Yo.valueserie(i) - Xt.valueserie(i))
-    print "    Biais des erreurs <Obs-Vraie>.............:",numpy.array(EpsY).mean()
-    print "    Variance des erreurs <Obs-Vraie>..........:",numpy.array(EpsY).var()
-    EpsY = []
-    for i in range(Xa.stepnumber()):
-        EpsY.append(Xa.valueserie(i)[0] - Xt.valueserie(i))
-    print "    Biais des erreurs <Ana-Vraie>.............:",numpy.array(EpsY).mean()
-    print "    Variance des erreurs <Ana-Vraie>..........:",numpy.array(EpsY).var()
-    print
-    #
-    ADD.setDiagnostic("PlotVectors", "Affichage de Xa et Xt")
-    MonPlot = ADD.get("Affichage de Xa et Xt")
-    MonPlot.calculate(
-        ( [ x[0] for x in Xa.valueserie()], Xt.valueserie(), Yo.valueserie() ),
-        title = "Analyse de Kalman sur trajectoire constante",
-        ltitle = ["Analyse", "Valeur vraie", "Observations"],
-        filename = "kalman_sur_trajectoire_constante.ps",
-        pause = False,
-        )
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-
-    test(100)
diff --git a/src/tests/daComposant/Plateforme/test009_Blue_EspaceVeta.py b/src/tests/daComposant/Plateforme/test009_Blue_EspaceVeta.py
deleted file mode 100644 (file)
index fe69dc1..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Vérification du calcul de BLUE dans l'espace des états plutôt que dans
-    l'espace des observations.
-"""
-__author__ = "Sophie RICCI - Septembre 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(precision = 1.e-13):
-    """
-    Vérification du calcul de BLUE dans l'espace des états plutôt que dans
-    l'espace des observations.
-    """
-    #
-    # Définition des données 
-    # ------------------------------------------
-    H  = numpy.matrix(([1., 1.])).T
-    #
-    xb = 6.
-    xt = 3.
-    yo = H * xt 
-    #
-    dimension = yo.size
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    B = numpy.matrix(([1.]))
-    R  = numpy.matrix(numpy.core.identity(dimension)).T
-    #
-    # Analyse BLUE
-    # ------------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asMatrix     = H )
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Blue")
-    #
-    ADD.analyze()
-    #
-    d = numpy.array(ADD.get("Innovation").valueserie(0))
-    xa = numpy.array(ADD.get("Analysis").valueserie(0))
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(abs(xa - 4.)) > precision:
-        raise ValueError("Résultat du test erroné")
-    else:
-        print test.__doc__
-        print "    L'analyse Blue dans l'espace de contrôle est correcte."
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    
-    test()
diff --git a/src/tests/daComposant/Plateforme/test010_Kalman_sur_trajectoire_1D.py b/src/tests/daComposant/Plateforme/test010_Kalman_sur_trajectoire_1D.py
deleted file mode 100644 (file)
index d3fc243..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant le fonctionnement du filtre de Kalman sur un système
-    dynamique de trajectoire 1D multiplicative : X(n+1) = G * X(n)
-"""
-__author__ = "Jean-Philippe ARGAUD - Septembre 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-import Persistence
-
-#===============================================================================
-def test(dimension = 3):
-    """
-    Cas-test vérifiant le fonctionnement du filtre de Kalman sur un système
-    dynamique de trajectoire 1D multiplicative : X(n+1) = G * X(n)
-    """
-    print test.__doc__
-    #
-    # Définition des données
-    # ----------------------
-    Xt = Persistence.OneScalar("Valeur vraie", basetype=float)
-    gain = 1.01
-    Xt.store(2.5)
-    for i in range(dimension):
-        Xt.store( Xt.valueserie(-1) * gain )
-    Yo = Persistence.OneScalar("Observations", basetype=float)
-    Yo.store(0.)
-    for i in range(dimension):
-        Yo.store(numpy.random.normal(Xt.valueserie(i+1), 0.8, size=(1,)))
-    #
-    # Création de l'étude et résolution
-    # ---------------------------------
-    ADD = AssimilationStudy("Assimilation temporelle de Kalman")
-    #
-    ADD.setBackground         (asVector     = "0")
-    ADD.setBackgroundError    (asCovariance = "1")
-    #
-    ADD.setObservationOperator(asMatrix     = "1")
-    ADD.setObservation        (asPersistentVector = Yo)
-    ADD.setObservationError   (asCovariance = "100")
-    #
-    ADD.setEvolutionModel     (asMatrix     = [gain,])
-    ADD.setEvolutionError     (asCovariance = "1.")
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Kalman")
-    #
-    ADD.analyze()
-    Xa = ADD.get("Analysis")
-    print "    Ebauche, i.e. valeur initiale d'analyse...:",Xa.valueserie(0)[0]
-    print "    Nombre d'analyses (sans l'ébauche)........:",Xa.stepnumber()-1
-    print "    Moyenne des analyses......................:",Xa.stepmean()
-    #
-    # Biais des erreurs
-    EpsY = []
-    for i in range(Yo.stepnumber()):
-        EpsY.append(Yo.valueserie(i) - Xt.valueserie(i))
-    print "    Biais des erreurs <Obs-Vraie>.............:",numpy.array(EpsY).mean()
-    print "    Variance des erreurs <Obs-Vraie>..........:",numpy.array(EpsY).var()
-    EpsY = []
-    for i in range(Xa.stepnumber()):
-        EpsY.append(Xa.valueserie(i)[0] - Xt.valueserie(i))
-    print "    Biais des erreurs <Ana-Vraie>.............:",numpy.array(EpsY).mean()
-    print "    Variance des erreurs <Ana-Vraie>..........:",numpy.array(EpsY).var()
-    print
-    #
-    ADD.setDiagnostic("PlotVectors", "Affichage de Xa et Xt")
-    MonPlot = ADD.get("Affichage de Xa et Xt")
-    MonPlot.calculate(
-        ( [ x[0] for x in Xa.valueserie()], Xt.valueserie(), Yo.valueserie() ),
-        title = "Analyse de Kalman sur trajectoire constante",
-        ltitle = ["Analyse", "Valeur vraie", "Observations"],
-        filename = "kalman_sur_trajectoire_multiplicative.ps",
-        pause = False,
-        )
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-    
-    test(100)
diff --git a/src/tests/daComposant/Plateforme/test012_LinearLeastSquares.py b/src/tests/daComposant/Plateforme/test012_LinearLeastSquares.py
deleted file mode 100644 (file)
index df027ae..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Analyse moindre carres sans ebauche
-"""
-__author__ = "Sophie RICCI, Jean-Philippe ARGAUD - Septembre 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-#===============================================================================
-def test(dimension = 100, precision = 1.e-13):
-    """
-    Analyse moindre carres sans ebauche
-    """
-    #
-    # Définition des données "théoriques" vraies
-    # ------------------------------------------
-    xt = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    H  = numpy.identity(dimension)
-    yo = H * xt
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    R  = numpy.identity(dimension)
-    #
-    # Analyse BLUE
-    # ------------
-    ADD = AssimilationStudy()
-    # Les valeurs de xb et B ne sont pas utilisées dans l'algorithme 
-    # pour lequel on ne considere pas d'ébauche
-    ADD.setBackground         (asVector     = numpy.zeros((dimension,)) )
-    ADD.setBackgroundError    (asCovariance = numpy.zeros((dimension,dimension)) )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asMatrix     = H )
-    #
-    ADD.setControls()
-    #
-    ADD.setAlgorithm(choice="LinearLeastSquares")
-    #
-    ADD.analyze()
-    #
-    xa = ADD.get("Analysis").valueserie(0)
-    if max(abs(xa - xt.A1)) > precision :
-        raise ValueError("Resultat du test errone")
-    else :
-        print test.__doc__
-        print "    Test correct"
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    
-    test(3)
diff --git a/src/tests/daComposant/Plateforme/test013_EnsembleBlue.py b/src/tests/daComposant/Plateforme/test013_EnsembleBlue.py
deleted file mode 100644 (file)
index 2bba498..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant que si les covariances d'erreur B et R sont identiques et
-    unitaires, l'analyse est située au milieu de l'ébauche [0,1,2] et de
-    l'observation [0.5,1.5,2.5], avec une erreur d'un ordre inférieur à celle
-    introduite dans R (si l'erreur est de 1 dans R, la précision de vérification
-    est de 0.1*0.1).
-"""
-__author__ = "Jean-Philippe ARGAUD - Novembre 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-import Persistence
-
-import logging
-# logging.getLogger().setLevel(logging.DEBUG)
-
-#===============================================================================
-def test(precision = 1.e-2):
-    """
-    Cas-test vérifiant que si les covariances d'erreur B et R sont identiques et
-    unitaires, l'analyse est située au milieu de l'ébauche [0,1,2] et de
-    l'observation [0.5,1.5,2.5], avec une erreur d'un ordre inférieur à celle
-    introduite dans R (si l'erreur est de 1 dans R, la précision de vérification
-    est de 0.1*0.1).
-    """
-    #
-    # Définition de l'étude d'assimilation
-    # ------------------------------------
-    ADD = AssimilationStudy("Ma premiere etude")
-    #
-    Xb = Persistence.OneVector("Ebauche", basetype=numpy.matrix)
-    for i in range(100):
-        Xb.store( numpy.matrix( [0,10,20], numpy.float ).T )
-    #
-    ADD.setBackground         (asPersistentVector = Xb )
-    ADD.setBackgroundError    (asCovariance = "1 0 0;0 1 0;0 0 1")
-    ADD.setObservation        (asVector     = [0.5,10.5,20.5])
-    ADD.setObservationError   (asCovariance = "1 0 0;0 1 0;0 0 1")
-    ADD.setObservationOperator(asMatrix     = "1 0 0;0 1 0;0 0 1")
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="EnsembleBlue")
-    #
-    ADD.analyze()
-    #
-    Xa = ADD.get("Analysis")
-    Analyse_moyenne = numpy.matrix( Xa.valueserie() ).mean(axis=0).A1
-    print
-    print "    Ebauche            :",[0,1,2]
-    print "    Analyse moyenne    :",Analyse_moyenne
-    print "    Nombre d'analyses  :",Xa.stepnumber()
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(Analyse_moyenne-numpy.array([0.25, 10.25, 20.25]))/10 > precision:
-        raise ValueError("Résultat du test erroné")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-    
-    test()
diff --git a/src/tests/daComposant/Plateforme/test014_Persistence_et_Blue_en_boucle.py b/src/tests/daComposant/Plateforme/test014_Persistence_et_Blue_en_boucle.py
deleted file mode 100644 (file)
index 6b952e5..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant que la Persistence ou le BLUE en boucle donnent bien
-    les résultats attendus.
-"""
-__author__ = "Jean-Philippe ARGAUD - Janvier 2009"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-from Persistence import Persistence
-
-#===============================================================================
-def test(precision = 1.e-13, dimension = 3, nbsteps = 4):
-    """
-    Cas-test vérifiant que la Persistence ou le BLUE en boucle donnent bien
-    les résultats attendus.
-    """
-    vect1 = [1, 2, 1, 2, 1]
-    vect2 = [-3, -3, 0, -3, -3]
-    vect3 = [-1, 1, -5, 1, -1]
-    vect4 = 2*[0.29, 0.97, 0.73, 0.01, 0.20]
-
-    print
-    print "    TEST DE LA PERSISTENCE"
-    print "    ----------------------"
-    OBJET_DE_TEST = Persistence("My object", unit="", basetype=numpy.array)
-    print "    Stockage de 3 vecteurs de longueur identique"
-    OBJET_DE_TEST.store(vect1)
-    OBJET_DE_TEST.store(vect2)
-    OBJET_DE_TEST.store(vect3)
-    print "    Stockage d'un quatrième vecteur de longueur différente"
-    OBJET_DE_TEST.store(vect4)
-    print "    Taille \"shape\" du dernier objet stocké",OBJET_DE_TEST.shape()
-    print "    Taille \"len\" du dernier objet stocké",len(OBJET_DE_TEST)
-
-    print "    Affichage des objets avec leur type"
-    for k in range(4):
-        xa = OBJET_DE_TEST.valueserie(k)
-        print "     %2i ==> %s, taille %2i, 3ème valeur : %s, objet : %s"%(k,type(xa),len(xa),xa[2],xa)
-
-    del OBJET_DE_TEST
-
-    print
-    print "    TEST DE BOUCLE AUTOUR D'UN BLUE"
-    print "    -------------------------------"
-    yo = 0.5 + numpy.arange(dimension)
-    B  = numpy.matrix(numpy.core.identity(dimension))
-    R  = numpy.matrix(numpy.core.identity(dimension))
-    H  = numpy.matrix(numpy.core.identity(dimension))
-
-    ADD = AssimilationStudy("Ma premiere etude BLUE")
-    ADD.setBackgroundError    (asCovariance = B  )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R  )
-    ADD.setObservationOperator(asMatrix     = H  )
-    ADD.setAlgorithm(choice="Blue")
-
-    calculs1 = []
-    for i in range(nbsteps):
-        xb = numpy.arange(dimension)
-        xb[min(dimension-1,2)] = i
-        #
-        ADD.setBackground(asVector = xb)
-        ADD.analyze()
-
-        print
-        print "    Nombre d'analyses  :", ADD.get("Analysis").stepnumber()
-        print "    Observation        :", yo
-        print "    Ebauche            :", xb
-        xa = ADD.get("Analysis").valueserie(i)
-        d  = ADD.get("Innovation").valueserie(i)
-        print "    Analyse résultante :", xa
-        print "    so                 :", float( numpy.dot(d,(yo-numpy.dot(H,xa)).A1) / R.trace() )
-        print "    sb                 :", float( numpy.dot(d,numpy.dot(H,(xa - xb)).A1) /(H * B * H.T).trace() )
-        print "    Innovation         :", d
-        print "    Détails de xa      :", type(xa), len(xa), xa[2]
-        calculs1.append(xa[2])
-    del ADD, yo, B, R, H, xb
-
-    print
-    print "    TEST DE BOUCLE AUTOUR D'UN BLUE AVEC appliedToX"
-    print "    -----------------------------------------------"
-    yo = 0.5 + numpy.arange(dimension)
-    B  = numpy.matrix(numpy.core.identity(dimension))
-    R  = numpy.matrix(numpy.core.identity(dimension))
-    H  = numpy.matrix(numpy.core.identity(dimension))
-
-    ADD = AssimilationStudy("Ma premiere etude BLUE")
-    ADD.setBackgroundError    (asCovariance = B  )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R  )
-    ADD.setObservationOperator(asMatrix     = H  )
-    ADD.setAlgorithm(choice="Blue")
-
-    calculs2 = []
-    for i in range(nbsteps):
-        xb = numpy.arange(dimension)
-        xb[min(dimension-1,2)] = i
-        HXb = numpy.dot(H,xb)
-        #
-        ADD.setObservationOperator(asMatrix     = H,
-                                   appliedToX   = {"HXb":HXb})
-        ADD.setBackground(asVector = xb)
-        ADD.analyze()
-
-        print
-        print "    Nombre d'analyses  :", ADD.get("Analysis").stepnumber()
-        print "    Observation        :", yo
-        print "    Ebauche            :", xb
-        print "    HXb                :", HXb
-        xa = ADD.get("Analysis").valueserie(i)
-        d  = ADD.get("Innovation").valueserie(i)
-        print "    Analyse résultante :", xa
-        print "    so                 :", float( numpy.dot(d,(yo-numpy.dot(H,xa)).A1) / R.trace() )
-        print "    sb                 :", float( numpy.dot(d,numpy.dot(H,(xa - xb)).A1) /(H * B * H.T).trace() )
-        print "    Innovation         :", d
-        print "    Détails de xa      :", type(xa), len(xa), xa[2]
-        calculs2.append(xa[2])
-    del ADD, yo, B, R, H, xb
-
-    #
-    # Vérification du résultat
-    # ------------------------
-    resultats = ( 2.5 + numpy.arange(nbsteps) )/2.
-    calculs1   = numpy.array(calculs1)
-    calculs2   = numpy.array(calculs2)
-    if   max(abs(calculs1 - resultats)) > precision:
-        raise ValueError("Résultat du test erroné (1)")
-    elif max(abs(calculs2 - resultats)) > precision:
-        raise ValueError("Résultat du test erroné (2)")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    # numpy.random.seed(1000)
-    
-    test(dimension=10)
diff --git a/src/tests/daComposant/Plateforme/test015_3DVAR.py b/src/tests/daComposant/Plateforme/test015_3DVAR.py
deleted file mode 100644 (file)
index 29b1ca3..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant sur le 3D-VAR que si l'erreur est nulle, l'incrément
-    d'analyse est nul.
-"""
-__author__ = "Jean-Philippe ARGAUD - Mars 2009"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-import Persistence
-
-import logging
-# Si on désire plus d'information sur le déroulement du calcul, on peut
-# décommenter l'une des lignes qui suit :
-# logging.getLogger().setLevel(logging.INFO)
-# logging.getLogger().setLevel(logging.DEBUG)
-
-#===============================================================================
-def test(precision = 1.e-13, dimension = 3):
-    """
-    Cas-test vérifiant sur le 3D-VAR que si l'erreur est nulle, l'incrément
-    d'analyse est nul.
-    """
-    #
-    # Définition des données
-    # ----------------------
-    xt = numpy.matrix(numpy.arange(dimension)).T
-    Eo = numpy.matrix(numpy.zeros((dimension,))).T
-    Eb = numpy.matrix(numpy.zeros((dimension,))).T
-    # Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    # Eb = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    #
-    H  = numpy.matrix(numpy.core.identity(dimension))
-    #
-    xb = xt + Eb
-    yo = H * xt + Eo
-    #
-    xb = xb.A1
-    yo = yo.A1
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    R  = numpy.matrix(numpy.core.identity(dimension)).T
-    B  = numpy.matrix(numpy.core.identity(dimension)).T
-    #
-    # Analyse
-    # -------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asMatrix     = H )
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="3DVAR")
-    #
-    ADD.analyze()
-    #
-    xa = numpy.array(ADD.get("Analysis").valueserie(0))
-    d  = numpy.array(ADD.get("Innovation").valueserie(0))
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(abs(xa - xb)) > precision:
-        raise ValueError("Résultat du test erroné (1)")
-    elif max(abs(d)) > precision:
-        raise ValueError("Résultat du test erroné (2)")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-    
-    test(dimension = 3)
diff --git a/src/tests/daComposant/Plateforme/test016_3DVAR_par_fonction.py b/src/tests/daComposant/Plateforme/test016_3DVAR_par_fonction.py
deleted file mode 100644 (file)
index 8d52e12..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant sur le 3D-VAR que si l'erreur est nulle, l'incrément
-    d'analyse est nul.
-"""
-__author__ = "Jean-Philippe ARGAUD - Mars 2009"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-import Persistence
-
-import logging
-# Si on désire plus d'information sur le déroulement du calcul, on peut
-# décommenter l'une des lignes qui suit :
-# logging.getLogger().setLevel(logging.INFO)
-# logging.getLogger().setLevel(logging.DEBUG)
-
-#===============================================================================
-def test(precision = 1.e-13, dimension = 3):
-    """
-    Cas-test vérifiant sur le 3D-VAR que si l'erreur est nulle, l'incrément
-    d'analyse est nul.
-    """
-    #
-    # Définition des données
-    # ----------------------
-    xt = numpy.matrix(numpy.arange(dimension)).T
-    Eo = numpy.matrix(numpy.zeros((dimension,))).T
-    Eb = numpy.matrix(numpy.zeros((dimension,))).T
-    # Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    # Eb = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    #
-    H  = numpy.matrix(numpy.core.identity(dimension))
-    #
-    # Définition de l'effet de l'opérateur H comme une fonction
-    # ---------------------------------------------------------
-    def FunctionH( X ):
-        return H * X
-    def AdjointH( (X, Y) ):
-        return H.T * Y
-    #
-    xb = xt + Eb
-    yo = FunctionH( xt ) + Eo
-    #
-    xb = xb.A1
-    yo = yo.A1
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    R  = numpy.matrix(numpy.core.identity(dimension)).T
-    B  = numpy.matrix(numpy.core.identity(dimension)).T
-    #
-    # Analyse
-    # -------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asFunction   = {"Tangent":FunctionH,
-                                               "Adjoint":AdjointH} )
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="3DVAR")
-    #
-    ADD.analyze()
-    #
-    xa = numpy.array(ADD.get("Analysis").valueserie(0))
-    d  = numpy.array(ADD.get("Innovation").valueserie(0))
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(abs(xa - xb)) > precision:
-        raise ValueError("Résultat du test erroné (1)")
-    elif max(abs(d)) > precision:
-        raise ValueError("Résultat du test erroné (2)")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-    
-    test(dimension = 3)
diff --git a/src/tests/daComposant/Plateforme/test017_3DVAR_par_fonction.py b/src/tests/daComposant/Plateforme/test017_3DVAR_par_fonction.py
deleted file mode 100644 (file)
index 2ca1d09..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant sur le 3D-VAR que si l'erreur d'observation est nulle, on
-    trouve comme analyse la demi-somme de l'ébauche et de la valeur vraie.
-"""
-__author__ = "Jean-Philippe ARGAUD - Mars 2009"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-import Persistence
-
-import logging
-# Si on désire plus d'information sur le déroulement du calcul, on peut
-# décommenter l'une des lignes qui suit :
-# logging.getLogger().setLevel(logging.INFO)
-# logging.getLogger().setLevel(logging.DEBUG)
-
-#===============================================================================
-def test(precision = 1.e-10, dimension = 3):
-    """
-    Cas-test vérifiant sur le 3D-VAR que si l'erreur d'observation est nulle, on
-    trouve comme analyse la demi-somme de l'ébauche et de la valeur vraie.
-    """
-    #
-    # Définition des données
-    # ----------------------
-    xt = numpy.matrix(numpy.arange(dimension)).T
-    Eo = numpy.matrix(numpy.zeros((dimension,))).T
-    # Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    # Eb = numpy.matrix(numpy.zeros((dimension,))).T
-    Eb = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    #
-    H  = numpy.matrix(numpy.core.identity(dimension))
-    #
-    # Définition de l'effet de l'opérateur H comme une fonction
-    # ---------------------------------------------------------
-    def FunctionH( X ):
-        return H * X
-    def AdjointH( (X, Y) ):
-        return H.T * Y
-    #
-    xb = xt + Eb
-    yo = FunctionH( xt ) + Eo
-    #
-    xb = xb.A1
-    yo = yo.A1
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    R  = numpy.matrix(numpy.core.identity(dimension)).T
-    B  = numpy.matrix(numpy.core.identity(dimension)).T
-
-    print "xb", xb
-    print "B", B
-    print "yo", yo
-    print "R", R
-
-    #
-    # Analyse
-    # -------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asFunction   = {"Direct":FunctionH,
-                                               "Tangent":FunctionH,
-                                               "Adjoint":AdjointH} )
-    #
-    ADD.setAlgorithm(choice="3DVAR")
-    #
-    ADD.analyze()
-    #
-    xa = numpy.array(ADD.get("Analysis").valueserie(0))
-    d  = numpy.array(ADD.get("Innovation").valueserie(0))
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(abs(xa - (xb+xt.A1)/2)) > precision:
-        raise ValueError("Résultat du test erroné (1)")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-    
-    test(dimension = 300)
diff --git a/src/tests/daComposant/Plateforme/test018_3DVAR_par_fonction_avec_bornes.py b/src/tests/daComposant/Plateforme/test018_3DVAR_par_fonction_avec_bornes.py
deleted file mode 100644 (file)
index 43219f4..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant sur le 3D-VAR que si l'erreur d'observation est nulle, on
-    trouve comme analyse la demi-somme de l'ébauche et de la valeur vraie.
-"""
-__author__ = "Jean-Philippe ARGAUD - Mars 2009"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-import Persistence
-
-import logging
-# Si on désire plus d'information sur le déroulement du calcul, on peut
-# décommenter l'une des lignes qui suit :
-# logging.getLogger().setLevel(logging.INFO)
-# logging.getLogger().setLevel(logging.DEBUG)
-
-#===============================================================================
-def test(precision = 1.e-10, dimension = 3, minimum = 1.):
-    """
-    Cas-test vérifiant sur le 3D-VAR que si l'erreur d'observation est nulle, on
-    trouve comme analyse la demi-somme de l'ébauche et de la valeur vraie.
-    """
-    #
-    # Définition des données
-    # ----------------------
-    xt = numpy.matrix(numpy.arange(dimension)).T
-    Eo = numpy.matrix(numpy.zeros((dimension,))).T
-    # Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    # Eb = numpy.matrix(numpy.zeros((dimension,))).T
-    Eb = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    #
-    H  = numpy.matrix(numpy.core.identity(dimension))
-    #
-    # Définition de l'effet de l'opérateur H comme une fonction
-    # ---------------------------------------------------------
-    def FunctionH( X ):
-        return H * X
-    def AdjointH( (X, Y) ):
-        return H.T * Y
-    #
-    xb = xt + Eb
-    yo = FunctionH( xt ) + Eo
-    #
-    xb = xb.A1
-    yo = yo.A1
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    R  = numpy.matrix(numpy.core.identity(dimension)).T
-    B  = numpy.matrix(numpy.core.identity(dimension)).T
-    #
-    # Definition des bornes
-    # ---------------------
-    Bounds = dimension*[[minimum,None]]
-    #
-    # Analyse
-    # -------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asFunction   = {"Direct":FunctionH,
-                                               "Tangent":FunctionH,
-                                               "Adjoint":AdjointH} )
-    #
-    ADD.setAlgorithm(choice="3DVAR")
-    ADD.setAlgorithmParameters(asDico={
-        "Minimizer":"LBFGSB",
-        "Bounds"   :Bounds,
-        })
-    #
-    ADD.analyze()
-    #
-    xa = numpy.array(ADD.get("Analysis").valueserie(0))
-    d  = numpy.array(ADD.get("Innovation").valueserie(0))
-    #
-    # Vérification du résultat
-    # ------------------------
-    if xa.min() < minimum:
-        raise ValueError("Résultat du test erroné (1)")
-    else:
-        print test.__doc__
-        print "    Test correct, valeur minimale de %s respectée"%minimum
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-    
-    test(dimension = 300, minimum = 2.)
diff --git a/src/tests/daComposant/Plateforme/test101_RMS.py b/src/tests/daComposant/Plateforme/test101_RMS.py
deleted file mode 100644 (file)
index 4b8f553..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant le calcul de RMS.
-"""
-__author__ = "Jean-Philippe ARGAUD - Juillet 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(precision = 1.e-13):
-    """
-    Cas-test vérifiant des calculs de RMS.
-    """
-    #
-    ADD = AssimilationStudy()
-    #
-    ADD.setDiagnostic("RMS", "Calcul de RMS multi-pas")
-    #
-    # La ligne suivante permet de simplifier les écritures ultérieures pour
-    # les "calculate", mais n'est pas indispensable : on aurait pu conserver à
-    # chaque appel la commande "ADD.get("...")"
-    #
-    RMS = ADD.get("Calcul de RMS multi-pas")
-    #
-    vect1 = [1, 2, 1, 2, 1]
-    vect2 = [2, 1, 2, 1, 2]
-    RMS.calculate(vect1,vect2)
-    vect1 = [1, 3, 1, 3, 1]
-    vect2 = [2, 2, 2, 2, 2]
-    RMS.calculate(vect1,vect2)
-    vect1 = [1, 1, 1, 1, 1]
-    vect2 = [2, 2, 2, 2, 2]
-    RMS.calculate(vect1,vect2)
-    vect1 = [1, 1, 1, 1, 1]
-    vect2 = [4, -2, 4, -2, -2]
-    RMS.calculate(vect1,vect2)
-    vect1 = [0.29, 0.97, 0.73, 0.01, 0.20]
-    vect2 = [0.92, 0.86, 0.11, 0.72, 0.54]
-    RMS.calculate(vect1,vect2)
-    vect1 = [-0.23262176, 1.36065207,  0.32988102, 0.24400551, -0.66765848, -0.19088483, -0.31082575,  0.56849814,  1.21453443,  0.99657516]
-    vect2 = [0,0,0,0,0,0,0,0,0,0]
-    RMS.calculate(vect1,vect2)
-    #
-    Valeurs_attendues = [1.0, 1.0, 1.0, 3.0, 0.53162016515553656, 0.73784217096601323]
-    #
-    # Vérification du résultat
-    # ------------------------
-    ecart = abs( max( numpy.array(RMS.valueserie()) - numpy.array(Valeurs_attendues) ) )
-    if ecart > precision:
-        raise "Résultat du test erroné"
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    # numpy.random.seed(1000)
-    
-    test()
diff --git a/src/tests/daComposant/Plateforme/test102_PlotVector.py b/src/tests/daComposant/Plateforme/test102_PlotVector.py
deleted file mode 100644 (file)
index 54feb4b..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant l'affichage multi-pas Gnuplot d'un vecteur.
-"""
-__author__ = "Jean-Philippe ARGAUD - Juillet 2008"
-
-execfile("context.py")
-
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(dimension = 100):
-    """
-    Cas-test vérifiant l'affichage multi-pas Gnuplot d'un vecteur.
-    """
-    #
-    ADD = AssimilationStudy()
-    #
-    ADD.setDiagnostic("PlotVector", "Affichage multi-pas Gnuplot d'un vecteur")
-    #
-    MonPlot = ADD.get("Affichage multi-pas Gnuplot d'un vecteur")
-    #
-    vect = [1, 2, 1, 2, 1]
-    MonPlot.calculate(vect, title = "Vecteur 1", xlabel = "Axe X", ylabel = "Axe Y", pause = False )
-    vect = [1, 3, 1, 3, 1]
-    MonPlot.calculate(vect, title = "Vecteur 2", filename = "vecteur.ps", pause = False)
-    vect = [-1, 1, 1, 1, -1]
-    MonPlot.calculate(vect, title = "Vecteur 3", pause = False)
-    vect = [0.29, 0.97, 0.73, 0.01, 0.20]
-    MonPlot.calculate(vect, title = "Vecteur 4", pause = False)
-    vect = [-0.23262176, 1.36065207,  0.32988102, 0.24400551, -0.66765848, -0.19088483, -0.31082575,  0.56849814,  1.21453443,  0.99657516]
-    MonPlot.calculate(vect, title = "Vecteur 5", pause = False)
-    vect = dimension*[0.29, 0.97, 0.73, 0.01, 0.20]
-    MonPlot.calculate(vect, title = "Vecteur 6 : long construit par repetition", pause = False)
-    vect = [0.29, 0.97, 0.73, 0.01, 0.20]
-    MonPlot.calculate(vect, title = "Vecteur 7", pause = False)
-    temps = [0.1,0.2,0.3,0.4,0.5]
-    MonPlot.calculate(vect, temps, title = "Vecteur 8 avec axe du temps modifie", pause = False)
-    #
-    # Vérification du résultat
-    # ------------------------
-    print test.__doc__
-    print "    Test correct"
-    print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    
-    test()
diff --git a/src/tests/daComposant/Plateforme/test103_PlotVectors.py b/src/tests/daComposant/Plateforme/test103_PlotVectors.py
deleted file mode 100644 (file)
index 82f3431..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant l'affichage multi-pas Gnuplot d'une liste de vecteurs.
-"""
-__author__ = "Jean-Philippe ARGAUD - Juillet 2008"
-
-execfile("context.py")
-
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(dimension = 100):
-    """
-    Cas-test vérifiant l'affichage multi-pas Gnuplot d'une liste de vecteurs.
-    """
-    #
-    ADD = AssimilationStudy()
-    #
-    ADD.setDiagnostic("PlotVectors", "Affichage multi-pas Gnuplot d'une liste de vecteurs")
-    #
-    MonPlot = ADD.get("Affichage multi-pas Gnuplot d'une liste de vecteurs")
-    #
-    vect1 = [1, 2, 1, 2, 1]
-    MonPlot.calculate([vect1,], title = "Vecteur 1", xlabel = "Axe X", ylabel = "Axe Y", pause = False )
-    vect2 = [1, 3, 1, 3, 1]
-    MonPlot.calculate([vect1,vect2], title = "Vecteurs 1 et 2", filename = "liste_de_vecteurs.ps", pause = False )
-    vect3 = [-1, 1, -1, 1, -1]
-    MonPlot.calculate((vect1,vect2,vect3), title = "Vecteurs 1 a 3", pause = False )
-    vect4 = 100*[0.29, 0.97, 0.73, 0.01, 0.20]
-    MonPlot.calculate([vect4,], title = "Vecteur 4 : long construit par repetition", pause = False )
-    MonPlot.calculate(
-        (vect1,vect2,vect3),
-        [0.1,0.2,0.3,0.4,0.5],
-        title = "Vecteurs 1 a 3, temps modifie", pause = False)
-    print
-    #
-    # Vérification du résultat
-    # ------------------------
-    print test.__doc__
-    print "    Test correct"
-    print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    
-    test()
diff --git a/src/tests/daComposant/Plateforme/test104_HomogeneiteKhi2.py b/src/tests/daComposant/Plateforme/test104_HomogeneiteKhi2.py
deleted file mode 100644 (file)
index 4be2eff..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-#-*-coding:iso-8859-1-*-\r
-__doc__ = """\r
-    Test d'homogenéité des distributions de OMB et OMA lors d'une analyse Blue\r
-"""\r
-__author__ = "Sophie RICCI - Septembre 2008"\r
-\r
-execfile("context.py")\r
-\r
-import numpy\r
-from AssimilationStudy import AssimilationStudy\r
-\r
-#===============================================================================\r
-def test(dimension = 75):\r
-    """\r
-    Test d'homogenéité des distributions de OMB et OMA lors d'une analyse Blue\r
-    """\r
-    numpy.random.seed(1000)\r
-    #\r
-    # Définition des données "théoriques" vraies\r
-    # ------------------------------------------\r
-    xt = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T\r
-    Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T\r
-    Eb = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T\r
-    #\r
-    H  = numpy.matrix(numpy.core.identity(dimension))\r
-    #\r
-    xb = xt + Eb\r
-    yo = H * xt + Eo\r
-    #\r
-    xb = xb.A1\r
-    yo = yo.A1\r
-    #\r
-    # Définition des matrices de covariances d'erreurs\r
-    # ------------------------------------------------\r
-    R  = numpy.matrix(numpy.core.identity(dimension)).T\r
-    B  = numpy.matrix(numpy.core.identity(dimension)).T\r
-    #\r
-    # Analyse BLUE\r
-    # ------------\r
-    ADD = AssimilationStudy()\r
-    ADD.setBackground         (asVector     = xb )\r
-    ADD.setBackgroundError    (asCovariance = B )\r
-    ADD.setObservation        (asVector     = yo )\r
-    ADD.setObservationError   (asCovariance = R )\r
-    ADD.setObservationOperator(asMatrix     = H )\r
-    #\r
-    ADD.setControls()\r
-    ADD.setAlgorithm(choice="Blue")\r
-    #\r
-    ADD.analyze()\r
-    #\r
-    xa = numpy.array(ADD.get("Analysis").valueserie(0))\r
-    d  = numpy.array(ADD.get("Innovation").valueserie(0))\r
-    OMA = yo - xa\r
-    #\r
-    # Application du test d'adéquation du Khi-2 \r
-    # -----------------------------------------\r
-    ADD.setDiagnostic("HomogeneiteKhi2",\r
-        name = "Test d'homogeneite entre OMB et OMA par calcul du khi2",\r
-        parameters = { "tolerance":0.05, "nbclasses":8 , "dxclasse":None})\r
-    #\r
-    # Instanciation de l'objet testkhi2\r
-    # ---------------------------------\r
-    D = ADD.get("Test d'homogeneite entre OMB et OMA par calcul du khi2")\r
-    #\r
-    # Calcul du test et résultat\r
-    # --------------------------\r
-    D.calculate(d, OMA)\r
-    print "    Reponse du test", D.valueserie()\r
-    print\r
-\r
-#==============================================================================\r
-if __name__ == "__main__":\r
-\r
-    print\r
-    print "AUTODIAGNOSTIC"\r
-    print "=============="\r
-    \r
-    test()\r
diff --git a/src/tests/daComposant/Plateforme/test105_VarianceOrder.py b/src/tests/daComposant/Plateforme/test105_VarianceOrder.py
deleted file mode 100644 (file)
index fda0b1c..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Diagnostic sur les variances dans B et R par rapport à l'ébauche Xb et aux
-    observations Y. On teste si on a les conditions :
-        1%*xb < sigma_b < 10%*xb
-            et
-        1%*yo < sigma_o < 10%*yo
-    lors d une anlayse BLUE.
-"""
-__author__ = "Sophie RICCI - Septembre 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(dimension = 3):
-    """
-    Diagnostic sur les variances dans B et R par rapport à l'ébauche Xb et aux
-    observations Y. On teste si on a les conditions :
-        1%*xb < sigma_b < 10%*xb
-            et
-        1%*yo < sigma_o < 10%*yo
-    lors d une anlayse BLUE.
-    """
-    #
-    # Définition des données "théoriques" vraies
-    # ------------------------------------------
-    xt = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    Eb = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    #
-    H  = numpy.matrix(numpy.core.identity(dimension))
-    #
-    xb = xt + Eb
-    yo = H * xt + Eo
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    R  = 1.e-3 * yo.mean() * yo.mean() * numpy.matrix(numpy.core.identity(dimension))
-    B  = 1.e-3 * xb.mean() * xb.mean() * numpy.matrix(numpy.core.identity(dimension))
-    #
-    # Analyse BLUE
-    # ------------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asMatrix     = H )
-    #
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Blue")
-    #
-    ADD.analyze()
-    #
-    xa = numpy.array(ADD.get("Analysis").valueserie(0))
-    d  = numpy.array(ADD.get("Innovation").valueserie(0))
-    #
-    # Application du test
-    # -------------------
-    ADD.setDiagnostic("VarianceOrder", name = "Ordre des matrices de covariance")
-    #
-    D = ADD.get("Ordre des matrices de covariance")
-    #
-    D.calculate( Xb = xb, B = B, Y = yo, R  = R )
-    #
-    # Verification du resultat
-    # ------------------------
-    if not D.valueserie(0) :
-        raise ValueError("Resultat du test errone ")
-    else :
-        print test.__doc__
-        print "    Test correct"
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    
-    test()
diff --git a/src/tests/daComposant/Plateforme/test106_CompareVarianceFisher.py b/src/tests/daComposant/Plateforme/test106_CompareVarianceFisher.py
deleted file mode 100644 (file)
index ee6c274..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Test d'égalité des variances de OMB et OMA lors d'une analyse Blue 
-    au sens du test de Fisher.
-"""
-__author__ = "Sophie RICCI - Septembre 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(dimension = 500):
-    """
-    Test d'égalité des variances de OMB et OMA lors d'une analyse Blue 
-    au sens du test de Fisher.
-    """
-    #
-    # Définition des données "théoriques" vraies
-    # ------------------------------------------
-    xt = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    Eb = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension,))).T
-    H  = numpy.matrix(numpy.identity(dimension))
-    xb = xt + Eb
-    yo = H * xt + Eo
-    xb = xb.A1
-    yo = yo.A1
-    #
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    R  = 1000. * numpy.matrix(numpy.identity(dimension)).T
-    B  = numpy.matrix(numpy.identity(dimension)).T
-    #
-    # Analyse BLUE
-    # ------------
-    ADD = AssimilationStudy()
-    ADD.setBackground         (asVector     = xb )
-    ADD.setBackgroundError    (asCovariance = B )
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationError   (asCovariance = R )
-    ADD.setObservationOperator(asMatrix     = H )
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Blue")
-    ADD.analyze()
-    xa = numpy.array(ADD.get("Analysis").valueserie(0))
-    d  = numpy.array(ADD.get("Innovation").valueserie(0))
-    OMA  = yo - xa
-    #
-    # Application du test d adequation du Khi-2 
-    # -----------------------------------------
-    ADD.setDiagnostic("CompareVarianceFisher",
-        name = "Test de comparaison des variances de OMB et OMA par test de Fisher",
-        parameters = { "tolerance":0.05 })
-    #
-    # Instanciation du diagnostic
-    # ---------------------------
-    D = ADD.get("Test de comparaison des variances de OMB et OMA par test de Fisher")
-    #
-    # Calcul
-    # ------
-    D.calculate(d, OMA)
-    if not D.valueserie(0) :
-            raise ValueError("L'analyse ne change pas de manière significative la variance. Le test est erroné.")
-    else :
-            print test.__doc__
-            print "    L'analyse effectuée change de manière significative la variance."
-            print "    Test correct"
-            print 
-
-#==============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-
-    test()
diff --git a/src/tests/daComposant/Plateforme/test107_GaussianAdequation.py b/src/tests/daComposant/Plateforme/test107_GaussianAdequation.py
deleted file mode 100644 (file)
index 418fec1..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-#-*-coding:iso-8859-1-*-\r
-__doc__ = """\r
-    Test d adequation des distributions de OMB et OMA avec une distribution \r
-    gaussienne dont la moyenne et la std sont calculees sur l echantillon.\r
-    L analyse est un Blue.\r
-"""\r
-__author__ = "Sophie RICCI - Septembre 2008"\r
-\r
-execfile("context.py")\r
-\r
-import numpy\r
-from AssimilationStudy import AssimilationStudy\r
-\r
-#===============================================================================\r
-def test(dimension = 10):\r
-    """\r
-    Test d adequation des distributions de OMB et OMA avec une distribution \r
-    gaussienne dont la moyenne et la std sont calculees sur l echantillon.\r
-    L analyse est un Blue.\r
-    """\r
-    #\r
-    # Définition des données "théoriques" vraies\r
-    # ------------------------------------------\r
-    xt = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension))).T\r
-    Eo = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension))).T\r
-    Eb = numpy.matrix(numpy.random.normal(0.,1.,size=(dimension))).T\r
-    H  = numpy.matrix(numpy.identity(dimension))\r
-    xb = xt + Eb\r
-    yo = H * xt + Eo\r
-    xb = xb.A1\r
-    yo = yo.A1\r
-    # Définition des matrices de covariances d'erreurs\r
-    # ------------------------------------------------\r
-    R  = numpy.matrix(numpy.identity(dimension)).T\r
-    B  = numpy.matrix(numpy.identity(dimension)).T\r
-    #\r
-    # Analyse BLUE\r
-    # ------------\r
-    ADD = AssimilationStudy()\r
-    ADD.setBackground         (asVector     = xb )\r
-    ADD.setBackgroundError    (asCovariance = B )\r
-    ADD.setObservation        (asVector     = yo )\r
-    ADD.setObservationError   (asCovariance = R )\r
-    ADD.setObservationOperator(asMatrix     = H )\r
-    #\r
-    ADD.setControls()\r
-    ADD.setAlgorithm(choice="Blue")\r
-    #\r
-    ADD.analyze()\r
-    #\r
-    xa = numpy.array(ADD.get("Analysis").valueserie(0))\r
-    d  = numpy.array(ADD.get("Innovation").valueserie(0))\r
-    OMA  = yo - xa\r
-    \r
-    #\r
-    # Application du test d adequation du Khi-2 \r
-    # -------------------------------------------------\r
-    ADD.setDiagnostic("GaussianAdequation",\r
-        name = "Test d adequation a une gaussienne par calcul du khi2",\r
-        parameters = { "tolerance":0.05, "nbclasses":8., "dxclasse":None })\r
-    #\r
-    # Instanciation de l'objet testkhi2\r
-    # --------------------------------------------------------------------\r
-    D = ADD.get("Test d adequation a une gaussienne par calcul du khi2")\r
-    #\r
-    # Calcul\r
-    # --------------------------------------------------------------------\r
-    print test.__doc__\r
-    D.calculate(d)\r
-    if not D.valueserie(0) :\r
-        raise ValueError("L'adéquation à une gaussienne pour la variable OMB n'est pasvalide.")\r
-    else :\r
-        print "    L'adéquation à une gaussienne pour la variable OMB est valide."\r
-    D.calculate(OMA)\r
-    if not D.valueserie(1) :\r
-        raise ValueError("L'adéquation à une gaussienne pour la variable OMA n'est pasvalide.")\r
-    else :\r
-        print "    L'adéquation à une gaussienne pour la variable OMA est valide."\r
-    print\r
-\r
-#==============================================================================\r
-if __name__ == "__main__":\r
-\r
-    print\r
-    print "AUTODIAGNOSTIC"\r
-    print "=============="\r
-    \r
-    test()\r
diff --git a/src/tests/daComposant/Plateforme/test108_StopReductionVariance.py b/src/tests/daComposant/Plateforme/test108_StopReductionVariance.py
deleted file mode 100644 (file)
index b0caf15..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Recherche de l'arrêt de la réduction de la variance (VAR(OMB)-VAR(OMA)) 
-    lors d'itérations sur une analyse Blue avec R = alpha*B et H = Id.
-    - avec remise à jour de l'ébauche xb = xa (updatexb = True)
-    - avec correction de R et B par so et sb (sosb = True)
-"""
-__author__ = "Sophie RICCI - Septembre 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-from scipy import asarray
-
-#===============================================================================
-def test(dimension = 3, alpha = 1., N = 10, updatexb = True, sosb = False) :
-    #
-    # Définition des données "théoriques" vraies
-    # ------------------------------------------
-    xt = numpy.arange(dimension)
-    Eo = numpy.random.normal(0.,1.,size=(dimension,))
-    Eb = numpy.zeros((dimension,))
-    H  = numpy.identity(dimension)
-    xb = xt + Eb
-    yo = numpy.dot(H,xt) + Eo
-    # Définition des matrices de covariances d'erreurs
-    # ------------------------------------------------
-    B  = numpy.identity(dimension)
-    R  = alpha * B
-    # Analyse BLUE
-    # ------------
-    ADD = AssimilationStudy()
-    ADD.setObservation        (asVector     = yo )
-    ADD.setObservationOperator(asMatrix     = H )
-    ADD.setControls()
-    ADD.setAlgorithm(choice="Blue")
-    SigmaBck2 = 1.
-    SigmaObs2 = 1. 
-    VectSigmaObs2, VectSigmaBck2 = [],[]
-    vectd , vectOMA = [],[]
-
-    # Iterations du Blue
-    for i in range (0, N) :
-        ADD.setBackground         (asVector     = xb )
-        # Mise a jour de R et B par so et sb
-        if sosb :    
-            newB = SigmaBck2*B
-            newR = SigmaObs2*R
-            ADD.setBackgroundError (asCovariance = newB )
-            ADD.setObservationError(asCovariance = newR )
-        else :
-            newB = B
-            newR = R
-            ADD.setBackgroundError (asCovariance = newB )
-            ADD.setObservationError(asCovariance = newR )
-        ADD.analyze()
-        xa = ADD.get("Analysis").valueserie(i)
-        d = ADD.get("Innovation").valueserie(i)
-        # Construit le vecteur des so et sb
-        SigmaObs2 = ADD.get("SigmaObs2").valueserie(i)
-        SigmaBck2 = ADD.get("SigmaBck2").valueserie(i)
-        VectSigmaObs2.append(SigmaObs2)
-        VectSigmaBck2.append(SigmaBck2)
-
-        # Calcul de la variance de OMB et OMA 
-        OMB = yo -xb
-        var_OMB = OMB.var()
-        vectd.append(var_OMB)
-
-        OMA = yo-xa
-        var_OMA = OMA.var()
-        vectOMA.append(var_OMA)
-
-        # Update de l ebauche par l analyse
-        if updatexb : 
-            xb = xa
-       
-    # Construction du vecteur de difference VAR(OMB)-VAR(0MA)
-    vectd =  asarray(vectd)
-    vectOMA =  asarray(vectOMA)
-    vector = asarray(vectd) - asarray(vectOMA)
-
-    # Plot de  VAR(d) - VAR(OMA) au cours des iterations
-    # --------------------------------------------------
-    ADD.setDiagnostic("PlotVector", "Affichage multi-pas Gnuplot d'un vecteur")
-    MonPlot = ADD.get("Affichage multi-pas Gnuplot d'un vecteur")
-#    MonPlot.calculate(vector, title = " VAR(d) - VAR(OMA) ", xlabel = "Axe X", ylabel = "Axe Y", filename = "Plot_StopReductionVariance_VAROMB-VAROMA.ps", pause = True)
-#    MonPlot.calculate(VectSigmaObs2, title = " SigmaObs2 ", xlabel = "Axe X", ylabel = "Axe Y", filename = "testiter_so.ps", pause = True)
-#    MonPlot.calculate(VectSigmaBck2, title = " SigmaBck2 ", xlabel = "Axe X", ylabel = "Axe Y", filename = "testiter_sb.ps", pause = True)
-
-
-    # Application du diagnostic sur l arret de la reduction de la variance
-    # ----------------------------------------------------------------------
-    ADD.setDiagnostic("StopReductionVariance",
-        name = "Arret de la reduction de la variance entre OMB et OMA")
-    #
-    D = ADD.get("Arret de la reduction de la variance entre OMB et OMA")
-    D.calculate( vector = vector,  CutOffSlope = 0.005, MultiSlope0 = None)
-
-    # Verification du resultat
-    # ------------------------
-    print __doc__
-    print "    La variance n'est plus significativement réduite après l'itération", D.valueserie(0)
-    print "    Test correct"
-    print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-
-    test()
-
diff --git a/src/tests/daComposant/Plateforme/test109_HLinearity.py b/src/tests/daComposant/Plateforme/test109_HLinearity.py
deleted file mode 100644 (file)
index 3d4b2f4..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Diagnotic de test sur la validité de l'hypothèse de linéarité de l'opérateur
-    H entre xp et xm
-"""
-__author__ = "Jean-Philippe ARGAUD - Octobre 2008"
-
-execfile("context.py")
-
-import numpy
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test(tolerance = 0.1, dimension = 3):
-    """
-    Diagnotic de test sur la validité de l'hypothèse de linéarité de l'opérateur
-    H entre xp et xm
-    """
-    #
-    # Définition des données
-    # ----------------------
-    dxparam = 1. 
-    Hxm = numpy.random.normal(0.,1.,size=(dimension,))
-    Hxp = Hxm + 2*dxparam
-    Hx = (Hxp + Hxm)/2.
-    H =  (Hxp - Hxm)/2.
-    #
-    # Instanciation de l'objet diagnostic
-    # -----------------------------------
-    ADD = AssimilationStudy()
-    ADD.setDiagnostic("HLinearity",
-        name = "Test le linearite de Hlin",
-        parameters = { "tolerance":tolerance })
-    D = ADD.get("Test le linearite de Hlin")
-    #
-    # Calcul 
-    # ------
-    D.calculate(
-        Hlin = H,
-        deltaparam = dxparam,
-        Hxp  = Hxp,
-        Hxm  = Hxm,
-        Hx   = Hx)
-    #
-    # Vérification du résultat
-    # ------------------------
-    if not D.valueserie(0) :
-        raise ValueError("Résultat du test erroné")
-    else:
-        print test.__doc__
-        print "    Test correct, tolerance du test fixée à %s"%tolerance
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-    
-    test(dimension = 1.e4) # Fonctionne bien jusqu'à 1.e7
diff --git a/src/tests/daComposant/Plateforme/test300_Optimize_CG.py b/src/tests/daComposant/Plateforme/test300_Optimize_CG.py
deleted file mode 100644 (file)
index 405c186..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant que la minimisation CG de Scipy fonctionne
-    sur un cas simple.
-"""
-__author__ = "Jean-Philippe ARGAUD - Avril 2009"
-
-import numpy
-import scipy.optimize
-
-import logging
-# Si on désire plus d'information sur le déroulement du calcul, on peut
-# décommenter l'une des lignes qui suit :
-# logging.getLogger().setLevel(logging.INFO)
-# logging.getLogger().setLevel(logging.DEBUG)
-
-#===============================================================================
-class CostFunction:
-    """
-    Classe permettant de rassembler toutes les informations disponibles sur la
-    fonction-coût nécessaires à la minimisation.
-    
-    Il y a 2 méthodes :
-    - value    : renvoie la valeur de la fonction-coût, i.e. J
-    - gradient : renvoie son gradient, i.e. grad(J)
-    
-    La fonction-coût choisie est une simple norme quadratique sur l'écart entre
-    la variable de minimisation X et une valeur constante X0. Le gradient est
-    donc de deux fois cet écart, et le minimum est atteint quand X=X0.
-    """
-    def __init__(self, X0 = None ):
-        self.X0 = X0
-        self.i  = 0
-        logging.debug("")
-        logging.debug("Initialisations pour J :")
-        logging.debug("  X0 = %s"%self.X0)
-
-    def value(self, X = None ):
-        #
-        self.i += 1
-        #
-        J = numpy.dot( ( X - self.X0 ), ( X - self.X0 ) )
-        J = float( J )
-        #
-        logging.debug("")
-        logging.debug("Etape de minimisation numéro %i"%self.i)
-        logging.debug("------------------------------")
-        logging.debug("Calcul de la valeur de J :")
-        logging.debug("  X = %s"%X)
-        logging.debug("  J = %s"%J)
-        return J
-
-    def gradient(self, X = None ):
-        #
-        gradJ = 2. * ( X - self.X0 )
-        #
-        logging.debug("Calcul du gradient de J :")
-        logging.debug("  grad(J) = %s"%gradJ)
-        return gradJ
-
-    def iterations(self):
-        return self.i
-
-#===============================================================================
-def test(precision = 1.e-07, dimension = 3):
-    """
-    Cas-test vérifiant que la minimisation CG de Scipy fonctionne
-    sur un cas simple.
-    """
-    #
-    # Définition de l'objet contenant la fonction-coût
-    # ------------------------------------------------
-    X0 = numpy.random.normal(0.,1.,size=(dimension,))
-    J = CostFunction( X0 )
-    #
-    X_initial = 3. * X0
-    #
-    # X_optimal, J_optimal, Informations
-    X_optimal, J_optimal, func_calls, grad_calls, warnflag = scipy.optimize.fmin_cg(
-        f      = J.value,
-        x0     = X_initial,
-        fprime = J.gradient,
-        args   = (),
-        gtol   = precision,
-        full_output = True,
-        )
-    #
-    GradJ_opt = J.gradient( X_optimal )
-    #
-    logging.info("")
-    logging.info("Résultats finaux :")
-    logging.info("  X0        = %s"%X0)
-    logging.info("  X_optimal = %s"%X_optimal)
-    logging.info("  J_optimal = %s"%J_optimal)
-    logging.info("  GradJ_opt = %s"%GradJ_opt)
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(abs(GradJ_opt)) > precision:
-        raise ValueError("Résultat du test erroné sur le gradient de J")
-    elif J_optimal > precision:
-        raise ValueError("Résultat du test erroné sur J")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print "    Nombre de calculs de la fonctionnelle J : %i"%J.iterations()
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-    
-    test(dimension = 100)
diff --git a/src/tests/daComposant/Plateforme/test301_Optimize_BFGS.py b/src/tests/daComposant/Plateforme/test301_Optimize_BFGS.py
deleted file mode 100644 (file)
index 7613326..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant que la minimisation BFGS de Scipy fonctionne
-    sur un cas simple.
-"""
-__author__ = "Jean-Philippe ARGAUD - Avril 2009"
-
-import numpy
-import scipy.optimize
-
-import logging
-# Si on désire plus d'information sur le déroulement du calcul, on peut
-# décommenter l'une des lignes qui suit :
-# logging.getLogger().setLevel(logging.INFO)
-# logging.getLogger().setLevel(logging.DEBUG)
-
-from test300_Optimize_CG import CostFunction
-
-#===============================================================================
-def test(precision = 1.e-07, dimension = 3):
-    """
-    Cas-test vérifiant que la minimisation BFGS de Scipy fonctionne
-    sur un cas simple.
-    """
-    #
-    # Définition de l'objet contenant la fonction-coût
-    # ------------------------------------------------
-    X0 = numpy.random.normal(0.,1.,size=(dimension,))
-    J = CostFunction( X0 )
-    #
-    X_initial = 3. * X0
-    #
-    X_optimal, J_optimal, GradJ_opt, Hopt, func_calls, grad_calls, warnflag = scipy.optimize.fmin_bfgs(
-        f      = J.value,
-        x0     = X_initial,
-        fprime = J.gradient,
-        args   = (),
-        gtol   = precision,
-        full_output = True,
-        )
-    #
-    logging.info("")
-    logging.info("Résultats finaux :")
-    logging.info("  X0        = %s"%X0)
-    logging.info("  X_optimal = %s"%X_optimal)
-    logging.info("  J_optimal = %s"%J_optimal)
-    logging.info("  GradJ_opt = %s"%GradJ_opt)
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(abs(GradJ_opt)) > precision:
-        raise ValueError("Résultat du test erroné sur le gradient de J")
-    elif J_optimal > precision:
-        raise ValueError("Résultat du test erroné sur J")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print "    Nombre de calculs de la fonctionnelle J : %i"%J.iterations()
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-    
-    test(dimension = 100)
diff --git a/src/tests/daComposant/Plateforme/test302_Optimize_LBFGS.py b/src/tests/daComposant/Plateforme/test302_Optimize_LBFGS.py
deleted file mode 100644 (file)
index 369b46c..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant que la minimisation L-BFGS-B de Scipy fonctionne
-    sur un cas simple.
-"""
-__author__ = "Jean-Philippe ARGAUD - Avril 2009"
-
-import numpy
-import scipy.optimize
-
-import logging
-# Si on désire plus d'information sur le déroulement du calcul, on peut
-# décommenter l'une des lignes qui suit :
-# logging.getLogger().setLevel(logging.INFO)
-# logging.getLogger().setLevel(logging.DEBUG)
-
-from test300_Optimize_CG import CostFunction
-
-#===============================================================================
-def test(precision = 1.e-07, dimension = 3):
-    """
-    Cas-test vérifiant que la minimisation L-BFGS-B de Scipy fonctionne
-    sur un cas simple.
-    """
-    #
-    # Définition de l'objet contenant la fonction-coût
-    # ------------------------------------------------
-    X0 = numpy.random.normal(0.,1.,size=(dimension,))
-    J = CostFunction( X0 )
-    #
-    X_initial = 3. * X0
-    #
-    X_optimal, J_optimal, Informations = scipy.optimize.fmin_l_bfgs_b(
-        func   = J.value,
-        x0     = X_initial,
-        fprime = J.gradient,
-        args   = (),
-        pgtol  = precision,
-        )
-    #
-    logging.info("")
-    logging.info("Résultats finaux :")
-    logging.info("  X0        = %s"%X0)
-    logging.info("  X_optimal = %s"%X_optimal)
-    logging.info("  J_optimal = %s"%J_optimal)
-    logging.info("  GradJ_opt = %s"%Informations['grad'])
-    #
-    # Vérification du résultat
-    # ------------------------
-    if max(abs(Informations['grad'])) > precision:
-        raise ValueError("Résultat du test erroné sur le gradient de J")
-    elif J_optimal > precision:
-        raise ValueError("Résultat du test erroné sur J")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print "    Nombre de calculs de la fonctionnelle J : %i"%J.iterations()
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-    
-    test(dimension = 100)
diff --git a/src/tests/daComposant/Plateforme/test303_Optimize_TNC.py b/src/tests/daComposant/Plateforme/test303_Optimize_TNC.py
deleted file mode 100644 (file)
index b76c5b4..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant que la minimisation TNC de Scipy fonctionne
-    sur un cas simple.
-"""
-__author__ = "Jean-Philippe ARGAUD - Avril 2009"
-
-import numpy
-import scipy.optimize
-
-import logging
-# Si on désire plus d'information sur le déroulement du calcul, on peut
-# décommenter l'une des lignes qui suit :
-# logging.getLogger().setLevel(logging.INFO)
-# logging.getLogger().setLevel(logging.DEBUG)
-
-if logging.getLogger().level < 30:
-    message = scipy.optimize.tnc.MSG_ALL
-else:
-    message = scipy.optimize.tnc.MSG_NONE
-
-from test300_Optimize_CG import CostFunction
-
-#===============================================================================
-def test(precision = 1.e-07, dimension = 3):
-    """
-    Cas-test vérifiant que la minimisation TNC de Scipy fonctionne
-    sur un cas simple.
-    """
-    #
-    # Définition de l'objet contenant la fonction-coût
-    # ------------------------------------------------
-    X0 = numpy.random.normal(0.,1.,size=(dimension,))
-    J = CostFunction( X0 )
-    #
-    X_initial = 3. * X0
-    #
-    X_optimal, neval, rc = scipy.optimize.fmin_tnc(
-        func        = J.value,
-        x0          = X_initial,
-        fprime      = J.gradient,
-        args        = (),
-        approx_grad = False,
-        pgtol       = precision,
-        messages    = message,
-        )
-    #
-    J_optimal = J.value( X_optimal )
-    GradJ_opt = J.gradient( X_optimal )
-    #
-    logging.info("")
-    logging.info("Résultats finaux :")
-    logging.info("  X0        = %s"%X0)
-    logging.info("  X_optimal = %s"%X_optimal)
-    logging.info("  J_optimal = %s"%J_optimal)
-    logging.info("  GradJ_opt = %s"%GradJ_opt)
-    #
-    # Vérification du résultat
-    # ------------------------
-    if J_optimal > precision:
-        raise ValueError("Résultat du test erroné sur J")
-    else:
-        print test.__doc__
-        print "    Test correct, erreur maximale inférieure à %s"%precision
-        print "    Nombre de calculs de la fonctionnelle J : %i"%J.iterations()
-        print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    numpy.random.seed(1000)
-    
-    test(dimension = 100)
diff --git a/src/tests/daComposant/Plateforme/test901_Informations_dynamiques.py b/src/tests/daComposant/Plateforme/test901_Informations_dynamiques.py
deleted file mode 100644 (file)
index 5b89b36..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test vérifiant les messages de sortie pour toutes les informations
-    dynamiques
-"""
-__author__ = "Jean-Philippe ARGAUD - Mars 2008"
-
-execfile("context.py")
-
-from AssimilationStudy import AssimilationStudy
-
-#===============================================================================
-def test():
-    """
-    Cas-test vérifiant les messages de sortie pour toutes les informations
-    dynamiques
-    """
-    #
-    # Définition de l'étude d'assimilation
-    # ------------------------------------
-    ADD = AssimilationStudy("Verifications des informations dynamiques")
-    #
-    print test.__doc__
-    # print "Chemin des algorithmes  :",ADD.get_algorithms_main_path()
-    print "Algorithmes disponibles :",ADD.get_available_algorithms()
-    print
-    # print "Chemin des diagnostics  :",ADD.get_diagnostics_main_path()
-    print "Diagnostics disponibles :",ADD.get_available_diagnostics()
-    print
-    chemin = "../../Sources"
-    print "Ajout du chemin         :",chemin
-    ADD.add_algorithms_path(chemin)
-    print "Algorithmes disponibles :",ADD.get_available_algorithms()
-    print
-    print "Ajout du chemin         :",chemin
-    ADD.add_diagnostics_path(chemin)
-    print "Diagnostics disponibles :",ADD.get_available_diagnostics()
-    print
-    ADD.setAlgorithm(choice=ADD.get_available_algorithms()[0])
-    liste = ADD.get().keys()
-    liste.sort()
-    print "Variables et diagnostics disponibles :",liste
-    print
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    
-    test()
diff --git a/src/tests/daComposant/Plateforme/test902_Demonstrations_de_logging.py b/src/tests/daComposant/Plateforme/test902_Demonstrations_de_logging.py
deleted file mode 100644 (file)
index a00c126..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-#-*-coding:iso-8859-1-*-
-__doc__ = """
-    Cas-test démontrant les possibilités de logging, sous la forme de fonctions
-    successives illustrant le fonctionnement par défaut.
-"""
-__author__ = "Jean-Philippe ARGAUD - Octotbre 2008"
-
-import os
-execfile("context.py")
-
-#===============================================================================
-def demo1():
-    from AssimilationStudy import AssimilationStudy
-    print """
- DEMO 1
- ------
- L'initialisation de l'environnement de logging a été automatiquement faite à
- l'import de AssimilationStudy.
- Seuls les messages d'un niveau au moins égal à warning sont disponibles par
- défaut. Cela permet de truffer le code de messages de DEBUG ou d'INFO sans
- qu'ils apparaissent à l'affichage standard.
-"""
-    import logging
-    logging.debug("Un message de debug")
-    logging.info("Un message d'info")
-    logging.warning("Un message d'avertissement")
-    logging.error("Un message d'erreur")
-    logging.critical("Un message critique")
-
-def demo2():
-    from AssimilationStudy import AssimilationStudy
-    print """
- DEMO 2
- ------
- On recommence le cas précédent, mais en affichant tous les messages. Cela
- permet de deboguer le code en ayant les messages non affichés précédemment.
- La commande de disponibilité de tous les niveaux est atteignable à travers le
- module standard "logging" (avec une minuscule) :
-   logging.getLogger().setLevel(...)
-"""
-    import logging
-    
-    logging.getLogger().setLevel(logging.DEBUG)
-    
-    logging.debug("Un message de debug")
-    logging.info("Un message d'info")
-    logging.warning("Un message d'avertissement")
-    logging.error("Un message d'erreur")
-    logging.critical("Un message critique")
-
-def demo3():
-    print """
- DEMO 3
- ------
- On peut disposer des messages conjointement à la console et dans un fichier.
-
- Pour cela, il faut importer le module Logging n'importe où (après le module
- AssimilationStudy ou en son absence, mais pas avant). On en profite aussi pour
- initier le logging général avec le niveau INFO, donc le message de debug
- précédemment affiché ne l'est plus.
-"""
-    import Logging
-    Logging.Logging().setLogfile()
-    
-    if os.path.isfile("AssimilationStudy.log"):
-        print " ---> Le fichier attendu a bien été créé."
-    else:
-        raise ValueError("Le fichier attendu n'a pas été créé.")
-    
-    import logging
-    logging.getLogger().setLevel(logging.INFO)
-    
-    logging.debug("Un message de debug")
-    logging.info("Un message d'info")
-    logging.warning("Un message d'avertissement")
-    logging.error("Un message d'erreur")
-    logging.critical("Un message critique")
-    
-    print
-    print " On peut vérifier le contenu du fichier \"AssimilationStudy.log\"."
-
-#===============================================================================
-if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    
-    demo1()
-    demo2()
-    demo3()
-    print
-    print " Pour les autres modes avancés de contôle du fichier et des niveaux"
-    print " on se reportera à la documentation du module \"Logging\"."
-    print