登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

fortran转python fortran转python工具_python

fortran转python fortran转python工具_Python_02

x

本帖最后由 Swallow 于 2017-4-25 14:16 编辑

相对气象工作者而言,大多都学习过FORTRAN,所以小伙伴手里大多都有FORTRAN的软件包,为了节省时间,最好是学会利用Python调用现成的FORTRAN软件包,本人还在实践中,正一步步学习。网上百度和求助,终于迈出了第一步。因为手头有现成的老师和前辈的软件包,所以不想再涉及FORTRAN领域,直接用好python语言。自行的办公电脑是win7 64位,python3.5(anaconda集成版),本机的FORTRAN安装也不是很利索,FORTRAN程序勉强能打开的状态。气象家园-Python群魔法师指导,可以使用f2py功能了。

主要步骤如下:

1.本机的FORTRAN编译器用不了,使用mingw软件来实现f2py的fortran功能,等于获得了一个编译器gfortran,

无标题.png (3.85 KB, 下载次数: 1)

2017-4-25 14:15 上传

,也需要64位的安装软件mingw-w64-install.exe,大家可以百度下载,也可以问好心人要。(边疆地区网络慢,所以有好心人给我)

2.点击安装,按提示,将文件装到c盘根目录;如:c:\mingw 此Fortran不同于平常用的Fortran,基本上就是Linux下面的gfortran的Windows版。。。

安装时注意版本的选择问题X86_64 seh

1.png (12.92 KB, 下载次数: 2)

2017-4-25 14:15 上传

3.安装完毕后,需设置一下环境变量(前面讲过小技巧,再熟练下)

我的电脑右击选属性——然后高级系统设置——环境变量——里面找到Path——

双击后在最后一行加入路径(C:\mingw\mingw64\bin);记得打个分号哈

4.然后到命令符界面去输入gfortran看看行不行.

然后下一步:到anaconda目录下面找anaconda\Lib\distutils

把distutils.cfg放到上面的目录里;以及D:\Anaconda3\Scripts下面

把f2py.bat放sc目录里

加过环境变量的电脑大约是这个样子

C:\ProgramData\Oracle\Java\javapath;C:\ProgramFiles (x86)\Microsoft Visual Studio\Common\Tools;C:\Program Files(x86)\Microsoft Visual Studio\Common\Msdev98\BIN;C:\Program Files\MicrosoftVisual Studio\DF98\BIN;C:\Program Files\Microsoft VisualStudio\VC98\BIN;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\OpenGrADS\Contents\Cygwin\Versions\2.0.1.oga.1\i686;D:\Anaconda3;D:\Anaconda3\Scripts;D:\Anaconda3\Library\bin;C:\mingw\mingw64\bin

然后去命令符下面运行f2py看看有没有结果

以后记住这个编译命令

f2py -c **.f -m **--fcompiler=gnu95

一般都编译子程序就好了。。。不要去编译主程序

编译子程序,然后拿Python去调用

然后注意编译的程序里面,最好不要出现write、print这些

也就是.f90程序需要用哪一行编译下

然后再正常操作

mingw-w64-install.exe

distutils.cfg

f2py.bat

记住这个命令行

f2py -c **.f -m **--fcompiler=gnu95

持续学习中......

F2PY用户指南和参考手册(百度文库)

利用Python进行数据分析(唐学韬等译)机械工业出版社

我的python学习之路第一步:python安装adaconda版本集合安装及netCDF1.2.4安装

http://bbs.06climate.com/forum.php?mod=viewthread&tid=47091&fromuid=890

我的python学习第二步:绘制基本图形,查看某个模块是否存在?Basemapde 基本使用

http://bbs.06climate.com/forum.p ... d=47361&fromuid=890