どせいたんさき。

ナスダヨー

set parametric による大気の窓

?:演算子と Rydberg fomula - どせいけいさんき。』にて三項演算子を用いて不連続な関数をプロットしたのだけど,パラメタ表示を使っても似たようなことができるという一例*1.今回は赤外領域における大気の窓( infrared windows )を可視化してみます.

まえおき

天文学とは大雑把に言えば宇宙からやってくる光を解読するという学問です.観測する装置の発達に伴って可視光線の枠を飛び出して様々な波長での観測が可能になりました.その中の一つが赤外線天文学です.しかしながら,(地上から)赤外線による観測を行うには大きな問題が存在します.空気中に存在する水蒸気(や二酸化炭素)が宇宙からの赤外線を吸収,あるいは赤外線を自ら放出してしまうため観測の障害になります.幸いなことに,この吸収は光の波長に依存するため,ある波長ではほとんど吸収が起こらないような場所も存在します.このように吸収が起こらない領域がある程度連続している波長域を大気の窓と呼び,地上からの観測はその窓の部分を用いて観測が行われます.

分かりにくい説明ですがこの辺で...詳しく知りたい人は Google 先生に聞いてください.


この大気の窓にはそれぞれ名前が付いています.大雑把に言って次の表のような感じです*2

Designation
of the band
Center
Wavelength [um]
Width
(FWHM) [um]
J 1.25 0.3
H 1.65 0.35
K 2.2 0.4
L 3.5 1.0
M 4.8 0.6
N 10.6 5.0
Q 21 11.0

FWHM は半値全幅ですね.この表だけでも十分役に立ちますが簡単なグラフにしておけば視覚的にも確認しやすいと思うのでちょっと描いてみることにしました.どうでもいいですが,マイクロを um と書くのは何か抵抗がありますね...

ぷろっと

パラメタ表示によるプロットは x,y をそれぞれ t の関数として指定します.こんな感じ.

set parametric
plot x(t), y(t)

あとは x(t),y(t) に具体的な関数を代入すればプロットしてくれます.例えば 1 つの x に対して y の値が複数存在するような場合など有効ですね.今回は"範囲の違うグラフを複数プロットする"という目的のためにこれを用います.

まずは関数と媒介変数について.媒介変数 t の範囲は適当に決めました.大気の窓は中心波長と半値幅で特徴づけられるので,それらを用いてプロットで使う関数を定義します.

set trange [0:1]          # 媒介変数の範囲を指定.とりあえず [0:1] で.
F(l,w,t) = w*t + l-w/2    # l:中心波長 w:半値幅 として関数を定義.

あとは x,y の軸の範囲を適当に決めてプロットを行います.見やすさを考えて微妙に縦にずらしました.

set logscale x 2        # x 軸は対数にしました.
set xrange [1:32]       # 全ての波長が含まれるように範囲を指定.
set yrange [1.05:1.45]  # y 軸の値は適当.もっと簡単な値にすればよかった.
plot \                  # プロットしています.太めの線にしました.
	F(1.25,0.30,t),1.10 title "J band 1.25 width 0.3"\
	 	with lines linewidth 4, \
	F(1.65,0.35,t),1.15 title "H band 1.65 width 0.35"\
		with lines linewidth 4, \
	F(2.20,0.40,t),1.20 title "K band 2.20 width 0.4"\
		with lines linewidth 4, \
	F(3.50,1.00,t),1.25 title "L band 3.50 width 1.0"\
		with lines linewidth 4, \
	F(4.80,0.60,t),1.30 title "M band 4.80 width 0.6"\
		with lines linewidth 4, \
	F(10.6,5.00,t),1.35 title "N band 10.6 width 5.0"\
		with lines linewidth 4, \
	F(21.0,11.0,t),1.40 title "Q band 21.0 width 11.0"\
		with lines linewidth 4

普通ならこれでお疲れさま,なのですがこのままでは何とも見栄えが悪いので y 軸を変えてみます.

set mxtics 20   # x 軸の小目盛りを増やしています
set grid mx     # grid を引きます.
set ytics ("J" 1.10, "H" 1.15, "K" 1.20, "L" 1.25, "M" 1.30, "N" 1.35, "Q" 1.40)
                # y 軸の目盛りを今回のプロットに合うよう変更.

()の中は ("付けたいラベル", ラベルの位置, ...) となってます.これで自分の好きな位置に好きな文字を入れることができます.グラフの極値を示すときなどに有効です.


なんやかんやでこんなグラフになります.片対数プロットなのでちょっと分かりにくいかもしれませんが,それぞれの位置関係が何となーく分かるんじゃないでしょうか.今回はやりませんでしたが,ここに各検出器のカヴァーする波長域なんか重ねてもおもしろいかもしれませんヾ(゜□゜@)

*1:実際,前の記事で既にパラメタ表示使ってるのだけど改めて紹介.

*2:"ELECTRONIC IMAGING IN ASTRONOMY Detectors and Instrumentation" Ian McLean より