输出不同GFortran版本的二进制数据文件兼容性

时间:2017-06-06 02:21:57

标签: fortran version binaryfiles gfortran

MyEnvironment:
Xeon E5-2620 v4 (8 cores) x 2
32GB RAM
CentOS 6.8 (64bit)
GFortran v4.4.7 and v4.9.2

由以下编译的两个执行代码生成的二进制输出文件之间是否存在差异?

  • GFortran v4.4.7执行代码的输出
  • GFortran v4.9.2执行代码的输出

使用GFortran编译了三个执行代码:

  • metgrid.exe
  • ungrib.exe
  • geogrid.exe

使用GFortran v4.4.7,无法编译ungrib.exe。 (错误:NAMELIST属性与ALLOCATABLE属性冲突) 使用GFortran v4.9.2,可以编译ungrib.exe。

使用GFortran v4.9.2,无法编译metgrid.exe。

所以我想用

  • metgrid.exe(由v4.4.7编译)
  • ungrib.exe(由v4.9.2编译)
  • geogrid.exe(由v4.4.7编译)

<小时/> 我最初通过用户注册获得了代码。 代码不公开,但代码与&#34;未格式化&#34;是

open(iunit, file=filename, form='unformatted', &
      position='REWIND')

以及具有不同statusposition的其他变体。

无法使用v4.4.7编译ungrib.exe的原因是由NAMELIST的代码(read_namelist.F)引起的,该代码与以下内容相关

  real, dimension(:), allocatable :: new_plvl

  namelist /ungrib/ out_format, &
       ordered_by_date, prefix, &
       add_lvls, new_plvl, interp_type

  allocate(new_plvl(size(new_plvl_in)))  

这似乎与此有关 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43062

0 个答案:

没有答案