seqxym (変光データ合成ソフト)

このページでは、複数の測光結果(位置座標と等級)から、 そこにある星の変光データを取りまとめて、変光曲線が作れるようにするための 自作のプログラムを公開し、使用法などを説明しています。 コードはC言語で書かれていますが、 OPMソフトを利用します。

目次

更新情報

松永典之


インストール

以下のファイルをダウンロードして、適当なディレクトリに置いてください。 ファイルサイズは約450KBです。
seqxym1_0.tgz

Unix系の計算機環境でのインストール方法は以下の通りです。 まず、ダウンロードしたファイルを解凍して、作られたディレクトリに 移動してください。

  1. tar zxvf seqxym1_0.tgz
  2. cd seqxym
次に、Makefileの最初の方に定義してあるOPMDIRを 自分の環境に合うように設定します。 OPMをインストールして、実行形式 opmとopm_matchがある ディレクトリの名前に書き換えてからmakeしてください。 OPM が無い場合は、まずそちらをインストールしてください。 準備ができたら、makeとすればインストール完了です。
  1. make
seqxymという実行形式が作られるはずです。


使い方の説明

コンパイルに成功したら、まずは使ってみましょう。 example1というディレクトリに行ってみてください。

% cd example1
% ls 
 070808a.xyme  070808d.xyme  070809c.xyme  070811a.xyme  seqlist
 070808b.xyme  070809a.xyme  070810a.xyme  param
 070808c.xyme  070809b.xyme  070810b.xyme  ref.xyme
% head -3 seqlist
 070808a.xyme  54320.812  param
 070808b.xyme  54320.850  param
 070808c.xyme  54320.898  param
 070808d.xyme  54320.947  param
 070809a.xyme  54321.785  param

ディレクトリには、*.xymeというファイルが11個とseqlist, paramがあります。 seqlistをみると、*.xymeのファイル名とそれに対する日付(Modified Julian Date)、 そしてparamがリストアップされています。 そこで、以下のようにseqxymを実行してください。

% ../seqxym -f -e -t -l seqlist -r ref.xyme

すると、少しの間文字列が流れて、matchlog, objlistというファイルと seqdataというディレクトリが作られます。seqdataディレクトリの中には、 seq*.datというファイルがたくさん出来ています。 「出力ファイル」で詳述する通り、 matchlogはOPMによる同定の結果の一覧、 objlistにはref.xymeにリストされている各天体の 変光データの情報がまとめられています。 seqdataディレクトリの中には、 各天体の変光データがそれぞれ出力されています。 seqdata中には、変光星であるかどうかに限らず、 ref.xymeに与えた全天体について時系列データをリストアップした ファイルが作られます。ただし、与えた*.xymeの中にデータが含まれていないなど 各時刻について同定ができなかった天体については99.99のような 意味のない数字が入っています(define.hのMAG_ERRで定義)。 objlistには、各天体について集められた 時系列データをもとに平均等級や 分散、等級の最大値と最小値の差がリストアップされていて、 変光星を探すのに役立つでしょう。


入力ファイル

上の例でもわかるように、seqxymを利用して変光星データをまとめるためには、 以下の4種類のファイルを準備する必要があります。

seqlistとreferenceのファイル名は、define.hの DEFAULT_SEQLIST, DEFAULT_SEQLISTで与えられていますが、 seqxymを実行するときにオプションによって 変更することができます。入力ファイルとOPMパラメータ・ファイルの 名前はseqlistの中で指定します。

xym形式とxyme形式

入力する測光データは、xym形式 またはxyme形式で準備してください。 xym形式は各天体の「x座標 y座標 等級」が、各天体1行ずつにリストアップ されているものを指します。一方、 xyme形式は各天体の「x座標 y座標 等級 等級のエラー」です。 それぞれの値は空白またはスペースで区切ってください (C言語のscanfで別のものとして読み込まれるように)。 実際には、各行の先頭から3つまたは4つの数値が読み込まれることになり、 そのあとに続いている部分は無視されます。 ただし、各行は改行文字まで含めて、256文字以下である必要があります (file.hのLINE_LENGTHで定義)。 xy座標は、局所平面座標(視野中心から北と東へ何秒ずつずれているか)でも、 ピクセル座標でも構いません。また、赤道座標・銀河座標などの degree形式でもよいですが、hh:mm:ss.s dd:mm:ssのような形式は読み込めません。

たとえば、IRAF/daophotの測光結果は、apphot/daophot tables databasesと 表現される独特の形式になっています。これを、xym形式にするには、

pdump  example.als.1  xcenter,ycenter,mag  yes

とすれば、「x座標 y座標 等級」だけが出力されます。

OPM パラメータ・ファイル

OPMで同定させるときに与えるファイルです。 どの入力ファイルに対して、どのパラメータ・ファイルを用いるかは 次のseqlistで指定します。 各xymファイルに対して別々のパラメータを用いることも、 共通のパラメータ・ファイルを使うことも可能です。 OPMのパラメータについては、 こちらをご覧下さい。

入力ファイル一覧 (seqlist)

入力するxymまたはxyme形式の一覧を、それぞれのデータの時刻(ユリウス日など)と どのOPMパラメータ・ファイルを利用するかとともにリストアップします。 各行にひとつずつ「入力ファイル名 時刻 OPMパラメータ・ファイル」を 与えてください。

基準ファイル (reference)

seqxymでは、ひとつの基準ファイル(xymまたはxyme形式)を 与えて、そこにリストアップされた各天体について変光情報を調べます。 同じ領域の天体の情報を外部のカタログから集めたものでもよいし、 入力ファイルの中のひとつでも構いません。 ただし、その座標はhh:mm:ss.s dd:mm:ssのような形式ではなく、 局所平面座標やピクセル座標の形になっている必要があります。


seqxymコマンドのオプション

seqxymを使うときには、以下のようなオプションをつけて、 パラメータの変更や入力ファイルの名前を指定したりします。 たとえば、xyme形式(eオプション)で座標の変換(tオプション)を したうえでref.xymeという基準ファイルと 同定させたい(rオプション)ときは、

seqxym -e -t -r ref.xyme

とオプションを与えて実行してください。オプションを与えない場合は、 デフォルトの値が使われることになります。また、 上の例のように、引数が必要なオプション(r)と 不要なオプション(e, t)があります。


出力ファイル

seqxym を実行すると、 OPMマッチの結果一覧変光星カタログが1つ、それから天体の数だけ 変光情報ファイル(seq1.dat -- seqN.dat)が seqdata ディレクトリの中に 作られます。 matchlog, objlist, seqdata のデフォルトの名前は define.hの中で、 DEFAULT_MATCHLOG, DEFAULT_OBJLIST, DEFAULT_SEQDATAという定数マクロ で与えられていますが、seqxymを実行するときに オプションで変えることができます。

OPMマッチの結果一覧 (matchlog)

matchlogは、入力ファイルと基準ファイルをOPMでマッチした結果の 一覧です。どのファイル(obj)を、どのパラメータファイル(param)を使ってマッチ したか、そのファイルの時刻(time)とマッチできた天体の個数(nmatch)を示します。

# ref=ref.xyme
obj=070808a.xyme  param=param  time=54320.812  nmatch=1200
obj=070808b.xyme  param=param  time=54320.850  nmatch=1185
obj=070808c.xyme  param=param  time=54320.898  nmatch=1173
 - - - - -

天体一覧 (objlist)

変光星カタログ objlist は、

id   xref  yref  magref  mean  stddev  amplitude  num

という書式になっています。それぞれの値の意味は以下の通りです。

各天体の時系列データ (seqdata)

個々の天体の時系列データはseqdataディレクトリの中に、 個別のファイルとしてまとめられます。 出力ファイルの名前はseqN.datとなっていて、Nには objlistの最初の項idで与えられる番号がついています。 それらのファイルは、変光星かどうかに関わらず同定された等級の情報を リストアップしています。書式は、

date  x  y  flag  mag  (merr)

となっています。dateはseqlistで指定した時刻、 x, yは入力ファイルで与えられた座標です。flagは OPMの出力ファイルで与えられるもので 2つのファイルを同定したときに、お互いの天体1つずつが1体1で同定されたときは flag=0、 どちらかのそばに別の対応天体候補があったときは flag=1 となっています。 magは入力ファイルで与えられた等級。 ただし、f オプション をつけたときは、全天体の等級のメジアンがreferenceのそれと合うように 全体的にずらした等級になっています。 最後のmerrは、e オプションをつけたときに 出力される項目で、各等級のエラー(入力ファイルに与えられたもの)です。


著作権や利用の条件について

seqxym: a program to compile light variation data
Copyright (c) 2008 Noriyuki Matsunaga

本ソフトウェアは、学術的な目的において、 個人・団体によらずに使用・改良・再配布を許可します。 ただし、再配布を行う場合は、オリジナルの内容が それとわかる状態で一緒にダウンロードされるようにして、 本利用条件を変更せずにReadMeなどへ提示してください。 著作権は放棄しておらず、松永典之個人に帰属します。 本ソフトのコンパイル・使用などすべての動作で起きうる不利益に関する 一切の責任を放棄します。

ソフトウェアの性能に関わるような改良を 加えられた場合は、ぜひとも 松永 までご連絡ください。


Copyright (c) 2008 Noriyuki Matsunaga