<?xml version='1.0' encoding='utf-8' ?>
<!--
- Copyright (C) 2008-2018 EDF R&D
+ Copyright (C) 2008-2021 EDF R&D
This file is part of SALOME ADAO module
<type name="long" kind="int"/>
<struct name="SALOME_TYPES/Parameter">
<member type="string" name="name"></member>
- <member type="pyobj" name="value"></member>
+ <member type="string" name="value"></member>
</struct>
<sequence content="SALOME_TYPES/Parameter" name="SALOME_TYPES/ParameterList"></sequence>
<sequence content="double" name="SALOME_TYPES/Variable"></sequence>
try:
# Create Assimilation study
- if sys.version_info.major > 2:
- import adao
+ if sys.version_info.major > 2: import adao
from daYacsIntegration.daStudy import *
assim_study = daStudy(Name, Algorithm, Debug)
<outport name="stored" type="bool"/>
</inline>
+ <inline name="CreateNumpyVectorFromDataFile">
+ <script><code><![CDATA[
+import logging, sys, numpy
+logging.debug("CREATE YI Entering in CreateNumpyVectorFromDataFile")
+type = "Vector"
+
+if sys.version_info.major > 2: import adao
+from daCore.Interfaces import ImportFromFile as aif
+if colmajor:
+ vector = numpy.ravel( numpy.transpose( aif(script).getvalue(columns)[1] ) )
+else:
+ vector = numpy.ravel( aif(script).getvalue(columns)[1] )
+]]></code></script>
+ <inport name="script" type="string"/>
+ <inport name="columns" type="stringvec"/>
+ <inport name="colmajor" type="bool"/>
+ <outport name="vector" type="pyobj"/>
+ <outport name="type" type="string"/>
+ <outport name="stored" type="bool"/>
+ </inline>
+
<inline name="CreateNumpyVectorSerieFromString">
<script><code><![CDATA[
import numpy, logging
logging.debug("CREATE YI Entering in CreateNumpyVectorSerieFromString")
-vector_in_list = eval(str(vector_in_string),{},{})
-vector = numpy.matrix(vector_in_list)
+# vector_in_list = eval(str(vector_in_string),{},{})
+# vector = numpy.matrix(vector_in_list)
+if (vector_in_string.find("array")>-1) or (vector_in_string.find("matrix")>-1):
+ vector_in_string=vector_in_string.replace("array","numpy.array")
+ vector_in_string=vector_in_string.replace("matrix","numpy.matrix")
+ exec("vector="+vector_in_string)
+ vector = numpy.array(vector)
+else:
+ vector_in_string=vector_in_string.replace("'","").replace('"','')
+ vector_in_list = eval(str(vector_in_string),{},{})
+ vector = numpy.array(vector_in_list)
type = "VectorSerie"
logging.debug("VectorSerie is %s"%vector)
]]></code></script>
<outport name="stored" type="bool"/>
</inline>
+ <inline name="CreateNumpyVectorSerieFromDataFile">
+ <script><code><![CDATA[
+import logging, sys, numpy
+logging.debug("CREATE YI Entering in CreateNumpyVectorSerieFromDataFile")
+type = "VectorSerie"
+
+if sys.version_info.major > 2: import adao
+from daCore.Interfaces import ImportFromFile as aif
+if len(columns) == 0: columns = None
+if colmajor:
+ aif(script).getvalue(columns)[1]
+else:
+ vector = numpy.transpose( aif(script).getvalue(columns)[1] )
+]]></code></script>
+ <inport name="script" type="string"/>
+ <inport name="columns" type="stringvec"/>
+ <inport name="colmajor" type="bool"/>
+ <outport name="vector" type="pyobj"/>
+ <outport name="type" type="string"/>
+ <outport name="stored" type="bool"/>
+ </inline>
+
<inline name="SimpleExecuteDirectAlgorithm">
<script><code><![CDATA[
import logging
</inline>
<inline name="ReadForSwitchNode">
- <script><code><![CDATA[import sys, logging
-if sys.version_info.major > 3: import adao
+ <script><code><![CDATA[import sys, logging, codecs, pickle
+if sys.version_info.major > 2: import adao
+def loads( data ):
+ return pickle.loads(codecs.decode(data.encode(), "base64"))
logging.debug("CREATE YI Entering in ReadForSwitchNode")
-logging.debug(" with input data : ",list(data["specificParameters"]))
+# logging.debug(" with input data : ",list(data["specificParameters"]))
switch_value = -1
for param in data["specificParameters"]:
+ # logging.debug(" ReadForSwitchNode specificParameters : ",param)
if param["name"] == "switch_value":
- switch_value = int(param["value"])
+ switch_value = int(loads(param["value"]))
logging.debug(" switching to value : "+str(switch_value))
]]></code></script>
<inport name="data" type="SALOME_TYPES/ParametricInput"/>
</inline>
<inline name="ExtractDataNode">
- <script><code><![CDATA[import sys, logging
-if sys.version_info.major > 3: import adao
-logging.debug("TERMINATE Entering in ExtractDataNode")
+ <script><code><![CDATA[import sys, logging, codecs, pickle
+if sys.version_info.major > 2: import adao
+def loads( data ):
+ return pickle.loads(codecs.decode(data.encode(), "base64"))
+logging.debug("TERMINATE Entering in ExtractData/Node")
from daCore.AssimilationStudy import AssimilationStudy
var = None
info = None
for param in data["specificParameters"]:
if param["name"] == "var":
- var = param["value"]
+ var = loads(param["value"])
if param["name"] == "info":
- info = param["value"]
+ info = loads(param["value"])
]]></code></script>
<inport name="data" type="SALOME_TYPES/ParametricInput"/>
<outport name="var" type="pyobj"/>
</inline>
<inline name="ObservationNodeFile">
- <script><code><![CDATA[execfile(script)]]></code></script>
+ <script><code><![CDATA[with open(script, 'rb') as file: exec(file.read())]]></code></script>
<inport name="var" type="pyobj"/>
<inport name="info" type="pyobj"/>
<inport name="script" type="string"/>