我々の階層モデル群において 大量データをどのように取り扱かおうとして

数値モデルの出力データをどの
ように取り扱っているか?
石渡 正樹 (北大・地球環境)
小高 正嗣 (北大・理)
森川 靖大 (北大・理)
林 祥介(北大・理)
dcmodel プロジェクト
http://www.gfd-dennou.org/library/dcmodel
地球大気との比較
階層的モデル群による
アプローチ
歴史的経緯
• 1990: AGCM5 と GTOOL3
– もともと気象庁のモデルであったものを大学用モデルとして
再構築
– データ形式の考案、I/Oライブラリと可視化ツールの作成
• 19??:ISPACK開始
– スペクトル変換法のためのライブラリ
• 1999: Davis プロジェクト
– netCDF を用いることによる自己記述形式の検討:gtool4
– オブジェクト指向スクリプト言語Ruby 使用し始める
• 2002 :SPMODEL, Ruby モジュール達が本格的に
• 2003 :gt4f90io, GMS開始
ソフトウェアの全体像
models
SPMODEL
tools for analysis and visualization
GAVE
DCPAM
DCL
GPhys
ISPACK
gt4f90io
RubynetCDF
gtool4 netCDF convention
netCDF3.6 / netCDF4
data
我々の日々の営み
• F90で書かれた数値モデルからデータ生成
– Gtool4 netCDF 規約に基づくデータ
• 規則正しい, netCDF, 自己記述的情報
• 付加される情報
– 作成者・表題・履歴
etc...
– 変数・時刻・座標・欠損値・単位 etc...
– データ I/O ライブラリ: gt4f90io
• 解析・描画
– Dennou Ruby ツール群 (GPhys, gpview, GAVE)
• Web 化(公開)
– 基本的には「手動で」ガシガシ作る
– Ruby スクリプトでちょっと省力化
具体例
• 大気大循環モデルを用いたパラメータ変更実験
– 放射のパラメータを変えたときに熱帯の雨の降り方はどう
変わるか
– 研究グループは10人以下
• データの置き場の実際
– 実際のサーバ中のディレクトリ・ファイルを見てみましょう
– 10ケース程度の実験で全部で??GB
• 結果の図の置き方の実際
– http://dennou-k.gfddennou.org/arch/ape/agcm5/mradl/stdexp/stdexp.html
– このような web ページを介して結果の検討
困ったことは
• 数値実験の履歴の管理はほとんどしてない
– どんな実験やったのかわからなくなってしまう
– 各実験の覚え書きをちゃんと残しておきたいが。。
• ファイル(数値データも画像も)の管理情報は
基本的に頭の中に
– cd でディレクトリツリーの中をさまよったりする
• 画像データの「属性」の管理をしたいのだが、
どうしたら良いかわからない
– どうやって図を描いたか忘れてしまう
現状のサマリー
• モデルが出力する数値データ、そこから派生
する画像データの管理は基本的に「手動」で
作業者の記憶に頼っている。
• どのようなデータ、どのような図が存在するか
というのを探せるシステムがあれば嬉しいの
かもしれないが、
– かけるコストに見合うものはできるのか?
– データベースなど活用すると嬉しいのか?
数値データの管理の現状
• ファイル単体の情報
–
–
–
–
gtool4 netCDF 規約に沿って付加される自己記述的情報
見るときは ncdump というコマンドで直接
ファイル名もそれなりに工夫はする
Namelist ファイルも組みで置いておく
• ディレクトリ構成の情報
– 各ディレクトリに ****.SIGEN というファイルを作成
– SIGEN ファイルに製作者, 製作日時, ディレクトリ内に格納されるデー
タの総合的な情報
– 定期的にスクリプトを起動して各ディレクトリの SIGEN ファイルを解析,
各ディレクトリに SIGEN.htm というファイルを作成 (Web 上からでも確
認できる.)
• データベース専門のかっこいいソフトは使ってない