PLAINセンターニュース第146
Page 1

INTEGRAL 衛星のデータ処理(2)

海老沢 研
PLAINセンター


 INTEGRAL Science Data Centre (ISDC) におけるデータプロセシングの概要は、前回述べた通りであるが、今回はより詳細に解説を加える。2002年10月の打上げ以来、INTEGRAL 衛星は順調に稼動しており、データは着々と ISDC でアーカイブス化されつつある。その意味で INTEGRAL プロジェクトは充分に成功を果たしているのだが、NASA や宇宙研で私が参加した他のプロジェクトと比較して、もっとうまくできたのではないか、今後より改善できるのではないか、と思える点も多々ある。また、逆に ISDC のプロジェクトの進め方で、非常に優れていると思ったこともある。これらについて忌憚なく私見を述べさせて頂くが、もし少しでも将来の日本の科学衛星等のシステム開発の参考になれば幸いである。

 INTEGRAL は三種類の coded mask を積んでいるが、検出器本体は通常のガスまたは固体 X 線/ガンマ線検出器であり、各イベントの検出器上の位置、到達時刻、パルスハイトを記録するようになっている。観測は約 30 分ごとに少しずつ位置をずらして行う(dithering)が、各ポインティング(Science Window; ScW)、各検出器ごとに、高エネルギー天文学の標準フォーマットに従ったイベントファイルが作られる。標準フォーマットを採用したお陰で、イベントファイルから FTOOLS などの汎用ツールを用いて容易にパルサーサーチ等の時刻解析が可能である。

 各 ScW ごとに検出器上の二次元ヒストグラム(シャドウグラム)を作り、deconvolution を行い、天球上の画像を得る。同時に、各ソースのスペクトル、ライトカーブも、各 ScWのdeconvolution によって決定する。JEMX と IBIS については、各 ScW に対応して一枚の画像ができるが、通常はたくさんの ScW に対応する画像をモザイクとして重ね合わせ、統計を上げる。SPI については検出器が 19 個しかなく、ひとつの ScW からは天球上の画像は決まらない。よって、たくさんの ScW に対応する複数のシャドウグラムから deconvolution を行い、ひとつの画像、ソースのスペクトル、ライトカーブを得る。

 INTEGRAL データ解析の本質は deconvolution であり、そのためのソフトウェアは INTEGRAL 標準解析ツールである OSA(Off-line Science Analsysis)パッケージに含まれている。OSA も、それを流すのに必要なキャリブレーションファイルも ISDC からフリーでダウンロードできる(http://isdc.unige.ch/?Soft+download)。Linux, Mac OS X, Solaris というポピュラーな環境をサポートしていて、原理的には他の高エネルギー天文衛星と同じように、簡単にデータ解析ができるようになっている。

 しかし、現実には、他の衛星データ解析、特に HEASARC の提唱する汎用解析システム(9月号の記事参照)に慣れた研究者にとっては、OSA はとっつきにくいかもしれない。実際に OSA の開発に参加した私の目から見た、その背景を説明しよう。ISDC における INTEGRAL 解析システムの開発は、1997年頃から始まったのだが、2002年の衛星の打ち上げから遡って考えると、それはどうも早すぎたようだ。実際のデータが存在せず、しかも経験豊富な天文学者ではなくプログラマ主導で解析システムの開発が始まったため、当初から他の衛星とはかなり違った解析の枠組みが作られ、すでに存在する汎用ツールを活用せずに、すべてのソフトウェアをスクラッチから書きはじめることになった。特に、INTEGRAL 解析システムには以下の特徴がある。(1) 複数の FITS ファイルをまとめてひとつのファイルのように扱う「グルーピング」スキームと、そのための「インデックス」ファイルの発明。(2) それを実現するための、Data Access Layer (DAL) と呼ばれる巨大なライブラリの開発。(3) CERN で開発された ROOT という解析フレームワーク(http://root.cern.ch)を INTEGRAL 用に改造した "ISDCroot" の全面的な採用。私は2001年に NASA から ISDC に派遣されたのだが、NASA の同僚たちと共に、これら特殊な解析手法の採用に疑問と懸念を抱いていた。しかし、当時すでに解析システムの枠組みはほぼ決まっていて、大きな変更は不可能であった。

 OSA をインストールした後、個々の実行形式を Unix のコマンドラインから実行させても、それだけではうまく走らないことに気づくだろう。各実行形式の入力として、実際の FITS データファイルでなく、FITS の「インデックスファイル」が必要だからである。インデックスファイルを作り、各タスクを実行するには、特殊な文法を持つ ISDCroot で書かれた巨大なプログラムを走らせる必要がある。それはさらに下の階層の ISDCroot プログラムを呼んでおり、その複雑なプログラムと階層構造を理解するのは一般ユーザーにとっては困難である。ファイル名とディレクトリ構造は ISDCroot プログラムにハードコードされており、ファイルのグルーピングが採用されているため、一つでもファイルの名前を変えたり移動したりすると、システムが壊れる。当初は、これら新たな解析スキームのお陰で INTEGRAL の解析が容易になることが期待されていたのだが、実際には解析を不必要に複雑化し、ユーザーに対する敷居を上げてしまっているようである。

 なぜこのように複雑なデータ解析システムができてしまったのか、私なりに分析してみると以下の通りである。

  1. 経験の不足。ISDC のスタッフにとって、INTEGRAL が最初の衛星プロジェクトであり、衛星データシステム開発の経験も、ユーザーとして他の衛星や地上観測データを使う経験も不足していた。これらの経験が豊富であれば、他のプロジェクトと共通の部分と INTEGRAL に固有の部分を切り分け、もっと効率よく開発を進められたと思う。
  2. プログラマ主導の開発。実際にデータを使う天文学者ではなく、ソフトウェアを書くのが好きなプログラマが、おもしろがって新たな枠組みを発明し、本質からずれた方向に開発を進めてしまった感がある。(初期のフレームワークを設計したプログラマは現在遺伝情報のベンチャー会社にいる。)
  3. プライドが邪魔をする(?)。どんなプロジェクトにおいても、何か独自性、新規性を出したい、それを世間に認めて欲しい、と思うのは当然で、健全な事である。しかし、INTEGRAL の解析システムに関しては、いろいろとユニークなスキームを発明し、その効果を実証するまえに、優れたものだと自分たちで信じて突き進んでしまったように見える。もっと謙虚に外部の声を聞き、例えばすでに NASA で成功しているシステムをできるだけ導入したほうが良かったと思うのだが、そうしないのがヨーロッパ人、あるいはスイス人のプライドであろうか? (その点、日本の X 線衛星の解析システムでは、NASA の良いところは直ちに取り入れ、自分たちのものとして消化吸収してしまったようだ。これが日本人のしたたかさか?)
  4. ESA の方針あるいは宿命。ESA の宇宙開発は、国境を越えた公共事業みたいなもので、何もないところに新たな研究所を作り、たくさんの雇用を生み出す。その結果、経験の浅いスタッフが採用され、たくさんのプログラマが雇われ、複雑なコードが書かれる。それよりも、たとえば NASA/GSFC のように、ひとつの研究所が長期にわたって複数の衛星システムを担当、できるだけ人的資源もソフトウェアも共有するほうが効率が良いわけだが、ESA は一国に経験と知識が集中することを意図して避けているように見える。また、ヨーロッパの衛星ユーザーコミュニティーと開発者をつなげ、本当に研究者が必要なものを開発に反映させていく枠組みが、NASA と比較して ESA ではかなり弱いと思う。これは国際的な組織の宿命だろうか。アメリカならば NASA の衛星データ解析ソフトが使いにくいと、アメリカの納税者である研究者が怒り、プロジェクトが縮小されて、開発者は職を失ってしまう可能性もあるわけだが、ESA プロジェクトとメンバー諸国の納税者との間はあまりもかけ離れていて、プロジェクト側にヨーロッパの納税者のために仕事をしているのだ、という意識が希薄だと感じる。

 さて、私の INTEGRAL プロジェクトに対する貢献について述べたい。私が ISDC で公式に担当した仕事は、オペレーションルームで使う Quick Look Analysis (QLA) の立ち上げであった。これについていくつか新たなソフトウェアを書き(その一部は FTOOLS パッケージに含まれ、Swift や「すざく」など、他の衛星にも使われている)、できるだけ既存の FTOOLS を使い、Perl のスクリプトで結びつけるというシンプルな枠組みで開発を行った。QLA は 24 時間安定して動いており、それによって発見された新たな天体現象は、即刻世界の天文コミュニティーに報告されている。

 私が QLA よりも労力を注いだのは、(1)データフォーマットを標準的なものに変更すること、 (2)グルーピング、DAL、ISDCroot など INTEGRAL 独自の手法はできるだけ使わず、「普通に」データ解析ができるような仕組みを作る ことであった。
(1)に関しては、初期のデータフォーマット(Revision 1)はグルーピングスキームを最大限使い、X 線/ガンマ線イベントの位置、時刻、パルスハイト、観測 Good Time Interval などがたくさんのばらばらのファイルに分かれており、各ファイルだけを見ても理解不能のものであった。これらの情報を ScW ごとに一ヶ所にまとめ、他の衛星と共通の標準イベントファイルを採用させるために私は奔走した。スタッフひとりひとりの部屋を訪ね歩き、研究者たちにはその科学的メリットを説き、技術的に困難だと渋るプログラマに対しては、コードを修正、実証してみせて納得させた。徹夜を繰り返し、難解なコードを一行一行読み進め、割り当てられたメモリーのバイト数までチェックしてデバッグをしたのは懐かしい思い出である。そのお陰で、現在稼動している Revision 2 のプロセシングにおいては、他の衛星と共通のデータフォーマットを採用させることができた。これが永久に残る INTEGRAL アーカイブスの最終フォーマットであり、それが誰にでもわかる標準フォーマットに成っているので、一安心である。
(2)に関しては、インデックスファイルを使わずに、たくさんの ScW からモザイクを短時間で実行するソフトを書き、FTOOLS の枠組みで HEASARC からリリースした。また、ISDCroot を用いた複雑なプログラムと全く同じデータ処理を、誰でも理解可能な単純なシェルスクリプトでもできることを示した(http://lheawww.gsfc.nasa.gov/users/ebisawa/integral_analysis.html参照)。しかし、残念なことに私が書いたシェルスクリプトは、未だ ISDC からは正式にサポートされていない。それをサポートしてしまうと、多大な時間と労力をかけて開発してきた ISDCroot などの独自のスキームが無駄だったと自他認めてしまうことにもなり、それはスイス人のプライドが許さないのかもしれない。しかし、もし私が示した単純な解析手法が近い将来きちんとサポートされ、INTEGRAL の解析がもっと簡単になれば、INTEGRAL のユーザーが増え、さらに良い結果が出て論文の数も増えると確信している。

 さて、INTEGRAL のソフトウェアに関してネガティブな印象を与えてしまったかと危惧するが、ISDC で非常に感心し、ぜひ見習いたいと思ったこともたくさんあるので、そちらについても述べたい。

  1. 周到なプロジェクト管理。何事も念入りに準備をし、直前にあたふたすることがない。初期運用のシミュレーションを何ヶ月も前から繰り返したのだが、打ち上げ当日のオペレーションもシミュレーションのごとくスムーズで、定時にはみなオフィスを後にしたのには感動した。ソフトウェアは複雑なのだが、徹底的にバージョン管理をしているお陰で、滞りなく走る。たとえば開発者自身もマネージャーの許可がないと自分のソフトを修正できないし、専任の「ライブラリアン」が動作を検証しないと受理されない。研究所が発足して以来、すべての業務は文書化され、ソフトウェア修正等のタスクは専用のウェブシステムで一括管理されている(http://isdc.unige.ch/index.cgi?Changectrl+info)。プロジェクト管理の担当者がいて、すべての会議の議事録を取り、文書を起こす。彼女は各人のアクションアイテムと進捗状況を常に把握しており、期日が近くなると催促をしてまわる。
  2. 国際性。スタッフは10カ国以上から集まっており、研究所内の公用語は英語であるが現地語は仏語、さらに自分の母語と、3ヶ国語以上流暢に話せることが当たり前である。かつての東西両陣営、さらに古くは連合国、枢軸国双方から集まってきているのだが、国籍など関せず、ときには喧嘩をしながらも一致団結してプロジェクトを進めている。ESA の目的のひとつである、軍事以外の宇宙開発の国際協力により信頼醸成を図り、その結果として宇宙の軍事利用を困難にする、という目的はまさに達成されつつあると感慨を覚える。
  3. 人生を楽しむ一方、コミュニティーや国に対する責任を全うする態度。所内の花壇には四季折々美しい花が咲き乱れ、その世話をする専任のスタッフがいる。おとなりの赤十字と共有しているカフェテリアでは、シェフが腕を奮って「今日の一皿」を準備し、スタッフはたっぷりと時間をかけてワインと一緒にランチを楽しむ。各自、毎年4週間のバケーションを取ることが前提でプロジェクトが計画され、人的資源が割り振られている。彼らは仕事に疲れていない。まず生活を楽しみ、人生を大切にし、その一部に研究があり仕事があるという感じだ。しかし、スイス人の同僚たちは決して享楽的ではなく、自分の村(コミューン)の代議士であったりもする。政治の悪口は言わず、国の将来を真剣に考え、頻繁に国民投票を行う。その結果、国連にはやっと加盟したがEUには入らず、国民皆兵制は維持している。毎年二週間、研究所を離れて兵役に赴く同僚たちの背中から、スイスのことはスイス人が決めるのだ、という強い意思をひしひしと感じる。

 結局のところ、スイスで家族と共に暮らした3年半は、公私にわたって私の人生の一大事であった。INTEGRAL のソフトウェア開発では苦労したが、仕事以外ではヨーロッパ人のように生活を楽しんだ。スイスアルプスのたいていの峠はオートバイで制覇、さらにギリシャやモロッコまでオートバイで足を伸ばした。二人の子供たちはフランス語を上手に操るようになり、スキーや乗馬もうまくなった。天文学を学び国際的なプロジェクトに参加したお陰で、アメリカに引き続いてヨーロッパでも貴重な体験をすることができ、天文学者という職業はなかなかいいものだな、ということを実感したのである。




この号のもくじ へ


( 700kB/ 4pages)

Next Issue
Previous Issue
Backnumber
Author Index
Mail to PLAINnewsPLAINnews HOME