Back
How to

MAGPACK2 の使用方法


IDL(野辺山で行なって下さい!!)
このマニュアルは、 森本さんのマニュアル に準じて書きました。IDLインターフェースがSun用なので、野辺山の stratosで行なって下さい。
森本さんのマニュアルは、野辺山の横山さんのインターフェースに基づいており、 potential fieldの計算や可視化が簡単に行なえますが、 残念ながらエラーが若干残っています。それらの改良は森本さんにお願いするとして、 以下に森本さんのプログラムを用いての計算&可視化を説明します。

% ssh sshsolar.nro.nao.ac.jp
... password

burst4% ssh stratos
... password

ssw の立ち上げ
stratos% idlh


(0) マグネトグラムの用意

MDIかNSOKPが便利です(以後もそれに対応して書かれています)。
どちらもfits fileで用意して下さい。

(1) lof fileの作成(計算)

(森本さん作成プログラム「mgp_iface」を使う)

準備

IDL> fitsfile='fd_M_96m_01d.3021.0003.fits' ;(マグネトグラムのfile :入力file)
IDL> mgmfile='010410.mgm' ;(MAGPACK2用のマグネトグラム :出力file)
IDL> loffile='010410_mag.lof' ;(lof file :出力file)
IDL> xrange=[ -50,300] & yrange=[-450,-100] ;(計算領域)

**計算領域は一つのactive regionが入るようにする。
でもなるべく小さく(計算時間短縮のため)。
range外は磁場=0で計算されている。
太陽の曲率を計算し、2次元平面に直してから計算しているので、 limbの計算領域では思った以上に時間が掛かります。 気を付けましょう。

IDL> corner=[ 65,-320] ;(磁力線を計算させる範囲の左下隅 :arcsec)
IDL> skip=[ 5.,5.] ;(磁力線の間隔 :arcsec)
IDL> n_lof=[10,10] ;(磁力線の本数)

**磁力線を計算させる範囲は
EW:[corner(0),corner(0)+skip(0)*(n_lof(0)-1)],
NS:[corner(1),corner(1)+skip(1)*(n_lof(1)-1)]となる。
**この例では、EW:[ 65, 110],NS:[-320,-275]の領域を、
5 arcsec間隔で計100本について計算することになる。

IDL> rd_mdi,fitsfile,index,data
森本さんのプログラムでは map を作成して重ねたりしてるので、 マグネトグラムの index/data を必要とする。
Kitt Peakのときは、
IDL> read_nso,'930730M1',index,data
のようにする。
**ただし、mgm ファイルを作成するときに、元のマグネトグラム ファイルが必要なので、fitsfile を省略することは出来ない。


いよいよ計算!

IDL> mgp_iface,fitsfile, mgmfile, loffile, xrange=xrange, yrange=yrange, $
corner=corner, skip=skip, n_lof=n_lof, help=help, $
mdi=mdi, index=index,data=data

**MDIの時は上記のように、MDIをkeywordで指定して下さい。
これにより、lof fileが作成されます。lof fileには磁力線一本づつの情報が 入っています。
**残念ながら 森本さんマニュアルにあるevtimeは動きませんでした。
なるべくイベントに近い時間のマグネトグラムを使用して下さい。


(2) lof file から磁力線を描かせる

(森本さん作成プログラム「mgp_view」を使う)
** 森本さんマニュアルには 「これより先の作業については、アーキテクチャには依存しない。 IDL 動作環境で行うと良い。」とありますが、残念ながら走りません。 引続き、野辺山で行なって下さい。但し、野辺山ならどのマシンでも良いです。 理由は聞いて下さい。


キーワード

IDL> loffile='010410_mag.lof'
IDL> mgmfile='010410.mgm'
IDL> fitsfile='fd_M_96m_01d.3021.0003.fits'

IDL> mlcolor=2
磁力線の色。数字は set_line_color のカラーナンバー。

*** 磁力線の強調 ***
IDL> plnum=48
強調したい磁力線の番号をここで指定する。 なお、一本じゃないときは plnum=[62,91,92] のように array で指定。
IDL> plcolor=4
強調したい磁力線の色。
IDL> plthick=3
強調したい磁力線の太さ。

*** 背景の map について ***
IDL> rd_mdi,fitsfile,index,data
IDL> index2map,index,data,map_mdi

IDL> magmap=map_mdi
背景となる map の指定。MDIでなくてもどんなmapでもよい。
IDL> overmap=map_mdi
一方こちらは、背景の画像にコンタープロットをしたいときに指定。 コンタープロットには、plot_map, /over が用いられる。

IDL> xrange=[ -50, 300]
IDL> yrange=[-450,-100]
マグネトグラム( map 形式)の表示領域の指定。arcsec 単位。

IDL> lcolor=[3,5]
コンターに用いられるラインの色。先(3)が "levels"に、 後(5)が"negalevels"に対する色を決めている。
IDL> levels=[100,300,500]
コンターレベル。overmapを指定するとコンターを描ける。
IDL> neglevel=[-500,-300,-100]
さらに他の色を用いてコンターを重ねる時に用いる。


いよいよ描いてみる!

IDL> mgp_read_lof,loffile,xyzb,mbndlof
loffile の読み込み。xyzbに変数は格納される。(結構時間がかかる)
IDL> mgp_view, loffile, fitsfile, xrange=xrange, yrange=yrange, $
help=help, mdi=mdi,magmap=magmap, $
overmap=overmap,lcolor=lcolor,levels=levels,neglevel=neglevel,$
xyzb=xyzb,mbndlof=mbndlof,line_color=line_color,$
pscolor=pscolor,mlcolor=mlcolor,plcolor=plcolor,$
plthick=plthick,plnum=plnum


(3) 磁力線1本の解析

詳しくは 森本さんのマニュアルを参考にして下さい。 ここでは1本の磁力線に関して、 その形と磁場の強さ、視線方向との角度等 を4つのウインドウにプロットします。

(3-0)準備

IDL> mgmfile='010410.mgm'
IDL> loffile='10410_mag.lof'
IDL> mgp_read_lof,loffile,xyzb,mbndlof

**これまでに読み込まれていればこの3つは不要。

IDL> mgp_pick_lof, xyzb, mbndlof, 35, xyzb0

**35の代わりに調べたい磁力線の番号を入れる。
**xyzb0が出力パラメータで、8列の配列になっている。 一本の磁力線を細かく分け、その各点に置けるパラメータが格納されている。
各列には、(x座標,y座標,z座標,始点からの距離s,Bx,By,Bz,Total B(strength)) が入っている。
単位は、距離や座標が 10,000km,磁力がgaussである。


(3-1)特定の磁力線についての情報を得る
(森本さん作成プログラム : mgp_plotfl)
**mgp_plotfl.proを(カレントディレクトリなどに)コピーして来て、その中の、 roundoffを消去して下さい。これが定義されてないために、エラーで止まります。
fieldset=roundoff(fieldset,0)の行を探し、 ;fieldset=roundoff(fieldset,0) のようにコメントアウト、もしくは、消去。そして、忘れず、

IDL> .r mgp_plotfl

IDL> mgp_plotfl, xyzb, mbndlof,xyzb0=xyzb0,plnum=plnum,xrange=xrange,$
yrange=yrange,/line_color,/settitle

**settitle はプロットウインドウにタイトルを決まったタイトルを 表示させるためのキーワード。


How to analyze data by IDL CDAW00 manual


Top
Back
Home