py_*_*rks 2 fortran python-2.7
我们正在开发一个科学应用程序,它具有python 2.7中的接口和用英特尔Visual Fortran编写的计算例程.使用python读取源文件,然后只需要将计算所需的数据传递给独立的Fortran算法.计算完成后,数据必须再次由python读取.
使用格式化的文本文件似乎花费太长时间而且效率不高.此外,我们希望有一个标准的中间格式.可以有大约20个阵列,这些是巨大的(如果写入格式化文本,文件大约500 MB).
Q1.在类似的情况下,Python和Fortran数据交换是必要的.什么是推荐的互动方式?(例如:写一个中间数据被其他读取或调用Fortran从内的Python 或使用numpy的创建兼容阵列或等)
Q2.如果建议编写中间结构,什么格式有利于数据交换?(我们遇到过CDF,NETCdf,二进制流,但到目前为止还没有尝试过.)
在Python中包装Fortran代码的标准方法是f2py(包含在numpy模块中).
对于中间结果的输出,可以使用多种格式,这实际上取决于您的要求.
numpy.save. libhdf5.numpy也可以正常工作.