戻る
binary data
バイナリデータの読み書き
(Fortran90)
- binconv.f90 バイナリデータの値変換プログラム
- test.f90 テスト用バイナリデータ作成プログラム
(バイナリデータ作成サンプル)、読むのは write を read に変えるだけ!
研究室の皆さん (特に薛君)
玉川です。CReSS で使う 土地利用データ data.land.bin の
単純な値の変更用に添付のようなプログラムを書きました。
G95 (on FreeBSD) で動作確認しています。
以下、使い方を説明します。コンパイラは g95 としてありますが、適当に変更して
使ってください。 (open 文 の recl = の所の 4* が要らない環境もあると思います)
g95 binconv.f90 -o binconv
./binconv とすると使い方のメッセージがでます。
./binconv data_number_x data_number_y file_in file_out orig_num mod_num eps
if( xorig-eps < x < xorig+eps ) x=xmod
たとえば、一緒に添付してある test.f90 で作成する 10x10 の
test という名の実数データの場合 (値 2 -- 20) で、
8 を 88 に変更して test2 に出力する際には
./bnconv 10 10 test test2 8 88 0.01
で実行できます。
最後の 0.01 は 実数同士なので同じ値の判別のために誤差を考えないと
いけない可能性があるので、ここでは 8-0.01 〜 8+0.01 までを 8 と
考えると指定しています。使っている値よりも、一回り小さな値をいれておくと
よいでしょう。
とりあえずの結果確認には、UNIX 環境なら
od -f test
と
od -f test2
の比較をすると分かると思います。
実際の data.land.bin には、user.conf で指定する X Y 方向のデータ数を
入れて使ってください。( X*Y が等しければ問題なく動作します )