Fortran Coder

查看: 9449|回复: 5
打印 上一主题 下一主题

[文件读写] 关于模式中fortran读.a和.b文件不匹配的问题

[复制链接]

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
楼主
发表于 2014-12-2 08:57:44 | 显示全部楼层
第一,我不知道什么 HYCOM,也不知道什么模式。
第二,世界上就2种文件:ASCII文件(也叫文本文件),二进制文件。
  没有“十进制”文件的说法。从你的内容来看,b 文件也是ASCII文件。
第三,你的问题比较诡异,需要检查
if     (k.eq.1) then
call zaiord(plon, ip,.false., hmina,hmaxa, 9)

这里至

'.a,.b min = ',hmina,hminb,hmina-hminb,

这里之间的代码过程,例如函数传递是否正确、中间是否改变了 hmina 和 hminb。

如果你检查起来有困难,请给出全部代码(如有特殊输入文件,请一并给出,如果HYCOM需要特殊的环境,恐怕就很难办了。这个环境允许单步Debug吗?)

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2014-12-2 10:51:31 | 显示全部楼层
凡事打开能看懂的,就是 ASCII 文件,也叫文本文件。二进制文件一般是看不懂的。(不要说十进制文件,没有这个说法)

对于你的问题,单步调试是最简单、有效的办法。

求助往往意义不大。因为我没有你的包含文件 include 'common_blocks.h' 等等,没有你的输入数据,甚至我不确定 HYCOM 是否需要特定的环境。

从代码来看,两端之间还有很多次的 call zaiord,这个函数也可能会改变 hmina 和 hminb 的值。

单步debug并不麻烦,点几下鼠标的事儿。如果你确实有困难,可以尝试一步一步把 hmina 和 hminb 都 write 出来,看是哪一步改变了,然后再研究这一步做了什么,该不该做
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-22 10:35

Powered by Tencent X3.4

© 2013-2024 Tencent

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