gtool4 規約 version 4.0beta10

1. はじめに

2000-02-24T06:36:18+09:00 豊田英司


目的

この文書が規定する gtool4 規約は多次元数値データとその可視化情報を自己記述的に格納するための netCDF 規約[注]である。

[注] NetCDF 形式はファイルの中に任意個の変数 (多次元の配列) を定義することと、ファイルや変数に任意個の属性を付与することをサポートする。変数名や「NetCDF ユーザーズガイド」で規定された若干のもの以外の属性名の意味や用法は netCDF の利用者の自由であり、利用者が規約を定めることになっている。

扱うデータとしては主に地球流体現象の研究で用いられる数値データが想定されている。

数値データは規則格子状のものから観測的制約のかかった不規則な点で与えられるものまでを視野に置いている。可視化は現在のところ2次元的作図のみを考慮している。


設計思想

NetCDF を採用したことによって gtool4 規約に従うデータセットは以下のような要求を満たすことができる。

プラットフォーム非依存性

データファイルの流通を妨げないために、gtool4 はさまざまなレベルにおいてプラットフォーム間の互換性を考慮している。

数値データの表現を netCDF にゆだねることにより、われわれはバイトオーダーや浮動小数点形式が異なる計算機相互間でのデータの交換をファイル変換なしに行うことができる。

データファイルを多量に格納しておくことができず、必要に応じてネットワーク経由で取得するような環境に適合させるために、外部参照にはファイル名でなく URL を用いた。

グラフィック設定に関して格納される情報はなるべく作図の手段に依存しない、抽象的な表現になるように努めた。グラフィックスライブラリ DCL に依存する事項は存在するが、DCL は Microsoft Windows 95/98/NT, MacOS, そしてほとんどの UNIX で動作するので広範な移植性を維持することができる。

自己記述性

格納形式は極力自己記述的であるように心がけた。数値データとその可視化を伝達・保存するために必要なすべての情報を柔軟に格納できるようになっている。

データと可視化の統合

私たちは数値データに対して数値処理・可視化を行うことを想定している。従来データファイルは可視化情報 (図形化に関するパラメータ) と別に格納されてきた。しかしながら、われわれは可視化と数値データをまとめて取り扱うことに意義があると考える。

オブジェクト指向

新しく gtool4 規約は構造体という概念を導入した。これは HDF5 のグループを参考にしたものであり、処理系をオブジェクト指向言語で実装することを想定したものである。

図形表現はビットマップや線の羅列ではなく、よりユーザに親しまれる構成要素(たとえば折れ線・等値線・座標軸・表題)に分解して保存される。

オブジェクトは以下のような機能をもつ。


本規約の構成

本規約に従うデータセットの中の情報は数値データと図形要素に大別される。第2章では両者に共通する事項を、第3章では数値データの格納法を、第4章では図形要素の格納法を規定する。日付や単位などの文字列書式の詳細な情報はまとめて第5章で規定する。大域属性と変数属性に関する規定を属性名ごとに並べなおしたリファレンスが第6章である。


他の規約との関係

gtool4 規約に適合するファイルが gtool4 規約に適合するソフトウェアで生成・解釈されるためには、他の netCDF 規約との対応は不要である。しかしながら、われわれは以下のような操作が最大限許容されるようにしたい:

輸入問題
gtool4 プロジェクトのソフトウェアで gtool4 規約によらないで生成された netCDF ファイルを処理する;
輸出問題
gtool4 規約によって生成された netCDF ファイルを gtool4 プロジェクト以外のソフトウェアで処理する。

このために、gtool4 規約はよく知られた既存の netCDF 規約との互換性を考えて作られている。具体的には gtool4 規約は

いいかえれば、輸入問題に際しては

輸出問題に際しては

ことを目標にした。GDT 規約に関しても調査を行い、多くの属性名などの特徴は GDT に倣ったが、以下のような理由から互換性に関して言及できる状況にない: