dcpam は 3 次元球面上のプリミティブ大気の大気大循環を計算するための数値モデルである.
物理過程のパラメタリゼーションスキームや数値計算スキームを簡単に変更することができ, それにより地球および火星などの惑星大気を想定した様々な状況の計算を可能にすることをめざす.
加えて, 空間次元を低減させた 鉛直1 次元放射対流モデル・南北1次元エネルギーバランスモデル・南北高度 2 次元軸対称モデル・東西高度赤道断面 2 次元モデルなどのモデル群を同じ枠組で整備し, 3 次元計算結果の解釈・理解を得るための 1 つの方法を提供することをめざす.
dcpam の開発にあたっては以下の点に配慮する.
- 【共有と継承を考慮したプログラムコードの記述】
本研究では見通しのよいプログラム構造を実現するために Fortran 90
をプログラム言語として採用する. プログラムの記述にあたっては,
気象庁コーディングルール に準拠し, プログラムの可読性の向上を
図る. これにより数値モデルの共有と継承が容易になると期待される.
- 【惑星大気への応用を想定したプログラム構造の実現】
地球, 火星, 金星大気への応用を容易にするには, プログラムの構造化
が適切になされている必要がある. プログラムは各惑星毎に異なる物理
過程を計算する応用ルーチン, 変更の必要がない共通ルーチン, 共通ルー
チンの下請け作業を行う下位ルーチンから構成されるようにする. これ
は Fortran 90 のモジュール機能を活用することで実現することができ
る.
さらに惑星パラメータの変更と物理過程の交換の際にプログラムの再コ
ンパルが不要なパラメータ入力と各ルーチンのリンク方法を検討する.
これを実装することにより計算設定の自在な変更が可能となり, 作業効
率の大幅な向上が期待できる.
- 【階層的数値モデルを提供するプログラム構造の実装検討】
3 次元モデルであるGCMの計算結果を理解する際には, 同じ物理過程を持
つ空間次元を低減させた縮小システムモデルの結果との比較が有効であ
ることが多い. コンパイル時に用いる make プログラムの引数の変更だ
けで, そのようなモデルの自動生成が可能な大気大循環モデルのプログ
ラム構造の検討と実装実験を行う. 空間次元を低減させたモデルとして
は鉛直および水平 1 次元モデル, 2 次元軸対称モデルを想定する.
- 【ネットワーク透過なデータ構造の実装】
プログラム実行とそのデータ解析を行う計算機アーキテクチャが異なる
場合, データ形式はそれらの違いを吸収するような透過性を持つことが
望ましい. さらにそのようなデータに自己記述性を持たせておくと, 数
値計算データを観測データのようにネットワークを介して流通させるこ
とができる. そこでデータ構造として
gtool4/netCDF 規約
を採用する.
- 【異機種計算機間でのプログラム移植性の確保】
教育資源として活用するためには数値モデルの移植性が確保されている
ことが必要である. 移植性を確保するアーキテクチャは Intel 80386 系
(Windows および Linux)と国産メーカの大型計算機系(具体的には NEC,
Fujitsu, HITACHI)とする. その他のアーキテクチャに関しては, 言語規
格に忠実なプログラムコー ドとすることで移植性を高めることにする.
- 【ドキュメントの充実】
教育資源としてのソフトウエアに必要なドキュメント, すなわちコード
を読んで学習できるよう詳細なコード解説, インストールおよび実行方
法ガイド, そしてモデルの基本的な性能がわかるような「模範実験集」
を用意する. これらによってモデル利用者は独学でも大気大循環に関す
る学習と数値計算の経験が可能となる.
本プロジェクトにて開発された dcpam は
地球流体電脳倶楽部 www サーバ
において公開される予定である. 著作者人格権を侵害する場合を除き,
利用制限はとくに設けない予定である.
|