FEFF8.5L compilation notes
まとめ
FEFF 8.5L (one-file source code への直接リンク) のコンパイル方法.
環境
- OS
-
Debian GNU/Linux 10.4 Buster
- Compiler
-
ifort 14.0
Procedure
$ source /opt/intel/bin/ifortvars.sh intel64 $ ifort feff85L.f -o feff85L
gfortran について
If you use gfortran, you will encounter several issues.
gfortran 8.3.0
$ gfortran feff85L.f -o feff85L
以下のような文法エラーが起きる.
feff85L.f:11742:21: 2 dmag, vclap, vtot, vvalgs, imt, inrm, rmt, rnrm, 1 Error: Actual argument contains too few elements for dummy argument ‘dmag’ (3012/3263) at (1)
-std=legacy オプション
$ gfortran -std=legacy feff85L.f -o feff85L
以下のような文法エラーが起きる.
feff85L.f:1032:1: d read(words(1),30,err=900) xivec(1) ! read direction of incoming beam 1 Error: Non-numeric character in statement label at (1)
gfortran 7 でも試しましたがうまくいきません.難しくないエラーだと思いますが,Fortran を知らないので直せません.どなたか patch できたら教えてください.ifort あれば ifort でやるのが早いです.
おまけ
GitHub に Feff8L: Open Source theoretical EXAFS calculations が上がっています.こちらは FEFF9 などと同じように rdinp などの実行ファイルが分割されているタイプです.