XspecはNASAが公開しているソフトであり、X線スペクトル解析を行う上で必要不可欠なものである。Xspecの導入は他のX線解析で役に立つソフトと一緒になったheasoftというパッケージのインストールという形で行う。
Docker形式もサポートされている。: HEASoft & Docker
heasoftのダウンロードページ にアクセスする。Source CodeのところをクリックするとずらっとOS名が並ぶので、自分のOSにチェックを入れる。ちなみにWSLはLinuxとは独立にチェックボックスが用意されている。
次にheasoftの内訳としてダウンロードするパッケージを選択するが、特にこだわりがなければAllにチェックを入れて、Submitをクリックする。圧縮ファイルのダウンロードが開始する。(回線の速度にもよるが、時間がかかる。)移動もできるので、ダウンロード先はひとまずどこでもよい。
このMissionの欄は先に述べた「衛星データ解析用のソフトやパイプライン」(の一部)にあたる。
実際には、これに加えて衛星ごとの補正データであるcalbration database(CALDB、容量がでかい)も必要になる。
ダウンロードしたソフトを環境になじませる(インストールする)。作業内容としては先のページのSTEP3にあたる。
すでに入っているパッケージならすぐにスキップされるので、まとめてterminalにコピペすればよい。
引数-y
を入れるとyes
の入力をスキップできる。
これはheasoftのインストール時にのみ必要なので~/.bashrc
に書き込む必要はない。また、インストール作業中にterminalを立ち上げなおした場合はあらためて環境変数の設定を行う。
terminalがbash以外(cshなど)の場合は環境変数の設定がexport
でない可能性があるので、適宜読み替える。
以下、古の記載。
環境によっては/usr/bin/pythonが存在しない場合もあるようだ。
頻繁にアクセスするわけでもない上に、linuxにはシンボリックリンク(ln -s
)もあるので、適当な場所をheasoftフォルダの置き場所としてよい。
tar
は解凍圧縮に使用するコマンドである。引数xzvf
(もしくは-xzvf
)は.tar.gz
および.tgz
の解凍に対応する。圧縮の場合はczvf
となる。その他の場合についてはtar <拡張子>などで検索すればよい(++こんな感じのページが出てくる++ )
でも解凍に関してはtar xvf FILE_NAME
が自動判別もあって拡張子に一切関係なく使えて無敵らしい。
ちなみに.zip
の場合は別のコマンドgzip -d FILE
またはgunzip FILE
を使う。
heasoft6.30の場合は、先にcfitsioのインストールが必要!
GLIBC-6.33が不足しているなどのメッセージが出るが、cfitsioを入れれば解決する
./FILE_NAME
は現在のディレクトリの実行ファイルをファイル内部で指示(Shebang)された方法で実行するときのコマンド。
A && B
は「A
を実行 -> それがエラーなく成功すればB
も実行」という意味。
参照ページ
ここでやっている作業としては概ね次のようになっている。
./configure
: 実行ファイル作成準備(FILE.c
作成)make
: 実行ファイル作成(gcc
)make install
: 実行(./a.out
)複数のCPUコアを利用できる場合、make
の高速化オプション-j<Num>
を利用できる。
<Num>
には利用可能な物理コア数+1を指定するとよいらしい。
grep cpu.cores /proc/cpuinfo | sort -u
このmake
でエラーが出ることが多々ある。(その場合はmake install
も当然うまくいかない。)
それは「1.」でインストールしたパッケージ以外に必要なパッケージがあったということなのでエラーメッセージから適当に検索して、追加でインストールする。
apt-file
が役に立つ : 参照ページ
heasoft6.29以降ではpyXspecは同時にinstallされる。
headas-init.sh
を実行後のshellでpython3を開いてimport xspec
が成功すればOK
pyXspecを利用する場合は追加で作業が必要だが、そもそもPyXspecはXspecに慣れてから導入した方がよい。
まずは~/.bashrc
にheasoft用の設定を記入する。
cat <<EOF >> ~/.bashrc
は次の行からEOFが出てくるまでを~/.bashrc
に追記するという意味。
ヒアドキュメント : 参照ページ
source FILE
はterminalと変数などを共有しながら中身を実行するコマンド(つまりterminal上にコピペした場合と同じ)。通常の実行の場合は環境変数ではない内部変数などは実行後に消去される。
追記した~/.bashrc
などを反映させるためにsource ~/.bashrc
とするのはよく利用する。
ここで一度xspec
と入力して、起動を確認する。(このときは追加ウィンドウが出ない。)はじめてxspecを起動すると、~/.xspecが作成される。
次にXspecの設定ファイルも調整する。Xspecのグラフなどの画面が追加ウィンドウで表示されるようにする。長い設定ファイルの135行目あたりにあるPLOTDEVICEの右辺をnull -> xwに 143行目あたりにあるPLOTTING DEVICEの右辺を/null -> /XWINDOW or /XSERVERに書き換える。
その後、terminalでxspec
と入力してXspecが起動すれば成功である。また、このとき画像のような表示の別ウィンドウが現れるが、グラフなどはここに表示される。
まとめ用のディレクトリheaの中にCALDB用のcaldb、観測データやその解析結果を入れる用のwork、追加で導入したmodelを入れる用のmodelを作成する。heaの置き場所はどこでもよいが、HOMEにheaのシンボリックリンクは作成しておいた方がよい。
HOMEにheasoft-6.26のディレクトリないしシンボリックリンクを作成してしまった場合、heaに移動しようとしても名前が全被りしてるためtab補完で/
が入らず、地味にうざくなるので注意。
heasoft用のCALDBのinstallは NASAのページ に従う。
~/.bashrc
にCALDB用の記述も追加する。