#author("2020-01-21T17:04:13+09:00","default:Miyashita","Miyashita") #author("2020-01-21T17:29:08+09:00","default:Miyashita","Miyashita") * GeoClaw Makefile メモ [#p61595bb] **Makefile 概要 [#p2184b74] examples の中を覗いたらわかるように,各計算セットのディレクトリに Makefile が必要で,make で諸々の処理を実行する.~ ただしソース(計算アルゴリズム)を変更したり,コンパイルオプションを追加したりする必要がなければあまり Makefile を編集する必要はない.~ 各計算セットの Makefile で #codeprettify{{ CLAWMAKE = $(CLAW)/clawutil/src/Makefile.common }} #codeprettify{{ GEOLIB = $(CLAW)/geoclaw/src/2d/shallow include $(GEOLIB)/Makefile.geoclaw }} と書いてあるように,基本となる2つの Makefile を include しているため,コンパイルや計算実行に必要な命令は一通り揃っている.~ ~ コンパイルから計算実行,プロットまでの大まかな流れは以下の通り. #codeprettify{{ make # 実行ファイル xgeoclaw 生成 make data # 計算の前処理.setrun.py を実行 make output # xgeoclaw の実行 make plots # 後処理,プロット. setplot.py を実行 }} 実行ファイルや make plots の結果を消すときは #codeprettify{{ make clean }} コンパイルしたソース *.mod などを消すときは #codeprettify{{ make clobber }} ~ ** コンパイルオプションを付け加える [#h273d83e] 例えば Fortran のコンパイラ FC が ifort である場合に -heap-arrays オプションを付け加えるのなら,以下の通り. #codeprettify{{ ifeq ($(CLAW_FC),ifort) ifeq ($(FC),ifort) FFLAGS += -heap-arrays endif }} ~ ** NetCDF4 を使う [#ccd48f20] [[NetCDF>../NetCDF]]に記載.