3 # Copyright (C) 2008-2018 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 --
67 "DerivativeFreeOptimization",
71 "ExtendedKalmanFilter",
72 "EnsembleKalmanFilter",
73 "UnscentedKalmanFilter",
75 "NonLinearLeastSquares",
77 "ParticleSwarmOptimization",
89 AlgoDataRequirements = {}
90 AlgoDataRequirements["3DVAR"] = [
91 "Background", "BackgroundError",
92 "Observation", "ObservationError",
93 "ObservationOperator",
95 AlgoDataRequirements["4DVAR"] = [
96 "Background", "BackgroundError",
97 "Observation", "ObservationError",
98 "ObservationOperator",
100 AlgoDataRequirements["Blue"] = [
101 "Background", "BackgroundError",
102 "Observation", "ObservationError",
103 "ObservationOperator",
105 AlgoDataRequirements["DerivativeFreeOptimization"] = [
106 "Background", "BackgroundError",
107 "Observation", "ObservationError",
108 "ObservationOperator",
110 AlgoDataRequirements["ExtendedBlue"] = [
111 "Background", "BackgroundError",
112 "Observation", "ObservationError",
113 "ObservationOperator",
115 AlgoDataRequirements["EnsembleBlue"] = [
116 "Background", "BackgroundError",
117 "Observation", "ObservationError",
118 "ObservationOperator",
120 AlgoDataRequirements["KalmanFilter"] = [
121 "Background", "BackgroundError",
122 "Observation", "ObservationError",
123 "ObservationOperator",
125 AlgoDataRequirements["ExtendedKalmanFilter"] = [
126 "Background", "BackgroundError",
127 "Observation", "ObservationError",
128 "ObservationOperator",
130 AlgoDataRequirements["EnsembleKalmanFilter"] = [
131 "Background", "BackgroundError",
132 "Observation", "ObservationError",
133 "ObservationOperator",
135 AlgoDataRequirements["UnscentedKalmanFilter"] = [
136 "Background", "BackgroundError",
137 "Observation", "ObservationError",
138 "ObservationOperator",
140 AlgoDataRequirements["LinearLeastSquares"] = [
141 "Observation", "ObservationError",
142 "ObservationOperator",
144 AlgoDataRequirements["NonLinearLeastSquares"] = [
146 "Observation", "ObservationError",
147 "ObservationOperator",
149 AlgoDataRequirements["ParticleSwarmOptimization"] = [
150 "Background", "BackgroundError",
151 "Observation", "ObservationError",
152 "ObservationOperator",
154 AlgoDataRequirements["QuantileRegression"] = [
157 "ObservationOperator",
160 AlgoDataRequirements["FunctionTest"] = [
162 "ObservationOperator",
164 AlgoDataRequirements["LinearityTest"] = [
166 "ObservationOperator",
168 AlgoDataRequirements["GradientTest"] = [
170 "ObservationOperator",
172 AlgoDataRequirements["AdjointTest"] = [
174 "ObservationOperator",
176 AlgoDataRequirements["ObserverTest"] = [
179 AlgoDataRequirements["TangentTest"] = [
181 "ObservationOperator",
183 AlgoDataRequirements["SamplingTest"] = [
184 "CheckingPoint", "BackgroundError",
185 "Observation", "ObservationError",
186 "ObservationOperator",
190 AlgoType["3DVAR"] = "Optim"
191 AlgoType["4DVAR"] = "Optim"
192 AlgoType["Blue"] = "Optim"
193 AlgoType["DerivativeFreeOptimization"] = "Optim"
194 AlgoType["ExtendedBlue"] = "Optim"
195 AlgoType["EnsembleBlue"] = "Optim"
196 AlgoType["KalmanFilter"] = "Optim"
197 AlgoType["ExtendedKalmanFilter"] = "Optim"
198 AlgoType["EnsembleKalmanFilter"] = "Optim"
199 AlgoType["UnscentedKalmanFilter"] = "Optim"
200 AlgoType["LinearLeastSquares"] = "Optim"
201 AlgoType["NonLinearLeastSquares"] = "Optim"
202 AlgoType["ParticleSwarmOptimization"] = "Optim"
203 AlgoType["QuantileRegression"] = "Optim"
205 # Variables qui sont partages avec le generateur de
209 BasicDataInputs = ["String", "Script", "ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
213 DataTypeDict["Vector"] = ["String", "Script"]
214 DataTypeDict["VectorSerie"] = ["String", "Script"]
215 DataTypeDict["Matrix"] = ["String", "Script"]
216 DataTypeDict["ScalarSparseMatrix"] = ["String", "Script"]
217 DataTypeDict["DiagonalSparseMatrix"] = ["String", "Script"]
218 DataTypeDict["Function"] = ["ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict"]
219 DataTypeDict["Dict"] = ["String", "Script"]
221 DataTypeDefaultDict = {}
222 DataTypeDefaultDict["Vector"] = "Script"
223 DataTypeDefaultDict["VectorSerie"] = "Script"
224 DataTypeDefaultDict["Matrix"] = "Script"
225 DataTypeDefaultDict["ScalarSparseMatrix"] = "String"
226 DataTypeDefaultDict["DiagonalSparseMatrix"] = "String"
227 DataTypeDefaultDict["Function"] = "ScriptWithOneFunction"
228 DataTypeDefaultDict["Dict"] = "Script"
230 DataSValueDefaultDict = {}
231 DataSValueDefaultDict["ScalarSparseMatrix"] = "1."
233 # Assimilation data input
235 AssimDataDict["Background"] = ["Vector", "VectorSerie"]
236 AssimDataDict["BackgroundError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
237 AssimDataDict["Observation"] = ["Vector", "VectorSerie"]
238 AssimDataDict["ObservationError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
239 AssimDataDict["ObservationOperator"] = ["Matrix", "Function"]
240 AssimDataDict["EvolutionModel"] = ["Matrix", "Function"]
241 AssimDataDict["EvolutionError"] = ["Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
242 AssimDataDict["AlgorithmParameters"] = ["Dict"]
243 AssimDataDict["UserDataInit"] = ["Dict"]
244 AssimDataDict["CheckingPoint"] = ["Vector"]
245 AssimDataDict["ControlInput"] = ["Vector", "VectorSerie"]
247 AssimDataDefaultDict = {}
248 AssimDataDefaultDict["Background"] = "Vector"
249 AssimDataDefaultDict["BackgroundError"] = "ScalarSparseMatrix"
250 AssimDataDefaultDict["Observation"] = "Vector"
251 AssimDataDefaultDict["ObservationError"] = "ScalarSparseMatrix"
252 AssimDataDefaultDict["ObservationOperator"] = "Function"
253 AssimDataDefaultDict["EvolutionModel"] = "Function"
254 AssimDataDefaultDict["EvolutionError"] = "ScalarSparseMatrix"
255 AssimDataDefaultDict["AlgorithmParameters"] = "Dict"
256 AssimDataDefaultDict["UserDataInit"] = "Dict"
257 AssimDataDefaultDict["CheckingPoint"] = "Vector"
258 AssimDataDefaultDict["ControlInput"] = "Vector"
260 StoredAssimData = ["Vector", "VectorSerie", "Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix"]
262 # Assimilation optional nodes
264 OptDict["UserPostAnalysis"] = ["String", "Script", "Template"]
266 OptDefaultDict["UserPostAnalysis"] = "Template"
272 "InnovationAtCurrentState",
276 "SimulatedObservationAtBackground",
277 "SimulatedObservationAtCurrentState",
278 "SimulatedObservationAtOptimum",
279 "SimulatedObservationAtCurrentOptimum",
286 "GradientOfCostFunctionJ",
287 "GradientOfCostFunctionJb",
288 "GradientOfCostFunctionJo",
291 "APosterioriCorrelations",
292 "APosterioriCovariance",
293 "APosterioriStandardDeviations",
294 "APosterioriVariances",
298 # Regulation : # of containers, 0 for no container