gtool4 規約 version 4.0beta2

1. はじめに

2000-01-21 豊田英司


目的

gtool4 プロジェクトは (主に地球流体現象への応用を想定して) 大規模数値データとその可視化の自己記述的格納方法を開発しようとするものである。数値データは規則格子状のものから観測的制約のかかった不規則な点で与えられるものまでを視野に置いている。可視化は現在のところ2次元的作図のみを考慮している。

gtool4 プロジェクトではデータの表現に netCDF 形式を採用した。NetCDF 形式はファイルの中に任意個の変数 (多次元の配列) を定義することと、ファイルや変数に任意個の属性を付与することをサポートする。変数名や「NetCDF ユーザーズガイド」で規定された若干のもの以外の属性名の意味や用法は NetCDF の利用者の自由であり、利用者が規約を定めることになっている。そこで本文書では gtool4 プロジェクトで用いる数値データおよびその可視化の格納方法を規定する。

設計思想

データと可視化の統合

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

自己記述性

数値データ処理・可視化のいずれにおいても自己記述性は重要である。データを使うために他のデータが必要であるが、それがどこにあるのかは作業メモを見なければわからない、というような事態は既存のソフトウェア・ファイル形式を用いる上ではよくあることであったが、避けなければならない。

オブジェクト指向

gtool4 においては可視化情報はオブジェクト指向的な考え方によって図形要素と要素間のリンクとメッセージとして整理されている。

たとえば、データセットには「紙面」「折れ線図」といった要素を記録することができる。これによって

あるデータセットには1枚の図版が記録されている。図版は折れ線図が2つ上下に並んで描いたものである。上側の図の横軸の表題は下側の図の説明と同じなので、この紙面にならべて描く場合は省略する

といった記述は

のように記録できる。

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

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

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

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

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

本規約の構成

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

他の規約との関係

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

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

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

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

輸出問題に際しては

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