太陽研究最前線ツアー2023 宇宙科学研究所 データ解析実習
2023 年 3 ⽉ 28 ⽇
⿃海 森（JAXA 宇宙科学研究所）
1.

はじめに
このデータ解析実習では、太陽観測衛星「ひので」や NASA の SDO 衛星・IRIS 衛星などによる太陽観測データを、解析マシンに読み込み、初歩的なプロットできるようになることを⽬指します。
本実習ではデータ解析⽤プログラミング⾔語 IDL（Interactive Data Language）を⽤いた例を⽰します。IDL には太陽データ解析⽤ライブラリである Solar Software (SSW)が⽤意されています。
近年では SSW のプロシージャ群が Python に多く移植されています（SunPy）。Python を使った解析については、3/30(⽊)に飯⽥さん（新潟⼤学）の実習で取り上げます。

2.

準備
はじめに、Mac のターミナルを起動し、適当な作業ディレクトリを作成します。
$ mkdir work/
作成したディレクトリに⼊り、SSWidl を起動します。
$ cd work/$ sswidlしばらくすると、コマンドプロンプトが現れます。
IDL>
IDL を終了するには、exit を⼊⼒します。
IDL> exit
これ以降は、3、4、5 から好きな課題を選んで進めます。いずれも 2014 年 10 ⽉に出現した
巨⼤⿊点 NOAA 12192 の観測データです。
データは以下の Google ドライブの各フォルダにあります。いずれも太陽物理学で広く使われる FITS（Flexible Image Transport System）形式です。

3.

磁場データ
「ひので」の可視光磁場望遠鏡（SOT: Solar Optical Telescope）や SDO 衛星の HMI（Heliosesmic and Magnetic Imager）が太陽表⾯のベクトル磁場データを取得しています。
Google ドライブの data_mag からデータをダウンロードし、2.で作成した作業ディレクトリに置きます。
はじめに SSWidl を起動し、SOT のベクトル磁場データ1を読み込みます。
$ sswidl
IDL> file_sot='20141024_021005_L2.1.fits'IDL> data_sot_bp=readfits(file_sot,ext=2)
IDL> data_sot_bt=readfits(file_sot,ext=3)
IDL> data_sot_br=readfits(file_sot,ext=4)

この FITS データには、SOT の取得した偏光データをインバージョンして得られた 2 次元の磁場データが格納されています。このうち、ext=2 は磁場の東⻄成分、ext=3 は南北成分、ext=4 は動径⽅向成分です。
例えば、動径⽅向成分をプロットするには、
IDL> plot_image,data_sot_br>(-1000)<1000とします。このとき、⽩が正極（N 極）、⿊が負極（S 極）を表します。
ü

太陽表面に出現する黒点は正極・負極のペアで出現します。なぜでしょうか？

偏光観測には、ゼーマン効果の仕組み上、視線と垂直⽅向の磁場の向きには 180 度の不定性が残ります。今回扱うデータは、180 度不定性を解いたものとなります。したがって、磁場の東⻄・南北成分もベクトルとしてプロットすることができます。
IDL> x=indgen(871) & y=indgen(512)IDL> set_line_color
IDL> velovect,data_sot_bp[0:*:20,0:*:20],data_sot_bt[0:*:20,0:*:20] $IDL> ,x[0:*:20],y[0:*:20],/over,color=3ü1

正極からは磁場が宇宙空間へ湧き出し、負極へと収束していく様子を確認しましょう。

データ：https://csac.hao.ucar.edu/sp_data.phpさらに、HMI による太陽全⾯の磁場データもプロットします。以下のデータを読み込み、プロットします。
IDL> file_hmi='hmi.M_720s.20141024_021200_TAI.1.magnetogram.fits'
IDL> read_sdo,file_hmi,index_hmi,data_hmi
IDL> data_hmi=rot(data_hmi,index_hmi.crota2)
IDL> window,1 & loadct,0
IDL> plot_image,data_hmi>(-500)<500
なお、HMI の画像データが 180 度回転しているため、途中で補正しています。
HMI は太陽全⾯の磁場を定常的に観測しますが、「ひので」は限られた視野を⾼い解像度で観測します。
üHMI と「ひので」の磁場データに違いは見られるでしょうか？

4.

X 線データ「ひので」の X 線望遠鏡（XRT：X-Ray Telescope）は、太陽全⾯や⿊点周辺などの X 線画像（温度：数 100 万度）を取得しています。Google ドライブの data_xrt からデータをダウンロードし、2.で作成した作業ディレクトリに置きます。
SSWidl を起動し、データを読み込みます。
$ sswidl
IDL> file_xrt='XRT20141024_180306.2.fits'
IDL> read_xrt,file_xrt,index_xrt0,data_xrt0
このとき、index_xrt0 には画像データのヘッダ情報が、data_xrt0 には 2 次元の画像データそのものが格納されています。
XRT 画像を表⽰します。
IDL> loadct,3
IDL> plot_image,alog10(data_xrt0>100.<2000.)
この画像は Al_mesh フィルタによる画像です。ここでは、画像内で明るさが何桁も異なる（ダイナミックレンジが⼤きい）ため、alog10()によって明るさをログスケールに変換しています。
ü

黒点の周辺（活動領域）には高温のループが存在することが分かります。

XRT 画像には、宇宙線が CCD に衝突したピクセルや露光過多など、様々なノイズが含まれます。そこで、データのキャリブレーションを⾏います。
IDL> spike=1
IDL> xrt_prep,index_xrt0,data_xrt0,index_xrt,data_xrt $IDL> ,/float,despike_despot=3
IDL> window,1
IDL> plot_image,alog10(data_xrt>1.<2000.)

元の画像と⽐較すると、改善されている様⼦が分かります。
IDL> blink,[0,1]ü

極域などに暗い「コロナホール」が存在する様子が分かります。

次に、同じ時刻に撮影された SDO 衛星 AIA（Atmospheric Imaging Assembly）による紫外線画像データと⽐較します。以下のデータを読み込みます。
IDL> window,2
IDL> file_304='aia.lev1_euv_12s.2014-10-24T180309Z.304.image_lev1.fits'
IDL> read_sdo,file_304,index_304,data_304
IDL> aia_lct,rr,gg,bb,wavelnth=304,/load
IDL> plot_image,alog10(data_304>1.<1000.)IDL>
IDL> window,3
IDL> file_171='aia.lev1_euv_12s.2014-10-24T180312Z.171.image_lev1.fits'
IDL> read_sdo,file_171,index_171,data_171
IDL> aia_lct,rr,gg,bb,wavelnth=171,/load
IDL> plot_image,alog10(data_171>5.<5000.)IDL>
IDL> window,4
IDL> file_131='aia.lev1_euv_12s.2014-10-24T180310Z.131.image_lev1.fits'
IDL> read_sdo,file_131,index_131,data_131
IDL> aia_lct,rr,gg,bb,wavelnth=131,/load
IDL> plot_image,alog10(data_131>1.<500.)

このとき「304」は He II 304Å（約 5 万度）、「171」は Fe IX 171Å（約 60 万度）、「131」はFe VIII（約 40 万度）および Fe XXI（約 1000 万度）を含む波⻑帯を表します。
ü

温度によってプラズマの見え方が異なることが分かります。どのように見え方が変わるでしょうか？

5.

IRIS データ
NASA の IRIS 衛星は彩層や遷移層の紫外線スペクトルを取得し、⼤気中の速度・密度などの物理量を測定しています。ここでは、2014 年 10 ⽉ 24 ⽇ 21:24 UT に⽣じた X3.1 クラス
フレアの観測データ2を解析します。Google ドライブの data_iris からデータをダウンロードし、2.で作成した作業ディレクトリに置きます。
SSWidl を起動し、IRIS データのファイル名を定義します。
$ sswidl
IDL> file_1330='iris_l2_20141024_205222_3860111353_SJI_1330_t000.fits'
IDL> file_2796='iris_l2_20141024_205222_3860111353_SJI_2796_t000.fits'
IDL> file_ras='iris_l2_20141024_205222_3860111353_raster_t000_r00000.fits'

はじめに、スリットジョー画像を確認します。
IDL> loadct,3
IDL> read_iris_l2,file_1330,index_1330,data_1330
IDL> stepper,alog10(data_1330>1.<10000.)
キーボードの「m」を押すとムービーが⾃動再⽣されます（終了は「q」）。画像内で明るさが何桁も異なる（ダイナミックレンジが⼤きい）ため、alog10()によって明るさをログスケールに変換しています。
ü

フレアの発生に伴って、黒点の周囲に明るい「フレアリボン」が広がる様子を確かめましょう。

スリットジョー画像とは、スリットの当たっている太陽⾯上の位置を確認するために取得した画像です。
「1330」は C II 1330Å輝線の付近の波⻑帯、「2796」は Mg II k 2796Å輝線の付近の波⻑帯を⽰します。この観測はスリットを太陽⾯上に固定した「sit-and-stare」観測によるものですが、太陽⾯上でスリットをスキャンさせるラスター観測も存在します。
Mg II k のスリットジョー画像は、以下のように確認します。
IDL> read_iris_l2,file_2796,index_2796,data_2796
IDL> window,1
IDL> stepper,alog10(data_2796>1.<10000.)2

データ：https://www.lmsal.com/hek/hcr?cmd=view-event&eventid=ivo://sot.lmsal.com/VOEvent%23VOEvent_IRIS_20141024_205222_3860111353_2014-10-24T20:52:222014-1024T20:52:22.xml

続いて、スリットに沿って取得したスペクトルを確認します。

IDL> read_iris_l2,file_ras,index_cii,data_cii,wave='C II'
IDL> window,2IDL> stepper,alog10(data_cii>1.<10000.)

このとき、x 軸は波⻑です。スリットジョーで確認したフレアリボンの位置では、スペクトルの強度が増⼤している（明るくなっている）様⼦がわかります。同時に、波⻑⽅向にも明るい構造が移動したり広がったりしています。すなわち、フレアリボンではスペクトルは波⻑⽅向に偏移する、すなわち、ドップラー速度（視線⽅向速度）を持つことが分かります。
同様に、Mg II k スペクトルも確認します。
IDL> read_iris_l2,file_ras,index_mgii,data_mgii,wave='Mg II'
IDL> window,3
IDL> stepper,alog10(data_mgii>1.<10000.)

スペクトルを詳しく⾒ると、⾚⽅偏移（レッドシフト：視線⽅向に沿って遠ざかる）や⻘⽅偏移（ブルーシフト：視線⽅向に近づく）する成分が⾒られます。これは、フレアに伴い、上空のプラズマが下降・上昇する様⼦を表しています。
正確な波⻑を得るには、以下のようにします。
IDL> l_cii=index_cii[0].twmin1+(index_cii[0].twmax1-index_cii[0].twmin1) $IDL> /float(index_cii[0].naxis1-1)*indgen(index_cii[0].naxis1)

ü

波長の偏移からドップラー速度を求めてみましょう。

üヒント：ドップラー速度と波長偏移の関係式を使います→ ∆V$c = ∆&$&!

特徴的な時刻については、スペクトルを 1 次元でプロットし、スペクトル形状を確認すると良いでしょう。
なお、IRIS は多くの場合「ひので」と同時観測を⾏っています。この観測も「ひので」との共同観測であり、「ひので」データも存在します。