From 07bbec12a227d0e64bba997da2deb89b20d060d4 Mon Sep 17 00:00:00 2001 From: Jean-Philippe ARGAUD Date: Sun, 7 Mar 2021 21:25:48 +0100 Subject: [PATCH] Minor improvements and fixes for internal variables --- doc/en/ref_algorithm_3DVAR.rst | 15 ++++++----- doc/fr/ref_algorithm_3DVAR.rst | 15 ++++++----- src/daComposant/daAlgorithms/3DVAR.py | 1 + .../daYacsSchemaCreator/infos_daComposant.py | 27 ++++++++++++++----- 4 files changed, 40 insertions(+), 18 deletions(-) diff --git a/doc/en/ref_algorithm_3DVAR.rst b/doc/en/ref_algorithm_3DVAR.rst index 579832a..3a6436f 100644 --- a/doc/en/ref_algorithm_3DVAR.rst +++ b/doc/en/ref_algorithm_3DVAR.rst @@ -39,7 +39,8 @@ classical :math:`J` function in static data assimilation: which is usually designed as the "*3D-Var*" function (see for example [Talagrand97]_). The terms "*3D-Var*", "*3D-VAR*" and "*3DVAR*" are equivalent. -There exists various variants of this algorithm. The following stable and robust formulations are proposed here: +There exists various variants of this algorithm. The following stable and +robust formulations are proposed here: .. index:: pair: Variant ; 3DVAR @@ -47,12 +48,14 @@ There exists various variants of this algorithm. The following stable and robust pair: Variant ; 3DVAR-Incr pair: Variant ; 3DVAR-PSAS -- "3DVAR" (3D Variational analysis, see [Lorenc86]_, [LeDimet86]_, [Talagrand97]_), original and very robust algorithm, -- "3DVAR-VAN" (3D Variational Analysis with No inversion of B, see [Lorenc88]_), similar algorithm but avoiding inversion of the covariance matrix B, -- "3DVAR-Incr" (Incremental 3DVAR, see [Courtier94]_), cheaper algorithm but involving an approximation of non-linear operators, -- "3DVAR-PSAS" (Physical-space Statistical Analysis Scheme for 3DVAR, see [Courtier97]_, [Cohn98]_), algorithm sometimes more cheap because it operates in another space, but involving an approximation of non-linear operators. +- "3DVAR" (3D Variational analysis, see [Lorenc86]_, [LeDimet86]_, [Talagrand97]_), original classical algorithm and very robust, which operates in the model space, +- "3DVAR-VAN" (3D Variational Analysis with No inversion of B, see [Lorenc88]_), similar algorithm, which operates in the model space, but avoiding inversion of the covariance matrix B, +- "3DVAR-Incr" (Incremental 3DVAR, see [Courtier94]_), cheaper algorithm than the previous ones, but involving an approximation of non-linear operators, +- "3DVAR-PSAS" (Physical-space Statistical Analysis Scheme for 3DVAR, see [Courtier97]_, [Cohn98]_), algorithm sometimes cheaper because it operates in the observation space, but involving an approximation of non-linear operators. -It is recommended to use the original 3DVAR. +It is highly recommended to use the original "3DVAR". The "3DVAR" and +"3DVAR-Incr" algorithms (and not the others) allow modification of the +initialization point for the minimization, but it is not recommended. .. ------------------------------------ .. .. include:: snippets/Header2Algo02.rst diff --git a/doc/fr/ref_algorithm_3DVAR.rst b/doc/fr/ref_algorithm_3DVAR.rst index 0076212..9824a89 100644 --- a/doc/fr/ref_algorithm_3DVAR.rst +++ b/doc/fr/ref_algorithm_3DVAR.rst @@ -41,7 +41,8 @@ qui est usuellement désignée comme la fonctionnelle "*3D-Var*" (voir par exemple [Talagrand97]_). Les dénominations "*3D-Var*", "*3D-VAR*" et "*3DVAR*" sont équivalentes. -Il existe diverses variantes de cet algorithme. On propose ici des formulations stables et robustes suivantes : +Il existe diverses variantes de cet algorithme. On propose ici les formulations +stables et robustes suivantes : .. index:: pair: Variant ; 3DVAR @@ -49,12 +50,14 @@ Il existe diverses variantes de cet algorithme. On propose ici des formulations pair: Variant ; 3DVAR-Incr pair: Variant ; 3DVAR-PSAS -- "3DVAR" (3D Variational analysis, voir [Lorenc86]_, [LeDimet86]_, [Talagrand97]_), algorithme d'origine et très robuste, -- "3DVAR-VAN" (3D Variational Analysis with No inversion of B, voir [Lorenc88]_), algorithme similaire mais permettant d'éviter l'inversion de la matrice de covariance B, -- "3DVAR-Incr" (Incremental 3DVAR, voir [Courtier94]_), algorithme plus économique mais impliquant une approximation des opérateurs non-linéaires, -- "3DVAR-PSAS" (Physical-space Statistical Analysis Scheme for 3DVAR, voir [Courtier97]_, [Cohn98]_), algorithme parfois plus économique car opérant dans un autre espace, mais impliquant une approximation des opérateurs non-linéaires. +- "3DVAR" (3D Variational analysis, voir [Lorenc86]_, [LeDimet86]_, [Talagrand97]_), algorithme classique d'origine, très robuste, opérant dans l'espace du modèle, +- "3DVAR-VAN" (3D Variational Analysis with No inversion of B, voir [Lorenc88]_), algorithme similaire, opérant dans l'espace du modèle, mais permettant d'éviter l'inversion de la matrice de covariance B, +- "3DVAR-Incr" (Incremental 3DVAR, voir [Courtier94]_), algorithme plus économique que les précédents, mais impliquant une approximation des opérateurs non-linéaires, +- "3DVAR-PSAS" (Physical-space Statistical Analysis Scheme for 3DVAR, voir [Courtier97]_, [Cohn98]_), algorithme parfois plus économique car opérant dans l'espace des observations, mais impliquant une approximation des opérateurs non-linéaires. -On recommande d'utiliser le 3DVAR d'origine. +On recommande fortement d'utiliser le "3DVAR" d'origine. Les algorithmes +"3DVAR" et "3DVAR-Incr" (et pas les autres) permettent la modification du point +initial de leur minimisation, mais ce n'est pas recommandé. .. ------------------------------------ .. .. include:: snippets/Header2Algo02.rst diff --git a/src/daComposant/daAlgorithms/3DVAR.py b/src/daComposant/daAlgorithms/3DVAR.py index 5606dfe..1939d6c 100644 --- a/src/daComposant/daAlgorithms/3DVAR.py +++ b/src/daComposant/daAlgorithms/3DVAR.py @@ -53,6 +53,7 @@ class ElementaryAlgorithm(BasicObjects.Algorithm): ], listadv = [ "3DVAR-Std", + "Incr3DVAR", "OneCycle3DVAR-Std", ], ) diff --git a/src/daSalome/daYacsSchemaCreator/infos_daComposant.py b/src/daSalome/daYacsSchemaCreator/infos_daComposant.py index c2cfe8f..de76520 100644 --- a/src/daSalome/daYacsSchemaCreator/infos_daComposant.py +++ b/src/daSalome/daYacsSchemaCreator/infos_daComposant.py @@ -69,19 +69,34 @@ AssimAlgos = [ "3DVAR", "4DVAR", "Blue", - "ExtendedBlue", + "DerivativeFreeOptimization", + "DifferentialEvolution", "EnsembleBlue", - "KalmanFilter", - "ExtendedKalmanFilter", "EnsembleKalmanFilter", - "UnscentedKalmanFilter", + "ExtendedBlue", + "ExtendedKalmanFilter", + "KalmanFilter", + "LinearLeastSquares", + "NonLinearLeastSquares", + "ParticleSwarmOptimization", "QuantileRegression", + "TabuSearch", + "UnscentedKalmanFilter", + ] +OptimizationAlgos = [ + "Blue", "DerivativeFreeOptimization", - "ParticleSwarmOptimization", "DifferentialEvolution", - "TabuSearch", + "KalmanFilter", "LinearLeastSquares", "NonLinearLeastSquares", + "ParticleSwarmOptimization", + "TabuSearch", + ] +ReductionAlgos = [ + "EnsembleBlue", + "EnsembleKalmanFilter", + "UnscentedKalmanFilter", ] CheckAlgos = [ "FunctionTest", -- 2.39.2