1 <?xml version='1.0' encoding='iso-8859-1' ?>
4 <objref name="computeAD" id="python:computeAD:1.0">
8 <!-- Types for parametric computations -->
9 <!-- TODO On devrait pouvoir le lire depuis le KERNEL !!!-->
10 <type name="long" kind="int"/>
11 <struct name="SALOME_TYPES/Parameter">
12 <member type="string" name="name"></member>
13 <member type="string" name="value"></member>
15 <sequence content="SALOME_TYPES/Parameter" name="SALOME_TYPES/ParameterList"></sequence>
16 <sequence content="double" name="SALOME_TYPES/Variable"></sequence>
17 <sequence content="SALOME_TYPES/Variable" name="SALOME_TYPES/VariableSequence"></sequence>
18 <sequence content="SALOME_TYPES/VariableSequence" name="SALOME_TYPES/StateSequence"></sequence>
19 <sequence content="SALOME_TYPES/StateSequence" name="SALOME_TYPES/TimeSequence"></sequence>
20 <sequence content="string" name="SALOME_TYPES/VarList"></sequence>
21 <struct name="SALOME_TYPES/ParametricInput">
22 <member type="SALOME_TYPES/VarList" name="inputVarList"></member>
23 <member type="SALOME_TYPES/VarList" name="outputVarList"></member>
24 <member type="SALOME_TYPES/TimeSequence" name="inputValues"></member>
25 <member type="SALOME_TYPES/ParameterList" name="specificParameters"></member>
27 <struct name="SALOME_TYPES/ParametricOutput">
28 <member type="SALOME_TYPES/TimeSequence" name="outputValues"></member>
29 <member type="SALOME_TYPES/ParameterList" name="specificOutputInfos"></member>
30 <member type="long" name="returnCode"></member>
31 <member type="string" name="errorMessage"></member>
35 <inline name="CreateAssimilationStudy">
40 print "Entering in CreateAssimilationStudy"
42 print "Algorithm is", Algorithm
43 print "Debug is set to", Debug
45 # Create Assimilation study
46 from daYacsIntegration.daStudy import *
47 assim_study = daStudy(Name, Algorithm, Debug)
49 # Algorithm parameters
55 assim_study.setAlgorithmParameters(AlgorithmParameters)
58 print "Data entered are:"
65 #print "Background is", Background
66 #print "BackgroundType is", BackgroundType
67 assim_study.setBackgroundType(BackgroundType)
68 assim_study.setBackground(Background)
76 #print "BackgroundError is", BackgroundError
77 #print "BackgroundErrorType is", BackgroundErrorType
78 assim_study.setBackgroundError(BackgroundError)
86 #print "Observation is", Observation
87 #print "ObservationType is", ObservationType
88 assim_study.setObservationType(ObservationType)
89 assim_study.setObservation(Observation)
97 #print "ObservationError is", ObservationError
98 #print "ObservationErrorType is", ObservationErrorType
99 assim_study.setObservationError(ObservationError)
101 # ObservationOperator
102 ObservationOperatorOk = 0
108 #print "ObservationOperator is", ObservationOperator
109 #print "ObservationOperatorType is", ObservationOperatorType
110 assim_study.setObservationOperatorType("Matrix", ObservationOperatorType)
111 assim_study.setObservationOperator("Matrix", ObservationOperator)
112 ObservationOperatorOk = 1
114 if ObservationOperatorOk == 0:
116 ObservationOperatorDirect
120 #print "ObservationOperatorDirect is", ObservationOperatorDirect
121 assim_study.setObservationOperatorType("Direct", "Function")
122 assim_study.setObservationOperator("Direct", ObservationOperatorDirect)
124 ObservationOperatorTangent
128 #print "ObservationOperatorTangent is", ObservationOperatorTangent
129 assim_study.setObservationOperatorType("Tangent", "Function")
130 assim_study.setObservationOperator("Tangent", ObservationOperatorTangent)
132 ObservationOperatorAdjoint
136 #print "ObservationOperatorAdjoint is", ObservationOperatorAdjoint
137 assim_study.setObservationOperatorType("Adjoint", "Function")
138 assim_study.setObservationOperator("Adjoint", ObservationOperatorAdjoint)
141 for name, size in zip(InputVariablesNames, InputVariablesSizes):
142 assim_study.setInputVariable(name, size)
143 for name, size in zip(OutputVariablesNames, OutputVariablesSizes):
144 assim_study.setOutputVariable(name, size)
150 <inport name="Name" type="string"/>
151 <inport name="Algorithm" type="string"/>
152 <inport name="Debug" type="bool"/>
153 <inport name="InputVariablesNames" type="stringvec"/>
154 <inport name="InputVariablesSizes" type="intvec"/>
155 <inport name="OutputVariablesNames" type="stringvec"/>
156 <inport name="OutputVariablesSizes" type="intvec"/>
157 <outport name="Study" type="pyobj"/>
160 <inline name="CreateNumpyMatrixFromString">
161 <script><code><![CDATA[
162 print "Entering in CreateNumpyMatrixFromString"
164 matrix = numpy.matrix(matrix_in_string)
166 print "Matrix is", matrix
168 <inport name="matrix_in_string" type="string"/>
169 <outport name="matrix" type="pyobj"/>
170 <outport name="type" type="string"/>
173 <inline name="CreateNumpyMatrixFromScript">
174 <script><code><![CDATA[
175 print "Entering in CreateNumpyMatrixFromScript"
179 <inport name="script" type="string"/>
180 <outport name="type" type="string"/>
183 <inline name="CreateNumpyVectorFromString">
184 <script><code><![CDATA[
185 print "Entering in CreateNumpyVectorFromString"
187 vector = numpy.matrix(vector_in_string)
189 print "Vector is", vector
191 <inport name="vector_in_string" type="string"/>
192 <outport name="vector" type="pyobj"/>
193 <outport name="type" type="string"/>
196 <inline name="CreateNumpyVectorFromScript">
197 <script><code><![CDATA[
198 print "Entering in CreateNumpyVectorFromScript"
202 <inport name="script" type="string"/>
203 <outport name="type" type="string"/>
206 <inline name="SimpleExecuteDirectAlgorithm">
207 <script><code><![CDATA[
208 print "Entering in SimpleExecuteDirectAlgorithm"
209 from daYacsIntegration.daStudy import *
210 ADD = Study.getAssimilationStudy()
213 <inport name="Study" type="pyobj"/>
214 <outport name="Study" type="pyobj"/>
217 <inline name="SimpleUserAnalysis">
218 <script><code><![CDATA[
219 #-*-coding:iso-8859-1-*-
220 print "Entering in SimpleUserAnalysis"
221 from daYacsIntegration.daStudy import *
222 ADD = Study.getAssimilationStudy()
226 <inport name="Study" type="pyobj"/>
229 <inline name="FakeOptimizerLoopNode">
230 <script><code><![CDATA[
231 print "Entering in FakeOptimizerLoopNode"
234 <inport name="computation" type="SALOME_TYPES/ParametricInput"/>
235 <outport name="result" type="SALOME_TYPES/ParametricOutput"/>
238 <inline name="CreateDictFromScript">
239 <script><code><![CDATA[
240 print "Entering in CreateDictFromScript"
243 <inport name="script" type="string"/>
246 <inline name="UserDataInitFromScript">
247 <script><code><![CDATA[
248 print "Entering in UserDataInitFromScript"
251 <inport name="script" type="string"/>
252 <outport name="init_data" type="pyobj"/>