如何在Modelica中读取时间序列数据文件

如何在Modelica中读取时间序列数据文件,modelica,openmodelica,Modelica,Openmodelica,我需要在Modelica中读取时间序列数据(例如csv),特别是使用OpenModelica编译器(omc)。我在网上搜索了一下,在网上找到了一个。它适用于dymola,但不适用于开放式modelica编译器。我的测试代码如下: der(x) = t; t = NcDataReader2.ncEasyGet1D("datafile.nc", "temperature", time); der(y) = q; q = NcDataReader2.ncEasyGet1D(

我需要在Modelica中读取时间序列数据(例如csv),特别是使用OpenModelica编译器(omc)。我在网上搜索了一下,在网上找到了一个。它适用于dymola,但不适用于开放式modelica编译器。我的测试代码如下:

  der(x) = t;  
  t = NcDataReader2.ncEasyGet1D("datafile.nc", "temperature", time);  
  der(y) = q;  
  q = NcDataReader2.ncEasyGet1D("datafile.nc", "flow", time); 
当我尝试在open modelica上运行它时,出现以下错误:

翻译09:21:41 0:0-0:0错误构建模拟器。构建日志:gcc -falfign functions-msse2-mfpmath=sse-I“C:/OpenModelica1.9.0//include/omc“-I.-DOPENMODELICA\u XML\u来自运行时的\u文件\u-C-o TimeSeries.NcTest.o TimeSeries.NcTest.C TimeSeries.NcTest.C:19:28:错误: ncDataReaderEA.h:没有这样的文件或目录mingw32生成:*** [TimeSeries.NcTest.o]错误1

我认为它在dymola上工作的原因是因为dymola使用了一个C编译器,并且可能在运行中编译库的C文件。不幸的是,我不得不使用OpenModelica

如果此错误可以通过OpenModelica编译器修复,或者如果在modelica(OpenModelica编译器)中有任何其他替代方法来读取时间序列数据文件,有人能提供帮助吗


提前谢谢我迟到了两年,但这里有一个解决办法。 使用积木
您的txt文件应遵循此格式

#一,
双表名(行、列)

0.1 32
1 0.2 35
2 0.3 38


其中,第一列应为升序时间,其他列为相应的数据。

netCDF reader目前有两个版本,和,您使用哪一个?请将信息添加到您的问题中(例如作为链接)。至少存在一个替代方案,Modelon的HDF5读取器:您将library.c和.h文件(如ncDataReaderEA.h)放在哪里?您需要将该信息提供给OpenModelica编译器,否则它将找不到这些信息。您可以将它们放在C:/OpenModelica1.9.0//include/omc或模型所在的当前目录中。此文件或设置环境变量MODELICAUSERCFLAGS=-Idirectory/with/h/files.c和.h文件与.mo文件位于同一目录中。我没有尝试将它们放入omc目录,但在我的VIE中这样做并不能使.mo文件可移植。我希望有一种更简单的方法。我想知道为什么这么重要的特性没有得到那么多的关注。即使在omc下添加了.h文件,它也不起作用。如果要继续使用CSV文件,还可以使用中的库ModelicaTableAdditions。