3 # Copyright (C) 2008-2019 EDF R&D
5 # This file is part of SALOME ADAO module
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License.
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 # Lesser General Public License for more details.
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 # Author: Andre Ribes, andre.ribes@edf.fr, EDF R&D
26 # -- Infos pour le parser --
29 AnalysisFromList = ["String", "Script"]
31 # -- Infos from daCore --
32 AssimData = ["Background", "BackgroundError",
33 "Observation", "ObservationError",
34 "ObservationOperator",
35 "EvolutionModel", "EvolutionError",
36 "AlgorithmParameters",
37 "CheckingPoint", "ControlInput",
41 AssimType["Background"] = ["Vector", "VectorSerie"]
42 AssimType["BackgroundError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
43 AssimType["Observation"] = ["Vector", "VectorSerie"]
44 AssimType["ObservationError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
45 AssimType["ObservationOperator"] = ["Matrix", "Function"]
46 AssimType["EvolutionModel"] = ["Matrix", "Function"]
47 AssimType["EvolutionError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
48 AssimType["AlgorithmParameters"] = ["Dict"]
49 AssimType["UserDataInit"] = ["Dict"]
50 AssimType["CheckingPoint"] = ["Vector"]
51 AssimType["ControlInput"] = ["Vector", "VectorSerie"]
54 FromNumpyList["Vector"] = ["String", "Script"]
55 FromNumpyList["VectorSerie"] = ["String", "Script"]
56 FromNumpyList["Matrix"] = ["String", "Script"]
57 FromNumpyList["ScalarSparseMatrix"] = ["String", "Script"]
58 FromNumpyList["DiagonalSparseMatrix"] = ["String", "Script"]
59 FromNumpyList["Function"] = ["ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
60 FromNumpyList["Dict"] = ["String", "Script"]
62 # -- Infos from daAlgorithms --
70 "ExtendedKalmanFilter",
71 "EnsembleKalmanFilter",
72 "UnscentedKalmanFilter",
74 "DerivativeFreeOptimization",
75 "ParticleSwarmOptimization",
76 "DifferentialEvolution",
79 "NonLinearLeastSquares",
87 "LocalSensitivityTest",
92 AlgoDataRequirements = {}
93 AlgoDataRequirements["3DVAR"] = [
94 "Background", "BackgroundError",
95 "Observation", "ObservationError",
96 "ObservationOperator",
98 AlgoDataRequirements["4DVAR"] = [
99 "Background", "BackgroundError",
100 "Observation", "ObservationError",
101 "ObservationOperator",
103 AlgoDataRequirements["Blue"] = [
104 "Background", "BackgroundError",
105 "Observation", "ObservationError",
106 "ObservationOperator",
108 AlgoDataRequirements["ExtendedBlue"] = [
109 "Background", "BackgroundError",
110 "Observation", "ObservationError",
111 "ObservationOperator",
113 AlgoDataRequirements["EnsembleBlue"] = [
114 "Background", "BackgroundError",
115 "Observation", "ObservationError",
116 "ObservationOperator",
118 AlgoDataRequirements["KalmanFilter"] = [
119 "Background", "BackgroundError",
120 "Observation", "ObservationError",
121 "ObservationOperator",
123 AlgoDataRequirements["ExtendedKalmanFilter"] = [
124 "Background", "BackgroundError",
125 "Observation", "ObservationError",
126 "ObservationOperator",
128 AlgoDataRequirements["EnsembleKalmanFilter"] = [
129 "Background", "BackgroundError",
130 "Observation", "ObservationError",
131 "ObservationOperator",
133 AlgoDataRequirements["UnscentedKalmanFilter"] = [
134 "Background", "BackgroundError",
135 "Observation", "ObservationError",
136 "ObservationOperator",
138 AlgoDataRequirements["QuantileRegression"] = [
141 "ObservationOperator",
143 AlgoDataRequirements["DerivativeFreeOptimization"] = [
144 "Background", "BackgroundError",
145 "Observation", "ObservationError",
146 "ObservationOperator",
148 AlgoDataRequirements["ParticleSwarmOptimization"] = [
149 "Background", "BackgroundError",
150 "Observation", "ObservationError",
151 "ObservationOperator",
153 AlgoDataRequirements["DifferentialEvolution"] = [
154 "Background", "BackgroundError",
155 "Observation", "ObservationError",
156 "ObservationOperator",
158 AlgoDataRequirements["TabuSearch"] = [
159 "Background", "BackgroundError",
160 "Observation", "ObservationError",
161 "ObservationOperator",
163 AlgoDataRequirements["LinearLeastSquares"] = [
164 "Observation", "ObservationError",
165 "ObservationOperator",
167 AlgoDataRequirements["NonLinearLeastSquares"] = [
169 "Observation", "ObservationError",
170 "ObservationOperator",
173 AlgoDataRequirements["FunctionTest"] = [
175 "ObservationOperator",
177 AlgoDataRequirements["LinearityTest"] = [
179 "ObservationOperator",
181 AlgoDataRequirements["GradientTest"] = [
183 "ObservationOperator",
185 AlgoDataRequirements["AdjointTest"] = [
187 "ObservationOperator",
189 AlgoDataRequirements["TangentTest"] = [
191 "ObservationOperator",
193 AlgoDataRequirements["LocalSensitivityTest"] = [
196 "ObservationOperator",
198 AlgoDataRequirements["SamplingTest"] = [
199 "CheckingPoint", "BackgroundError",
200 "Observation", "ObservationError",
201 "ObservationOperator",
203 AlgoDataRequirements["ObserverTest"] = [
208 AlgoType["3DVAR"] = "Optim"
209 AlgoType["4DVAR"] = "Optim"
210 AlgoType["Blue"] = "Optim"
211 AlgoType["ExtendedBlue"] = "Optim"
212 AlgoType["EnsembleBlue"] = "Optim"
213 AlgoType["KalmanFilter"] = "Optim"
214 AlgoType["ExtendedKalmanFilter"] = "Optim"
215 AlgoType["EnsembleKalmanFilter"] = "Optim"
216 AlgoType["UnscentedKalmanFilter"] = "Optim"
217 AlgoType["QuantileRegression"] = "Optim"
218 AlgoType["DerivativeFreeOptimization"] = "Optim"
219 AlgoType["ParticleSwarmOptimization"] = "Optim"
220 AlgoType["DifferentialEvolution"] = "Optim"
221 AlgoType["TabuSearch"] = "Optim"
222 AlgoType["LinearLeastSquares"] = "Optim"
223 AlgoType["NonLinearLeastSquares"] = "Optim"
225 # Variables qui sont partages avec le generateur de
229 BasicDataInputs = ["String", "Script", "ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
233 DataTypeDict["Vector"] = ["String", "Script"]
234 DataTypeDict["VectorSerie"] = ["String", "Script"]
235 DataTypeDict["Matrix"] = ["String", "Script"]
236 DataTypeDict["ScalarSparseMatrix"] = ["String", "Script"]
237 DataTypeDict["DiagonalSparseMatrix"] = ["String", "Script"]
238 DataTypeDict["Function"] = ["ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
239 DataTypeDict["Dict"] = ["String", "Script"]
241 DataTypeDefaultDict = {}
242 DataTypeDefaultDict["Vector"] = "Script"
243 DataTypeDefaultDict["VectorSerie"] = "Script"
244 DataTypeDefaultDict["Matrix"] = "Script"
245 DataTypeDefaultDict["ScalarSparseMatrix"] = "String"
246 DataTypeDefaultDict["DiagonalSparseMatrix"] = "String"
247 DataTypeDefaultDict["Function"] = "ScriptWithOneFunction"
248 DataTypeDefaultDict["Dict"] = "Script"
250 DataSValueDefaultDict = {}
251 DataSValueDefaultDict["ScalarSparseMatrix"] = "1."
253 # Assimilation data input
255 AssimDataDict["Background"] = ["Vector", "VectorSerie"]
256 AssimDataDict["BackgroundError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
257 AssimDataDict["Observation"] = ["Vector", "VectorSerie"]
258 AssimDataDict["ObservationError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
259 AssimDataDict["ObservationOperator"] = ["Matrix", "Function"]
260 AssimDataDict["EvolutionModel"] = ["Matrix", "Function"]
261 AssimDataDict["EvolutionError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
262 AssimDataDict["AlgorithmParameters"] = ["Dict"]
263 AssimDataDict["UserDataInit"] = ["Dict"]
264 AssimDataDict["CheckingPoint"] = ["Vector"]
265 AssimDataDict["ControlInput"] = ["Vector", "VectorSerie"]
267 AssimDataDefaultDict = {}
268 AssimDataDefaultDict["Background"] = "Vector"
269 AssimDataDefaultDict["BackgroundError"] = "ScalarSparseMatrix"
270 AssimDataDefaultDict["Observation"] = "Vector"
271 AssimDataDefaultDict["ObservationError"] = "ScalarSparseMatrix"
272 AssimDataDefaultDict["ObservationOperator"] = "Function"
273 AssimDataDefaultDict["EvolutionModel"] = "Function"
274 AssimDataDefaultDict["EvolutionError"] = "ScalarSparseMatrix"
275 AssimDataDefaultDict["AlgorithmParameters"] = "Dict"
276 AssimDataDefaultDict["UserDataInit"] = "Dict"
277 AssimDataDefaultDict["CheckingPoint"] = "Vector"
278 AssimDataDefaultDict["ControlInput"] = "Vector"
280 StoredAssimData = ["Vector", "VectorSerie", "Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
282 # Assimilation optional nodes
284 OptDict["UserPostAnalysis"] = ["String", "Script", "Template"]
286 OptDefaultDict["UserPostAnalysis"] = "Template"
292 "InnovationAtCurrentState",
296 "SimulatedObservationAtBackground",
297 "SimulatedObservationAtCurrentState",
298 "SimulatedObservationAtOptimum",
299 "SimulatedObservationAtCurrentOptimum",
306 "GradientOfCostFunctionJ",
307 "GradientOfCostFunctionJb",
308 "GradientOfCostFunctionJo",
311 "APosterioriCorrelations",
312 "APosterioriCovariance",
313 "APosterioriStandardDeviations",
314 "APosterioriVariances",
318 # Regulation : # of containers, 0 for no container