DCPAM は 3 次元球面上のプリミティブ方程式に従う大気の大循環を計算するための 数値モデルである. DCPAM では, 地球, 火星, 木星などの惑星大気を想定した状況, 種々の理想的な状 況の計算を容易に実行できるようにすることをめざす. 加えて, 空間次元を低減させた 鉛直1 次元放射対流モデル・南北1次元エネ ルギーバランスモデル・南北高度 2 次元軸対称モデル・東西高度赤道断面 2 次元モデルのモデル群を同じ枠組で提供・整備する. これにより, 3 次元計算結果を解釈し, 理解を得るための活動の一助となる ことをめざす.
以上の目的を実現するためにコードの構造にも配慮しており, DCPAM では以下のソフトウエア的な要件を持たせることを目指している.
読みやすく変更しやすいコーディングがなされていること.
DCPAM では Fortran 90 をプログラム言語として採用する. ソースコードの細部が見やすくするように, また全体の書式を統一する ために, 気象庁コーディングルール に準拠してソースコードを記述する. また, 数式を計算する部分では, もとの方程式が容易にわかるような 記述をおこなう. そのために SPMODEL ライブラリを活用した「数式に近いコード」を作成することをめざす.
ドキュメントをあわせ持つこと
教育資源としてのソフトウエアに必要なドキュメント, すなわちコード を読んで学習できるよう詳細なコード解説, インストールおよび実行方 法ガイド, そしてモデルの基本的な性能がわかるような「模範実験集」 を用意する. これらによってモデル利用者は独学でも大気大循環に関す る学習と数値計算の経験が可能となる.
プログラム単位の変更・取り換えが容易なプログラム構造
物理過程のパラメタリゼーションスキームや数値計算スキームを簡単に変更 することができるようにする.
地球, 火星, 金星大気への応用を容易にするには, プログラムの構造化 が適切になされている必要がある. プログラムは各惑星毎に異なる物理 過程を計算する応用ルーチン, 変更の必要がない共通ルーチン, 共通ルー チンの下請け作業を行う下位ルーチンから構成されるようにする. これ は Fortran 90 のモジュール機能を活用することで実現することができ る.
さらに惑星パラメータの変更と物理過程の交換の際にプログラムの再コ ンパルが不要なパラメータ入力と各ルーチンのリンク方法を検討する. これを実装することにより計算設定の自在な変更が可能となり, 作業効 率の大幅な向上が期待できる.
本プロジェクトにて開発された DCPAM は 地球流体電脳倶楽部 www サーバ を通じてネットワーク上に公開していく. その使用にあたっては, ライセンス規定を参照されたい.