電脳 davis – gtool4 に関する ワークショップ
davis / gtool4 プロジェクト
その背景と野望
小高正嗣, 石渡正樹, 林祥介
電脳 davis プロジェクト
http://www.gfd-dennou.org/arch/davis
目次
 davis プロジェクトの背景と目標
 そもそも何がしたかったのか
 これまでの経過
 何を行ってきたか?
 これからの展望
 データ構造はどうする
 数値モデルはどうする
 解析・可視化はどうする
davis プロジェクトの背景と目標
はじめに
 davis プロジェクトって何?


Development of tools for Analysis and VISualization
多次元データの構造化と可視化
 以下の製品開発を目指す
 我々にとって使い勝手のよいデータ構造
 我々にとって使い勝手のよい解析・可視化ツール
背景:データの嵐
 さまざまな形式のデータが多量に氾濫




衛星観測データ
客観解析データ
数値モデルデータ
…
 データ参照コストの増加

このデータ何?
• いつ, どこで, 誰が作った何のデータなの?
• 「見る」ためにはどうすればよい?
例題:数値モデリング
例題:観測とモデルとの比較
 データ構造を意識せず
NCEP/NCAR
に扱いたい


客観解析データを初期
値にモデルを計算
客観解析データとモデ
ルデータとの差分をとる
モデル
Now Printing
塩谷先生のお言葉
隣の専門家がわかる情報を
提供すべし
1998/10/23
多次元データの解析と可視化に関するワークショップ
(最初の davis ワークショップ)
我々の欲しいモノ
 みんなで好きに使える数値モデルが欲しい
 理解のための数値モデル
• 米国製はあちこちに転がっているが…
 みんなで好きに使えるデータが欲しい
 隣の専門家と会話したい
 データ自身が中身を語ってくれる(自己記述的)と嬉しい
 みんなで好きに使える解析・可視化ツールが欲しい
 売り物は(あまり)使いたくない
• 実際は、高価なのにイマイチなものが多い

かといって GrADS 使うのもねぇ
再び塩谷先生のお言葉
技術的な仕事、教育活動も
研究活動の一環
自作への道へ
davis プロジェクト開始
davis 以前の世界
 数値モデル: 電脳倶楽部 AGCM5

沼口さん作成の大気大循環モデル
 可視化と解析: GTOOL3


スパコン仕様なので FORTRAN77
描画に DCL を利用
 データ構造: GTOOL3 形式

固定ヘッダー+データの機種依存バイナリ
• MT I/O を考慮
davis の世界:目標
 みんなで好きに使えるデータ

ネットワーク透過であること
• GTOOL3 形式は機種依存

自己記述的であること
 みんなで好きに使える解析・可視化ツール

対話的に使えるもの
• GTOOL3 は FORTRAN77
• 上記のデータ形式をちゃんと理解してくれる
これまでの経過
davis プロジェクト年表
1998/10
1999/04
2000/03


gtool4 netCDF 規約
dcl-C, dcl-f90, gtool4, RubyDCL のプロトタイプ
2001/06

第2回電脳 Ruby ワークショップ
gdcl
2004/03

第1回電脳 Ruby ワークショプ
GPhys
2003/03

合同大会
RubyDCL
2002/03

最初のワークショップ
JST プロジェクト開始
JST 発表会
第3回電脳 Ruby ワークショップ
gt4f90io, GAVE
方針
 データ構造
 既存のデータ構造と親和的なものに
 可視化情報を含める
• クリック一発でとりあえず絵を描く
 解析・可視化ツールは DCL をベースに
 階層化された構造
• 「かゆいところに手が届く」(by 竹広さん)

Fortran90 に対応: dcl-f90
• 数値計算はスパコン

C に対応: dcl-C
• 解析, 描画はワークステーション
• 対話処理をさせるには C 化しておくのがよい
gtool4 プロジェクト
 データ構造の策定と Fortran90 によるツール
開発
 構成



データ構造:gtool4 netCDF 規約
数値モデル I/O ライブラリ:gtool_history
解析・描画のコマンドラインツール:gtview
キャッチフレーズ:クリック一発で絵が描ける
データ構造
 netCDF データ形式を利用



格子点データを想定
ネットワーク透過
ファイルや変数に任意の属性を与えられる
• 与え方(規約)は自分たちで考えないといけない

すでに利用実績がある
• COARDS 規約, NCAR CSM 規約
 gtool4 netCDF 規約を策定
gtool4 netCDF 規約
 http://www.gfd-
dennou.org/arch/gtool4/gt4ncconv-current/
 以下のような「属性」を定義


データ名, データの作者, 編集履歴
時空間座標の識別, 平均操作の重み, 欠損値
 既存の規約との互換性を考慮

COARDS 規約, NCAR CSM 規約
電脳 Ruby プロジェクト
 Ruby による解析・可視化ツールの開発
 ワークステーション, パソコンで対話的に使える
ツールを目指す
•
•
•
•
•
RubyDCL
RubyNetCDF
GPhys
GAVE
…
 第2回電脳 Ruby ワークショップで出揃う
 2003/03
gt4f90io
 電脳 Ruby プロジェクトの成果をふまえて


解析・可視化は Ruby の方が将来性ありそう
素人さんでも使えそうな雰囲気が伝わってきた
 gtool4 から gt4f90io へ


gtool4 から可視化部分をとりはずす
F90 ベースの数値モデルのデータ I/O に特化
これからの展望
隣の専門家と会話するために
 道具はそろってきた


数値モデルの I/O
解析・可視化
gt4f90io
電脳 Ruby 製品
 規約が重要!

gtool4 netCDF 規約を充実させる
• たりない属性はまだまだあるはず

道具たちが規約を解釈できるようにする
• それぞれの製品とも現時点での対応は不十分
みんなで好きに使える数値モデル
 データ I/O ライブラリ: gt4f90io
 コードの可読性に着目した試み


スペクトルモデル
グリッドモデル
SPMODEL
Grid Modeling System
 これらをベースに階層的数値モデル群を整備

DCPAM
• Dennou Club Planetary Atmospheric Model
みんなで好きに使えるデータ
 データ構造は gtool4 netCDF 規約 で
 みんなで好きに使える数値モデル開発のために:
DCCHART プロジェクト

惑星大気の標準データを確保
• 我々にとって使い勝手の良い形式で
• モデルのデータと簡単に差分がとれるように

教科書的な一連の図を作成
• 世界の常識とその見方を押さえておく


上記を gtool4 規約と電脳 Ruby 製品で実行
同時にそれらを鍛えることを目指す
参考 URL
 davis プロジェクト
 http://www.gfd-dennou.org/arch/davis/
 gtool4 プロジェクト
 http://www.gfd-dennou.org/arch/gtool4/
 電脳 Ruby プロジェクト
 http://www.gfd-dennou.org/arch/ruby/
 SPMODEL
 http://www.gfd-dennou.org/arch/spmodel/
 DCCHART プロジェクト
 http://www.gfd-denno.org/arch/dcchart/
メモ
ダウンロード

ppt ファイル