260 likes | 522 Views
電脳 davis – gtool4 に関する ワークショップ. davis / gtool4 プロジェクト その背景と野望. 小高正嗣 , 石渡正樹 , 林祥介 電脳 davis プロジェクト http://www.gfd-dennou.org/arch/davis. 目次. davis プロジェクトの背景と目標 そもそも何がしたかったのか これまでの経過 何を行ってきたか? これからの展望 データ構造はどうする 数値モデルはどうする 解析・可視化はどうする . davis プロジェクトの背景と目標. はじめに.
E N D
電脳 davis – gtool4 に関する ワークショップ davis / gtool4 プロジェクトその背景と野望 小高正嗣, 石渡正樹, 林祥介 電脳 davis プロジェクト http://www.gfd-dennou.org/arch/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 JST プロジェクト開始 2000/03 JST 発表会 • gtool4 netCDF規約 • dcl-C, dcl-f90, gtool4, RubyDCL のプロトタイプ 2001/06 合同大会 • RubyDCL 2002/03 第1回電脳 Ruby ワークショプ • GPhys 2003/03 第2回電脳 Ruby ワークショップ • gdcl 2004/03 第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/