テキストデータをグリッドデータとして読み込むには、単純にREAD文を書くだけではなく多少の工夫が必要である。
バイナリファイルの場合は、読み出す時点で配列として読むのでこのような問題は発生しない。
例として以下のようなフォーマットのheight.txtがあるとする。
(X方向グリッド番号 Y方向グリッド番号 物理量)
open(30,file="height.txt",status="old") Do i=1,50*50 Read(30,*) xgrid, ygrid, height(xgrid,ygrid) Enddo close(30)
コンピュータは左から順に読んでいるわけではない(同時に読む)のでheightには不正な値が入る。
open(30,file="height.txt",status="old") Do i=1,50*50 Read(30,*) xgrid, ygrid, hoge height(xgrid,ygrid)=hoge Enddo close(30)
のように書く。配列変数heightを読むのに変数hogeを用いて一旦読んでから改めてheightとして割り当てている。