モデル中の主要な変数の命名法について述べる. これはコードと本稿の理解に必 要である. 下記の命名法は Takehiro et al. (2006) に倣い, また 大気大循環モデルで用いるために多少の拡張をおこなったものである.
配列型の変数名の基本形は以下のようにする.
(次元情報に関する接頭詞)_(物理的意味)(時間方向添字)
(物理的意味)(時間方向添字)
(時間方向添字)
を記述しない.
次元情報に関する接頭詞, 物理的意味, 時間方向添字の付け方については以下で
説明する.
次元情報に関する接頭詞・接尾詞には, 以下の文字を用いる.
x 格子点データ(x / 経度座標) y 格子点データ(y / 緯度座標) z 格子点データ(z / 動径座標) r 格子点データ半整数レベル(z / 動径座標) w 球面調和関数展開スペクトルデータ a 上記以外の座標
時間方向の添え字には大文字を用いる.
未来のタイムステップを表すには A
を,
現在のタイムステップを表すには N
を,
過去のタイムステップを表すに B
を用いる.
基本的なルールは以下の通りである.
上記の規則に基づく変数の例を示す.
Fig.2.1 にメインプログラムとその直接の下請ルーチンから見た モデルの構造の概要を示す. さらに入出力に関連する部分も書き加えた. dcpam5が必要とする入力ファイルは初期値ファイルと 地表面に関する境界値, 地形ファイル である. 但し, 初期値ファイル以外は省略して, デフォルトまたは陽に指定した 一定値を用いることが出来る. 出力ファイルとしては, 結果を残すためのヒストリーファイル と時間積分を延長するためのリスタートファイルが出力される. 後者は延長積分時に初期値ファイルとして使われる.
モデルは初期化部分と時間積分のメインループの二つの部分に分けることが できる. 前者は初期値の読み込みと若干の定数の設定を行う. 後者が言うまでもなくモデルの主要部分である. 境界値, 地形ファイルの読み込みはループに組み込まれてはいるが, 現在のところ最初の一回しか読み込まれないので時間変化しない.
時間積分にはリープフロッグのセミインプリシット法が用いられているので, 時 間の流れは単純ではない. 例えば 分として, ある時刻 の値を用いて の値を計算した場合, この の値をそのまま用いる のではなく, 時間フィルター (Fig.2.1 の TimeFilter) を用いてこの 3 レベルの値から の 値を修正する. 次のステップでは, の値を用い, 次の ステップの値を計算することとなる.
モデルの時間積分はリープフロッグスキームのセミインプリシット法により行わ れる. 物理過程で計算された時間変化項は力学過程に引き渡され, 時間積分は力 学過程の中で行われる. ただし, 物理過程のうち, 降水過程などの調節過程は時 間積分後に適用される.