GO-RISR

はじめに

解析環境のセットアップ

  1. まずは darndeb02 にログイン.
    注: darndeb01-05 まで全ての計算機で処理ソフトは動くが, darndeb02 が一番速い.
  2. 適当な作業ディレクトリを作り, そこへ移動.
    % mkdir -p ~/work/risr
    % cd ~/work/risr
    注: ホームディレクトリ以下の work というディレクトリに研究用のファイルを置くと良い.
  3. RISR データを解析するための IDL プロシージャ(サンプル)をカレントディレクトリにコピーする.
    % cp /radar01/work/Imager/Collabo_Risr/Visualize/risr_routines.pro .
    注: IDL のプログラムのことをプロシージャと呼ぶ. このファイルの中に複数のプログラムが入っている.

プロシージャのコンパイル

  1. Go を起動.
    % go
  2. プロシージャをコンパイル
    Go > .run risr_routines.pro
    注: risr_routines.pro を .run コマンドでコンパイルすると, OMTI 用のソフト imager_routines.pro も自動的にコンパイルされる.

データの読み込み

データファイルについて

RISR-N のデータは以下のディレクトリに置かれている.

/radar01/work/Imager/Collabo_Risr/Data

データは 1 回のレーダーオペレーション(大抵の場合は数日継続するが, 24 時間以下で終わることもある)ごとに 1 つのファイルに格納されている. ファイル名は例えば risr-n-parm-20091114.dat のような感じになっている. このデータファイルには, 2009 年 11 月 14 日の何時か(0 時 UT とは限らない)に始まった観測のデータが入っている.

ファイルの中にはデータが得られたグリッド毎に時刻・ビームの方向・緯度・経度・高度・電子密度・電子温度・イオン温度・イオン速度などのパラメータが格納されている. つまり, 1 行がある時刻のあるグリッドのデータに相当する. 以下のようにして中身を確認してみて欲しい.

% less /radar01/work/Imager/Collabo_Risr/Data/risr-n-parm-20091114.dat
less はテキストファイルの中身を見るための UNIX コマンドである. q を押すと抜けることができる.

各行に表示されている数値の意味については, 後で述べるデータフォーマットと照らし合わせて理解しておいて欲しい.

ここで注意してもらいたいのは, ファイル名に含まれている日付はあくまで観測開始の日付であるということである. 観測がどのくらい継続し, 観測が何日の何時に終了したかを把握するためには, ファイルの末尾を確認する必要がある. 以下のようにしてファイルの末尾の内容を確認してみて欲しい.

% tail /radar01/work/Imager/Collabo_Risr/Data/risr-n-parm-20091114.dat
tail はテキストファイルの末尾を取り出して表示する UNIX コマンドである.

データフォーマットについて

以下にファイルのデータ部分に格納されているパラメータに対する説明を与える.
BHHMMSS: データの開始時刻(6 桁, 105816 の場合は 10 時 58 分 16 秒 UT, 5816 の場合は 00 時 58 分 16 秒 UT) DAY: 日 EHHMMSS: データの開始時刻(6 桁, 105816 の場合は 10 時 58 分 16 秒 UT, 5816 の場合は 00 時 58 分 16 秒 UT) MONTH: 月 YEAR: 年 AZM: アンテナの方位角(度, 北が 0 度, 時計回りに 360 度まで, 90 度が東) BEAMID: 様々な方向を向くビームに付けられた ID 番号(5 桁の数字) ELM: 仰角(度, 0 度が地平線, 90 度が天頂) GDALT: データが取得されたグリッドの高度(km) GDLAT: データが取得されたグリッドの地理緯度(度) GLON: データが取得されたグリッドの地理経度(度) RANGE: データが取得されたグリッドのレーダーサイトからの距離(km) NEL: 電子密度(常用対数 LOG10, 単位は立法メートル) TE: 電子温度(K) TI: イオン温度(K) VO: イオン視線方向速度(m/s, 遠ざかる方向がプラス)

データの読み込み

読み出したいファイルの名前を指定し, データをメモリにロードする.

Go > file_risr_parm,'risr-n-parm-20091114.dat'
注1: 複数日にまたがるデータファイルの場合この日付はあくまでファイルの開始時刻の日付であることに注意する.
注2: RISR のデータは大量なので, 読み出しに少なくとも数分かかる場合が多い.

プロットの作成

Altitude-Time-Intensity (ATI) プロットの作成

横軸に時間(UT), 縦軸に高度(Altitude)を取り, 得られた物理量(電子密度, 電子温度, イオン温度, イオン速度)をプロットしてみる.

まずは何も考えずに以下のコマンドを実行する.

Go > time,0000,2400
Go > plot_risr_ati

これで 25 本全てのビームに沿って得られた電子密度のデータが ATI プロットの形式で表示される. ここでは, time というコマンドで, プロットの開始時刻と終了時刻を指定している. この例の場合は, 0000 UT から 2400 UT までのデータを表示するようになっている. より短い時間幅でデータを見たい場合は,

Go > time,0600,0800

のように指定すると良い. ここで注意したいのは, ここで指定する時刻は読み出したデータの開始日の 00 UT を基準としているということである. 読み出したデータが 2 日にわたる(日付を超える)ような時に 24 時間以上の時間幅でプロットしたい場合, 例えば,

Go > time,0000,4800

のように時間幅を指定する必要がある. この例では, 48 時間ぶんのデータが表示できるように時間幅を設定している.

デフォルトでは電子密度がプロットされるようになっているが, プロットする物理量を変えたい場合,

Go > set_param_risr,'t_e'
Go > set_param_risr,'t_i'
Go > set_param_risr,'v_0'
注: 't_e' は電子温度, 't_i' はイオン温度, 'v_0' はイオン速度.

のようにプロットするパラメータを変更してから,

Go > plot_risr_ati

を使ってプロットを作ってやると良い.

プロットのカラースケールの幅を変えたい場合は,

Go > set_scale_risr,-200,200

のようにする. コマンドの引数にカラースケールの最小値と最大値を与えてやる.

plot_risr_ati を使うと 25 本のビームのデータが全て表示されるが, 個々のビームのデータを表示したい場合は,

Go > clear_page
Go > define_panel,1,1,0,0,/bar,/no_charset
Go > plot_risr_ati_panel,10

のようにすれば良い. clear_page は画面をクリアするコマンド, define_panel,N,M,n,m は, 画面を横方向に N 分割, 縦方向に M 分割し, それぞれその n 番目, m 番目の領域を描画領域に指定するというコマンドである. この例の場合, 画面に 1 つだけ描画領域を指定し, そこにプロットを行っている. plot_risr_ati_panel の引数には, ビームの番号を指定する. 今は 25 本のビームを使っているので, 1 から 25 までの数字を指定することができる.

plot_risr_ati コマンドでは, カラーバーが自動的に出力されるが, plot_risr_ati_panel コマンドにその機能はない. よって, 以下のようにして, 別途カラーバーを描く必要がある.

Go > plot_risr_colour_bar,3,0

ここで与えられた引数 3,0 は, 縦方向に 3 分割してその 0 番目の場所にカラーバーを書くということを意味している.

OMTI データとの重ね書きプロットの作成

OMTI の全天画像の上に RISR のデータを上書きしたプロットを作成する.

まずは, 下地となる OMTI のデータを以下のコマンドで書く.

Go > go_time_asi,0700
Go > plot_asi_risr_panel
注: もちろん OMTI のデータは事前に読み込んでおく必要がある.

これで, 0700 UT の全天画像が表示された. まずは, この画像の上に RISR のビームの方向を書いてみる.

Go > overlay_risr_beam_direction

ビームの方向がビーム番号とともに示される. この段階ではまだ物理量はプロットされていない.

この上に電子密度のマップを上書きするには,

Go > go_time_risr,070000
Go > overlay_risr_data_contour

のようにすればよい. この例では, go_time_risr コマンドで RISR のデータの時刻を 0700 UT にした上で, RISR のデータを等高線(contour)で上書きしている. ここで注意してもらいたいのは, RISR の時刻は 6 桁で指定するということである(この例の場合 7 時 0 分 0 秒 UT).

ATI プロットのところで説明したように, set_param_risr コマンドや set_scale_risr コマンドを用いて, プロットする物理量やそのカラースケールを変更することができる. また, RISR のデータを contour ではなく, 点で描きたい場合は,

Go > overlay_risr_data_point

を用いる. このコマンドを用いると RISR のビームの位置に点が描かれ, 物理量がカラースケールで表示される.

この RISR データの上書きプロットでは, デフォルトで 250 km 高度のデータを取ってきて描画するようになっている. 描画する高度を変えたい場合は,

Go > overlay_risr_data_contour,alt_plot=200

のようにすれば 200 km 高度のデータが表示される. 高度毎にデータが異なっているということを確認して欲しい.

以上の処理を全ての物理量に関してまとめて行う便利なコマンドがある.

Go > go_time_asi,0708
Go > plot_asi_risr

これで, 全天画像上でのビームの配置や, RISR のビームの近傍における全天画像および物理量がまとめて表示される. このコマンドでは, go_time_asi で指定された全天画像の時間の RISR のデータが自動的に上書きされるようになっていることに注意して欲しい(RISR の時刻を指定する必要がない). ここで注意してもらいたのは, 24 時間を超える RISR データを読み込んでいる場合の処理であるが, これに関しては複雑なので, 2009 年 12 月 11 日のイベントを解析する時にのみ, 以下のようにして欲しい.

Go > plot_asi_risr,day_offset=1

これは, OMTI のデータの日付と, RISR の観測が始まった日付が 1 日ずれていることによるものである(ややこしい).

Powerpoint に貼り込む際には, 横書きのほうが都合が良い場合がある. そのような時は,

Go > plot_asi_risr_land

のようにしてやると横書きになる. 縦書きに戻したい場合は,

Go > set_format,/portrait
Go > clear_page

のようにしてやれば良い.

ムービーの作成

ムービーの作成はコマンドだけでは行えず, 若干のプログラミングをする必要がある.

以下の IDL プロシージャをカレントディレクトリにコピーして中身を解読しつつやってみて欲しい.

% cp /radar01/work/Imager/Collabo_Risr/Visualize/sample_movie_routines.pro .

このプロシージャでは, mpeg ファイルをダイレクトに生成している. とはいっても, 決して難しいことをやっている訳ではなく, mpeg ファイルを開いて, 出力画像をどんどん書き込んでいき, 最後に保存しているだけの処理である. プロシージャの中身を追いかけながら, 理解してもらいたい.