本章では、月震データベース(Moonquake Database: 以下MQDB)について基本的な考え
方を述べると共に、その目標及び概要などについて述べる。
なお、本仕様は、MQDBライブラリの1.00版に相当する。
MQDBでは、地震波記録を記述するための統一したフォーマットを提案すると共に、それらにアクセスするためのライブラリについても定めている。ここで、地震波記録とは、等時間間隔で取得された離散数値データ、及び記録時刻や観測点位置などの付帯情報からなるデータの集合体である。
MQDBにおいては、全てのデータは等サンプリング間隔により取得された、何成分かからなる離散データとして扱われる。実際、月震データをはじめとして、ほとんどの地震波データはそのような時系列データである。MQDBにおいては、各成分はチャンネル(channel)という名称で呼ばれる。例えば、地震計の3成分(東西、南北、上下)はそれぞれのデータが1チャンネルずつを占めており、ある地点において3成分の地震計により観測された記録は、MQDBでは3チャンネルのデータとして格納される。
一方、地震波の記録においては、実際の地動・速度・加速度の記録だけでなく、データ取得を開始した時刻や、観測点の位置、名称など、付随的な情報が必要となる。これらは必ずしも離散的なデータではないため、上記で述べたような方針で格納することはできない。MQDBでは、付帯情報はファイルの先頭に(すなわち、地震波データの前に)ヘッダという形で記述されている。
すなわち、MQDBにおいてはデータはヘッダと実際のデータが合わさったファイル形式で格納されている。
月震データベースにおいては、上節で述べたようなファイルフォーマットを基礎として、次のような点が達成されるように設計を行っている。
- 高速な入出力手段の提供。地震波記録は通常データ量が膨大であり、高速処理ができなければ実用的なデータ処理システムとはいえない。このため、データフォーマットはバイナリファイルを主体とし、データ圧縮などのサポートによりデータ量を減らし、データの移動などにかかる時間を極力少なくする。
- コンピュータシステムから独立したデータ処理方式の提案。CPUやオペレーティングシステムの差違によるデータの表現形式の違いを吸収し、異なるコンピュータシステムにおいても同じ記録として処理できるようなデータ処理方式を提案する。
- 仕様が統一したアプリケーション・プログラム・インタフェース(API)の提供。これまで、データの入出力は多くの場合、ユーザが独力で構築してきた。MQDBではこれらのルーチン作業からユーザを解放するために、フォーマットだけでなく、プログラムからのデータアクセス規約を定めることによって、統一したAPIを定める。またこれらのインタフェースは複数の言語で使用可能なものとする。
- 柔軟性のあるシステムの構築。ユーザのデータ処理環境は多岐にわたっており、処理系構築に関わる言語もC, FORTRANなど様々である。また最近はテキスト処理に適した言語も多数登場しており、こういった簡易言語によってもデータ処理が実行できる環境にある。MQDBではバイナリだけでなく、テキスト形式のデータ記述方式もサポートすることにより、これらの要求に対処する。また、ファイルフォーマットは将来に予想される仕様の変更にも十分に対応できるよう、拡張性の高いものとする。
MQDBは、次の3つから成り立っている。
- データを記述するための統一されたファイルフォーマット。これらはファイルフォーマット仕様により定められており、これらは本仕様書の第3章、第4章に記述されている。
- データファイルを格納するためのファイルシステム、及びファイル名称などの命名方法。これらはデータベース階層構造の仕様として定められており、本仕様書の第5章に記述されている。
- データ入出力のためのAPI(C言語用関数及びFORTRAN用サブルーチン)。これらの仕様については、「月震データベース ライブラリ仕様書」に記述されている。
上節までで述べてきたMQDBの仕様は、以下のような利点を持つ。
高速なデータの入出力が可能
MQDBでは、ファイル圧縮を利用することによってデータ量を大幅に減少させることが可能である。圧縮は、MQDBが内部的に行うこともでき、またファイルそのものを圧縮プログラムを利用して圧縮してもよい。いずれにしても、これまでの非圧縮のデータフォーマットに比べてデータ量は数分の1にまで減少していることから、データ転送時間も数分の1に短縮されることになる。
ネットワークに対応したデータ記述形式
MQDBでは、RFC1014[1]によって定義されている、XDR(eXternal Data Representation)によるデータ入出力をサポートしている。XDRは、異なるコンピュータ間でのデータの記述形式を統一するための規格であり、これを利用することによって、異なるコンピュータ・システム間でもデータの同一性が保証される。XDRを利用した場合にはデータはバイナリ形式で記述されるため、高速なデータ入出力が可能である。
ヘッダはテキスト形式で記述される
ファイル先頭にあるヘッダ部はテキスト形式で書かれており、直接ユーザが見ることができる。そのため、ヘッダの情報を見ることは比較的簡単に行える。ユーザがデータを直接見る機会は少ないが、観測点の位置やデータ記述形式などを見る機会は比較的多い。その度ごとに特別のプログラムを用いなくても、ヘッダの情報を得るだけであれば通常テキスト処理に使っているコマンドやアプリケーションを利用するだけでよい。
複数のチャンネルのデータを1ファイルで扱うことができる
例えば、同じ地震計で取得された3成分のデータを、MQDBフォーマットでは1ファイルで扱うことができる。このため、1成分1ファイルのSACフォーマットなどに比べて、データ交換の手間が軽減されるばかりでなく、別の成分のデータを転送してしまうといった誤りもなくなる。さらに、MQDBでは255チャンネルまで1ファイルに記述できるので、例えば20観測点の上下動を1ファイルに記述するといったことも可能となる。
多様なデータフォーマットをサポートしている
先程述べたXDRを利用したデータ表現形式の他に、MQDBではフルテキスト方式と呼ばれる、データ部をテキストで記述した方式や、バイナリ混在方式と呼ぶ、データをそのままファイルに出力した形式もサポートしている。フルテキスト形式は、入出力に若干時間が必要であるが、テキストファイルであるため、既存の解析ユーティリティやテキスト処理コマンド、あるいはアプリケーション・プログラムなどで容易に処理することが可能である。もちろんフルテキスト形式によっても、異なるコンピュータ・システム間でのデータ同一性は保証される。
一方バイナリ混在方式では、異なるコンピュータ間でのデータ同一性は保証されないが、大変高速な入出力が可能であり、例えば処理結果の一時的な出力などに利用できる。
これらのデータ記述形式はヘッダ部に記録され、入出力の際にライブラリにより自動的に処理される。また、ユーザが自ら出力用のデータ記述形式を指定することも可能で、状況に応じて最適なデータ記述形式を選択することができる。
アクセス用ライブラリが用意されている
MQDBでは、データにアクセスするためのライブラリが、C言語とFORTRAN用に用意されている。MQDBフォーマットで記述されたファイルにアクセスする際には、これらのライブラリを呼び出すだけで、データの入出力が行える。
ライブラリは異なるコンピュータ・システム及び言語処理系でも移植性が保てるように設計されており、異なるオペレーティング・システムでもソースファイルの互換性は保証される。さらにライブラリは3層に階層化されており、各層間の関係は厳密に定められている。従って、将来のライブラリ拡張にも容易に対応することができる。またこのライブラリを元に、独自のライブラリを作成することも可能である。
本データベースの思想は、アポロの月震データのみならず、将来のLUNAR-A計画におけるデータ取得や、一般の地震波データ、及び画像ファイル等のデータベース構築にも応用することができる。
アポロによる月震観測は、1969年から1977年まで行われた。この観測においては、以
下の3種類のデータが取得された。
- 長周期データ。これはサンプリング間隔 0.15094 秒による3成分(水平動2成分及び上下動1成分)の観測である。
- 短周期データ。これはサンプリング間隔 0.02082 秒による1成分(上下動1成分)の観測である。
- 潮汐データ。
なお、各データの意味、また各テープの内容、テープ記述のフォーマットなどについては、寺薗(1993), Terazono et al. (1994)に述べられている。
MQDBの設計においては、データベース化するデータは、長周期データ、短周期データ、潮汐データを、1観測点、1イベント毎に1ファイルに格納している。また、Special Event Tape、Event Tape及び連続観測データ全てをデータベース化している。