爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4696|回复: 5

[求助] fortran调用外部子程序

[复制链接]

新浪微博达人勋

发表于 2017-10-14 17:31:07 | 显示全部楼层 |阅读模式

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

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

x
各位fortran大神,求问fortran调用另一个fortran程序怎么办?
我有一个模型的fortran程序包,是一个完整的可以运行的fortran程序,命名为opac.f,然后我需要自己编写另一个fortran程序做一些循环,然后中间想要调用这个opac.f运行,就在主程序开头写了external opac,中间写了call opac,然后把子程序opac.f开头变为subroutine opac,结尾改为end subroutine,结果在运行主程序时显示链接有问题,附图,请大神们帮我看一下这是怎么了,拜托了

1508072091(1).png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-10-15 06:26:47 | 显示全部楼层
OPAC,是那个气溶胶的数据库吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-10-15 06:58:01 | 显示全部楼层
看样子是你的cir1.f90没找到那个子程序。检查一下主程序和子程序是否在同一目录里,是否都在fortran项目里。最坏的办法就是把子程序全部复制粘贴进主程序里
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-10-15 10:17:24 | 显示全部楼层
゛绍〤z、 发表于 2017-10-15 06:26
OPAC,是那个气溶胶的数据库吗?

是的,在做最优匹配,不知道怎么弄来着
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-10-15 10:19:28 | 显示全部楼层
jstzysq 发表于 2017-10-15 06:58
看样子是你的cir1.f90没找到那个子程序。检查一下主程序和子程序是否在同一目录里,是否都在fortran项目里 ...

我后来发现是之前的程序包不是f90的格式,改为f90之后发现子程序含有很多外部子程序了,这时候是不是不可以再通过主程序调用子程序了?主程序和调试之后的子程序是没问题的,但是我把主程序粘贴在子程序里边就开始出现无数问题了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-10-15 14:45:59 | 显示全部楼层
出现了一个新的问题,我把opac程序包中的fortran程序转变为f90之后显示opac程序中已经含有外部子程序了,而我之前的主程序是不是就不能调用这个已经含有外部子程序的opac程序了,然后我把我的主程序和opac程序合为一个之后,显示很多错误,有没有大神知道是怎么了

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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