]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Mise a jour des commentaires des sources
authorJean-Philippe ARGAUD <ahbhhjp@cli23jp>
Tue, 17 May 2011 14:14:58 +0000 (16:14 +0200)
committerJean-Philippe ARGAUD <ahbhhjp@cli23jp>
Tue, 17 May 2011 14:14:58 +0000 (16:14 +0200)
19 files changed:
src/daComposant/daAlgorithms/3DVAR.py
src/daComposant/daAlgorithms/Blue.py
src/daComposant/daAlgorithms/EnsembleBlue.py
src/daComposant/daAlgorithms/Kalman.py [deleted file]
src/daComposant/daAlgorithms/KalmanFilter.py [new file with mode: 0644]
src/daComposant/daAlgorithms/LinearLeastSquares.py
src/daComposant/daAlgorithms/__init__.py
src/daComposant/daCore/AssimilationStudy.py
src/daComposant/daCore/BasicObjects.py
src/daComposant/daCore/Logging.py
src/daComposant/daCore/Persistence.py
src/daComposant/daCore/PlatformInfo.py
src/daComposant/daCore/__init__.py
src/daComposant/daCore/version.py
src/daComposant/daDiagnostics/PlotVector.py
src/daComposant/daDiagnostics/PlotVectors.py
src/daComposant/daDiagnostics/RMS.py
src/daComposant/daDiagnostics/ReduceVariance.py
src/daComposant/daDiagnostics/__init__.py

index d42ce6515f46fa3c015b669281b7c50cdaae88d4..b073851bb572c6ae2df66ccb5106ffdd8214e5a5 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2010  EDF R&D
+#  Copyright (C) 2008-2011  EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
 #
 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-__doc__ = """
-    Algorithme variationnel statique (3D-VAR)
-"""
-__author__ = "Jean-Philippe ARGAUD - Mars 2009"
 
 import logging
 from daCore import BasicObjects, PlatformInfo
@@ -53,6 +49,8 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
         logging.debug("%s Lancement"%self._name)
         logging.debug("%s Taille mémoire utilisée de %.1f Mo"%(self._name, m.getUsedMemory("Mo")))
         #
+        # Opérateur d'observation
+        # -----------------------
         Hm = H["Direct"].appliedTo
         Ht = H["Adjoint"].appliedInXTo
         #
@@ -122,6 +120,7 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
         #
         # Paramètres de pilotage
         # ----------------------
+        # Potentiels : "Bounds", "Minimizer", "MaximumNumberOfSteps"
         if Parameters.has_key("Bounds") and (type(Parameters["Bounds"]) is type([]) or type(Parameters["Bounds"]) is type(())) and (len(Parameters["Bounds"]) > 0):
             Bounds = Parameters["Bounds"]
         else:
@@ -136,7 +135,7 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             maxiter = int( Parameters["MaximumNumberOfSteps"] )
         else:
             maxiter = 15000
-        logging.debug("%s Nombre maximal de pas d'optimisation = %s"%(self._name, maxiter))
+        logging.debug("%s Nombre maximal de pas d'optimisation = %s"%(self._name, str(maxiter)))
         #
         # Minimisation de la fonctionnelle
         # --------------------------------
index 04efa6fd2a68728fd6d6f9581882497190e634b6..0dcd6d44a4c75f08d6435e4ef4502f6748413937 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2010  EDF R&D
+#  Copyright (C) 2008-2011  EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
 #
 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-__doc__ = """
-    Algorithme de Kalman simple (BLUE)
-"""
-__author__ = "Jean-Philippe ARGAUD - Mars 2008"
 
 import logging
 from daCore import BasicObjects, PlatformInfo
index f09c2a0609e5f2ba0700040ad8552f330dc48260..d4c13fba2f5c4abdd2e729137c555ec098f89bc0 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2010  EDF R&D
+#  Copyright (C) 2008-2011  EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
 #
 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-__doc__ = """
-    Algorithme de methode d'ensemble simple
-"""
-__author__ = "Sebastien MASSART, Jean-Philippe ARGAUD - Novembre 2008"
 
 import logging
 from daCore import BasicObjects, PlatformInfo
diff --git a/src/daComposant/daAlgorithms/Kalman.py b/src/daComposant/daAlgorithms/Kalman.py
deleted file mode 100644 (file)
index cccfd35..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-#-*-coding:iso-8859-1-*-
-#
-#  Copyright (C) 2008-2010  EDF R&D
-#
-#  This library is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU Lesser General Public
-#  License as published by the Free Software Foundation; either
-#  version 2.1 of the License.
-#
-#  This library is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#  Lesser General Public License for more details.
-#
-#  You should have received a copy of the GNU Lesser General Public
-#  License along with this library; if not, write to the Free Software
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-#  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-__doc__ = """
-    Algorithme de Kalman pour un système discret
-    
-    Remarque : les observations sont exploitées à partir du pas de temps 1, et
-    sont utilisées dans Yo comme rangées selon ces indices. Donc le pas 0 n'est
-    pas utilisé puisque la première étape de Kalman passe de 0 à 1 avec
-    l'observation du pas 1.
-"""
-__author__ = "Jean-Philippe ARGAUD - Septembre 2008"
-
-import logging
-from daCore import BasicObjects, PlatformInfo
-m = PlatformInfo.SystemUsage()
-
-# ==============================================================================
-class ElementaryAlgorithm(BasicObjects.Algorithm):
-    def __init__(self):
-        BasicObjects.Algorithm.__init__(self)
-        self._name = "KALMAN"
-        logging.debug("%s Initialisation"%self._name)
-
-    def run(self, Xb=None, Y=None, H=None, M=None, R=None, B=None, Q=None, Parameters=None):
-        """
-        Calcul de l'estimateur de Kalman
-        """
-        logging.debug("%s Lancement"%self._name)
-        logging.debug("%s Taille mémoire utilisée de %.1f Mo"%(self._name, m.getUsedMemory("Mo")))
-        #
-        # Opérateur d'observation
-        # -----------------------
-        Hm = H["Direct"].asMatrix()
-        Ht = H["Adjoint"].asMatrix()
-        #
-        # Opérateur d'évolution
-        # ---------------------
-        Mm = M["Direct"].asMatrix()
-        Mt = M["Adjoint"].asMatrix()
-        #
-        duration = Y.stepnumber()
-        #
-        # Initialisation
-        # --------------
-        Xn = Xb
-        Pn = B
-        self.StoredVariables["Analysis"].store( Xn.A1 )
-        self.StoredVariables["CovarianceAPosteriori"].store( Pn )
-        #
-        for step in range(duration-1):
-            logging.debug("%s Etape de Kalman %i (i.e. %i->%i) sur un total de %i"%(self._name, step+1, step,step+1, duration-1))
-            #
-            # Etape de prédiction
-            # -------------------
-            Xn_predicted = Mm * Xn
-            Pn_predicted = Mm * Pn * Mt + Q
-            #
-            # Etape de correction
-            # -------------------
-            d  = Y.valueserie(step+1) - Hm * Xn_predicted
-            K  = Pn_predicted * Ht * (Hm * Pn_predicted * Ht + R).I
-            Xn = Xn_predicted + K * d
-            Pn = Pn_predicted - K * Hm * Pn_predicted
-            #
-            self.StoredVariables["Analysis"].store( Xn.A1 )
-            self.StoredVariables["CovarianceAPosteriori"].store( Pn )
-            self.StoredVariables["Innovation"].store( d.A1 )
-        #
-        logging.debug("%s Taille mémoire utilisée de %.1f Mo"%(self._name, m.getUsedMemory("Mo")))
-        logging.debug("%s Terminé"%self._name)
-        #
-        return 0
-
-# ==============================================================================
-if __name__ == "__main__":
-    print '\n AUTODIAGNOSTIC \n'
diff --git a/src/daComposant/daAlgorithms/KalmanFilter.py b/src/daComposant/daAlgorithms/KalmanFilter.py
new file mode 100644 (file)
index 0000000..e7b9284
--- /dev/null
@@ -0,0 +1,90 @@
+#-*-coding:iso-8859-1-*-
+#
+#  Copyright (C) 2008-2011  EDF R&D
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+#  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import logging
+from daCore import BasicObjects, PlatformInfo
+m = PlatformInfo.SystemUsage()
+
+# ==============================================================================
+class ElementaryAlgorithm(BasicObjects.Algorithm):
+    def __init__(self):
+        BasicObjects.Algorithm.__init__(self)
+        self._name = "KALMANFILTER"
+        logging.debug("%s Initialisation"%self._name)
+
+    def run(self, Xb=None, Y=None, H=None, M=None, R=None, B=None, Q=None, Parameters=None):
+        """
+        Calcul de l'estimateur du filtre de Kalman
+
+        Remarque : les observations sont exploitées à partir du pas de temps 1,
+        et sont utilisées dans Yo comme rangées selon ces indices. Donc le pas 0
+        n'est pas utilisé puisque la première étape de Kalman passe de 0 à 1
+        avec l'observation du pas 1.
+        """
+        logging.debug("%s Lancement"%self._name)
+        logging.debug("%s Taille mémoire utilisée de %.1f Mo"%(self._name, m.getUsedMemory("Mo")))
+        #
+        # Opérateur d'observation
+        # -----------------------
+        Hm = H["Direct"].asMatrix()
+        Ht = H["Adjoint"].asMatrix()
+        #
+        # Opérateur d'évolution
+        # ---------------------
+        Mm = M["Direct"].asMatrix()
+        Mt = M["Adjoint"].asMatrix()
+        #
+        duration = Y.stepnumber()
+        #
+        # Initialisation
+        # --------------
+        Xn = Xb
+        Pn = B
+        self.StoredVariables["Analysis"].store( Xn.A1 )
+        self.StoredVariables["CovarianceAPosteriori"].store( Pn )
+        #
+        for step in range(duration-1):
+            logging.debug("%s Etape de Kalman %i (i.e. %i->%i) sur un total de %i"%(self._name, step+1, step,step+1, duration-1))
+            #
+            # Etape de prédiction
+            # -------------------
+            Xn_predicted = Mm * Xn
+            Pn_predicted = Mm * Pn * Mt + Q
+            #
+            # Etape de correction
+            # -------------------
+            d  = Y.valueserie(step+1) - Hm * Xn_predicted
+            K  = Pn_predicted * Ht * (Hm * Pn_predicted * Ht + R).I
+            Xn = Xn_predicted + K * d
+            Pn = Pn_predicted - K * Hm * Pn_predicted
+            #
+            self.StoredVariables["Analysis"].store( Xn.A1 )
+            self.StoredVariables["CovarianceAPosteriori"].store( Pn )
+            self.StoredVariables["Innovation"].store( d.A1 )
+        #
+        logging.debug("%s Taille mémoire utilisée de %.1f Mo"%(self._name, m.getUsedMemory("Mo")))
+        logging.debug("%s Terminé"%self._name)
+        #
+        return 0
+
+# ==============================================================================
+if __name__ == "__main__":
+    print '\n AUTODIAGNOSTIC \n'
index 7d6fa982ad8a46d926d55883fad35c6c36962ffc..e7cff5672731e7a5f8ffe6d6e8c85e7089a8c2f6 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2010  EDF R&D
+#  Copyright (C) 2008-2011  EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
 #
 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-__doc__ = """
-    Algorithme de moindre carres pondérés (analyse sans ebauche)
-"""
-__author__ = "Sophie RICCI, Jean-Philippe ARGAUD - Septembre 2008"
 
 import logging
 from daCore import BasicObjects, PlatformInfo
@@ -35,7 +31,8 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
 
     def run(self, Xb=None, Y=None, H=None, M=None, R=None, B=None, Q=None, Parameters=None):
         """
-        Calcul de l'estimateur au sens des moindres carres sans ebauche
+        Calcul de l'estimateur moindres carrés pondérés linéaires
+        (assimilation variationnelle sans ébauche)
         """
         logging.debug("%s Lancement"%self._name)
         logging.debug("%s Taille mémoire utilisée de %.1f Mo"%(self._name, m.getUsedMemory("Mo")))
@@ -56,5 +53,3 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
 # ==============================================================================
 if __name__ == "__main__":
     print '\n AUTODIAGNOSTIC \n'
-
-
index 7602fc1a7e5aadbcbc92fcaacde0b96089f17a2b..01e8d687c65e22c0f9f4498b1134c53f7539286c 100644 (file)
@@ -1,5 +1,6 @@
+#-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2010  EDF R&D
+#  Copyright (C) 2008-2011  EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
index 8a691815cbf8c6b8d30db56b94e6c0a6002efa71..950b7058329c0d0866a3e8fcfef9b2a30be63ae2 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2010  EDF R&D
+#  Copyright (C) 2008-2011  EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
@@ -22,9 +22,9 @@ __doc__ = """
     Définit les outils généraux élémentaires.
     
     Ce module est destiné à etre appelée par AssimilationStudy pour constituer
-    les objets élémentaires de l'algorithme.
+    les objets élémentaires de l'étude.
 """
-__author__ = "Jean-Philippe ARGAUD - Mars 2008"
+__author__ = "Jean-Philippe ARGAUD"
 
 import os, sys
 import numpy
@@ -706,6 +706,25 @@ class AssimilationStudy:
                 HookFunction   = HookFunction,
                 )
 
+    # -----------------------------------------------------------
+    def setDebug(self, level=10):
+        """
+        Utiliser par exemple "import logging ; level = logging.DEBUG" avant cet
+        appel pour changer le niveau de verbosité, avec :
+        NOTSET=0 < DEBUG=10 < INFO=20 < WARNING=30 < ERROR=40 < CRITICAL=50
+        """
+        import logging
+        log = logging.getLogger()
+        log.setLevel( level )
+
+    def unsetDebug(self):
+        """
+        Remet le logger au niveau par défaut
+        """
+        import logging
+        log = logging.getLogger()
+        log.setLevel( logging.WARNING )
+
     def prepare_to_pickle(self):
         self.__algorithmFile = None
         self.__diagnosticFile = None
@@ -763,3 +782,13 @@ if __name__ == "__main__":
         print "Action sur la variable observée, étape :",i
         ADD.get('Analysis').store( [i, i, i] )
     print
+
+    print "Mise en debug et hors debug"
+    print "Nombre d'analyses  :", ADD.get("Analysis").stepnumber()
+    ADD.setDebug()
+    ADD.analyze()
+    ADD.unsetDebug()
+    print "Nombre d'analyses  :", ADD.get("Analysis").stepnumber()
+    ADD.analyze()
+    print "Nombre d'analyses  :", ADD.get("Analysis").stepnumber()
+    print
index df117ad2a69dc66a911ec4de10de20ea870edeac..e9c3ce4974a939f3974db836e0b1d8de46ce5c50 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2010  EDF R&D
+#  Copyright (C) 2008-2011  EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
@@ -24,7 +24,7 @@ __doc__ = """
     Ce module est destiné à etre appelée par AssimilationStudy pour constituer
     les objets élémentaires de l'algorithme.
 """
-__author__ = "Jean-Philippe ARGAUD - Mars 2008"
+__author__ = "Jean-Philippe ARGAUD"
 
 import numpy
 import Persistence
index b2075492a3d240daf0d4a786fa42d46119e32005..a3e41d8c3266ceaeb3a909c8afc24ae7ced574bd 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2010  EDF R&D
+#  Copyright (C) 2008-2011  EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
@@ -62,12 +62,13 @@ __doc__ = """
     Dans une application, à n'importe quel endroit et autant de fois qu'on veut,
     on peut changer le niveau global de message en utilisant par exemple :
         import logging
-        logging.setLevel(logging.DEBUG)
+        log = logging.getLogger(NAME) # Avec rien (recommandé) ou un nom NAME
+        log.setLevel(logging.DEBUG)
     
     On rappelle les niveaux (attributs de "logging") et leur ordre :
         NOTSET=0 < DEBUG=10 < INFO=20 < WARNING=30 < ERROR=40 < CRITICAL=50
 """
-__author__ = "Jean-Philippe ARGAUD - Octobre 2008"
+__author__ = "Jean-Philippe ARGAUD"
 
 import os
 import sys
index b8d100d142f7376725f66fc4a7f97f904397c63e..57bbdace4718a16d50e433196cfcb8a7afd84624 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2010  EDF R&D
+#  Copyright (C) 2008-2011  EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
@@ -22,7 +22,7 @@ __doc__ = """
     Définit des outils de persistence et d'enregistrement de séries de valeurs
     pour analyse ultérieure ou utilisation de calcul.
 """
-__author__ = "Jean-Philippe ARGAUD - Mars 2008"
+__author__ = "Jean-Philippe ARGAUD"
 
 import numpy
 
@@ -132,16 +132,30 @@ class Persistence:
         else:
             return self.__steps
 
-    def valueserie(self, item=None, step=None):
+    def valueserie(self, item=None, step=None, allSteps = False):
         """
         Renvoie par défaut toute la liste des valeurs/objets. Si l'argument
         "step" existe dans la liste des pas de stockage effectués, renvoie la
         valeur stockée à ce pas "step". Si l'argument "item" est correct,
-        renvoie la valeur stockée au numéro "item".
+        renvoie la valeur stockée au numéro "item". Si "allSteps" est vrai,
+        renvoie l'ensemble des valeurs et non pas seulement la première.
         """
         if step is not None and step in self.__steps:
-            index = self.__steps.index(step)
-            return self.__values[index]
+            if allSteps:
+                allIndexes = []
+                searchFrom = 0
+                try:
+                    while self.__steps.index(step,searchFrom) >= 0:
+                        searchFrom = self.__steps.index(step,searchFrom)
+                        allIndexes.append( searchFrom )
+                        searchFrom +=1
+                except ValueError, e:
+                    pass
+                allValues = [self.__values[index] for index in allIndexes]
+                return allValues
+            else:
+                index = self.__steps.index(step)
+                return self.__values[index]
         elif item is not None and item < len(self.__values):
             return self.__values[item]
         else:
@@ -641,6 +655,7 @@ class CompositePersistence:
         #
         # Definition des objets par defaut
         # --------------------------------
+        self.__StoredObjects["Informations"]     = OneNoType("Informations")
         self.__StoredObjects["Background"]       = OneVector("Background", basetype=numpy.array)
         self.__StoredObjects["BackgroundError"]  = OneMatrix("BackgroundError")
         self.__StoredObjects["Observation"]      = OneVector("Observation", basetype=numpy.array)
@@ -809,6 +824,26 @@ if __name__ == "__main__":
     del OBJET_DE_TEST
     print
 
+    print "======> Un flottant"
+    OBJET_DE_TEST = OneScalar("My float", unit="cm")
+    OBJET_DE_TEST.store( 5., step="azerty")
+    OBJET_DE_TEST.store(-5., step="poiuyt")
+    OBJET_DE_TEST.store( 1., step="azerty")
+    OBJET_DE_TEST.store( 0., step="xxxxxx")
+    OBJET_DE_TEST.store( 5., step="poiuyt")
+    OBJET_DE_TEST.store(-5., step="azerty")
+    OBJET_DE_TEST.store( 1., step="poiuyt")
+    print "Les pas de stockage :", OBJET_DE_TEST.stepserie()
+    print "Les valeurs         :", OBJET_DE_TEST.valueserie()
+    print "La 2ème valeur      :", OBJET_DE_TEST.valueserie(1)
+    print "La dernière valeur  :", OBJET_DE_TEST.valueserie(-1)
+    print "Premier index       :", OBJET_DE_TEST.valueserie( step = "azerty", allSteps = False )
+    print "Valeurs identiques  :", OBJET_DE_TEST.valueserie( step = "azerty", allSteps = True )
+    print "Premier index       :", OBJET_DE_TEST.valueserie( step = "poiuyt", allSteps = False )
+    print "Valeurs identiques  :", OBJET_DE_TEST.valueserie( step = "poiuyt", allSteps = True )
+    del OBJET_DE_TEST
+    print
+
     print "======> Un entier"
     OBJET_DE_TEST = OneScalar("My int", unit="cm", basetype=int)
     OBJET_DE_TEST.store( 5 )
index 06bb5df6d876a454d00b87af369e7c5d7b42d94d..6230c912b692b01e17f91a826893556fc837a20f 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2010  EDF R&D
+#  Copyright (C) 2008-2011  EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
@@ -34,7 +34,7 @@ __doc__ = """
     simplement cette classe, sans meme récupérer d'objet :
         PathManagement()
 """
-__author__ = "Jean-Philippe ARGAUD - Mars 2008"
+__author__ = "Jean-Philippe ARGAUD"
 
 import os
 
index 7602fc1a7e5aadbcbc92fcaacde0b96089f17a2b..01e8d687c65e22c0f9f4498b1134c53f7539286c 100644 (file)
@@ -1,5 +1,6 @@
+#-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2010  EDF R&D
+#  Copyright (C) 2008-2011  EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
index 487717a9e41187d632d1ae571c827c0847019d7e..a842e04c3b083d479ce910240fbe8538767337a1 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2010  EDF R&D
+#  Copyright (C) 2008-2011  EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
index 7a42538c17138e10b02ac064f32c36488562263d..05ab7b520c1e63e1d0cfa528327c5cca985910f6 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-201 EDF R&D
+#  Copyright (C) 2008-2011 EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
 #
 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-__doc__ = """
-    Classe pour tracer simplement un vecteur à chaque pas
-"""
-__author__ = "Jean-Philippe ARGAUD - Juillet 2008"
 
-import os.path
 import numpy
 from daCore import BasicObjects
+import os.path
 
 # ==============================================================================
 class ElementaryDiagnostic(BasicObjects.Diagnostic):
+    """
+    Classe pour tracer simplement un vecteur à chaque pas
+    """
     def __init__(self, name = "", unit = "", basetype = None, parameters = {}):
         BasicObjects.Diagnostic.__init__(self, name, parameters)
         try:
index 727ead70803c480195df0e29e840f03cbab07ad5..7c67a67fced75c493f0da701b8ab7cf0f8d94c9b 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-201 EDF R&D
+#  Copyright (C) 2008-2011 EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
 #
 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-__doc__ = """
-    Classe pour tracer simplement une liste de vecteurs à chaque pas
-"""
-__author__ = "Jean-Philippe ARGAUD - Septembre 2008"
 
-import os.path
 import numpy
 from daCore import BasicObjects
+import os.path
 
 # ==============================================================================
 class ElementaryDiagnostic(BasicObjects.Diagnostic):
+    """
+    Classe pour tracer simplement une liste de vecteurs à chaque pas
+    """
     def __init__(self, name = "", unit = "", basetype = None, parameters = {}):
         BasicObjects.Diagnostic.__init__(self, name, parameters)
         try:
index 8c91d9d579afd9285bdfa1526c26d64c6838f4f3..56516a0902090b05ff2dc966e7646e8861f3dc27 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-201 EDF R&D
+#  Copyright (C) 2008-2011 EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
 #
 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-__doc__ = """
-    Calcul d'une RMS
-"""
-__author__ = "Jean-Philippe ARGAUD - Juillet 2008"
 
 import math, numpy
 from daCore import BasicObjects, Persistence
 
 # ==============================================================================
 class ElementaryDiagnostic(BasicObjects.Diagnostic,Persistence.OneScalar):
+    """
+    Calcul d'une RMS
+    """
     def __init__(self, name = "", unit = "", basetype = None, parameters = {}):
         BasicObjects.Diagnostic.__init__(self, name, parameters)
         Persistence.OneScalar.__init__( self, name, unit, basetype = float)
index 805f8aef9246baa2b22ce137d064958feb3606dd..cdbe0414f849389ee3c578b577f2cdefcb1a0966 100644 (file)
@@ -1,6 +1,6 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-201 EDF R&D
+#  Copyright (C) 2008-2011 EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
 #
 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-__doc__ = """
-    Diagnostic sur la reduction de la variance lors de l'analyse
-"""
-__author__ = "Jean-Philippe ARGAUD - Septembre 2008"
 
 import numpy
 from daCore import BasicObjects, Persistence
 
 # ==============================================================================
 class ElementaryDiagnostic(BasicObjects.Diagnostic,Persistence.OneScalar):
+    """
+    Diagnostic sur la reduction de la variance lors de l'analyse
+    """
     def __init__(self, name = "", unit = "", basetype = None, parameters = {}):
         BasicObjects.Diagnostic.__init__(self, name, parameters)
         Persistence.OneScalar.__init__( self, name, unit, basetype = bool )
index 7602fc1a7e5aadbcbc92fcaacde0b96089f17a2b..6beeba4be592ca0dca82e2c527f36cc7c6106687 100644 (file)
@@ -1,5 +1,6 @@
+#-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-201 EDF R&D
+#  Copyright (C) 2008-2011 EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public