この文書は, dcpam5 を用いて手軽に実験を 行うためのチュートリアルです.
dcpam5 では入出力するファイルとして Gtool4 NetCDF 規約 に基づいた NetCDF データを扱います.
従って, 数値実験の結果を解析・可視化するため, NetCDF データを取り扱うことの できる解析・可視化ツールを用意する必要があります. ここでは, 電脳 Ruby プロジェクト から提供されるツールを推奨します. 以下の可視化の例では, プロジェクトの製品の一つである GAVE を用います.
なお, 上記のツール以外にも NetCDF を扱える可視化ツール (例えば, GrADS や IDL など) でも可視化が可能であるはずです.
インストールの際には, 電脳 Ruby プロジェクト のページの左側の「インストールガイド」をクリックし, 環境に合わせたインストール方法を選んでください.
dcpam5 インストールガイド を参考に, dcpam5 のビルドを行ってください. 「ビルドの手引き」の「ソースコードのコンパイル」まで行ってください.
動作チェックを行っている, もしくは行ったことのある いくつかのコンパイラに関する注意書きです.
他のコンパイラについても当てはまる場合があるかもしれませんので, 下記の動作チェックがうまく行かない場合にはご一読ください.
Held and Suarez (1994) (参考文献 参照) が提案した, 物理過程に依存しない大気大循環モデルの力学過程を評価するための ベンチマーク計算を実行する方法を説明します.
dcpam5 では力学過程および Held and Suarez (1994) にて提案された ニュートン冷却とレイリー摩擦のみを計算する実行ファイルとして dcpam_hs94.F90 を用意しています. dcpam5 のビルド にてこのプログラムのコンパイルは完了している はずなので, これを用いて実験を行います.
practice ディレクトリに移動してください.
$ cd practice
そのディレクトリ内で, make コマンドを実行してください. 自動的に実行ファイルや NAMELIST ファイルがコピーされます. make コマンド入力後, まずディレクトリ名を適宜入力してください. (下記の例では hs94-exp としています). それ以降の質問はとりあえずそのまま Enter キーを入力してください.
$ make ****** Setup a directory for a experiment ****** Enter directory name [testXX]: hs94-exp Directory in which executable files are prepared [/home/dcpam/work/dcpam5/src/main]: Directory in which NAMELIST files are prepared [/home/dcpam/work/dcpam5/src/main]: Save F90/95 source code files? [Y/n]: Directory in which source code files are prepared [/home/dcpam/work/dcpam5/src]: : *** Setup of "hs94-exp" is complete ***
hs94-exp というディレクトリが作成され, その中に 実行ファイルや NAMELIST ファイル, ソースコードがコピーされます. hs94-exp ディレクトリ内に移動してください.
$ cd hs94-exp
実行ファイルとして dcpam_hs94, init_data などが用意されている はずです. 以下のように dcpam_hs94 を実行してください. プログラム終了には数分〜数十分かかります.
$ ./dcpam_hs94 | tee log.txt : *** MESSAGE [timeset] *** ----- Initialization Messages ----- *** MESSAGE [timeset] *** StartTime = 0. [day] *** MESSAGE [timeset] *** EndTime = 7. [day] *** MESSAGE [timeset] *** DelTime = 30. [min] *** MESSAGE [timeset] *** = 1800. [sec] : : *** MESSAGE [fileset] *** ----- Initialization Messages ----- *** MESSAGE [fileset] *** FileTitle = dcpam5 test run *** MESSAGE [fileset] *** FileSource = dcpam5 (http://www.gfd-dennou.org/library/dcpam) *** MESSAGE [fileset] *** FileInstitution = GFD Dennou Club (http://www.gfd-dennou.org) *** MESSAGE [fileset] *** -- version = .... *** MESSAGE [gridset] *** ----- Initialization Messages ----- *** MESSAGE [gridset] *** nmax = 10 *** MESSAGE [gridset] *** imax = 32 *** MESSAGE [gridset] *** jmax = 16 *** MESSAGE [gridset] *** kmax = 5 *** MESSAGE [gridset] *** -- version = .... : ########## PREDICTION OF CALCULATION ########### Start Date 2008-11-29T16:55:11+09:00 Current Date 2008-11-29T16:55:25+09:00 Progress 57.14% [************** ] Remaining CPU TIME 0.100000E+02 Completion Date 2008-11-29T16:55:35+09:00 : ############## CPU TIME SUMMARY ################ held_suarez_1994 0.165611E+01 dynamics_hspl_vas83 0.191452E+02 timefilter_asselin19 0.264027E+00 others 0.896038E+00 ------------------------------------------------ TOTAL TIME = 0.219614E+02
この場合, 7 日分の時間積分が行われます. 空間解像度は T10L5 (経度格子点数 32, 緯度点数 16, 鉛直層数 5) です. 計算結果は U.nc や Temp.nc として出力されます. また, リスタートファイルが restart.nc として出力されます.
本来, この積分時間と空間解像度はベンチマークとしては小さすぎ, 短すぎます. Held and Suarez (1994) では空間解像度は T42L20 (経度格子点 128, 緯度格子点 64, 鉛直層 20) 相当で, 1200 日の時間積分が行われています.
出力データの情報を参照する際には, NetCDF ライブラリに含まれる ncdump コマンドを使用します. これは dcpam5 をインストールするにあたり ビルドおよびインストール済みのはずです.
U.nc の情報を参照する場合には以下のようにコマンド入力して下さい. 表示される行数が多いため, 表示内容を パイプでページャ more に渡して います.
$ ncdump -h U.nc | more
表示内容を簡単に説明します.
データファイルに含まれる次元変数のリストです. 数値はその次元変数のデータ数です.
netcdf U { dimensions: lon = 32 ; lat = 16 ; sig = 5 ; sigm = 6 ; time = UNLIMITED ; // (8 currently)
データファイルに含まれる次元変数・従属変数に関するメタデータです. 'float' はそのデータが単精度実数であることを表します. 倍精度実数である場合は 'double', 整数である場合は 'int' となります. その後ろに 変数(依存する次元変数) が表示されます.
variables: float lon(lon) ; lon:long_name = "longitude" ; lon:units = "degree_east" ; lon:standard_name = "longitude" ; lon:gt_calc_weight = "lon_weight" ; : float time(time) ; time:long_name = "time" ; time:units = "day" ; : float U(time, sig, lat, lon) ; U:long_name = "eastward wind" ; U:units = "m s-1" ;
データファイル全体に付加される大域属性です. ファイルの規約 (Conventions) や表題, データソース, 作成日時などが 登録されています.
// global attributes: :Conventions = "http://www.gfd-dennou.org/library/gtool4/conventions/" ; :gt_version = "4.3" ; :title = "dcpam5 test run history data" ; :source = "dcpam5 (http://www.gfd-dennou.org/library/dcpam)" ; :institution = "GFD Dennou Club (http://www.gfd-dennou.org)" ; :history = "2008-11-29T22:01:10+09:00 morikawa> gtool_history: HistoryCreate\n", "" ; }
データ本体を参照する場合は以下のようにコマンド入力してください.
$ ncdump Temp.nc | more
以下のようにデータが表示されます.
data: lon = 0, 11.25, 22.5, 33.75, 45, 56.25, 67.5, 78.75, 90, 101.25, 112.5, 123.75, 135, 146.25, 157.5, 168.75, 180, 191.25, 202.5, 213.75, 225, 236.25, 247.5, 258.75, 270, 281.25, 292.5, 303.75, 315, 326.25, 337.5, 348.75 ; lat = -81.65059, -70.83464, -59.95486, -49.06072, -38.16121, -27.25921, -16.35593, -5.45204, 5.45204, 16.35593, 27.25921, 38.16121, 49.06072, 59.95486, 70.83464, 81.65059 ; : Temp = 249.9899, 249.9622, 249.9368, 249.9154, 249.8999, 249.8913, 249.8905, 249.8973, 249.9113, 249.9315, 249.9562, 249.9835, 250.0113, 250.0375, 250.0599, 250.0769, 250.0871, 250.0898, 250.0847, 250.0722, 250.0533, 250.0295, 250.0026, 249.9747, 249.948, 249.9245, 249.9062, 249.8943, 249.8899, 249.8932, 249.9041, 249.9217, 249.9899, 249.9658, 249.9432, 249.9233, 249.9073, 249.8962, 249.8905, 249.8907, 249.8967, 249.9081, 249.9244, 249.9445, 249.9672, 249.9913, 250.0153, 250.0378, 250.0575, 250.0732, 250.084, 250.0894, 250.0889, 250.0825, 250.0708, 250.0543, 250.034, 250.0112, 249.987, 249.9631, 249.9407, 249.9212, 249.9058, 249.8952,
得られたいくつかのデータを可視化してみます. 以下では, GAVE を用いた可視化の方法を例に挙げます. まず gave を起動してください.
$ gave
以下のようなウィンドウが表示されます.
[File] -> [Open] からデータファイルを選択します. ここでは TempEQHs94.nc を選択します. これは Held and Suarez (1994) で提案されるニュートン冷却に使用される 平衡温度です. ファイルがオープンされたら, 以下のように設定して, [draw] をクリックしてください.
以下のような図が表示されます. 地上の赤道で 300 K 強で, 高緯度に行くにつれ, また上空に行くにつれ温度が減少している分布となっていることが分かります.
次に, 東西風速の変化を見てみます. [File] -> [Open] から U.nc を読み込みます. 今度は以下のように設定し, [draw] をクリックしてください.
以下のような図が表示されます. これは最も地表面に近い層での 東西風速です. 初期には全領域で風速 0 m/s でしたが, 赤道および中緯度で徐々に西向きの風が生じていることが分かります. (U は東向きの風なので, 負の場合には西向きの風を表します).
最後に, 上空での東西風速を見てみます. [Tools] -> [Dimensions] から次元を設定するウィンドウを表示します. ここで, [sig] の値を 0.2 付近に設定し, 再度 [draw] をクリックしてください.
以下のような図が表示されます. これはおおよそ気圧 200 hPa での 東西風速です. 初期には全領域で風速 0 m/s でしたが, 緯度±40°を中心にで徐々に東向きの風が生じていることが分かります.
計算時の設定は標準出力へと表示されます. 実行: 乾燥大気での力学過程ベンチマーク計算 (Held and Suarez, 1994) において表示される内容の一部を解説します.
計算開始時刻, 終了時刻, 時間ステップ, 終了予測時刻表示間隔, CPU 時間計測のオンオフです. timeset モジュール で管理されています.
|*** MESSAGE [timeset] *** ----- Initialization Messages ----- |*** MESSAGE [timeset] *** StartTime = 0. [day] |*** MESSAGE [timeset] *** EndTime = 7. [day] |*** MESSAGE [timeset] *** DelTime = 30. [min] |*** MESSAGE [timeset] *** = 1800. [sec] |*** MESSAGE [timeset] *** PredictInt = 1. [day] |*** MESSAGE [timeset] *** CpuTimeMoniter = T |*** MESSAGE [timeset] *** -- version = ...
実験の表題, データソース, データを作成した人/組織です. これらは出力データの大域属性へと与えられます. fileset モジュール で管理されています.
|*** MESSAGE [fileset] *** ----- Initialization Messages ----- |*** MESSAGE [fileset] *** FileTitle = dcpam5 test run |*** MESSAGE [fileset] *** FileSource = dcpam5 (http://www.gfd-dennou.org/library/dcpam) |*** MESSAGE [fileset] *** FileInstitution = GFD Dennou Club (http://www.gfd-dennou.org) |*** MESSAGE [fileset] *** -- version ...
最大全波数, 経度格子点数, 緯度格子点数, 鉛直層数です. gridset モジュール で管理されています.
|*** MESSAGE [gridset] *** ----- Initialization Messages ----- |*** MESSAGE [gridset] *** nmax = 10 |*** MESSAGE [gridset] *** imax = 32 |*** MESSAGE [gridset] *** jmax = 16 |*** MESSAGE [gridset] *** kmax = 5 |*** MESSAGE [gridset] *** -- version ...
物理定数です. constants モジュール で管理されています. 各値の詳細はこのモジュールのマニュアルを参照してください.
|*** MESSAGE [constants] *** ----- Initialization Messages ----- |*** MESSAGE [constants] *** PI = 3.141592653589793 |*** MESSAGE [constants] *** GasRUniv = 8.314 |*** MESSAGE [constants] *** StB = 0.567E-07 |*** MESSAGE [constants] *** FKarm = 0.4 |*** MESSAGE [constants] *** RPlanet = 6371000. |*** MESSAGE [constants] *** Omega = 0.7292106590880652E-04 |*** MESSAGE [constants] *** Grav = 9.800000000000001 |*** MESSAGE [constants] *** CpDry = 1004.6 |*** MESSAGE [constants] *** MolWtDry = 0.28964E-01 |*** MESSAGE [constants] *** GasRDry = 287.0459881231874 |*** MESSAGE [constants] *** CpWet = 1810. |*** MESSAGE [constants] *** MolWtWet = 0.1801528E-01 |*** MESSAGE [constants] *** GasRWet = 461.4971291037386 |*** MESSAGE [constants] *** LatentHeat = 2500000. |*** MESSAGE [constants] *** EpsV = 0.6219886755972932 |*** MESSAGE [constants] *** -- version ...
リスタートデータの入出力に関する情報です. restart_file_io モジュール で管理されています. 各値の詳細はこのモジュールのマニュアルを参照してください.
|*** MESSAGE [restart_file_io] *** ----- Initialization Messages ----- |*** MESSAGE [restart_file_io] *** Input:: |*** MESSAGE [restart_file_io] *** InputFile = |*** MESSAGE [restart_file_io] *** Output:: |*** MESSAGE [restart_file_io] *** OutputFile = restart.nc |*** MESSAGE [restart_file_io] *** IntTime = 1. [day] |*** MESSAGE [restart_file_io] *** -- version ...
ヒストリデータの出力に関する情報です. gtool5 ライブラリ の gtool_historyauto モジュールで管理されています. 各値の詳細は こちら を参照してください.
|*** MESSAGE [HistAuto] *** ----- "gtool_historyauto_nml" is not loaded" ----- |*** MESSAGE [HistAuto] *** Global Settings: |*** MESSAGE [HistAuto] *** AllOutput = T |*** MESSAGE [HistAuto] *** FilePrefix = |*** MESSAGE [HistAuto] *** Interval = 1. [day] |*** MESSAGE [HistAuto] *** Precision = float |*** MESSAGE [HistAuto] *** TimeAverage = F |*** MESSAGE [HistAuto] *** Origin = 0. [sec] |*** MESSAGE [HistAuto] *** Terminus = 7. [day] |*** MESSAGE [HistAuto] *** SliceStart = (/ 1, 1, 1, 1, 1 /) |*** MESSAGE [HistAuto] *** SliceEnd = (/ -1, -1, -1, -1, -1 /) |*** MESSAGE [HistAuto] *** SliceStride = (/ 1, 1, 1, 1, 1 /) |*** MESSAGE [HistAuto] *** SpaceAverage = (/ F, F, F, F, F /) |*** MESSAGE [HistAuto] *** NewFileInterval = -1 [day] |*** MESSAGE [HistAuto] ***
力学過程の設定に関する情報です. dynamics_hspl_vas83 モジュール で管理されています. 各値の詳細はこのモジュールのマニュアルを参照してください.
|*** MESSAGE [dynamics_hspl_vas83] *** ----- Initialization Messages ----- |*** MESSAGE [dynamics_hspl_vas83] *** TimeIntegScheme = Semi-implicit |*** MESSAGE [dynamics_hspl_vas83] *** EFoldTime = 8640. [sec] |*** MESSAGE [dynamics_hspl_vas83] *** VisOrder = 8 |*** MESSAGE [dynamics_hspl_vas83] *** VisCoef = 0.214573634546703E+43 |*** MESSAGE [dynamics_hspl_vas83] *** GeoPotentialFile = |*** MESSAGE [dynamics_hspl_vas83] *** GeoPotentialVarname = |*** MESSAGE [dynamics_hspl_vas83] *** -- version ...
計算設定を変更するには NAMELIST ファイルを使用してください. サンプルとして dcpam_hs94_T42L20.nml を用意しています. このファイルを元に NAMELIST ファイルを作成してください. 以下は dcpam_hs94_T42L20.nml の一部です.
#= dcpam_hs94 プログラム用 NAMELIST ファイル (T42L20 用) #= NAMELIST file for "dcpam_hs94" # &fileset_nml FileTitle = 'dcpam5 test run', ! 出力データファイルの表題. ! Title of output data files FileSource = 'dcpam5 (http://www.gfd-dennou.org/library/dcpam)', ! データファイル作成の手段. ! Source of data file FileInstitution = 'GFD Dennou Club (http://www.gfd-dennou.org)' ! データファイルを最終的に変更した組織/個人. ! Institution or person that changes data files for the last time / &gridset_nml nmax = 42, ! 最大全波数. ! Maximum truncated wavenumber imax = 128, ! 経度格子点数. ! Number of grid points in longitude jmax = 64, ! 緯度格子点数. ! Number of grid points in latitude kmax = 20 ! 鉛直層数. ! Number of vertical level / :
"&xxxxxx_nml" という NAMELIST 変数群名は xxxxxx というモジュールで 管理される設定値です. dcpam5 で管理される NAMELIST 変数群名のリストおよび 各設定値の詳細については dcpam5 NAMELIST から参照可能です. ただし >ool_historyauto_nml のみは例外です. これに関しては 出力設定の変更 を参照してください.
編集が終わったら, 以下のように オプション -N (または --namelist) に NAMELIST ファイルを指定しつつ, 実行コマンドを入力してください.
$ ./dcpam_hs94 -N=dcpam_hs94_T42L20.nml | tee log.txt *** MESSAGE [timeset] *** NAMELIST group "timeset_nml" is loaded from "dcpam_hs94_T42L20.nml". *** MESSAGE [timeset] *** ----- Initialization Messages ----- *** MESSAGE [timeset] *** StartTime = 0. [day] *** MESSAGE [timeset] *** EndTime = 1200. [day] *** MESSAGE [timeset] *** DelTime = 30. [min] *** MESSAGE [timeset] *** = 1800. [sec] *** MESSAGE [timeset] *** PredictInt = 1. [day] *** MESSAGE [timeset] *** CpuTimeMoniter = T *** MESSAGE [timeset] *** -- version = .... *** MESSAGE [gridset] *** NAMELIST group "gridset_nml" is loaded from "dcpam_hs94_T42L20.nml". *** MESSAGE [gridset] *** ----- Initialization Messages ----- *** MESSAGE [gridset] *** nmax = 42 *** MESSAGE [gridset] *** imax = 128 *** MESSAGE [gridset] *** jmax = 64 *** MESSAGE [gridset] *** kmax = 20 :
※ 作成中 ※
上記の実験では, 初期値データは実行プログラムによって内部で作成されていました. 以下では, 初期値データをファイルに出力する方法を記します.
まず, 上記の作業と同様に practice ディレクトリへ移動し, make コマンド で実験用ディレクトリを作成してください. その後, 作成された実験用 ディレクトリへ移動してください.
初期値データファイル生成プログラムのサンプルとして init_data が 用意されています. また, NAMELIST ファイルのサンプルとして, init_data_T10L8.nml などを 用意しています. init_data_T10L8.nml を編集後, 以下のように実行してください. コマンドラインオプションとして "-h" や "--help" を指定することで, 解像度や出力されるファイル名の一覧が表示されます.
$ ./init_data -N=init_data_T10L8.nml
デフォルトでは, "init.nc" という名前のファイルが出力されます. このファイルを初期値データとして入力する方法に関しては, 初期値データ・リスタートデータファイルの入力 を参照してください.
ファイルから初期値データ, もしくはリスタートデータを読み込む際には, NAMELIST ファイルを編集してください. NAMELIST ファイルの 以下の部分を変更してください.
&restart_file_io_nml InputFile = 'init.nc', ! 入力するリスタートデータのファイル名 ! filename of input restart data : /
"InputFile" の部分に初期値データもしくはリスタートデータのファイル名を 指定します.
NAMELIST ファイルを変更後, 以下のようにその NAMELIST ファイルを -N もしくは --namelist オプションに指定して実験を始めてください.
$ ./dcpam_hs94 -N=dcpam_hs94_TXXLXX.nml
実験が開始されると, 以下のようなデータ入力のメッセージが表示されるはずです. 確認してください.
|*** MESSAGE [HistoryGetDouble3] *** Input init.nc@UB,time=10.0 |*** MESSAGE [HistoryGetDouble3] *** Input init.nc@UN,time=10.0 |*** MESSAGE [HistoryGetDouble3] *** Input init.nc@VB,time=10.0 |*** MESSAGE [HistoryGetDouble3] *** Input init.nc@VN,time=10.0 |*** MESSAGE [HistoryGetDouble3] *** Input init.nc@TempB,time=10.0 |*** MESSAGE [HistoryGetDouble3] *** Input init.nc@TempN,time=10.0 |*** MESSAGE [HistoryGetDouble3] *** Input init.nc@QVapB,time=10.0 |*** MESSAGE [HistoryGetDouble3] *** Input init.nc@QVapN,time=10.0 |*** MESSAGE [HistoryGetDouble2] *** Input init.nc@PsB,time=10.0 |*** MESSAGE [HistoryGetDouble2] *** Input init.nc@PsN,time=10.0
次に, 簡単な物理過程を導入した場合のテスト実験の方法を 説明します.
(なお, クロスコンパイル環境では以下の方法でプログラムを 実行することはできないので注意してください. その場合の実行方法 に関しては, その環境でのプログラム実行マニュアルなどを参照ください. )
practice ディレクトリに移動してください.
$ cd practice
そのディレクトリ内で, make コマンドを実行してください. 自動的に実行ファイルや NAMELIST ファイルがコピーされます. make コマンド入力後, まずディレクトリ名を適宜入力してください. (下記の例では ape-exp としています). それ以降の質問はとりあえずそのまま Enter キーを入力してください.
$ make ****** Setup a directory for a experiment ****** Enter directory name [testXX]: ape-exp Directory in which executable files are prepared [/home/dcpam/work/dcpam5/src/main]: :
そしてそのディレクトリに移動し, init_data と init_data_T21L16.nml を用いて初期値ファイル init_T21L16.nc を作成します.
$ cd ape-exp $ ./init_data -N=init_data_T21L16.nml : *** MESSAGE [restart_file_io] *** ----- Initialization Messages ----- *** MESSAGE [restart_file_io] *** Input:: *** MESSAGE [restart_file_io] *** InputFile = *** MESSAGE [restart_file_io] *** Output:: *** MESSAGE [restart_file_io] *** OutputFile = init_T21L16.nc *** MESSAGE [restart_file_io] *** IntTime = 1. [day] *** MESSAGE [HistoryCreate3] *** "init_T21L16.nc" is created (origin=0. [day]) *** MESSAGE [initial_data] *** NAMELIST group "initial_data_nml" is loaded from "init_data_T21L16.nml". *** MESSAGE [initial_data] *** NAMELIST group "initial_data_nml" is loaded from "init_data_T21L16.nml". *** MESSAGE [initial_data] *** ----- Initialization Messages ----- *** MESSAGE [initial_data] *** Pattern = Small Disturbance of Temperature *** MESSAGE [initial_data] *** TempAvr = 280. *** MESSAGE [initial_data] *** PsAvr = 100000. *** MESSAGE [initial_data] *** QVapAvr = 0.1E-09 *** MESSAGE [HistoryClose] *** "init_T21L16.nc" is closed
次に, sst_data と sst_data_T21.nml を用いて, 地表面データ sst_T21.nc を作成します.
$ ./sst_data -N=sst_data_T21.nml : *** MESSAGE [restart_surftemp_io] *** ----- Initialization Messages ----- *** MESSAGE [restart_surftemp_io] *** Input:: *** MESSAGE [restart_surftemp_io] *** InputFile = *** MESSAGE [restart_surftemp_io] *** InputName = SurfTemp *** MESSAGE [restart_surftemp_io] *** Output:: *** MESSAGE [restart_surftemp_io] *** OutputFile = sst_T21.nc *** MESSAGE [restart_surftemp_io] *** IntTime = 1. [day] *** MESSAGE [HistoryCreate3] *** "sst_T21.nc" is created (origin=0. [day]) *** MESSAGE [surface_data] *** NAMELIST group "surface_data_nml" is loaded from "sst_data_T21.nml". *** MESSAGE [surface_data] *** NAMELIST group "surface_data_nml" is loaded from "sst_data_T21.nml". *** MESSAGE [surface_data] *** ----- Initialization Messages ----- *** MESSAGE [surface_data] *** Pattern = Hosaka et al. (1998) *** MESSAGE [surface_data] *** SurfTemp = 302. *** MESSAGE [surface_data] *** Albedo = 0.15 *** MESSAGE [surface_data] *** HumidCoeff = 1. *** MESSAGE [surface_data] *** RoughLength = 0.1E-03 *** MESSAGE [surface_data] *** HeatCapacity = 0. *** MESSAGE [surface_data] *** TempFlux = 0. *** MESSAGE [surface_data] *** SurfCond = 0 *** MESSAGE [HistoryClose] *** "sst_T21.nc" is closed
最後に dcpam_ape, dcpam_ape_T21L16.nml を用いて実行します. 解像度 T21L16, 時間ステップ 20 分で 7 日分計算を行います. リスタートデータ, 地表面リスタートデータといくつかのヒストリデータ ファイルが出力されます.
$ ./dcpam_ape -N=dcpam_ape_T21L16.nml
初期値データ, 地表面データ, 実験設定を変更する場合には, 上記の実行に際して, init_data_T21L16.nml, sst_data_T21.nml, dcpam_ape_T21L16.nml を変更してください.
※ 作成中 ※
※ 作成中 ※
src ディレクトリ以下の編集を行った場合, 以下のようにすることで practice 以下の実験用ディレクトリの内容を簡単に更新することが 可能です. なお, src 以下の Fortran 90/95 プログラムの変更を 行う際には らくらく dcpam5 (製作中) を参照してください.
まず, practice 以下の実験用ディレクトリへ移動します.
$ cd practice/testXX
以下のコマンドを入力します. 更新するか問われるので, "Y" を 入力します.
$ make update Update directory "testXX" ? [y/N]: Y
src ディレクトリ内で更新されたファイルが practice/testXX に コピーされます. 古いファイルは ".bak.XX" というサフィックスが付加 されたファイル名に変更されます.