]> SALOME platform Git repositories - modules/adao.git/blob - resources/ADAOSchemaCatalog.xml
Salome HOME
Nouvelle structure <<<<>>>>
[modules/adao.git] / resources / ADAOSchemaCatalog.xml
1 <?xml version='1.0' encoding='iso-8859-1' ?>
2 <proc>
3
4   <objref name="computeAD" id="python:computeAD:1.0">
5     <base>pyobj</base>
6   </objref>
7
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>
14   </struct>
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>
26   </struct>
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>
32   </struct>
33
34
35   <inline name="CreateAssimilationStudy">
36     <script><code>
37
38 <![CDATA[
39 import numpy
40 print "Entering in CreateAssimilationStudy"
41 print "Name is", Name
42 print "Algorithm is", Algorithm
43 print "Debug is set to", Debug
44
45 # Create Assimilation study
46 from daYacsIntegration.daStudy import *
47 assim_study = daStudy(Name, Algorithm, Debug)
48
49 # Algorithm parameters
50 try:
51   AlgorithmParameters
52 except NameError:
53   pass
54 else:
55   assim_study.setAlgorithmParameters(AlgorithmParameters)
56
57 # Data
58 print "Data entered are:"
59 # Background
60 try:
61   Background
62 except NameError:
63   pass
64 else:
65   #print "Background is", Background
66   #print "BackgroundType is", BackgroundType
67   assim_study.setBackgroundType(BackgroundType)
68   assim_study.setBackground(Background)
69
70 # BackgroundError
71 try:
72   BackgroundError
73 except NameError:
74   pass
75 else:
76   #print "BackgroundError is", BackgroundError
77   #print "BackgroundErrorType is", BackgroundErrorType
78   assim_study.setBackgroundError(BackgroundError)
79
80 # Observation
81 try:
82   Observation
83 except NameError:
84   pass
85 else:
86   #print "Observation is", Observation
87   #print "ObservationType is", ObservationType
88   assim_study.setObservationType(ObservationType)
89   assim_study.setObservation(Observation)
90
91 # ObservationError
92 try:
93   ObservationError
94 except NameError:
95   pass
96 else:
97   #print "ObservationError is", ObservationError
98   #print "ObservationErrorType is", ObservationErrorType
99   assim_study.setObservationError(ObservationError)
100
101 # ObservationOperator
102 ObservationOperatorOk = 0
103 try:
104   ObservationOperator
105 except NameError:
106   pass
107 else:
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
113
114 if ObservationOperatorOk == 0:
115   try:
116     ObservationOperatorDirect
117   except NameError:
118     pass
119   else:
120     #print "ObservationOperatorDirect is", ObservationOperatorDirect
121     assim_study.setObservationOperatorType("Direct", "Function")
122     assim_study.setObservationOperator("Direct", ObservationOperatorDirect)
123   try:
124     ObservationOperatorTangent
125   except NameError:
126     pass
127   else:
128     #print "ObservationOperatorTangent is", ObservationOperatorTangent
129     assim_study.setObservationOperatorType("Tangent", "Function")
130     assim_study.setObservationOperator("Tangent", ObservationOperatorTangent)
131   try:
132     ObservationOperatorAdjoint
133   except NameError:
134     pass
135   else:
136     #print "ObservationOperatorAdjoint is", ObservationOperatorAdjoint
137     assim_study.setObservationOperatorType("Adjoint", "Function")
138     assim_study.setObservationOperator("Adjoint", ObservationOperatorAdjoint)
139
140 # Variables
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)
145
146 Study = assim_study
147 ]]>
148
149 </code></script>
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"/>
158   </inline>
159
160   <inline name="CreateNumpyMatrixFromString">
161     <script><code><![CDATA[
162 print "Entering in CreateNumpyMatrixFromString"
163 import numpy
164 matrix = numpy.matrix(matrix_in_string)
165 type = "Matrix"
166 print "Matrix is", matrix
167 ]]></code></script>
168     <inport name="matrix_in_string" type="string"/>
169     <outport name="matrix" type="pyobj"/>
170     <outport name="type" type="string"/>
171   </inline>
172
173   <inline name="CreateNumpyMatrixFromScript">
174     <script><code><![CDATA[
175 print "Entering in CreateNumpyMatrixFromScript"
176 execfile(script)
177 type = "Matrix"
178 ]]></code></script>
179     <inport name="script" type="string"/>
180     <outport name="type" type="string"/>
181   </inline>
182
183   <inline name="CreateNumpyVectorFromString">
184     <script><code><![CDATA[
185 print "Entering in CreateNumpyVectorFromString"
186 import numpy
187 vector = numpy.matrix(vector_in_string)
188 type = "Vector"
189 print "Vector is", vector
190 ]]></code></script>
191     <inport name="vector_in_string" type="string"/>
192     <outport name="vector" type="pyobj"/>
193     <outport name="type" type="string"/>
194   </inline>
195
196   <inline name="CreateNumpyVectorFromScript">
197     <script><code><![CDATA[
198 print "Entering in CreateNumpyVectorFromScript"
199 execfile(script)
200 type = "Vector"
201 ]]></code></script>
202     <inport name="script" type="string"/>
203     <outport name="type" type="string"/>
204   </inline>
205
206   <inline name="SimpleExecuteDirectAlgorithm">
207     <script><code><![CDATA[
208 print "Entering in SimpleExecuteDirectAlgorithm"
209 from daYacsIntegration.daStudy import *
210 ADD = Study.getAssimilationStudy()
211 ADD.analyze()
212 ]]></code></script>
213     <inport name="Study" type="pyobj"/>
214     <outport name="Study" type="pyobj"/>
215   </inline>
216
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()
223 # User code is below
224
225 ]]></code></script>
226     <inport name="Study" type="pyobj"/>
227   </inline>
228
229   <inline name="FakeOptimizerLoopNode">
230     <script><code><![CDATA[
231 print "Entering in FakeOptimizerLoopNode"
232 result = None
233 ]]></code></script>
234     <inport name="computation" type="SALOME_TYPES/ParametricInput"/>
235     <outport name="result" type="SALOME_TYPES/ParametricOutput"/>
236   </inline>
237
238   <inline name="CreateDictFromScript">
239     <script><code><![CDATA[
240 print "Entering in CreateDictFromScript"
241 execfile(script)
242 ]]></code></script>
243     <inport name="script" type="string"/>
244   </inline>
245
246   <inline name="UserDataInitFromScript">
247     <script><code><![CDATA[
248 print "Entering in UserDataInitFromScript"
249 execfile(script)
250 ]]></code></script>
251     <inport name="script" type="string"/>
252     <outport name="init_data" type="pyobj"/>
253   </inline>
254
255 </proc>