爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 27924|回复: 18

[经验总结] 我的python学习第三步:Windows系统中Python调用FORTRAN程序的方法

[复制链接]

新浪微博达人勋

发表于 2017-4-25 14:13:37 | 显示全部楼层 |阅读模式

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

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

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 ,也需要64位的安装软件mingw-w64-install.exe,大家可以百度下载,也可以问好心人要。(边疆地区网络慢,所以有好心人给我)
                              
                              
2.点击安装,按提示,将文件装到c盘根目录;如:c:\mingw  此Fortran不同于平常用的Fortran,基本上就是Linux下面的gfortran的Windows版。。。
安装时注意版本的选择问题X86_64  seh 1.png



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
(出处: 气象家园)




mingw-w64-install.exe

937.99 KB, 下载次数: 49, 下载积分: 金钱 -5

gfortran

distutils.cfg

25 Bytes, 下载次数: 35, 下载积分: 金钱 -5

f2py.bat

23 Bytes, 下载次数: 31, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-27 18:55:23 | 显示全部楼层
【原创】f2py介绍以及从f2py引发的联想
http://bbs.06climate.com/forum.p ... 468&fromuid=890
(出处: 气象家园)


python调用fortran
http://bbs.06climate.com/forum.p ... 457&fromuid=890
(出处: 气象家园)
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2017-4-28 13:56:55 | 显示全部楼层
{:5_238:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-4-28 15:46:34 | 显示全部楼层
赞赞,步骤相当详细!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-28 17:10:44 | 显示全部楼层
过来学一学
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-28 22:37:10 | 显示全部楼层
谢谢楼楼的经验!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-29 13:19:59 | 显示全部楼层
{:5_275:}{:5_275:}{:5_275:}{:5_275:}{:5_275:}{:5_275:}{:5_275:}{:5_275:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-4-30 10:10:03 | 显示全部楼层
多谢楼主分享{:5_213:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-5-1 15:58:50 | 显示全部楼层
赞楼主分享个人经验
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-5-30 21:52:33 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表