月震データベース仕様

第４版

1993 年 4 月 3 日第１版作成
1993 年 8 月 16 日第２版作成
1994 年 3 月 31 日第３版作成
1997 年 11 月 24 日第４版作成

作成者

寺薗 淳也 (文部省宇宙科学研究所 惑星研究系 比較惑星学部門) 荒木 博志 (文部省宇宙科学研究所 惑星研究系 比較惑星学部門)

Copyright (c) 1993-1995 Jun-ya Terazono and Hiroshi Araki, all rights reserved.

目次

1 月震データベースの概要 3 1.1 基本的な考え方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 月震データベースの目標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 データベースの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 月震データベースの特長 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5 月震データへの対応方針 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 月震データファイルの全体仕様 7 2.1 月震データファイルの構成要素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 月震データファイル構成記号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 ファイルの先頭行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 コメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 ヘッダ部仕様 9 3.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 ヘッダとして定義する情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2.1 データ平均値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2.2 チャンネル数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2.3 データ作成日時 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2.4 データフォーマット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2.5 データ種別 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2.6 終了レコード番号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2.7 データファイルの種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2.8 データ修正日時 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2.9 データ数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2.10 最大振幅 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2.11 観測モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2.12 元のデータファイル名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2.13 サンプリング間隔 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2.14 開始レコード番号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.15 データのスタート時間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.16 観測点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.17 オリジナルテープの番号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4 データ部仕様 14

4.1 フルテキスト形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2 バイナリ混在形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.3 XDR 形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5 MQDB におけるファイルの収納方法 16 5.1 データファイルの命名方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

6 データベースアクセス用ライブラリ 18 6.1 ライブラリの基本概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

A ヘッダ文字列一覧 19

B 第３版から第４版への変更点 20

Chapter 1

月震データベースの概要

本章では、月震データベース (Moonquake Database: 以下 MQDB) について基本的な考え方を述べると共に、その目標及び概要などについて述べる。

なお、本仕様は、 MQDB ライブラリの 1.00 版に相当する。

1.1 基本的な考え方

MQDB では、地震波記録を記述するための統一したフォーマットを提案すると共に、それらにアクセスするためのライブラリについても定めている。ここで、地震波記録とは、等時間間隔で取得された離散数値データ、及び記録時刻や観測点位置などの付帯情報からなるデータの集合体である。

MQDB においては、全てのデータは等サンプリング間隔により取得された、何成分かからなる離散データとして扱われる。実際、月震データをはじめとして、ほとんどの地震波データはそのような時系列データである。 MQDB においては、各成分はチャンネル (channel) という名称で呼ばれる。例えば、地震計の３成分（東西、南北、上下）はそれぞれのデータが１チャンネルずつを占めており、ある地点において３成分の地震計により観測された記録は、 MQDB では３チャンネルのデータとして格納される。

一方、地震波の記録においては、実際の地動・速度・加速度の記録だけでなく、データ取得を開始した時刻や、観測点の位置、名称など、付随的な情報が必要となる。これらは必ずしも離散的なデータではないため、上記で述べたような方針で格納することはできない。 MQDB では、付帯情報はファイルの先頭に（すなわち、地震波データの前に）ヘッダという形で記述されている。

すなわち、 MQDB においてはデータはヘッダと実際のデータが合わさったファイル形式で格納されている。

1.2 月震データベースの目標

月震データベースにおいては、上節で述べたようなファイルフォーマットを基礎として、次のような点が達成されるように設計を行っている。

1. 高速な入出力手段の提供。地震波記録は通常データ量が膨大であり、高速処理ができなければ実用的なデータ処理システムとはいえない。このため、データフォーマットはバイナリファイルを主体とし、データ圧縮などのサポートによりデータ量を減らし、データの移動などにかかる時間を極力少なくする。 2. コンピュータシステムから独立したデータ処理方式の提案。 CPU やオペレーティングシステムの差

違によるデータの表現形式の違いを吸収し、異なるコンピュータシステムにおいても同じ記録として処理できるようなデータ処理方式を提案する。

3. 仕様が統一したアプリケーション・プログラム・インタフェース (API) の提供。これまで、データの入出力は多くの場合、ユーザが独力で構築してきた。 MQDB ではこれらのルーチン作業からユーザを解放するために、フォーマットだけでなく、プログラムからのデータアクセス規約を定めることによって、統一した API を定める。またこれらのインタフェースは複数の言語で使用可能なものとする。

4. 柔軟性のあるシステムの構築。ユーザのデータ処理環境は多岐にわたっており、処理系構築に関わる言語も C, FORTRAN など様々である。また最近はテキスト処理に適した言語も多数登場しており、こういった簡易言語によってもデータ処理が実行できる環境にある。 MQDB ではバイナリだけでなく、テキスト形式のデータ記述方式もサポートすることにより、これらの要求に対処する。また、ファイルフォーマットは将来に予想される仕様の変更にも十分に対応できるよう、拡張性の高いものとする。

1.3 データベースの概要

MQDB は、次の 3 つから成り立っている。

1. データを記述するための統一されたファイルフォーマット。これらはファイルフォーマット仕様により定められており、これらは本仕様書の第 3 章、第 4 章に記述されている。

2. データファイルを格納するためのファイルシステム、及びファイル名称などの命名方法。これらはデータベース階層構造の仕様として定められており、本仕様書の第 5 章に記述されている。

3. データ入出力のための API(C 言語用関数及び FORTRAN 用サブルーチン)。これらの仕様については、「月震データベース ライブラリ仕様書」に記述されている。

1.4 月震データベースの特長

上節までで述べてきた MQDB の仕様は、以下のような利点を持つ。

高速なデータの入出力が可能

MQDB では、ファイル圧縮を利用することによってデータ量を大幅に減少させることが可能である。圧縮は、 MQDB が内部的に行うこともでき、またファイルそのものを圧縮プログラムを利用して圧縮してもよい。いずれにしても、これまでの非圧縮のデータフォーマットに比べてデータ量は数分の１にまで減少していることから、データ転送時間も数分の１に短縮されることになる。

ネットワークに対応したデータ記述形式

MQDB では、 RFC1014[1] によって定義されている、 XDR(eXternal Data Representation) によるデータ入出力をサポートしている。 XDR は、異なるコンピュータ間でのデータの記述形式を統一するための規格であり、これを利用することによって、異なるコンピュータ・システム間でもデータの同一性が保証される。 XDR を利用した場合にはデータはバイナリ形式で記述されるため、高速なデータ入出力が可能である。

ヘッダはテキスト形式で記述される

ファイル先頭にあるヘッダ部はテキスト形式で書かれており、直接ユーザが見ることができる。そのため、ヘッダの情報を見ることは比較的簡単に行える。ユーザがデータを直接見る機会は少ないが、観測点の位置やデータ記述形式などを見る機会は比較的多い。その度ごとに特別のプログラムを用いなくても、ヘッダの情報を得るだけであれば通常テキスト処理に使っているコマンドやアプリケーションを利用するだけでよい。

複数のチャンネルのデータを１ファイルで扱うことができる

例えば、同じ地震計で取得された３成分のデータを、 MQDB フォーマットでは１ファイルで扱うことができる。このため、１成分１ファイルの SAC フォーマットなどに比べて、データ交換の手間が軽減されるばかりでなく、別の成分のデータを転送してしまうといった誤りもなくなる。さらに、 MQDB では 255 チャンネルまで１ファイルに記述できるので、例えば 20 観測点の上下動を１ファイルに記述するといったことも可能となる。

多様なデータフォーマットをサポートしている

先程述べた XDR を利用したデータ表現形式の他に、 MQDB ではフルテキスト方式と呼ばれる、データ部をテキストで記述した方式や、バイナリ混在方式と呼ぶ、データをそのままファイルに出力した形式もサポートしている。フルテキスト形式は、入出力に若干時間が必要であるが、テキストファイルであるため、既存の解析ユーティリティやテキスト処理コマンド、あるいはアプリケーション・プログラムなどで容易に処理することが可能である。もちろんフルテキスト形式によっても、異なるコンピュータ・システム間でのデータ同一性は保証される。

一方バイナリ混在方式では、異なるコンピュータ間でのデータ同一性は保証されないが、大変高速な入出力が可能であり、例えば処理結果の一時的な出力などに利用できる。

これらのデータ記述形式はヘッダ部に記録され、入出力の際にライブラリにより自動的に処理される。また、ユーザが自ら出力用のデータ記述形式を指定することも可能で、状況に応じて最適なデータ記述形式を選択することができる。

アクセス用ライブラリが用意されている

MQDB では、データにアクセスするためのライブラリが、 C 言語と FORTRAN 用に用意されている。 MQDB フォーマットで記述されたファイルにアクセスする際には、これらのライブラリを呼び出すだけで、データの入出力が行える。

ライブラリは異なるコンピュータ・システム及び言語処理系でも移植性が保てるように設計されており、異なるオペレーティング・システムでもソースファイルの互換性は保証される。さらにライブラリは３層に階層化されており、各層間の関係は厳密に定められている。従って、将来のライブラリ拡張にも容易に対応することができる。またこのライブラリを元に、独自のライブラリを作成することも可能である。

本データベースの思想は、アポロの月震データのみならず、将来の LUNAR-A 計画におけるデータ取得や、一般の地震波データ、及び画像ファイル等のデータベース構築にも応用することができる。

1.5 月震データへの対応方針

なお、各データの意味、また各テープの内容、テープ記述のフォーマットなどについては、寺薗 (1993), Terazono et al. (1994) に述べられている。

アポロによる月震観測は、 1969 年から 1977 年まで行われた。この観測においては、以下の３種類のデータが取得された。

1. 長周期データ。これはサンプリング間隔 0.15094 秒による３成分（水平動２成分及び上下動１成分）の観測である。

2. 短周期データ。これはサンプリング間隔 0.02082 秒による１成分（上下動１成分）の観測である。

3. 潮汐データ。

なお、各データの意味、また各テープの内容、テープ記述のフォーマットなどについては、寺薗 (1993), Terazono et al. (1994) に述べられている。

MQDB の設計においては、データベース化するデータは、長周期データ、短周期データ、潮汐データを、１観測点、１イベント毎に１ファイルに格納している。また、 Special Event Tape、 Event Tape 及び連続観測データ全てをデータベース化している。

月震データファイルの全体仕様

本章では、データベースの基礎を成す、各 MQDB ファイルの仕様についての、基本的な考え方について述べる。

2.1 月震データファイルの構成要素

MQDB ファイルは、次の 3 つの部分から構成される。

先頭行月震データファイルの最初の行である。ライブラリのバージョン、プログラム署名が記されている。また、先頭２文字が必ず @@ となっているため、 MQDB ファイルかどうかの判定にも利用される。

ヘッダ部分ファイルの先頭部分に位置し、月震データファイルについての主要な情報を格納する。行の先頭は英大文字で始まる。詳細については第 3 章で詳述する。

データ部分実際のデータが格納されている部分。詳細については第 4 章で詳述する。

2.2 月震データファイル構成記号

月震データベースファイル内では、ヘッダ部分は印字可能な ASCII 文字列のみ利用可能とする。コメント部分についてはこのような制限はなく、 2 バイト文字等も利用可能である。

行末文字は、 CR + NL ( CARRIDGE RETURN + NEWLINE ) とする。

2.3 ファイルの先頭行

MQDB フォーマットのファイルは、ファイル先頭の 2 文字は、必ず @@ となっていなければならない。 3 文字目は空白である。 4 〜 8 文字目は、ファイルを作成したライブラリのバージョンである。これは先頭２文字が英文字、残り３文字が数字である。これ以外の文字、すなわち、記号、空白、タブ、改行文字等は使用できない。

10 文字目からは、ファイルを作成したプログラム名を記入する欄である。プログラム名の長さは 16 文字までとする。

従って、月震データファイルの先頭行は、例として次のようになる。

             @@ MQ100 prog1-1.00

これは、ライブラリのバージョンが MQ100 であり、 prog1-1.00 というプログラムがファイルを作成したことを示している。

ヘッダ部分とデータ部分の間は、 2 文字 @@ で始まる行で区切られる。この行については、 @@ 以外の文字が存在してはならない。

2.4 コメント

MQDB フォーマットファイルのヘッダ部には注釈を入れることが可能である。コメントは月震データファイル内の任意の場所に存在してよい (但し、先頭行を除く)。コメント行は、行頭が @ 以外の記号である行で、行末までコメントとみなされる。

すなわち、行頭に存在すればコメント行となる記号は、次の通りである。

• ASCII コード 0x21 〜 0x2f の文字

   !  " # $ % & ' ( ) * + , - .  /

• ASCII コード 0x3a 〜 0x3f の文字

   :  ; < = > ?

• ASCII コード 0x5b 〜 0x60 の文字

   [ \ ] ^_`

• ASCII コード 0x7b 〜 0x7e の文字

   { | } ~ ¨

なお、データ部に注釈を入れることは許されない。

ヘッダ部仕様

本章では、月震データベースの基礎部分を成す月震データファイルのうち、集約された情報を格納したヘッダ部分の仕様について述べる。

3.1 概要

ヘッダ部分には、次の形式で必要な情報を格納する。

[ヘッダ文字列]: [情報文字列]

ヘッダ文字列

どのような情報であるかを表す文字列。ヘッダ文字列に利用できる文字は、英文字、数字、記号等の印字可能な ASCII 文字である。但し、先頭に記号文字が存在する場合はコメント文字列とみなされるため、 ( 第 2.1 節参照)、記号は２文字目以降に用いる必要がある。慣例として、ヘッダ文字列の先頭文字は英大文字で始める。

情報文字列

実際の情報を含む文字列である。長さは 80 文字までで、これを越えた部分は切り捨てられる。情報文字列には、英文字、数字、記号等の印字可能な ASCII 文字が利用できる。但し、文字列の構成は後述する仕様を満たしている必要がある。

ヘッダ文字列の直後には、必ずセミコロン : をつける必要がある。ヘッダ文字列とセミコロンの間には空白があってはならないが、ヘッダ文字列と情報文字列の間は、任意の空白、タブで区切ることができる。また、情報文字列内にはセミコロンが存在しても構わないが、ヘッダ１行内に最初に現れたセミコロンがヘッダ文字列と情報文字列の分離記号とみなされる。

             (例)start time:  1969 167 14 30 20 122
           Data create date:  Tue Feb 01 13:16:45 1994 JST

上記の例の場合には、 Data create date で始まる行の中にはいくつかのセミコロンが存在するが、分離記号とみなされるセミコロンは、 Data create date の直後に存在するものである。

3.2 ヘッダとして定義する情報

ヘッダとして定義する情報は、以下の通りである。各ヘッダがあらわれる順序は任意である。各ヘッダの情報を利用するかどうかは、月震データベースを利用する個々のプログラムに任される。以下に述べる以外のヘッダを独自に定義することも可能であるが、そのヘッダ情報を利用するためのサブルーチン、プログラムなどはユーザ側で用意しなければならない。

3.2.1 データ平均値

ヘッダ文字列Average amplitude

情報文字列各チャンネルにおいて、データベース化するときに差し引かれた振幅平均値を表す浮動小数点数をコンマ , で区切った文字列。各文字列の間に空白及びタブがあってはならない。コンマが存在しない場合には、全チャンネルの最大振幅が同じであるとみなされる。

             (例)Average amplitude:  498.0,497.0,488.003

3.2.2 チャンネル数

ヘッダ文字列Channels

情報文字列そのデータのチャンネルの数を表す整数。

             (例)Channels:  3

3.2.3 データ作成日時

ヘッダ文字列Data create date

情報文字列月震データファイルが最初に作成された日時を表す数字及び文字列。

文字列は、先頭から順に、空白文字で区切られた次のような文字列が並んでいる必要がある。

曜日英文字３文字で表される曜日名
月英文字３文字で表される月名
日数字２文字で表される日名

時・分・秒それぞれ 24 時間単位、 60 分単位、 60 秒単位で表された各２桁の数字。

時・分・秒の間はセミコロンで区切られる。

年西暦単位 (数字４桁) で表された年名。
時間帯名英文字３文字で表された時間帯名

             (例)Data create date:  Tue Feb 01 13:16:45 1994 JST

3.2.4 データフォーマット

ヘッダ文字列Data format

情報文字列元のデータファイルにおける、データフォーマット形式を表す文字列。以下のどちらかでなければならない。

OLD  "OLD format"形式 (長周期データ及び短周期データが格納されている)
NEW  "NEW format"形式 (長周期データのみ格納されている)

3.2.5 データ種別

ヘッダ文字列Data type

情報文字列月震データの種別を表す数字及び識別用の英大文字列。

データ種別識別用の英大文字列は以下の文字列のいずれかとする。

長周期データ LP
短周期データ SP

              潮汐データ TIDAL

             (例)Data type:  LP

3.2.6 終了レコード番号

ヘッダ文字列End record

情報文字列元のデータファイルにおける、データの終了レコード番号を表す自然数。

             (例)End record:  456

3.2.7 データファイルの種類

ヘッダ文字列File type
情報文字列 FULLTEXT, COMPOSITE, XDR のいずれか。

MQDB フォーマットファイルにおけるデータ表現形式の種別を表す (第 1 章及び第 4 章参照)。 FULLTEXT はデータ部が ASCII 文字からなるファイルであることを示し、 COMPOSITE はデータ部がバイナリデータからなるファイルであることを表す。 XDR は、データ部は XDR によりエンコードされたファイルであることを示す。

             (例)File type:  COMPOSITE

3.2.8 データ修正日時

ヘッダ文字列Last modified date

情報文字列月震データファイルが最終修正された日時を表す、空白またはタブで区切られた数字列及び文字列。

このヘッダの情報文字列の規格は、「データ作成日時」ヘッダの規格と同じである。第 3.2.3 節を参照のこと。

             (例)Last modified date:  Tue Feb 03 22:29:03 1994 JST

3.2.9 データ数

ヘッダ文字列Number of data

情報文字列データの個数を表す自然数。

月震データファイル内に存在するデータの個数を示す。負の数は許されない。また、データの行数とも異なる。これは実際のデータの個数であるから、実際のデータの行数は、この値をチャンネル数で割る必要がある。

             (例)Number of data:  2000

3.2.10 最大振幅

ヘッダ文字列Maximum amplitude

情報文字列各チャンネルの最大振幅を表す浮動小数点数をコンマ , で区切った文字列。各文字列の間に空白及びタブがあってはならない。コンマが存在しない場合には、全てのチャンネルが同じ最大振幅を持つとみなされる。

             (例)Maximum amplitude:  3.00,2.00,1.23

3.2.11 観測モード

ヘッダ文字列Observation mode

情報文字列観測モードを表す文字列。以下のどちらかである。

              PEAKED  peaked mode による観測
              FLAT    flat mode による観測

3.2.12 元のデータファイル名

ヘッダ文字列Original data file

情報文字列元のデータファイル名を表す 255 文字以下の文字列。

             (例)Original data file:  /mob/se-1-1/file001

3.2.13 サンプリング間隔

ヘッダ文字列Sampling rate

情報文字列各チャンネルのサンプリング間隔を秒単位で表した浮動小数点数を、コンマ , で区切った文字列。コンマが存在しない場合には、全チャンネルが同じサンプリング間隔であるとみなされる。

             (例)Sampling rate:  0.15094

3.2.14 開始レコード番号

ヘッダ文字列Start record

情報文字列元のデータファイルにおける、データの開始レコード番号を表す自然数。

             (例)Start record:  23

3.2.15 データのスタート時間

ヘッダ文字列Start time

情報文字列空白またはタブで区切られた数字列

数字列は、先頭より次のような順に並ぶものとする。各数字は整数でなければならず、以下のような範囲制限がある。

                    年  (西暦単位)    1969 〜 1977
                    日  (365 日単位)   1 〜 366
                    時  (24 時間単位)  0 〜 23
                    分  (60 分単位)    0 〜 59
                    秒  0 〜 59

マイクロセカンド  0 〜 999

指定された範囲を越えた値が存在した場合、その処理は処理系に依存する。

             (例)Start time:  1969 167 14 30 20 122

3.2.16 観測点

ヘッダ文字列Station

情報文字列 AP で始まり、アポロ着陸船の番号を 2 桁の整数で表した数字を付記した 4 文字の文字列。

             (例)Station:  AP14

3.2.17 オリジナルテープの番号

ヘッダ文字列Tape number

情報文字列オリジナルテープの番号。

数字はアポロ月震データが収められているオリジナルテープの番号を表す。例えば Special Event Tape であれば、この数字は以下のようになる。

1000 〜深発月震
2000 〜隕石の衝突
3000 〜浅発月震
4000 〜人工月震

             (例)Tape number:  1001

データ部仕様

データ部分は、実際の月震データが格納されている部分である。この部分については、現在 3 つの形式が定義されている。本章では、月震データファイルにおける、月震データ部分の仕様について述べる。

4.1 フルテキスト形式

フルテキスト形式 (full text format) では、数値はコンマで区切られた ASCII 文字列として表現される。行末文字で終了する 1 行 (第 2.2 節参照) がデータの構成単位となる。従って、 1 行のデータが同時刻に得られた各成分を表す。

             121.398420,483.000000,483.000000

フルテキスト形式の場合、データ部分を構成する文字については、以下の文字が許される。

1. 数字。 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 である。

2. コンマ (,)。データの区切りを表す。

3. マイナス記号 (-)。負数を表現するために用いられる。

4. 指数表現を表す英文字 E または e。

フルテキスト形式はバイナリ混在形式、 XDR 形式と比べて、入出力に数倍の時間がかかり、ファイルサイズも大きくなる傾向があるため、できるだけバイナリ混在形式、または XDR 形式（できれば XDR 形式）を利用する方が望ましい。フルテキスト形式は、例えばテキスト処理ソフトウェアでデータ処理を行なう場合などに限って利用するべきである。

4.2 バイナリ混在形式

バイナリ混在形式 (composite format) では、数値は 8 バイトの IEEE 倍精度浮動小数点フォーマットで出力される。データの格納順序は先頭から若いチャンネル番号の順となり、上記のフルテキスト形式と異なる。例えばデータ個数が 30000 個あり、チャンネル数が 3 の場合には、

• 1 〜 10000 番目の変数がチャンネル 1 の内容

• 10001 〜 20000 番目の変数がチャンネル 2 の内容 • 20001 〜 30000 番目の変数がチャンネル 3 の内容

となる。

バイナリ混在形式は、コンピュータ内部で使用されている浮動小数点の表現形式でそのままファイルへ出力するものである。従って、処理速度は高速であるが、半面、異なるバイトオーダを持つコンピュータ・システム間でのデータのやりとりにこのフォーマットを用いると、誤った数値データの受渡しを行なうことになる。バイナリ混在形式は、処理結果の一時的な出力など、同一のコンピュータ・システムでのデータファイルの利用が保証されている環境下で利用することが望ましい。

4.3 XDR 形式

XDR 形式 (XDR format) では、数値はバイナリ混在形式と同様、 8 バイトの IEEE 倍精度浮動小数点フォーマットで出力される。但し、数値は XDR ライブラリによって、ネットワークバイトオーダ (“Big-endian”) に揃えて出力される。

XDR ライブラリが利用されている点を除けば、データの格納順序、浮動小数点フォーマットなどは全て上記のバイナリ混在形式と同じである。特に、 Big-endian の CPU を採用しているコンピュータ・システム (680x0 系、 SPARC 系、 IBM 370 系) においては、本形式とバイナリ混在形式は事実上同一となる。

但し、異なるバイトオーダを持つコンピュータ間でのデータ交換が行なわれる可能性を考え、 MQDB ファイルフォーマットを利用する際には、今後は XDR 形式を採用することが望ましい。バイナリ混在形式と異なり、このフォーマットの場合にはコンピュータ間でのデータの受渡しの誤りは発生しない。

MQDB におけるファイルの収納方法

本章では、ファイル名の付け方、及びディレクトリ構造について述べる。

5.1 データファイルの命名方法

MQDB におけるファイル名の命名法は以下の通りとする。

◎ファイル名は [数字].[拡張子] の形式とする。数字は 8 文字、拡張子は 3 文字 (まで) とする。

◎数字 8 文字は観測点、及び記録開始時刻をもとにして、次の規則により表す。

先頭 1 数字は、観測点の番号の下 1 桁。先頭 2 数字は、記録を開始した西暦年数の下 1 桁。次の 3 数字は、記録を開始した日付 (365 日単位で表した日数)。次の 2 数字は、記録を開始した時刻 (24 時間単位)。次の 1 数字は、上記 7 数字で表されるデータが複数あった場合に識別するための数字で、早い方から 0、 1、…とする。

◎拡張子は記録チャンネルを表し、次のような規則により表す。

lp …長周期データ
sp …短周期データ
tdl …潮汐データ

(例)29233121.lp … 1969 年の 233 日、 12 時台に起きた、同じグループに属する月震の中では 2 番目の月震データの長周期記録を、アポロ 12 号観測点で記録したもの。

◎これらのファイルが圧縮された場合には、その圧縮ソフトウェアに対応する拡張子が付けられる。例えば、 gzip により圧縮された場合には、 .gz という拡張子が付けられ、 lha により圧縮された場合には、 .lzh または.lha という拡張子が付けられる。これらの拡張子は MQDB の仕様には含まれない。

◎これらのファイルは、発生年別にディレクトリに分けられて格納される。ディレクトリ名は 69 から 77 までの西暦下 2 桁の数字からなる。

従って、ファイルのフルパス名は、次のようになる。

[rootdir]/[data id]/[year]/[start time].[channels]

ここで、

rootdir  データベースシステムのルートディレクトリ
data id  データ種別を表す４桁ないし５桁の数字。

year  発生年
start time  (前述の通り)
channels    (前述の通り)

(例)/moa(mob)/1001/69/29322121.lp.gz

データ種別 1001(深発月震 A1) のアポロ 12 号における観測記録。データ開始時刻は、 1969 年 322 日 12 時台。先頭の/moa(mob) は、光磁気ディスクのマウント先のディレクトリであり、データベースの構造には直接関係はない。

データベースアクセス用ライブラリ

本章では、 MQDB へアクセスするためのライブラリ群の設計についての基本的な考え方について述べる。ライブラリの詳細な仕様については、「月震データベースライブラリ仕様」に述べられている。

6.1 ライブラリの基本概念

月震データベースアクセス用ライブラリ (以下 MQLIB) は、 MQDB へのアクセスを行うための、移植性の高い、階層的なライブラリである。本ライブラリは、次のような３層からなるインタフェース層、ユーティリティ関数、及び FORTRAN サブルーチンの５カテゴリに大別される。

1. 上位インタフェース関数データファイルの読み込み・書き出しや、ヘッダの整合性チェックなどを行う。ユーザプログラムから呼び出される。

2. 中位インタフェース関数実際にヘッダから文字列を取り出したり、ヘッダ文字列の操作を行う関数群である。上位インタフェース関数から呼び出される。

3. 下位インタフェース関数文字列操作や変数変換などを行う、基礎的なライブラリである。上位及び中位インタフェース関数から呼び出され、ユーザプログラムから呼び出されることは想定していない。

4. ユーティリティ関数月震データベースへのアクセスとは直接関係のない機能を提供している関数である。これらの関数には、月震データファイルの時間表現の変換や、時間差を計算する関数などが含まれる。

5. FORTRAN サブルーチン FORTRAN から月震データベースを利用するためのサブルーチンで、上記、上位インタフェース関数及びユーティリティ関数と同等の機能を提供する。

従って、ユーザが利用する関数は、 C 言語の場合には上位インタフェース関数、ユーティリティ関数、 FORTRAN の場合には FORTRAN サブルーチンのみである。

Appendix A

ヘッダ文字列一覧

データ文字列内容

Average amplitude 平均振幅
Channels  チャンネル数
Data create date  データ作成日時
Data modified date データ修正日時
Data format  データフォーマット
Data type  データ種別
End record  終了レコード番号

File type  データファイルの種別

Last modified date データの修正日時
Maximum amplitude 最大振幅
Number of data  データ数
Obserbation mode  観測モード
Original data file 元のデータファイル名
Sampling rate  サンプリング間隔
Start record  開始レコード番号

Start time  データのスタート時間

Station  観測点

Tape number  オリジナルテープの番号

Appendix B

第３版から第４版への変更点

第４版では、次のような変更があった。 ◎次のヘッダが新設された。 ◎次のヘッダが廃止された。

☆「データドリフト」ヘッダ (Data drift) ☆「立ち上がり時間」ヘッダ (Rise time)

    ☆「初動時刻」ヘッダ (Init motion)

◎ファイル命名規則が一部変更された。データファイルはアーカイブ化せず、各ファイルを圧縮して保

管するように変更された。 ◎ XDR を利用したデータ表現形式についての記述が追加された。