0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WRF / GFortran > v4.4.7とv4.9.2のバイナリ互換 > よく分からないので、混在はしないことにした

Last updated at Posted at 2017-06-06
動作環境
Xeon E5-2620 v4 (8コア) x 2
32GB RAM
CentOS 6.8 (64bit)
openmpi-1.8.x86_64 とその-devel
mpich.x86_64 3.1-5.el6とその-devel
gcc version 4.4.7 (とgfortran)
NCAR Command Language Version 6.3.0
WRF v3.7.1を使用。
Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) 
Python 3.6.0 on virtualenv

WRF(Weather Research and Forecasting Model)に関して。

WRF / WPS > v3.9セットアップ > GFortranのバグにはまる
において、GFortranのv4.4.7とv4.9.2でそれぞれ作成した実行ファイルが生成するバイナリファイルの互換性が気になっている。

unformatted形式で試してみた。

バージョンの切替 > scl使用

CentOS 6.8ではv4.4.7のGFortranがインストールできる。

一方でSoftware Collections (SCL)を用いてv4.9.2をインストールできる。
方法については以下を参照 (gcc-c++でなくgcc-gfortranとした)
http://qiita.com/phanect/items/45c67fa55d624e45367b

code

Fortran90なのかFortran77なのか分からないcodeであるが気にしない。

write_sample_170606.f90
	implicit none

	real(8) pi, napier, avogadro

	pi = 3.141592
	napier = 2.7182
	avogadro = 6.022

	open(10, file='test.bin', form='unformatted')
	write(10) pi
	write(10) napier
	write(10) avogadro
	close(10)

	stop
	end
read_sample_170606.f90
	implicit none

	real(8) pi, napier, avogadro

	open(10, file='test.bin', form='unformatted')
	read(10) pi
	read(10) napier
	read(10) avogadro
	close(10)

	write(6,*) pi
	write(6,*) napier
	write(6,*) avogadro

	stop
	end

実行

v4.4.7の環境において

$ gfortran write_sample_170606.f90
$ gfortran read_sample_170606.f90 -o read_sample_v4_4_7

v4.9.2の環境において

$ gfortran read_sample_170606.f90 -o read_sample_v4_9_2
$ ./read_sample_v4_4_7 
   3.1415920257568359     
   2.7181999683380127     
   6.0219998359680176     
$ ./read_sample_v4_9_2 
   3.1415920257568359     
   2.7181999683380127     
   6.0219998359680176     

ここまで実施して、ふと思ったのが「バージョンが変わることでバイナリ出力形式が変更されたら大問題になるだろう」ということ。
よほどの問題がない限りは変更されないという気がしてきた。

しかしながらmodファイルはバージョンによって違う。
同じバージョンのコンパイラでビルドするのが前提のような気もする。

link

バイナリ保存関連で見つけた記事。
http://naturesflyers.blogspot.jp/2015/01/fortran-unformatted-binary.html

v4.4.7とv4.9.2の混在

影響が不明のため混在をやめてv4.9.2で統一することにした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?