[ English | Japanese ] [ 地球流体電脳倶楽部 / 惑星大気モデル DCPAM ] [ dcpam5 ドキュメント / ごくらく dcpam5 ]

地球実験

地球の実験を行う方法を説明します.

この計算には以下の物理過程を用いています.


  1. 概要
  2. 実験用ディレクトリ準備
  3. 初期値データファイルの作成
  4. 実験用データの準備
  5. 実験の実行
  6. 結果の可視化
  7. 参考文献

概要

本実験では, 海表面温度, 地面特性, 海表面密度, オゾン分布のデータが必要です. したがって, 実験の実行は以下の 4 つのステップで行います.

実験用ディレクトリ準備

practice ディレクトリに移動してください.

$ cd practice

そのディレクトリ内で, make コマンドを実行してください. 自動的に実行ファイルや NAMELIST ファイルがコピーされます. make コマンド入力後, まずディレクトリ名を適宜入力してください. (下記の例では Earth-exp としています). それ以降の質問はとりあえずそのまま Enter キーを入力してください.

$ make

****** Setup a directory for a experiment ******

  Enter directory name [testXX]: Earth-exp
  Directory in which executable files are prepared
    [../src/main]: 
          :

そしてそのディレクトリに移動します.

$ cd Earth-exp

なお, このディレクトリ内以外でも, 実行ファイル, 設定ファイル (namelist ファイル) があれば計算を行うことはできます.

初期値データファイルの作成

init_data と init_data_E_T21L22.nml を用いて初期値ファイル init_T21L22.nc を作成します.

$ ./init_data -N=init_data_E_T21L22.nml

 *** MESSAGE [init_data] ***  Run: Initial data generation
 *** MESSAGE [init_data] ***  -- version = $Name: dcpam5-20110615 $$Id: exp-Earth.rd,v 1.5 2011-04-08 03:57:26 yot Exp $
 *** MESSAGE [namelist_util] ***  ----- Initialization Messages -----
 *** MESSAGE [namelist_util] ***    MaxNmlArySize = 256
 *** MESSAGE [namelist_util] ***  -- version = $Name: dcpam5-20110615 $$Id: exp-Earth.rd,v 1.5 2011-04-08 03:57:26 yot Exp $
 *** MESSAGE [timeset] ***  NAMELIST group "timeset_nml" is loaded from "init_data_E_T21L22.nml".
                       : 
 *** MESSAGE [initial_data] ***    Ueq     = 0.
 *** MESSAGE [initial_data] ***
 *** MESSAGE [initial_data] ***  -- version = $Name: dcpam5-20110615 $$Id: exp-Earth.rd,v 1.5 2011-04-08 03:57:26 yot Exp $
 *** MESSAGE [HistoryClose] ***  "init_T21L22.nc" is closed

 ############## CPU TIME SUMMARY ################
 others                 0.120000E-01
 ------------------------------------------------
        TOTAL TIME =    0.120000E-01

実験用データの準備

実験用データとして, 海表面温度, 地面特性, 海表面密度, オゾン分布のデータを 以下に用意してあります.

上記のページから "sst_amipII_bc_clim_T021.nc", "sp_for_Earth_T021.nc", "sic_amipII_bc_clim_T021.nc", "O3_CMIP5_climatology_zonalmean_T021.nc" をダウンロードして, 実験を行うディレクトリに置いてください.

実験の実行

最後に dcpam_main, dcpam_E_T21L22.nml を用いて実験を実施します. 解像度 T21L22, 時間ステップ 30 分で 10 日分計算を行います. リスタートデータ, 地表面リスタートデータといくつかのヒストリデータ ファイルが出力されます.

$ ./dcpam_main -N=dcpam_E_T21L22.nml | tee Earth.log

初期値データ, 地表面データ, 実験設定を変更する場合には, 上記の実行に際して, init_data_E_T21L22.nml, dcpam_E_T21L22.nml を変更してください.

結果の可視化

10 日後における温度の東西平均分布は以下の図のようになります.

images/earth_irb_temp_meanlon_time10day.png

この図は, Gphys を 用いて, 下の処理によって描画しています.

まず irb を起動. 

$ irb

以下のような irb のプロンプトが表示されます.

irb(main):001:0>

このプロンプトに, 以下のようにコマンドを打ちます.
左端の数字は行番号で, 打つ必要はありません.

1: require "numru/ggraph"
2: include NumRu
3: gphys = GPhys::IO.open('Temp.nc', 'Temp')
4: DCL.gropn(1)
5: DCL.sgpset('lcntl', false) ; DCL.uzfact(0.7)
6: GGraph.set_fig( 'itr'=> 2 )
7: GGraph.tone( gphys.mean('lon').cut('time'=>10) )
8: GGraph.color_bar
9: DCL.grcls

irb のプロンプトにおいて quit と打つと irb を終了することができます. 

この計算で用いている初期値は等温静止大気です. 地球大気は, 10 日間では準定常状態には達しませんので, 上記の図はスピンアップ中の状態を表しています.

参考文献


$Id: exp-Earth.rd,v 1.5 2011-04-08 03:57:26 yot Exp $
DCPAM Development Group / GFD Dennou Staff dcstaff@gfd-dennou.org