PLAINセンターニュース第158号
Page 1

情報通信技術を宇宙科学にどう活用するか?(第4回)

村田 健史
愛媛大学総合情報メディアセンター
宇宙科学情報解析センター客員


3.3 STARS 1 & STARS 2:オブジェクト指向とオブジェクト指向開発技法
   (その2 〜データフォーマットについての考察)

 前節で述べたとおり、STARS1 および STARS2では、オブジェクト指向開発技法とオブジェクト指向言語に基づいた衛星観測データ解析アプリケーションを開発した。開発のためのオブジェクト指向言語としては、C++を採用した。(C++が完全なオブジェクト指向言語ではないなどという細かい議論は、ここではしない。)

 C++を採択した理由は、Level-2(L2)データフォーマットの問題を解決するためである。当時の太陽系プラズマ観測衛星データの L2 データファイルは、SDB(Science DataBase)形式と呼ばれる独自フォーマットで記述されるのが主流であった。独自フォーマットであるため、データを作成した者以外は、データファイルを読み出すことができない。そのため、L2 データの多くは読み出しプログラムとセットで公開されていた。利用者は、用意されたプログラムを使ってのみデータを取り出すことができた。その独自プログラムの多くは C言語で記述されていたため、このプログラムをカプセル化かできるオブジェクト指向言語となると、C++言語しか選択の余地がなかったというのが理由である。

 現在の多くの衛星観測分野では、自己記述型のデータフォーマットが一般的になりつつある。たとえば天文学では FITS (the Flexible Image Transport System) という有名なデータフォーマットがある。気象学の分野では、netCDF (network Common Data Form) というデータ形式が一般に利用されている。自己記述型データファイルは、

(1)データフォーマット・データ構造はあらかじめいくつかのパターンに決まっている、
(2)ただし分野のさまざまなタイプの観測データを記述できる程度の柔軟性を持っている、
(3)ヘッダにデータについてのメタ情報が記述されている、

などが特徴である。

 インターネット上で検索すればわかることであるが、FITS にしても netCDF にしても、データフォーマットやライブラリに関する日本語ドキュメントがきちんと整備されており、多くのユーザにより利用されている。それらのドキュメントの維持・運営は、熱心なボランティアにより行われているようである。特徴的なのは、それらのボランティアは必ずしも宇宙科学研究本部や国立天文台の研究者ではなく、全国の大学の教員が積極的に参加してサポートしていることである。これは、(詳しいことは知らないが)ボランティアが整備したサービスを全国規模の利用者が積極的に利用し、利用者がいるからボランティアはそれを励みにさらに熱心にサポートするという正のスパイラルとなっているように思われる。 

地球観測系データフォーマットの例

FITS (Flexible Image Transport System)

  • 天文学や太陽観測などで用いられている。
  • 画像系の観測データに向いているデータフォーマット。

netCDF (Network Common Data Form)

  • UCAR (University Corportation for Atmospheric Research)の Unidata Center が開発した。気象や海洋など幅広い分野で利用されているデータフォーマット。構造が比較的簡単で使いやすい。国内では「地球流体電脳倶楽部」が中心となり日本語ドキュメントや機能の整備などが行われている。

HDF (Hierarchical Data Format)

  • NCSA (National Center for Supercomputer Applications) が開発した。観測だけではなく、数値計算・シミュレーションなどでも利用されることが多い。バージョン5 になり並列分散データに対応した。

CDF (Common Data Format)

  • NASA/GSFC の National Space Science Data Center が開発した、比較的柔軟性が高いデータ構造に対応した自己記述型データフォーマット。現在の最新版は、3.1 である。

 さて、私が関わっている太陽系プラズマ観測(または STP:太陽地球系物理観測)分野ではどうかと言うと、CDF(Common Data Format)という立派な名前の標準データフォーマットがある。これは、NASA/Goddard Space Flight CenterのNSSDC (the National Space Science Data Center) のグループが提案した STP 観測データ向けのデータフォーマットである。現在、最新版は 3.1 であり、NSSDC のグループは継続的にこのデータフォーマットをサポートしている。CDF フォーマットは netCDF とやや似たタイプのデータフォーマットであるが、netCDF よりも柔軟性が高い。netCDF では記述できない複雑なデータ構造も CDF では定義することができる。これは、CDF が netCDF より優れているということではなく、対象となるデータ構造の定義によるものである。netCDF が対象とする分野のひとつである気象学と比較すると、科学衛星観測データは観測機器やモードが複雑である。衛星観測は時空間の制約が大きいため、少しでも効果的に情報(物理現象)を観測しようとするがため、いきおい観測モードを切り替えながら観測をするなど、出力される時系列データが単純ではなくなることが多いためである。CDF はこれらに対応しようとするがあまり、構造が複雑でわかりにくくなってしまった傾向がある。

 CDF は、このように、他のデータフォーマットと比較して構造が複雑であったため、利用者にはなかなか理解しにくかったようである。筆者も、CDF のバージョンが 2.xのころは「CDF は難しくてわからない」と思っていた。バージョンが 2.x から 3.0 に変わるころに、NSSDC が提供する CDF マニュアルが改訂され、CDF がどのようなデータ構造であるのかの説明が追加された。このマニュアルの改訂により、筆者もやっと CDF の構造や設計理念を理解することができた。

(この項 次号に続く)

このページの先頭へ



この号の目次へ

H18年度 PLAIN センターシンポジウム「衛星アーカイブスを用いた宇宙科学の展開」報告 へ


(676kb/ 2pages)

Next Issue
Previous Issue
Backnumber
Author Index
Mail to PLAINnewsPLAINnews HOME