气象上有很多程序是用Fortran写的,随着NCL的普及,很多人已经不用Fortran了。但是Fortran有着NCL,包括Python都无法企及的优点:计算速度快。尤其是循环比较多的时候,调用Fortran程序计算要来的快得多。而且广大的气象工作者自80年代始就开始应用Fortran,有着大量现成的代码,如果就此不能使用,也十分地可惜。
幸运的是Python有直接将Fortran程序转换为Python可以直接调用的模块的命令:
f2py -m <modulename> <fortran files> -c --fcompiler=gnu95
比如说
f2py -m test test.f90 -c --fcompiler=gnu95
运行完成后,会生成一个test.so文件,在python命令中直接import test即可调用。在具体使用时,当调用到test.f90中的某个函数,假设叫test2时,调用方法为:test.test2()
这里在Linux服务器中容易出现的问题是编译器的选取。可以用如下命令来查看应该如何选用编译器:
f2py -m test test.f90 -c --help-fcompiler
比如我在我的服务器中输入该命令,结果如下:
然后按照需求选取编译器即可。
对于Windows用户,可以将编译器选为intelv
不过我没有在Windows下用过,不知是否能编译成功。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。