我需要在Modelica中读取时间序列数据(例如csv),特别是使用open modelica编译器(omc)。我做了一些互联网搜索,并在网上找到了ncReader library。它适用于dymola但不适用于open modelica编译器。我的测试代码是这样的:
der(x) = t;
t = NcDataReader2.ncEasyGet1D("datafile.nc", "temperature", time);
der(y) = q;
q = NcDataReader2.ncEasyGet1D("datafile.nc", "flow", time);
当我尝试在打开的modelica上运行它时,我收到以下错误:
翻译09:21:41 0:0-0:0构建模拟器时出错。构建日志:gcc -falign-functions -msse2 -mfpmath = sse -I“C:/OpenModelica1.9.0//include/omc”-I。 -DOPENMODELICA_XML_FROM_FILE_AT_RUNTIME -c -o TimeSeries.NcTest.o TimeSeries.NcTest.c TimeSeries.NcTest.c:19:28:错误: ncDataReaderEA.h:没有这样的文件或目录mingw32-make:*** [TimeSeries.NcTest.o]错误1
我认为它在dymola上工作的原因是因为dymola使用C编译器并且可能在运行时编译库的c文件。不幸的是,我必须使用open modelica。
如果可以修复此错误以便使用open modelica编译器或者如果在modelica(open modelica编译器)中有读取时间序列数据文件的任何其他替代方法,那么任何人都可以提供帮助吗?
提前致谢
答案 0 :(得分:0)
我迟到了两年,但这是一个解决方案。
使用块
Modelica/Blocks/Sources/CombiTimeTable
您的txt文件应遵循以下格式
#1
double tableName(行,列)
0 0.1 32
1 0.2 35
2 0.3 38
其中第一列应按升序排列,其他列为相应数据。