hscPipe8 の実行環境¶
hscPipe を実行する計算機環境について、いくつか紹介します。
Warning
hanacoの運用は終了しました。 HSCユーザーは多波長解析システム(共同利用計算機)よりも大規模観測データ解析システム(LSC)の使用を推奨されています。
1. 国立天文台 多波長データ解析システム(MDAS)¶
国立天文台の共同利用計算機である多波長解析システム(MDAS)を使って HSC データの解析を行うことができます。 ここではMDASを使って解析を行う際の注意点を紹介します。 MDASの基本的な使用ルールは各自 ユーザーズガイド で確認してください。
準備¶
まず最初に共同利用計算機のアカウントを作ります。 申請は データセンターの利用申請 から行ってください。
作業用ディスク¶
MDASでは 2種類の対話型解析サーバ(kaim[01-20] と kaih[01-12])と 作業用大容量ディスクとして /lfs[01-16] と /wkm[01-20] と /wkh[01-12] が用意されています。 ユーザーズガイド を確認しながらご自身の解析に適切な環境を選んでください。 ワーキングスペースにするディスク以下に自身のアカウント名のディレクトリを作成し、その中で解析を行ってください。 各ファイルシステムの空き容量やステイタスは Working (Operational) Status of Data Analysis System から確認できます。
# 使用例(ユーザー名 hoge の場合)
mkdir /lfs06/hoge
Warning
HSC pipeline を使用したデータ解析では大量のディスク容量が必要になります。 共同利用計算機であるMDASは 1 人のユーザーが占有できるわけではないので、必ず事前に ディスクの空き容量 を確認し、最も空いている作業用ディスクで解析を行ってくだい。
HSC pipeline のインストール¶
MDASでは Red Hat Enterprise Linux 7 の OS を使用しています(2021年10月現在)。 hscPipe8 のインストール方法 ページの説明に従い Cent OS 7 のバイナリパッケージを選択してインストールします。
また、アストロメトリ用カタログとYバンド迷光パターンファイルなど必要なレファレンスカタログについては、以下のバイナリパッケージ配布所からダウンロードできます。 https://hscdata.mtk.nao.ac.jp/hsc_bin_dist/index-ja.html
しかし、MDASからバイナリ配布所のサーバーへは直接アクセスできません。 そのため、次のいずれかの方法を使って HSC pipeline のバイナリパッケージとレファレンスカタログファイルをダウンロードしてください。
- 自身の計算機に一度ダウンロードし、そのファイルをscpでMDASにコピーする
- 自身の計算機を経由してMDASに直接ダウンロードする
# 例えば、2. の場合のコマンドは以下です
#
# wget の場合
wget https://[pipeline URL] --no-check-c -O - | ssh hoge@kaim01.ana.nao.ac.jp:/lfs01/hoge/ 'cat > pipe.tar.xz'
# curl の場合
curl https://[pipeline URL] --insecure https://[pipeline URL] | ssh hoge@kaim01.ana.nao.ac.jp:/lfs01/hoge/ 'cat > pipe.tar.xz'
MDASの場合、unset LD_LIBRARY_PATHを行ってからhscpipeを立ち上げてください。 これを行わない場合、hscpipeは立ち上がりますがスクリプトは走りません。
#hscpipeの立ち上げ
usnet LD_LIBRARY_PATH
source [your_path_for_hscpipe]/bashrc
setup-hscpipe
HSC pipeline を実行するサーバーとキュー¶
MDASでは、自分の作業ディレクトリから 直接的にコマンド処理(smp mode)を行うこともできますし、PBS スクリプトでバッチ処理を実行することもできます。 MDASにおける構成機器やバッチの詳細は こちら をご覧ください。
PBS バッチ処理¶
ここでは hscPipeコマンドをバッチ処理で行う方法について説明します。 MDASでは PBS というバッチ処理システムが組み込まれています。中でも、コア数が最多の q16 キューでは、 最大 1 ノード 16 コアまで使用してバッチ処理を実行できます。 HSC pipeline のいくつかのコマンドでバッチ処理を実行するには、そのコマンドが書き込まれた PBS バッチスクリプトを準備する必要があります。
HSC pipeline のコマンドでバッチ処理が可能なものは constructBias.py, constructDark.py, constructFlat.py, constructFringe.py singleFrameDriver.py, coaddDriver.py, multiBandDriver.py です。 今回はこのうち singleFrameDriver.py で PBS バッチスクリプトを準備してみます。
# コマンドを dry-run で実行してバッチスクリプトを作る
singleFrameDriver.py /lfs01/hoge/hsc --calib /lfs01/hoge/hsc/CALIB --id filter=HSC-I visit=902798..902808:2 --config processCcd.isr.doFringe=False --time 600 --nodes 1 --procs 16 --dry-run --clobber-config
# オプション:
# --dry-run :コマンドを空実行。実行するための PBS スクリプトが生成される
# --clobber-config :同じ rerun 情報を引き継がずコマンドを実行
上記例のようにコマンドに –dry-run を付加すると、自身が実行したコマンドのバッチスクリプトの結果が /var/tmp/ 以下に出力されます。 この出力結果を自身の作業ディレクトリにコピーし、中身を編集すれば PBS バッチスクリプトの完成です。
# --dry-run の出力結果を作業ディレクトリにコピー(移動しても可)
cp /var/tmp/tmph0gE /lfs01b/hoge/work/
# tmph0gE(PBS バッチスクリプト)の中を編集する
# バッチスクリプトにはデフォルトの PBS 指示のコメントがあらかじめ書き込まれています(# 箇所)
# こちらを全て削除して、以下に書き直してください
:
:
#!/bin/bash
#PBS -m abe
#PBS -q q16
#PBS -N test
#PBS -l select=1:ncpus=16:mpiprocs=16:mem=20gb
#PBS -l walltime=336:00:00
#PBS -M hoge@nao.ac.jp
#PBS -o hoge.out
#PBS -e hoge.err
# バッチ処理の進行を確認用 log file の作成のため
# 上記の PBS 指示コメントの後で以下の記述も追加してください
:
:
{
(pipelineのコマンドに関する内容が記述されている箇所)
} &> /mfst01b/hoge/work/tmph0gE.log
PBS 指示の詳しいオプションは 多波長データ解析システムのページ を参照してください。 ここで重要なのは
- -q q16 で q16 のキューを指定すること
- -l walltime=336:00:00 でジョブ経過時間の最大時間を最大に設定しておくこと
です。
PBS バッチスクリプトが準備できたら、いよいよ実行です。スクリプトを実行するコマンドは以下です。
# PBS バッチスクリプトの投入
qsub -V /lfs01b/hoge/work/tmphOgE
このバッチスクリプトの経過は tmphOgE.log に書き出されており、例えば以下の方法で確認することができます。
# log file を更新させながらターミナルに表示
tail -f tmphOgE.log
2. 大規模観測データ解析システム¶
HSC等の共同利用望遠鏡で取得されたデータの解析は、2021年10月現在、国立天文台大規模観測データ解析システム(Large-scale data analysis system; LSC) で行っていただくことを想定しています。
HSCの観測プログラムを採用されたPI/CoIsは解析スタートから一年間はこの計算機のリソースを優先的に使う資格があります。優先期間終了後は、ユーザは自動的に一般ユーザとなり、利用できるリソースは少なくなります。
2019年秋より試験運用が始まっており、S19B以降のPIには案内メールが送られております。
大規模観測データ解析システムの利用方法はPIへの案内または以下のページをご参照ください。 https://www.adc.nao.ac.jp/LSC/ug/users_guide_j.html
LSCのhscPipe及びHSCデータ解析に関するお問い合せは、 HSC pipeline helpdesk (helpdesk [at-mark] hsc-software.mtk.nao.ac.jp)へご連絡ください。
hscPipe以外のにLSCについてのお問い合わせは、 lsc-consult [at-mark] ana.nao.ac.jp へご連絡ください。 ([at-mark] は@マークに置き換える)
3. PBS 以外のバッチ処理システム¶
バッチ処理システムは、PBS 以外にも様々なシステムがあります。HSC pipeline では PBS システム用のバッチ処理がデフォルトの設定とされていますが、オプションで他のバッチ処理システムを指定することができます。 自身が使用する計算機環境で使われているシステムを理解し、HSC pipeline のバッチ処理を使用してください。
# 例えば SLURM で singleFrameDriver.py を実行する場合
singleFrameDriver.py ~/hsc --calib ~/hsc/CALIB --rerun test --id filter=HSC-I visit=902798..902808:2 --config processCcd.isr.doFringe=False --batch-type=slurm
# オプション:
# --batch-type :使用するバッチ処理システムを指定。{slurm,pbs,smp} から選択できる。詳細は singleFrameDriver.py --help で確認できる。
4. HSC データ解析用共同利用計算機(hanaco)¶
Warning
hanacoの運用は現在終了しています。 大規模観測データ解析システムを利用してください。