多次元数値データの自己記述的格納形式 gtool4 の開発 Development of gtool4: a self-descriptive storage format for multi-dimensional numerical data セッション記号:Ae 豊田 英司, 石渡 正樹, 林 祥介, 堀之内 武, 赤堀 浩司, 沼口 敦, 地球流体電脳倶楽部 davis project [1. はじめに] 観測手段や計算機の発達により、地球流体現象の研究で用いる数値デー タは大規模化している。このため数値データの処理技術が研究の効率や 信頼性を大きく左右するようになっている。 従来地球流体科学コミュニティで用いられてきた数値データ処理環境で はデータは自己記述的ではなく、数値処理や描画に際して作業者がデー タに付随する情報を与えることを前提としていた。大量のデータ処理に おいては付随情報の適切な管理は大きな負担になる。 数値データの付随情報は関係データベースによって管理できるように思 われる。しかし地球流体分野で用いられるデータは大規模な多次元数値 データを主とすることに特徴がある。また、管理すべき情報のリストは 標準化の途上にあり、特に、可視化に関する情報についてはほとんど議 論がなされていない。 そこで本研究では可視化を意識した多次元数値データの自己記述的な格 納形式と処理系の開発を試みた。標語は「クリックするだけで適当な絵 が描けるデータファイル」である。 [2. 設計方針] 本研究では以下のような要件を満たすようなデータの格納 形式の設計を行った。 自己記述性 数値データに与えるべき付随情報はすべて同じファイ ルにまとめて格納できるべきである。これによって付 随情報の散逸が防止され、データの流通性が向上する。 格子状構造に限定しないこと 非格子状構造データも格子状データと統一的に取り扱 うことができねばならない。多数の地上気象観測点や 漂流ブイでの観測結果のような非格子状データを同時 に扱うことを目標としているからである。 数値データと可視化情報の統合 数値データと可視化情報 (たとえばグラフの軸の取り 方)をひとつのファイルに格納できるべきである。これ により、数値データを可視化するための情報の散逸を 防止することができる。 プラットフォーム非依存性 データをファイルに格納する際にはプラットフォーム 依存しないデータ表現法を用いるべきである。これに より、作業者は浮動小数点数形式、バイトオーダー、 文字コードなどの異なる環境にファイルを転送しても それらの違いを意識する必要がない。 [3. gtool4 netCDF 規約] 上述の設計方針をふまえて、本研究では低レベルファイル形式として netCDF[2] を用いたデータの格納形式を考察した. NetCDF は多次元数値 データとそれに付随する情報を格納する機構を提供する。 この機構を活用することにより, 自己記述的な数値データの表現と可視 化情報の統合を行った gtool4 netCDF 規約 http://www.gfd-dennou.org/arch/gtool4/conventions/ を作成した。gtool4 規約は COARDS 規約[3]および NCAR CSM 規約[4] の上位互換性を意識して設計されている。 [4. Fortran 90 による処理系実装実験] gtool4 規約に従う netCDF ファイルの処理系の実装実験 http://www.gfd-dennou.org/arch/gtool4/current/ を行った。プログラムは Fortran 90 で記述している。ISO/IEC 1539-2:1994 に準拠した可変長文字列ライブラリが用意されており、内 部で使用される文字列には長さ制限がない。 [謝辞] 本研究は 科学技術振興事業団 の計算科学技術活用型特定研究開発推進 事業(短期集中型)「地球惑星流体現象を念頭においた多次元数値データ の構造化」の一環として行われた。 世界における netCDF の利用状況に関して教示していただいたDr. Byron Bouville (NCAR) に感謝する。 [参照] 1) 地球流体電脳倶楽部 davis プロジェクト: http://www.gfd-dennou.org/arch/davis/, mailto:dennou_davis(at)gfd-dennou.org 2) netCDF: http://www.unidata.ucar.edu/packages/netcdf/ 3) COARDS conventions: http://ferret.wrc.noaa.gov/noaa_coop/coop_cdf_profile.html 4) NCAR CSM conventions: http://www.cgd.ucar.edu/cms/eaton/netcdf/NCAR-CSM.html