ごくらく deepconv/arare4

はじめに

この文書は deeoconv/arare を用いて手軽に実験を行うためのチュートリアル です.

実行プログラムはソースツリーディレクトリ (ここでは /work/deepconv に展開されているとします) 直下の bin ディレクトリ以下にあるとします.

deepconv/arare4 のビルド

インストールの手引 を参考に, deepconv/arare4 のビルドを行ってください. 「インストールの手順」の「ソースのコンパイル」まで行ってください.

実験の実行

設定ファイルのサンプル

src/sample_nml 以下に置かれています.

具体的なサンプル

実行方法

簡単な解析・可視化

簡単な解析・可視化については, 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

MPI で分割出力されたファイルをまとめる

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)

参考文献


deepconv Development Group / GFD Dennou Staff dcstaff@gfd-dennou.org
Last Updated: 2011/03/03, Since: 2006/09/12