[GFD Dennou Club | deepconv Project] [deepconv Reference Manual]
この文書は deeoconv/arare を用いて手軽に実験を行うためのチュートリアル です.
実行プログラムはソースツリーディレクトリ (ここでは /work/deepconv に展開されているとします) 直下の bin ディレクトリ以下にあるとします.
インストールの手引 を参考に, deepconv/arare4 のビルドを行ってください. 「インストールの手順」の「ソースのコンパイル」まで行ってください.
サーマルの上昇 (凝結・乱流なし)
src/sample_nml/
arare-thermal1_init-data.conf arare-thermal1.conf
サーマルの上昇 (凝結なし, 乱流: Klemp and Wilhelmson) src/sample_nml/
arare-thermal2_init-data.conf arare-thermal2.conf
サーマルの上昇 (凝結: Kessler, H2O のみ, 乱流: Klemp and Wilhelmson)
src/sample_nml/
arare-thermal3_init-data.conf arare-thermal3.conf
サーマルの上昇 (凝結: Kessler, H2O のみ, 乱流: Klemp and Wilhelmson, 地表面過程: Bulk 法)
src/sample_nml/
arare-thermal4_init-data.conf arare-thermal4.conf
サーマルの上昇 (凝結: Kessler, H2O, NH3, NH4SH, 乱流: Klemp and Wilhelmson)
src/sample_nml/
arare-thermal5_init-data.conf arare-thermal5.conf
初期値作成
$ ./bin/arare_init-data -N=arare-thermal1_init-data.conf
実行
$ ./bin/arare -N=arare-thermal1.conf
簡単な解析・可視化については, dcpam の 簡単解析・可視化 を参考にしてください.
この他にも, 解析・可視化をより自在に行う CUI (キャラクターユーザインターフェース) ツール GPhys (チュートリアル) などもあるため, 実際に解析・可視化を行う際には, 適宜選んで使用してください.
実験条件を変更するには namelist を編集する必要があります. namelist ファイルの各項目については こちら で説明します.
src ディレクトリ以下の編集を行った場合, 以下のようにすることで実験用ディレクトリの内容を更新することが可能です.
まず, ソースツリー直下で
$ make clean
を実行します.
次に インストールの手引 の 「インストールの手順」の「ソースのコンパイル」を参考に, 行ないたい計算に応じてソースのコンパイルを再度行ないます.
scripts/arare-mkdir.rb は, 計算時間に応じたサブディレクトリを作成して, nc ファイルをその中に格納する. 例えば以下のように実行する.
$ pwd ~/arare5/practice $ ls arare3d_PTempAdv_rank000000.nc arare3d_PTempNDiff_rank000000.nc arare3d_PTemp_rank000000.nc arare3d_PTempAdv_rank000001.nc arare3d_PTempNDiff_rank000001.nc arare3d_PTemp_rank000001.nc arare3d_PTempAdv_rank000002.nc arare3d_PTempNDiff_rank000002.nc arare3d_PTemp_rank000002.nc arare3d_PTempAdv_rank000003.nc arare3d_PTempNDiff_rank000003.nc arare3d_PTemp_rank000003.nc $ ../scripts/arare-mkdir.rb -f arare3d_PTempAdv_rank000000.nc -d . $ ls time_000003000-000005940
scripts/arare-mpiadd.rb は, 指定したディレクトリ内の time_* サブディレクトリ以下に置かれたnc ファイルを x 方向に接続する.
$ pwd ~/arare5/practice $ ls time_000000000-000002940 time_000003000-000005940 $ ../scripts/arare-mpiadd.rb -d . $ ls time_000000000-000002940/*-all* arare3d-all_PTempAdv.nc arare3d-all_PTempNDiff.nc arare3d-all_PTemp.nc $ gplist time_000000000-000002940/arare3d_PTemp_rank000000.nc [確認] time_000000000-000002940/arare3d_PTemp_rank000000.nc: x [x=50] 'x-coordinate' (m) y [y=1] 'y-coordinate' (m) z [z=50] 'z-coordinate' (m) t [t=50] 'time' (sec) PTemp [x=50,y=1,z=50,t=50] 'disturbunce of potential temperature' (K) $ gplist time_000000000-000002940/arare3d-all_PTemp.nc time_000000000-000002940/arare3d-all_PTemp.nc: x [x=200] 'x-coordinate' (m) <= 4 並列分がまとまっている y [y=1] 'y-coordinate' (m) z [z=50] 'z-coordinate' (m) t [t=50] 'time' (sec) PTemp [x=200,y=1,z=50,t=50] 'disturbunce of potential temperature' (K)
scripts/arare-addmean.rb は, 指定したディレクトリ内の time_* サブディレクトリ以下に置かれた nc ファイルを x, y 方向に平均する.
$ pwd ~/arare5/practice $ ls time_000000000-000002940 time_000003000-000005940 $ ../scripts/arare-addmean.rb -d . $ ls meanfiles MeanData_PTempAdv.nc MeanData_PTempNDiff.nc MeanData_PTemp.nc $ gplist meanfiles/MeanData_PTemp.nc meanfiles/MeanData_PTemp.nc: z [z=50] 'z-coordinate' (m) t [t=100] 'time' (sec) PTemp [z=50,t=100] 'disturbunce of potential temperature' (K)