FORTRAN
FORTRANについてのメモ書きです。
2011/10/07 Update
ページ内リンク:
ページ外リンク:
http://www.sakaguti.gr.jp/syuiti/fortran.html
NAMELIST
なんどもパラメータを変えて実行する場合に, 何度もコンパイルし直すのは効率が悪いのでnamelistを活用します.
まず以下のようなプログラムを書きます.
--- ここから main.f ---
program read
character*13 LIST
integer SLON
integer ELON
namelist /param/ LIST,SLON,ELON
read(5,param)
write(6,*) LIST
write(6,*) SLON
write(6,*) ELON
stop
end program read
--- ここまで ---
さらに, パラメータを指定するためのnamelist ファイルを以下のように書きます.
--- ここから namelist.input ---
¶m
LIST = hogehoge
SLON = 100
ELON = 130
/
--- ここまで ---
そして, プログラムをコンパイル
g77 main.f
実行時は, 以下のようにしてnamelistを読み込ませます.
$ ./a.out < namelist.input
書式設定
よく忘れるのでメモ
’(a4)’ : 文字列4マス分
’(f6.2)’ : 小数点を含む実数で6マスとって2桁分は小数点以下, 1桁分は小数点
’(i3)’ : 整数3桁
入出力
既存のファイルに追記したいとき.
open(10,file='hoge.txt',position='append',status='old)
Binary File
open(10,file='hoge.bin',access='direct',status='old',form='unformatted',recl=100*100*4)
access='direct' : 直接探査.
form='unformatted' : 書式無し.
recl=100*100*4 : レコード長 (格子点数が100*100の 4byte 実数データを読む場合.) !コンパイル時に注意!
NaN
データにNaNを出力したいとき.
real nan
data nan/F'7fffffff'/
と宣言しておくと、「NaN」が出力出来る。
Makefileの書き方
http://www.c.csce.kyushu-u.ac.jp/~seiichirou/wiki/index.php?Makefile%A4%CE%BD%F1%A4%AD%CA%FD