gtool4/Fortran 90 tools チュートリアル

gtool4 プロジェクトの現状と展望

― 多次元数値データと可視化情報の統合データスキーマの開発を目指して ―

2001年01月09日 豊田英司


1. 背景

「量的変化はついには質的変化を惹起する」
ヘーゲルの言葉らしい

私たち gtool4 の開発者グループは主に地球流体科学関係者、つまり気象・海洋・惑星大気・地球の核やマントルなどの研究者からなっています。私たちが gtool4 を開発するのは、データの嵐と呼ばれる現象にまつわる諸問題の解決としていくつかの方法論を提示し実験していくためです。

1.1 データの嵐

私たちは日ごろ多量のデータを交換して仕事をしています。たとえば他人が観測したデータ、理論的な計算の結果得られたデータ、それらを用いて遠くの計算機センターで計算したデータなどです。

計算機の能力向上や観測手段の開発に伴って、私たちが扱うデータは年々巨大化しています。10年前ならスーパーコンピュータでも取り扱うことさえままならなかったような巨大なファイルをノートパソコンで作成したり保存したりできるようになりました。巨大化だけではなく、取り扱うデータの種類や計算の複雑さも激増しています。

データの量の増大により、メタデータ管理の重要性が増してきました。メタデータとはデータ自身を意味あらしめるために必要なデータの総称で、たとえば物理量名称、単位、格子配置、取得法、各種パラメタなどです。データを多数の作業者で共有する場合、あるいは記憶に頼れない長期間にわたった作業においてはメタデータを保持する方法の如何が作業の速度や信頼性を左右します。

メタデータを紛失したり、個人の記憶に依存するような事態を避けるためには、データ自身がメタデータを保持するようにすべきです。このような考慮にたったデータ形式は自己記述的(★概念創案者について調べるべき)と呼ばれています。

自己記述的データ形式を設計するにあたっては、メタデータの項目リストを決めなければなりません。この項目リストはデータベースにおいてはデータベーススキーマと呼ばれています。gtool4 の目標のひとつは、地球流体科学界におけるデータベーススキーマに相当するものの標準を利用者自身によって確立することにあります。

1.2 可視化情報の統合

もうひとつの gtool4 の特徴は、数値データと可視化表現を同じプラットフォームで自己記述化しようとする新しい試みです。データ形式の拡張としてとらえると、絵も描けるデータ形式といったところです。

数値データを可視化した結果ではなく、方法を保存しておきたいということがあります。このようなニーズに対して従来は、可視化エンジンを簡易な言語のインタプリタとして実装して、描画手続を順に記したスクリプトとして保存するようなアプローチが取られてきました。この方法は新しい可視化手順を生産する過程では有効ですが、インタプリタ処理系がない環境では再現不能であるとか、スクリプトとデータがばらばらになってしまうといった問題があり、保存や配布には向きません。

gtool4 では可視化オブジェクトを数値データの一種として格納できるような枠組みを開発中です。この方法によりデータが言語から独立になり、分散オブジェクト環境への適応も容易になるものと期待されます。

2. 利用した既存ソフトウェア

gtool4 は以下の3つのソフトウェアパッケージに強い影響を受けています。GTOOL3 からは理念的影響を受け、DCL と NetCDF はサブルーチンとして利用しています。

2.1 GTOOL3

GTOOL3 は地球流体電脳倶楽部で従来から用いられているファイル形式、入出力ライブラリ、ならびにファイル操作ツール群の名称です。gtool4 は GTOOL3 の経験と反省に立って設計されていますが、コードやデータ形式は継承していません。

GTOOL3 から引き継がれた特徴:

GTOOL3 の反省に立って新しく gtool4 で導入した特徴:

2.2 netCDF

データ形式は当面 netCDF 形式によることにしました。機種依存の物理表現を吸収してくれる上に、メタデータ表現のために利用できる属性という機構が用意されているからです。したがって、処理系は netCDF ライブラリを必要とします。

残念ながらファイル形式を netCDF にできない状況も存在しますから、今後 gtool4 ではいくつかのファイル形式に対応しようと企画しています。

将来的に取り扱うファイル形式が多くなっていくと、すべての形式の入出力ライブラリをリンクするのは現実的でなくなってゆくので、分散データベース化を検討すべきでしょう。NetCDF はそのときの通信形式として有用かもしれません。

2.3 DCL

gtool4 の可視化の基礎となっているのは DCL です。

DCL は線画と多角形塗りつぶしから構成される2次元的可視化表現をサポートします。ライブラリは GKS サブセットから日付の座標軸・等高線などの高水準ロジックまでの幅広い構成となっています。描画デバイスとしては以下のものがサポートされています。

gtool4 ではこのほかにも DCL から若干の機種依存ルーチンを使っています。しかし、この機種依存性は慎重に1モジュールにまとめられていますから、グラフィックスを利用しないアプリケーションは容易に DCL のない環境に移植できます。

3. 現状と展望

3.1 文書化実験の現状と展望

内部スキーマと概念スキーマの分析

現在のところ、データ形式ないしはスキーマの考察は gtool4 NetCDF 規約という形式でなされています。これは NetCDF 形式を利用することを前提として、主に属性の利用法について規定したものです。この規約には、概念スキーマすなわちメタデータにはどのような事項が記録されるべきかの考察と、内部スキーマすなわちメタデータの各事項をいかにして NetCDF 形式で格納するかの規定が含まれています。

これによって、概念スキーマ・内部スキーマとしての必要なアイテムは過去のシステム群との対比からほぼ十分なものが挙げられていると期待されます。ただし、両者が混在している記述形式は望ましいものではありません。

概念スキーマは我々の数値データに関する慣習的操作体系ないしは知識体系を記号化明確化したものです。したがって、ファイル形式(内部スキーマ)がどのようなものであっても共通であるべきものです。ファイル形式に依存しない属性リストとして概念スキーマを記述し、ファイル形式ごとの属性表現規則は内部スキーマとしてまとめることによって、規定の簡潔さを保持しつつファイル形式間の可搬性を確保できると期待できます。

樹状ヒストリ管理の規定

単位表現法の規定

3.2 実装実験の現状と展望

実装は可視化構造の Fortran による表現を作成した。

自己記述性によるメタデータ管理の省力化を検証するためには、今後各種データ処理におけるメタデータの自動処理実験が必要である。

可視化の整備拡張、三次元的可視化・動画

非 netCDF データ形式によって gtool4 データスキーマを表現

ツールの充実、究極的にはシェルコマンドによる数値計算

FORTRAN 77 などの他言語との連携

データサーバによる分散データベース化

大規模数値計算プログラムの構造改善への貢献、とくに単位の自動換算