CASA simulation

2016 年 3 月 3 日 作 成 秋 山 永 治
CASA を用いた ALMA 観測シミュレーションガイド
ALMA データリダクション用解析ソフトウェア CASA
(Common Astronomy Software Applications package)
では、モデルイメージを用いて ALMA の観測を想定したシミュレーションを行うことができます。 シ
ミュレーションでは、12m、7m、TP のイメージ及び全てをコンバインしたイメージを生成することが
できます。ALMA の観測提案をする際、予想される観測結果を予め調べておくことは、サイエンスの
実現性や観測設定などを判断する上で有益です。
1.
事前準備
1.1. CASA の イ ン ス ト ー ル
CASA に関する情報は NRAO のサイト(http://casa.nrao.edu/)で得られます。2016 年 3 月 3 日現在、最新
のリリースバージョンは CASA4.5.2 です。動作プラットフォームは Linux と Mac OS です。Windows は
正式にサポートしておりません。OS のバージョンと CASA のバージョンには互換性があり、それらの
対応について CASA のインストールサイトで説明されていますので必ず確認して下さい。
CASA に関する情報サイト
l
最新の CASA バージョン情報
http://casa.nrao.edu/current_casa.shtml
l
CASA の入手サイト
http://casa.nrao.edu/casa_obtaining.shtml
l
インストール方法
http://casa.nrao.edu/installlinux.shtml
l
CASA の使い方
http://casa.nrao.edu/using.shtml
l
User Reference & Cookbook Release 4.5.2
http://casa.nrao.edu/docs/UserMan/UserMan.html
l
CASA Guide
https://casaguides.nrao.edu/index.php/Main_Page
パフォーマンス向上のために 64bit アーキテクチャの環境を強く推奨しています。32bit アーキテクチャ
の環境をお使いの方は CASA 3.3 を使用して下さい(2012/06/13)。
1.2. CASA の 起 動
正常にインストールが完了していると terminal で
% casapy [enter]
で ipython インターフェイスの CASA プロンプトが表示され、ログウィンドウが表示されます。
図 1 CASA 起動後のターミナルの例
図 2 ログウィンドの例
1.3. CASA の シ ミ ュ レ ー シ ョ ン タ ス ク と 基 本 的 な 使 い 方
・CASA で使用可能なタスクを確認し、その中に simobserve, simanalyze があることを確認して下さい。
CASA<1>: tasklist
図 3 tasklist の例
タスク名が不完全でも“tab”キーで補完されたり候補が表示されます。
•タスクの help を見る
CASA<2>: help simobserve
•入力パラメータの確認
CASA<3>: inp simobserve
•入力パラメータをデフォルト値に戻す場合
CASA<4>: default simobserve
•タスクを実行する
inp simobserve の後に、
CASA<5>: go
または、 CASA<6>: simobserve()
• CASA の終了
CASA<7>: exit
図 4 simobserve の入力パラメータの例
2. 観 測 シ ミ ュ レ ー シ ョ ン と イ メ ー ジ ン グ シ ミ ュ レ ー シ ョ ン
2.1. 概 要
CASA での観測シミュレーションは、simobserve と simanalyze のタスクを用います。シミューレション
に必要なデータは、FITS 形式のモデルイメージとアンテナの配列ファイル(Array Configuration File)です。
Array Configuration File はサイエンスポータル(https://almascience.nao.ac.jp/documents-and-tools)から入手
できます。ACA の Array Configuration File が用意されていない場合が有りますので、必要な場合は秋山
までご連絡下さい。
2.2. シ ミ ュ レ ー シ ョ ン タ ス ク の 説 明
• simobserve
モデルイメージに対して、観測のシミュレーションを行い、CASA のデータ形式である Measurement
set(ms)を生成します。モデルイメージのパラメータ、天体座標、cell size や観測周波数、周波数幅など
を設定できます。また、適当な仮定の下でノイズを加えることも可能です。
• simanalyze
simobserve で生成した ms 形式の観測結果を用いてイメージングを行い、その結果からモデルイメージ
との残差や Fidelity image を生成します。Fidelity はモデルイメージとシミュレーション結果の相対誤差
を表わす指標で以下の式で定義されます。
Fidelity =
abs(Model image)
abs[(Model image) − (Simulated image)]
• simalma
上 2 つのタスクに加え、12m-array+7m-array+TP の観測・コンバイン処理ができるタスクが開発中です。
2.3. シ ミ ュ レ ー シ ョ ン の 流 れ
サンプルのシミュレーションでは、はじめに ALMA 12m array と ACA の仮想的な観測を個々に行い観
測データを生成します。そして、それらのデータを結合したイメージを出力します。ALMA では 12-m
array と ACA のデータ結合には feather タスクで行います。スクリプト内にもコメントで説明が適宜あり
ますのでそれらも参照して下さい。
図 5 シミュレーションの流れ
3. シ ミ ュ レ ー シ ョ ン チ ュ ー ト リ ア ル
3.1. モ デ ル イ メ ー ジ
M51 の Hα線イメージをモデルイメージ(真のイメージ)として使用します。
M51
interacting spiral galaxy
d ~ 12 Mpc
© HST/NASA
S. Beckwith
3.2. ス ク リ プ ト の 内 容
青字の箇所を適切なパラメータに変更し、その他は変更しないで下さい。
初期値の設定
### initial setting
modelim = 'M51ha.fits' モデルイメージのファイル名を入力し下さい。
projname
= 'm51c' 各種データが保存されるディレクトリになります。
# if you want to use task feather, use_feather = True
use_feather = True
イメージを combine する場合は True、しない場合は False として下さい。
#use_feather = False
config_dir = 'Cycle4-AC'
config_12m = 'C40-1' 希望する配列を選んで下さい。
config_7m = '7-m'
config_tp = 'tp' config_12m_path = config_dir +'/' +config_12m +'.cfg'
config_7m_path = config_dir +'/' +config_7m +'.cfg'
config_tp_path = config_dir +'/' +config_tp +'.cfg'
### initial setting end
simobserve の設定
# alter model image parameters:
indirection = 'B1950 23h59m59.96s -34d59m59.50s' ターゲットの座標。
incell
= '0.1arcsec' 見かけの cell サイズ。距離を表すことも可能。
inbright = '0.04mJy/pixel' 見かけの面輝度のピーク値。
incenter = '330.076GHz' 中心周波数。
inwidth
= '50MHz' チャンネル幅。単位は周波数。
### make measurement set of 12-m array 7m、TP も同様の設定です。
print ''
print '### simulate 12-m array observation '
print '# make measurement set of 12-m array '
print ''
# have simobserve calculate mosaic pointing locations:
setpointings
= True 下の integration や mapsize の設定を有効にする。
integration
= '10s' 1 回の visibility 取得時間。
mapsize
= '1arcmin' マップサイズ。
maptype
= 'hexagonal' モザイクの種類。raster の場合は square。
pointingspacing = '0.5PB' モザイク時の PB の間隔。
# calculate Visibilities
obsmode
= 'int' 観測モードで interferometer の意味。single dish の場合は sd。
antennalist = config_12m_path
totaltime
= '60min' on source の観測時間。
refdate
= '2017/06/01' 想定する観測日。
hourangle
= '0:00:00' 観測で許容する hour angle。
graphics
= 'both' plot を表示し save する。しない場合は neither か none。
simalalyze の設定
### Image analysis using 12-m array data only 7m、TP、combine 画像も同様の設定です。
print ''
print '### image analysis using 12-m array data only'
print ''
project
vis
imsize
cell
niter
threshold
analyze
showpsf
showresidual
showconvolved
graphics
= projname
= ms_12m
= [512, 512] 出力画像サイズ。単位はピクセル。
= '0.2arcsec' ピクセルスケール。
= 1000 最大 iteration 数。
= '0.05mJy' この設定値に到達すると CLEAN が終了する。
= True
= False
= False
= True
= 'none'
3.3. ス ク リ プ ト の 実 行
python で書かれたスクリプトを実行するには execfile コマンドを用います。CASA プロンプトで以下の
ように入力します。
CASA <1>: execfile('almasim_aca_4.5.2.py') [enter]
シミュレーションが開始します。ターミナルに表示される指示に従って進めて下さい。スクリプト内の
コードを copy & paste したり、パラメータを手入力しても問題ありません。タスクが実行されると logger
window に内容が出力されますので、error がないかなど確認して下さい。
3.3. シ ミ ュ レ ー シ ョ ン 結 果 の 確 認
シミュレーションが終了すると project 名のディレクトリが作成され、その中に結果が保存されます。
visibility データを見たいときは plotms コマンド、イメージデータを見たいときは viewer コマンドで確
認するのが便利です。
CASA <2>: viewer [enter]
スクリプトを実行している間、画面に図が表示されます。それらは同ディレクトリ内に png 形式で保存
されますので後から確認することもできます。
プロジェクトディレクトリ内に作られるデータ及び画像の一覧
xxx.ms visibility データ
xxx.image clean (or dirty) イメージ
xxx.skymode オリジナルの fits file
xxx.skymode.flat.regrif.conv
synthesized bean が畳み込まれたイメージ
simobserve で得られた 12m array の観測結果例
simanalyze で得られた 12m array のイメージング結果例
(a) (b) ビームを畳み込んだイメージ 理想的な結果 モデルイメージ (d) CLEAN したイメージ (c) (f) (e) 残差マップ (c) - (d) fidelity マップ image combine の有り無しの比較例
12m + 7m + TP
12m only
4. 最 後 に
今回用意したモデルのサンプルデータは、Town Meeting を考慮してデータサイズを小さくしたものを
使用しています。このモデルイメージを使って extended の配列で simulation をしますと、モデルのピク
セルサイズが合成ビームよりも大きくなるためエラーになります。この場合は解像度の高いモデルイメ
ージを用意して下さい(解析時間が長くなることに注意)。ALMA のプロポーザルでは、CASA simulation
は必須ではありませんが、立案者にとってサイエンスの実現性や観測方針を決める上で助けとなるもの
です。是非プロポーザルの立案に活用してみて下さい。質問などがありましたら ALMA Helpdesk まで
気軽にお尋ね下さい。