Upload
kaden
View
59
Download
0
Embed Size (px)
DESCRIPTION
gt4f90io : gtool4 規約に基づく Fortran90 netCDF I/O ライブラリ. 北海道大学大学院 理学研究科 地球惑星科学専攻 地球流体力学研究室 修士課程 2 年 森川 靖大. 目次. I. 背景 ・ データの嵐 ・ 例えば何がしたいのか? ・ 何が欲しいのか? ・ davis プロジェクト. III. gt4f90io ・ 概要 ・ 特徴 ・ サブルーチン群 ・ 使用例 ・ まとめ ・ 課題 - PowerPoint PPT Presentation
Citation preview
gt4f90io: gtool4 規約に基づく Fortran90 netCDF I/O ライブラリ
北海道大学大学院 理学研究科 地球惑星科学専攻地球流体力学研究室 修士課程 2 年
森川 靖大
IV. これから… ・ 何が欲しかったっけ? ・ 理解のための数値モデルへ
- SPMODEL- DCPAM
IV. これから… ・ 何が欲しかったっけ? ・ 理解のための数値モデルへ
- SPMODEL- DCPAM
III. gt4f90io ・ 概要 ・ 特徴 ・ サブルーチン群 ・ 使用例 ・ まとめ ・ 課題 ・ おまけ(お手軽 Install )
III. gt4f90io ・ 概要 ・ 特徴 ・ サブルーチン群 ・ 使用例 ・ まとめ ・ 課題 ・ おまけ(お手軽 Install )
目次目次
II. これまでの経過・ davis プロジェクト年表・ GTOOL3・ gtool4 プロジェクト
- 今までの取り組み- 現在の取り組み
II. これまでの経過・ davis プロジェクト年表・ GTOOL3・ gtool4 プロジェクト
- 今までの取り組み- 現在の取り組み
I. 背景・ データの嵐・ 例えば何がしたいのか?・ 何が欲しいのか?・ davis プロジェクト
I. 背景・ データの嵐・ 例えば何がしたいのか?・ 何が欲しいのか?・ davis プロジェクト
背景背景
データの嵐データの嵐様々な形式のデータが多量に氾濫
衛星観測データ客観解析データ数値モデルデータ
ネットワークの発展で活発に流通
データ参照コストの劇的な増加 「何の」データ? 「いつ」 , 「どこで」 , 「誰が」作った
データ? どうやって「見る」の?
例題:数値モデリング例題:数値モデリング
階層的モデル群によるアプローチ
地球大気との比較
例題:観測とモデルの比較例題:観測とモデルの比較客観解析データを初期値にモデルを計算客観解析データとモデルデータとの比較
NCEP/NCAR ( 客観解析データ ) モデル
Now Printing
「客観解析データ」とは、元々規則的に並んでいない観測データを、数値モデルによって規則的に配置されたデータにしたもの。(?)
普通、数値モデルで用いるデータとしては、最も観測データに近い。(?)
何が欲しいのか?何が欲しいのか?みんなで好きに使える数値モデル
メカニズムを理解するための数値モデル• 地球以外にも容易に適用できると嬉しい
みんなで好きに使えるデータ データ参照コストを抑え、隣の専門家とサクサク会話し
たい データ自身が中身を語ってくれる(自己記述的)と嬉し
い
みんなで好きに使える解析・可視化ツール 売り物は(あまり)使いたくない
• 実際は、高価なのにイマイチなものが多い かといって GrADS 使うのもねぇ
• 先のような例題に使うには少々不向き
davis プロジェクト (1998)davis プロジェクト (1998)
Development of tools
for Analysis and VISualization 【多次元データの構造化と可視化】
以下の製品開発を目指す我々にとって使い勝手のよいデータ構造我々にとって使い勝手のよい解析・可視化ツール
最初の davis ワークショップ (1998) での一言『隣の専門家が分かる情報を提供すべし』『技術的な仕事、教育活動も研究活動の一環』
これまでの経過これまでの経過
davis プロジェクト年表davis プロジェクト年表
1989 ~ 90 ( davis 以前) GTOOL3, dcl
: : 1998/10 最初の davis ワークショップ1999/04 JST プロジェクト開始2000/03 JST 発表会
gtool4 netCDF 規約 gtool4 Tools/Library, dcl-C, dcl-f90, RubyDCL のプロトタイプ
2001/06 合同大会 RubyDCL
2002/03 第1回電脳 Ruby ワークショプ Gphys, RubyNetCDF
2003/03 第2回電脳 Ruby ワークショップ gdcl
2004/03 第3回電脳 Ruby ワークショップ gt4f90io, GAVE
GTOOL3 ソフトウェア I/O ライブラリ + 解析・可視化ツール群 Fortran77 で記述 構成
GTOOL3 (1989)GTOOL3 (1989)
GTOOL3 Library
解析ツール群 可視化ツール群
DCL
文字処理、数値基礎処理、可視化ライブラリ
数値モデル
I/O ライブラリ
GTOOL3 データ構造 Sequential Unformatted ファイル
• テープドライブとの入出力が念頭にあったため 自己記述性を ( ある程度 ) 実現
• ヘッダ部分にデータ名や次元サイズや作成日などの情報を格納
gtool4 プロジェクト (1999)gtool4 プロジェクト (1999)
GTOOL3 の欠点を克服したツール開発自己記述性の強化
• データと「軸ファイル」を統合ネットワーク透過性の向上
•機種依存 (浮動小数点、 Big/Little endian問題) 回避
データ構造の多様性への対応• 3 次元以上のデータの取り扱い
内部構造の整理•徹底した階層化
gtool4 Tools/Library I/O ライブラリ + 解析・可視化ツール群 Fortran 90 で記述 : モジュール、構造型、総称手続き を活用 ファイル形式は netCDF : 高移植性、多次元データ、自己記述的 構成
今までの取組み (~ 2002)今までの取組み (~ 2002)
gtool4 Fortran90 Tools/Library
解析ツール群 可視化ツール群
NetCDFLibrary
その他のデータアクセスライブラリ (未定 )
DCL
数値モデル
I/O ライブラリ
gtool4 netCDF 規約 多次元データと可視化情報を自己記述的に格納する netCDF 規約
• 地球科学の格子点データを想定 • 既存の COARDS 規約 , NCAR CSM 規約 との互換性を考慮
: :2000/03 JST 発表会
gtool4 netCDF 規約 gtool4 Tools/Library, dcl-C, dcl-f90, RubyDCL のプロトタイプ
2001/06 合同大会 RubyDCL
2002/03 第1回電脳 Ruby ワークショプ Gphys, RubyNetCDF
2003/03 第2回電脳 Ruby ワークショップ gdcl
2004/03 第3回電脳 Ruby ワークショップ gt4f90io GAVE
電脳 Ruby プロジェクト躍進電脳 Ruby プロジェクト躍進
電脳 Ruby プロジェクトのツール群Ruby による解析・可視化ツールの開発
• ワークステーション、パソコンで対話的に使える ツールを目指す
電脳 Ruby プロジェクトのツール群Ruby による解析・可視化ツールの開発
• ワークステーション、パソコンで対話的に使える ツールを目指す
現在の取り組み (2003~ )現在の取り組み (2003~ )
解析、可視化ツール 電脳 Ruby プロジェクトで
• 解析・可視化は Ruby の方が将来性ありそう• 素人さんでも使えそうな雰囲気が伝わってきた
データ I/O ライブラリ gtool4 から gt4f90io へ
• gtool4 から解析・可視化部分をとりはずす • F90 ベースの数値モデルのデータ I/O に特
化 データ構造
gtool4 netCDF 規約 の充実• まだまだ足りない部分が多いはず
注目 !!!
gt4f90iogt4f90io
gt4f90io (2003-2004)gt4f90io (2003-2004)
数値モデルのデータ I/O ライブラリ Fortran90 の数値モデルでの利用を想定 gtool4 netCDF 形式のデータを出力
正式名称 [日 ] gtool4 規約に基づく Fortran90 netCDF I/O ライブラ
リ [英 ] Fortran90 netCDF I/O library with gtool4 convention
構成gtool4 Fortran90 Tools/Library
NetCDFLibrary
数値モデル 解析ツール群 可視化ツール群
その他のデータアクセスライブラリ (未定 )
DCL
I/O ライブラリ
gt4f90io [Fortran90 netCDF I/O library]
内部用汎用ライブラリ
文字列と数値の変換など
dc_string
エラーの処理
dc_errorデバッグ用モジュール
dc_trace
Fortran コンパイラに依存するコードの共通インターフェイスを提供
sysdep
モジュール構造概観gt4f90io の内部構造gt4f90io の内部構造
UNIDATA netCDF Library
数値モデルの結果を gtool4 netCDF 形式の多次元数値データとして出力するための Fortran 90 インターフェース
gt4_history
各種のデータ形式を抽象化した多次元数値データアクセスライブラリ (データ形式の違いは下層のライブラリによって吸収 )
gtdata_generic
netCDF データアクセス用下層ライブラリ。netCDF 変数の入出力ファイルのオープン、入出力範囲の保持、属性の文字列変換など
an_generic
gt4f90io – Fortran90 netCDF I/O Library
数値モデル (Fortran 90 で記述 )
その他の形式のデータアクセス用下層ライブラリ (未定)
??_generic
その他のデータアクセスライブラリ (未定 )
特徴特徴簡単インターフェース
覚えるべきは…• モジュール名 gt4_history
• 最低限たった 4 つのサブルーチン
多次元格子点データを簡単に出力• 正確には gtool4 netCDF 規約に基づくデータ
gt4_history のサブルーチンgt4_history のサブルーチン
HistoryCreate(file, title, …)初期設定
• 出力ファイル名、タイトル、…、次元変数名、次元サイズ、…
HistoryAddVariable(varname, dims, …)変数定義
• 変数名、依存次元名、…
HistoryPut(varname, value, …)変数出力
• 変数名、出力値、…
HistoryClose終了処理
総称手続き (generic procedure) によって、違うデータ型にも同じ名前のサブルーチンで対応
使用例使用例サンプル Fortran 90 プログラムprogram sample use gt4_history ! モジュールの使用を宣言
[ 型宣言 ] ......
call HistoryCreate( & ! ヒストリー作成 file='sample.nc', title='gt4_history', & ! ・ファイル名、タイトル ..., dims=(/'x','t'/), dimsizes=(/30,0/), & ! ・次元変数、次元サイズ .......) call HistoryAddVariable( & ! 変数定義 varname='temp', dims=(/'x','t'/), .... ) ! ・変数名、依存次元、 ..
[ 時間積分ループ ] : call HistoryPut(varname= 'temp', value=temp) ! 変数の出力 : [ 時間積分ループ 終わり ]
call HistoryClose ! 終了の処理 stopend program sample
まとめまとめgt4f90io
http://www.gfd-dennou.org/arch/gtool4/
御利益Fortran90 数値モデルから gtool4 netCDF データを出力
覚えるモジュール 1 つ、サブルーチン 4 つ• モジュール : gt4_history
• サブルーチン– HistoryCreate 、 HistoryAddVariable
– HistoryPut 、 HistoryClose
課題課題当面の課題
様々なプラットフォームでの動作テスト• 動作確認
– 富士通 Linux 用 Fortran Compiler 3.0, 4.0– Intel Fortran Compiler 7.0, 8.0 (8.0.039 以降 )
gtool4 netCDF 規約 へ対応について• 対応する属性に関して一覧表を作る• 必須属性、推奨属性に関しては自動で netCDF ファイルに出
力• データ入力時には、属性と規約との整合性をチェック
ユーザフレンドリな「入力」用インターフェース開発• 一応出来たけど、ダサいので改良中…
– HistoryGet
ファイル出力プログラムの改良• サイズが巨大になるときは自動で分割するとか?
おまけ(お手軽 Install )おまけ(お手軽 Install )
debian パッケージあります /etc/apt/sources.list に以下の 4 行を追加
apt でインストール
• これは Fujitsu Fortran 4 用。• 他にも ffc3 や Intel Fortran コンパイラ、 ifc6, ifc7, ifc8 を
用意
使い方はチュートリアル参照してね http://www.gfd-dennou.org/arch/gtool4/gt4tutorial/rakuraku/
deb ftp://www.gfd-dennou.org/arch/gtool4/debian/gt4f90io woody/deb-src ftp://www.gfd-dennou.org/arch/gtool4/debian/gt4f90io woody/deb ftp://www.gfd-dennou.org/arch/spmodel/debian woody/deb-src ftp://www.gfd-dennou.org/arch/spmodel/debian woody/
# apt-get install gt4f90io-ffc4 netcdf-ffc4
これから… ?これから… ?
何が欲しかったっけ?何が欲しかったっけ?みんなで好きに使える数値モデル
メカニズムを理解するための数値モデル
みんなで好きに使えるデータ 隣の専門家と会話したい データ自身が中身を語ってくれる(自己記述的)と
嬉しいネットワーク上を透過的に持ち運べるとなお嬉しい
みんなで好きに使える解析・可視化ツール 売り物は(あまり)使いたくない
• 実際は、高価なのにイマイチなものが多い かといって GrADS 使うのもねぇ
• 先のような例題に使うには少々不向き
電脳 Ruby プロジェクトRubyDCL, RubyNetCDF, Gphys, GAVE…第2回電脳 Ruby ワークショップでほぼ出揃う鋭意開発中 !!!
電脳 Ruby プロジェクトRubyDCL, RubyNetCDF, Gphys, GAVE…第2回電脳 Ruby ワークショップでほぼ出揃う鋭意開発中 !!!
gtool4 プロジェクトデータ形式 : gtool4 netCDF 規約データ I/O : gt4f90ioなんとか開発中…
gtool4 プロジェクトデータ形式 : gtool4 netCDF 規約データ I/O : gt4f90ioなんとか開発中…
基盤は揃いつつある 基盤は揃いつつある
理解のための数値モデルを目指して
皆で好きに使える数値モデル皆で好きに使える数値モデル
いくつかの試みSPMODEL (Hierarchical Spectral Models for GFD)
• 階層的地球流体力学スペクトルモデル集– コードの可読性を重視
» 『数式のようなコードが簡単に書ける』 ことを目指す– 階層化された数値モデルを目指す
» 『簡単なモデル ⇔ 複雑なモデル』 を容易に
– データ I/O に gt4f90io を使用» 『隣の研究者が分かるデータ』 を扱うため
DCPAM (Dennou Club Planetary Atmospheric Model)
• 理解できる、可読的・階層的、惑星大気大循環モデル
参考 URL参考 URL gt4f90io ( gtool4 プロジェクト)
http://www.gfd-dennou.org/arch/gtool4
電脳 davis プロジェクト http://www.gfd-dennou.org/arch/davis
DCL (Dennou Club Library) http://www.gfd-dennou.org/arch/dcl
電脳 Ruby プロジェクト http://www.gfd-dennou.org/arch/ruby
SPMODEL http://www.gfd-dennou.org/arch/spmodel
DCPAM http://www.gfd-dennou.org/arch/agcm6 (←古いページ )
http://www.gfd-dennou.org/arch/dcpam (←将来的にはこのページへ )
メモメモ
以降、付録 (?)以降、付録 (?)
個別のサブルーチン
総称手続き総称手続き
Fortran 90 コーディングスタイル オブジェクト指向“的”に…
• クラス → 構造型• メソッド → サブルーチン• 多態性 (polymorphism) → 総称宣言されたサブルーチン
– 引数の型に合わせ、異なるサブルーチンが呼び出される ( 下図参照 )
総称名称 (例: HistoryAddAttr )
例: HistoryAddAttrC 例: HistoryAddAttrL 例: HistoryAddAttrR
《引数の型に応じて実際に呼び出されるサブルーチンが変化》
上位モジュール
下位モジュール
実数型用論理型用文字型用
例: Histo..
《引数の型を気にせず、サブルーチンを呼び出せる》
gt4f90io 詳細図gt4f90io 詳細図
gtool4 Tools/Library 詳細図gtool4 Tools/Library 詳細図
gt4_history 具体的使用例gt4_history 具体的使用例サンプル Fortran 90 プログラム
program sample
use gt4_history ! モジュールの使用を宣言
[ 型宣言 ] ..
call HistoryCreate( & ! ヒストリー作成 file='sample.nc', title='gt4_history sample', & ! ・ファイル名の指定、データ全体の表題の指定 source='Sample program of gt4_history/gt4f90io', & ! ・データを生成する手段 institution='GFD_Dennou Club davis project', & ! ・ファイルを最終的に変更した人 / 組織 dims=(/'x','t'/), dimsizes=(/30,0/), & ! ・次元変数、次元のサイズの指定 longnames=(/'X-coordinate','time '/), & ! ・次元の名前 units=(/'m','s'/), & ! ・次元の単位の指定 origin=real(0.0), interval=real(0.005) ) ! ・時間の原点、出力時間間隔の指定
call HistoryPut('x',x) ! 変数の出力 call HistoryAddAttr('x', 'topology', 'circular') ! 変数に属性を追加
call HistoryAddVariable( & ! 変数定義 (属性指定 ) varname='temp', dims=(/'x','t'/), & ! ・変数名、依存する次元の指定 longname='temperature', units='K', xtype='double') ! ・変数の (長い )名前、単位、変数の型の指定
[ 時間積分ループ ] : call HistoryPut('t',real(it*dt)) ! 変数の出力 call HistoryPut('temp',temp) ! 変数の出力 : [ 時間積分ループ 終わり ]
call HistoryClose ! 終了の処理 stopend program sample
gt4_history 使用結果gt4_history 使用結果 gtool4 netCDF 規約に則った netCDF ファイル
$ ncdump sample.nc (netCDF ファイルの属性 + データを出力 )[出力結果 ]dimensions: x = 30 ; t = UNLIMITED ; // (201 currently)variables: float x(x) ; x:long_name = "X-coordinate" ; x:units = "m" ; x:topology = "circular"; float t(t) ; t:long_name = "time" ; t:units = "s" ; double temp(t, x) ; temp:long_name = "temperature" ; temp:units = "K" ;
// global attributes: :title = "gt4_history sample" ; :source = "Sample program of gt4_history/gt4f90io" ; :institution = "GFD_Dennou Club davis project" ; :history = "unknown unknown> gt4_history: HistoryCreate\n", "" ;data: x = 0, 0.03448276, 0.06896552, 0.1034483, 0.137931, 0.1724138, 0.2068965, : t = 0, 0.0005, 0.001, 0.0015, 0.002, 0.0025, 0.003, 0.0035, 0.004, 0.0045, : temp = 1.38879542122922e-11, 3.87761921792298e-10, 8.53515772443671e-09, :
$ ncdump sample.nc (netCDF ファイルの属性 + データを出力 )[出力結果 ]dimensions: x = 30 ; t = UNLIMITED ; // (201 currently)variables: float x(x) ; x:long_name = "X-coordinate" ; x:units = "m" ; x:topology = "circular"; float t(t) ; t:long_name = "time" ; t:units = "s" ; double temp(t, x) ; temp:long_name = "temperature" ; temp:units = "K" ;
// global attributes: :title = "gt4_history sample" ; :source = "Sample program of gt4_history/gt4f90io" ; :institution = "GFD_Dennou Club davis project" ; :history = "unknown unknown> gt4_history: HistoryCreate\n", "" ;data: x = 0, 0.03448276, 0.06896552, 0.1034483, 0.137931, 0.1724138, 0.2068965, : t = 0, 0.0005, 0.001, 0.0015, 0.002, 0.0025, 0.003, 0.0035, 0.004, 0.0045, : temp = 1.38879542122922e-11, 3.87761921792298e-10, 8.53515772443671e-09, :
解析 and 可視化
by
RubyNetCDF + RubyDCL + Gphys + …
以降はゴミ以降はゴミ
gt4f90io 【概要】 (昔のスライド )gt4f90io 【概要】 (昔のスライド )
正式名称 [日 ] gtool4 規約に基づく Fortran90 netCDF I/O ライブラリ [英 ] Fortran90 netCDF I/O library with gtool4 convention
目的 “Fortran90 netCDF I/O ライブラリ” への機能の特化 & 強化
• 開発 & メンテナンスのコスト削減のため• 可視化 & 解析には、 Dennou Ruby Project のツール群を使用
– 結果として DCL から独立
構想
gt4f90io – Fortran90 netCDF I/O Library
NetCDFLibrary
数値モデル
解析コマンド群
可視化コマンド群
その他のデータアクセスライブラリ (未定 ) DCL Library
RubyNetCDF + …
非依存
目次・旧目次・旧1. これまでの取り組み
1-1. GTOOL3
1-2. gtool4 プロジェクト [1]
1-3. gtool4 プロジェクト [2]
1-4. gtool4 プロダクト
1. これまでの取り組み1-1. GTOOL3
1-2. gtool4 プロジェクト [1]
1-3. gtool4 プロジェクト [2]
1-4. gtool4 プロダクト
2. gt4f90io2-1. 概要2-2. 構造2-3. コーディング2-4. 使用例2-5. 使用結果2-6. 課題2-7. まとめ2-8. URL3. 参考資料
内部用汎用ライブラリ
文字列と数値の変換など
dc_string
エラーの処理
dc_errorデバッグ用モジュール
dc_trace
Fortran コンパイラに依存するコードの共通インターフェイスを提供
sysdep
モジュール構造概観内部構造・アニメ版内部構造・アニメ版
UNIDATA netCDF Library
数値モデルの結果を gtool4 netCDF 形式の多次元数値データとして出力するための Fortran 90 インターフェース
gt4_history
各種のデータ形式を抽象化した多次元数値データアクセスライブラリ (データ形式の違いは下層のライブラリによって吸収 )
gtdata_generic
netCDF データアクセス用下層ライブラリ。netCDF 変数の入出力ファイルのオープン、入出力範囲の保持、属性の文字列変換など
an_generic
gt4f90io – Fortran90 netCDF I/O Library
数値モデル (Fortran 90 で記述 )
その他の形式のデータアクセス用下層ライブラリ (未定)
??_generic
その他のデータアクセスライブラリ (未定 )
背景 【 1 】 ( 以前の発表資料の残骸 )背景 【 1 】 ( 以前の発表資料の残骸 )
様々な形式のデータが多量に氾濫【原因】 コンピュータの進歩 観測技術の向上 ネットワークの発展
データ参照コストの劇的な増加【データ参照コストとは?】 このファイルの形式は? ファイルの内容は? どうやって読むの?
背景 【 2 】 ( 以前の発表資料の残骸 )背景 【 2 】 ( 以前の発表資料の残骸 )
共同研究でもデータの効率的な相互参照は必須
階層的モデル群によるアプローチ
地球大気との比較
背景 【 3 】 ( 以前の発表資料の残骸 )背景 【 3 】 ( 以前の発表資料の残骸 )
大学なので…公共財として利用したい
• 研究教育資源としてデータやツールを提供• 誰でも自由に参照
オープン/フリー• みんなで使える ( データの共有 )• 改変が自由• 再配布も可
gtool4 Tools/Library I/O ライブラリ + 解析・可視化コマンド群 Fortran 90 で記述 : モジュール、構造型、総称手続き を活用 ファイル形式は netCDF : 高移植性、多次元データ、自己記述的 構成
gt4f90io 数値モデルのデータ I/O ライブラリとして特化
• 単独のツールとして再パッケージング
今までの取組み現在の取り組み
( 非 採用バージョン )
現在の取り組み
( 非 採用バージョン )
gtool4 Fortran90 Tools/Library
NetCDFLibrary
数値モデル 解析コマンド群 可視化コマンド群
その他のデータアクセスライブラリ (未定 )
DCL Library
I/O ライブラリ
gt4f90io [Fortran90 netCDF I/O library]
– [日 ] gtool4 規約に基づく Fortran90 netCDF I/O ライブラリ
– [英 ] Fortran90 netCDF I/O library with gtool4 convention
解析、可視化コマンド群を分離• オブジェクト指向スクリプト言語 Ruby へ
gtool4 netCDF 規約 引き続き策定継続
GTOOL3 ソフトウェア I/O ライブラリ + 解析・可視化コマンド群 Fortran77 で記述 構成
GTOOL3 (1989) [no animation]GTOOL3 (1989) [no animation]
GTOOL3 Library
解析コマンド群 可視化コマンド群
DCL Library
文字処理、数値基礎処理、可視化ライブラリ
数値モデル
I/O ライブラリ
GTOOL3 データ構造 Fortran sequential unformatted ファイル 自己記述性を ( ある程度 ) 実現
• ヘッダ部分にデータ名や次元サイズや作成日などの情報を格納
davis 以前の世界 (old)davis 以前の世界 (old)
数値モデル: 電脳倶楽部 AGCM5 沼口さん作成の大気大循環モデル問題点(?)
• 地球用に徹底的にチューニング (他の惑星への転用が難しい)
– 比較惑星科学的利用が難しい• プログラムを階層的に分離できない
– 力学的理解のために用いる事が困難
可視化と解析: GTOOL3 スパコン仕様なので FORTRAN77 描画に DCL を利用
データ構造: GTOOL3 形式 固定ヘッダー+データの機種依存バイナリ
• MT I/O を考慮
誰が作る? ( 破棄 )誰が作る? ( 破棄 )
技術的な仕事、教育活動も研究活動の一環
自作への道へ
davis プロジェクト開始
目標 (dennou-ruby)目標 (dennou-ruby)
階層化モデルの データ I/O ライブラリ要件
ネットワーク透過的なファイル形式 自己記述的なデータ形式 いろいろなところで利用可能
目標 (stel)目標 (stel)
データの氾濫を乗り切るために必要なもの1. 効率的な相互参照が可能なもの2. オープン /フリーなもの3. 地球科学に適したもの
作りたいもの ネットワーク透過的なファイル形式 自己記述的なデータ形式 いろんなところで使えるデータ I/O ライブラリ いろんなところで使える解析・可視化コマンド群
参考資料 (使わない)参考資料 (使わない) Toyoda, E., Ishiwatari, M., Takehiro, S., Hayashi, Y.-Y., gtool4 Devlopment Gro
up, 2002: gtool4 Fortran90 Tools/Library, http://www.gfd-dennou.org/arch/gtool4/, GFD Dennou Club.
Toyoda, E., Ishiwatari, M., Horinouchi, T., Akahori, K., Numaguti, A., Hayashi, Y.-Y., GFD Dennou Club Davis Project, 2000: gtool4 netCDF convention, http://www.gfd-dennou.org/arch/gtool4/, GFD Dennou Club.
Toyoda, E., Takehiro, S., Ishiwatari, M., Hayashi, Y., 2003: GTOOL: I/O Library and Analysis Tool for Gridded Data, IUGG 2003 SW05 (Thu Jul 10 2003) , http://www.gfd-dennou.org/arch/prepri/2003/iugg/gtool/poster/note-iugg2003.html
Takehiro, S., Ishioka, K., Toyoda, E., Ishiwatari, M., Hayashi, Y.-Y., SPMODEL Development Group, 2002: Hierarchical GFD Spectral Models (SPMODEL), http://www.gfd-dennou.org/arch/spmodel/, GFD Dennou Club.
GFD Dennou Club, 2000-2003: Dennou Ruby Project . http://www.gfd-dennou.org/arch/ruby
GFD Dennou Club, 1992-2002: DCL (GFD Dennou Club Library). http://www.gfd-dennou.org/arch/dcl
University Corporation for Atmospheric Research/Unidata, 1993-1999: NetCDF. http://www.unidata.ucar.edu/packages/netcdf/index.html