#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]]に記載.

Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes