2004 年度 地球惑星科学専攻 修士論文要旨集
2005 年 2 月 2 日

氏名 森川 靖大
論文題目 惑星大気大循環モデル DCPAM の開発: データ I/O ライブラリの改良および力学コアの設計と実装実験
論文要旨 プログラム構造の可変性とソースコードの可読性の向上を模索するべく, GCM (General Circulation Model, 大気大循環モデル) を新たに設計し, その プログラム実装と試験計算を行った. (以後, このモデルを DCPAM, Dennou-Club Planetary Atmosphere Model と呼ぶことにする). 同時に, netCDF による自己記述的多次元格子点データの入出力が可能となるように I/O ライブラリの開発整備をおこなった. 可読性の向上によりプログラムの 改良や変更のコストの削減が期待され, 可変性の向上により新たなプログラム の追加や既に組み込まれているプログラムの分離を容易にすることが期待でき る. また計算結果を自己記述的多次元格子点データに出力することで, 解析 のコストを削減すること目指した.

DCPAM の設計は, AGCM5 (SWAMP Project, 1998) を参照しつつ Fortran90 の機能を積極的に活用することを念頭において行った. 可変性向上のために, モジュール・構造型・総称手続きなどを用いたオブジェクト指向的設計によっ てモデルの内部構造の階層化と I/O ライブラリの分離を試みた. 可読性を向 上するために, SPMODEL ライブラリ (Takehiro et al., 2004) において用い られていた関数および変数命名規則を拡張した命名規則を考案した. さらに, 気象庁標準コーディングルール (Muroi, et al., 2002) とThe FMS Manual (Balaji, 2002) における Fortran90 コーディングルールを参考にし, 変数の 宣言方法のルールやモジュールの初期化・終了処理の統一方法のルールなどを 取り入れた. プログラムの解説ドキュメントの生成を容易に行う試みとして, Fortran90 ソースコードにRD 形式 (Ruby Documentation Project, 2005) の コメント文を埋め込み, ソースコードから HTML 形式や TeX 形式を自動生成 できるようにした. この仕組みにより, プログラムとその解説ドキュメント との乖離を防ぎ, ドキュメント管理コストを削減することができる.

DCPAM における I/O ライブラリの分離とモジュール化のために, gtool4 ツール・ライブラリ (Toyoda et al., 2002) を改良し, gt4f90io として整備 した. gtool4 では入出力データの形式として COARDS 上位互換のgtool4 netCDF規約 (Toyoda et al., 2000) を定めており, これにより, データに関 する情報の取得や解析のコストの削減が期待できる. これを改良し, Fortran90 のためのデータ I/O に特化したgt4f90io は DCPAM だけでなく, 様々な数値モデルに用いることが可能である.

DCPAM の力学部分の動作試験として, Held and Suarez (1994) のGCM 力 学コアのベンチマークテストを行った. 1200 日の積分を行った結果, 傾圧不 安定やハドレー循環は表現できることが確認された. ただし, 亜熱帯ジェット の位置に関してはHeld and Suarez (1994) の結果とは差異が見られた. この 原因は波の活動度の違いやモデルの空間解像度の違いであると考えられる.