Microsoft PowerPoint - SPEDAS_lecture_05_CUI2_shinbori_ pptx

Similar documents
CUIの使い方(後編):calcコマンド、get_dataやstore_dataの使い方、時系列データのフィルター処理、スペクトル/相関解析方法

Microsoft PowerPoint - データ解析講習会 _CUI編.pptx

Microsoft PowerPoint - SPEDAS_lecture_04_CUI_abe_ pptx

コマンド入力による操作1(ロード、プロット、画像ファイル出力等)

untitled

Microsoft PowerPoint - IDL_SPEDAS_lecture_event pptx

九州大学学術情報リポジトリ Kyushu University Institutional Repository TDAS,UDAS 入門 : インストール & セットアップ,IDL- VM 環境での GUI の使い方 田中, 良昌国立極地研究所

Microsoft Word - 18環設演付録0508.doc

Microsoft PowerPoint - qcomp.ppt [互換モード]

PowerPoint プレゼンテーション

Microsoft PowerPoint - CSA_B3_EX2.pptx

理工学図書館後期 LS 講習会 きれいなグラフを作ろう! gnuplot 入門

数学 t t t t t 加法定理 t t t 倍角公式加法定理で α=β と置く. 三角関数

Microsoft PowerPoint - 第3回2.ppt

Microsoft PowerPoint - ip02_01.ppt [互換モード]

第 4 週コンボリューションその 2, 正弦波による分解 教科書 p. 16~ 目標コンボリューションの演習. 正弦波による信号の分解の考え方の理解. 正弦波の複素表現を学ぶ. 演習問題 問 1. 以下の図にならって,1 と 2 の δ 関数を図示せよ δ (t) 2

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生

Microsoft Word - 簡単な計算と作図.doc

Microsoft PowerPoint - DigitalMedia2_3b.pptx

板バネの元は固定にします x[0] は常に0です : > x[0]:=t->0; (1.2) 初期値の設定をします 以降 for 文処理のため 空集合を生成しておきます : > init:={}: 30 番目 ( 端 ) 以外については 初期高さおよび初速は全て 0 にします 初期高さを x[j]

クエリの作成が楽になるUDF

Desmos を始めましょう グラフを作る Desmos へようこそ! 新しいグラフを作るには式リストの一番上に式を入力します 式を入力すればすぐにグラフが描画されます グラフを開く保存したグラフやグラフの例はここにあります アイテムの追加新しい式やメモ テーブル フォルダ 画像を追加できます 非表

Microsoft Word - 微分入門.doc

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

Matlab講習会

第4回

Microsoft PowerPoint - 講義資料-mlib

. はじめに 本文書は, ジャイロもしくは周波数発振器などの性能評価にしばしば用いられるアラン分散 について記したものである.. 目的 本文書は, アラン分散の概念及び計算方法, そして評価方法について述べ, アラン分散を 用いた解析のノウハウを習得することを目的とする 3. 参考文書 参考文書を以

初めてのプログラミング

Java講座

memo

例 e 指数関数的に減衰する信号を h( a < + a a すると, それらのラプラス変換は, H ( ) { e } e インパルス応答が h( a < ( ただし a >, U( ) { } となるシステムにステップ信号 ( y( のラプラス変換 Y () は, Y ( ) H ( ) X (


画像処理工学

RLC 共振回路 概要 RLC 回路は, ラジオや通信工学, 発信器などに広く使われる. この回路の目的は, 特定の周波数のときに大きな電流を得ることである. 使い方には, 周波数を設定し外へ発する, 外部からの周波数に合わせて同調する, がある. このように, 周波数を扱うことから, 交流を考える

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

PowerPoint プレゼンテーション

Microsoft Word - Cプログラミング演習(12)

1/10 平成 29 年 3 月 24 日午後 1 時 37 分第 5 章ローレンツ変換と回転 第 5 章ローレンツ変換と回転 Ⅰ. 回転 第 3 章光速度不変の原理とローレンツ変換 では 時間の遅れをローレンツ変換 ct 移動 v相対 v相対 ct - x x - ct = c, x c 2 移動

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用

製品開発の現場では 各種のセンサーや測定環境を利用したデータ解析が行われ シミュレーションや動作検証等に役立てられています しかし 日々収集されるデータ量は増加し 解析も複雑化しており データ解析の負荷は徐々に重くなっています 例えば自動車の車両計測データを解析する場合 取得したデータをそのまま解析

プログラミング実習I

分析のステップ Step 1: Y( 目的変数 ) に対する値の順序を確認 Step 2: モデルのあてはめ を実行 適切なモデルの指定 Step 3: オプションを指定し オッズ比とその信頼区間を表示 以下 このステップに沿って JMP の操作をご説明します Step 1: Y( 目的変数 ) の

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

C.1 GLSL ES 言語リファレンス この付録は WebGL 用のシェーダをプログラムするために使われるGLSL ES 言語のリファレンスである GLSL ESの詳細は GLSL_ES_Specifi

2009 年 11 月 16 日版 ( 久家 ) 遠地 P 波の変位波形の作成 遠地 P 波の変位波形 ( 変位の時間関数 ) は 波線理論をもとに P U () t = S()* t E()* t P() t で近似的に計算できる * は畳み込み積分 (convolution) を表す ( 付録

DVIOUT

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

PowerPoint Presentation

Microsoft PowerPoint - Lec15 [互換モード]

PowerPoint プレゼンテーション

sinfI2005_VBA.doc

Microsoft Word - lec_student-chp3_1-representative

複素数平面への誘い

Microsoft PowerPoint - CproNt02.ppt [互換モード]

Microsoft PowerPoint - program.ppt [互換モード]

Microsoft Word - 補論3.2

インターリーブADCでのタイミングスキュー影響のデジタル補正技術

Microsoft PowerPoint ppt

JavaプログラミングⅠ

PowerPoint Presentation

関数の定義域を制限する 関数のコマンドを入力バーに打つことにより 関数の定義域を制限することが出来ます Function[ < 関数 >, <x の開始値 >, <x の終了値 > ] 例えば f(x) = x 2 2x + 1 ( 1 < x < 4) のグラフを描くには Function[ x^

Microsoft Word - VBA基礎(6).docx

微分方程式 モデリングとシミュレーション

Microsoft Word - 頻度解析プログラム概要

医用工学概論  Medical Engineering (ME)   3年前期の医用工学概論実習と 合わせ、 医療の現場で使用されている 医用機器を正しく安全に使用するために必要な医用工学(ME)の 基礎知識を習得する。

C#の基本

Transcription:

第 3 回 太陽地球環境データ解析に基づく超高層大気の空間 時間変動の解明 @NIPR 2016/10/18-20 データ解析セッション CUI の使い方 ( 後編 ):calc コマンド get_data や store_data の使い方 時系列データのフィルター処理 スペクトル / 相関解析方法 新堀淳樹 ( 京大生存研 )

1.1 この講習セクションの目標 1. はじめに 入門編 CUI の使い方 ( 前編 ) では データのロード プロットの基礎 およびプロットの画像出力方法などを行った CUI の使い方 ( 後編 ) では UDAS 上での汎用データ形式である "tplot 変数 " の中身について理解し 各自の手持ちのデータから独自の tplot 変数を生成する方法を学ぶ 非常に便利な tplot 変数を使った演算 ( 足し算 引き算 掛け算 時間微分等 ) について学ぶ 移動平均 バンドパスフィルター 周波数スペクトル導出など よく用いられる時系列解析のやり方を覚える GUI より CUI( コマンドラインでの操作 ) の方が自由度が高いことから UDAS に慣れてくるとコマンドを使う方が断然便利である!

1. はじめに 1.2 解析に用いるデータと磁気嵐イベント 使用観測データ : 太陽風 ACE 衛星地磁気データ 地磁気指数 WDC Kyoto, 210mm, MAGDAS, AE/SYM 赤道電離圏データ 赤道大気レーダー電離圏観測 解析対象イベント 2015 年 6 月 21-25 日にかけて発生した磁気嵐 (minsym-h = -109 nt) 地磁気指数 (Dst 指数 ) 赤道大気レーダー

2.1 tplot 変数とは 2. tplot 変数の取り扱いと演算 SPEDAS/UDAS のベースになっている TDAS (THEMIS Data Analysis Software) での 汎用時系列データ形式 IDL 上では単なる文字列であるが tplot 等のいわゆる t コマンドに与えることによって tplot 変数名に紐付けられた時系列データの実体に対して コマンド処理が実行される IDL メモリーの中 TDAS 処理系 時刻配列 時系列データ 1 データ配列 時系列データ 2 メタデータ tplot 変数名 1 TDAS 処理系では tplot 変数名で 実体の時系列データが参照される 処理の際にデータ配列数は気にしなくてもよい! 時刻配列 データ配列 メタデータ tplot 変数名 2

2. tplot 変数の取り扱いと演算 2.2 get_data を用いて tplot 変数の中身を見る メタデータが入る get_data, 'tplot 変数名 ', data = d, dlimits = dl, lim = lim データ配列が入る 主に可視化情報が入る tplot 変数名 のところはインデックス番号でも可 その場合はシングルクォーテーションは不要 THEMIS> timespan, '2015-06-21', 5 時間幅として2015 年 6 月 21 日から5 日分を指定 THEMIS> iug_load_ear, datatype = 'e_region', parameter = 'eb3p4g' 赤道大気レーダー電離圏観測データをロード THEMIS> get_data, 'iug_ear_faieb3p4g_dpl1', data = d, dlimits = dl, lim = lim THEMIS> help, d, /struct help コマンドは変数 構造体の情報を表示する /struct キーワードを付けると 構造体内の配列情報を表示する ** Structure <136157a0>, 3 tags, length=1540600, data length=1540600, refs=1 : X DOUBLE Array[2831] 時刻データ (1 次元 ) Y FLOAT Array[2831, 134] 視線方向風データ (2 次元 ) V FLOAT Array[134] 高度データ (1 次元 )

2. tplot 変数の取り扱いと演算 2.2 get_data を用いて tplot 変数の中身を見る THEMIS> help, d, /struct ** Structure <136157a0>, 3 tags, length=1540600, data length=1540600, refs=1 : X DOUBLE Array[2831] Y FLOAT Array[2831, 134] V FLOAT Array[134] tplot 変数の実体のデータ構造体 ( 今の場合は d ) は X, Y, V という3つのメンバーから構成されている X: 倍精度浮動小数点で表したUnix time (1970-1-1 00:00:00 UTからの積算秒数 ) この例では 2831 個の1 次元配列 つまりデータのtime frame は2831 個ある このデータは152 秒で5 日分なので 1 日 =86400 秒 /152 秒 x 5 日分で 2831 Y: 温度データが入っている配列この場合 2831 *134の2 次元配列 V: 高度データが入っている1 次元配列この場合 134の1 次元配列

2. tplot 変数の取り扱いと演算 2.2 get_data を用いて tplot 変数の中身を見る THEMIS> help, dl, /struct ** Structure <18df09d0>, 1 tags, length=32, data length=32, refs=16: DATA_ATT STRUCT -> <Anonymous> Array[1] dlimits 構造体にはメタデータ ( データに関する各種情報 ) が格納される 例えば CDF はこれ自体も構造体であり 元データファイルである CDF ファイルの情報 ( ファイルのセーブ場所など ) が格納されている THEMIS> help, lim, /struct ** Structure <18ee6300>, 3 tags, length=40, data length=34, refs=2: YTITLE STRING 'EAR-iono!CHeight!C[km]' ZTITLE STRING 'snr1!c[db]' SPEC INT 1 lim 構造体の方には主にプロット等に可視化する際に必要な情報が入っている 例えば tplot コマンドが tplot 変数をプロットする場合 ここの情報を参照して 線の色や縦軸のラベル 凡例等を描画する

2.3 store_data で新規 tplot 変数を作成 2. tplot 変数の取り扱いと演算 store_data, 'tplot 変数名 ', data = {x:time, y:data1, v:data2}, dlimits = dl, lim = lim time: データの時刻ラベルを倍精度浮動小数点の Unix time の配列にしたもの 1 次元配列 [N] N: 時刻ラベル数 val: データの配列 スカラーデータの場合は [N] (time と同じサイズ ) 1 次元ベクトルデータの場合は [N][J] (J がベクトルの成分数 ) という配列 というような time, val を用意すれば tplot 変数を作成できる THEMIS> time = d.x THEMIS> h_wind = -1.0 * d.y * cos(152.9*!pi/180)/sin(23.0*!pi/180) THEMIS> height = d.v THEMIS> store_data, 'iug_ear_faieb3p4g_dpl1_h', data = { x:time, y: h_wind, v: height}, dlimits = dl, lim = lim 実際にtplotでプロットして確認してみる THEMIS> zlim, 'iug_ear_faieb3p4g_dpl1_h', -100, 100 THEMIS> tplot, ['iug_ear_faieb3p4g_dpl1', 'iug_ear_faieb3p4g_dpl1_h' ]

2.3 store_data で新規 tplot 変数を作成 2. tplot 変数の取り扱いと演算 THEMIS> tplot, ['iug_ear_faieb3p4g_dpl1', 'iug_ear_faieb3p4g_dpl1_h' ] 視線速度 東西風速 水平速度で見ると風速の変動がわかりやい

2.3 store_data で新規 tplot 変数を作成 水平風 U 2. tplot 変数の取り扱いと演算 視線方向風 :u 90 - θ u = U cos(90 θ ) U = u / sinθ 天頂角 :θ 赤道大気レーダー 観測パラメータ :faieb3p4g ビーム数 :3 ( 天頂角 方位角 ) = (152.9, 23.0), (180.0, 20.8), (207.1, 23.2) ビーム方向 2 と 3 についても同様の計算が可能

2.4 calc コマンドによる tplot 変数の演算 2. tplot 変数の取り扱いと演算 calc, ' " 新 tplot 変数名 " = 計算式 ' ( 例 ) calc, ' "newvar" = "iug_ear_faieb3p4g_dpl1" *(-1.0)* cos(152.9*3.14159/180)/sin(23.0*3.14159/180)' 時系列データである tplot 変数全体を使った演算を 直感的にわかり易い形で書いて実行することができる! 実は 前頁の store_data を使ってやったことは calc, ' "iug_ear_faieb3p4g_dpl1_h" = "iug_ear_faieb3p4g_dpl1" *(-1.0)* cos(152.9*3.14159/180)/sin(23.0*3.14159/180)' と わずか 1 行で実行できる!

2.4 calc コマンドによる tplot 変数の演算 2. tplot 変数の取り扱いと演算 calc, ' " 新 tplot 変数名 " = 計算式 ' ( 例 ) calc, ' "newvar" = "iug_ear_faieb3p4g_dpl1" *(-1.0)* cos(152.9*3.14159/180)/sin(23.0*3.14159/180)' 計算式のルール フォーマットは普通の計算式と同じ 全体を単引用符 ( ' ) で囲む tplot 変数は二重引用符 ( " ) で囲む 使用可能な演算 : 四則 (+-*/), べき乗, sin/cos/tan(), exp(), log(), abs(), min(), max(), total(), mean(), median(), 注意点 複数のtplot 変数を演算に使う場合 実体の配列のサイズ 次元が同一でないといけない データの時刻数が異なる データの次元が異なる ( スカラーデータとベクトルデータの混在など ) とエラーになる calcを用いて新しいtplot 変数を生成した場合 前に含んでいたデータの基本情報を引き継がないので 改めてoptionコマンドで適宜入れる

2.4 calc コマンドによる tplot 変数の演算 2. tplot 変数の取り扱いと演算 calc コマンドでサポートされている関数群とオペレータの種類を確認する方法 THEMIS> calc, function_list=f, operator_list=o THEMIS> print, 'Functions: ',f Functions: log(x[,base]) ln(x) exp(x[,base]) sqrt(x) abs(x) min(x,[,dim][,/nan]) max(x,[,dim][,/nan]) mean(x,[,dim][,/nan]) median(x,[,dim][,/even]) total(x,[,dim][,/nan] [,/cumulative]) count(x,[,dim]) sin(x) arcsin(x) sinh(x) arcsinh(x) cos(x) arccos(x) cosh(x) arccosh(x) tan(x) arctan(x) tanh(x) arctanh(x) csc(x) arccsc(x) csch(x) arccsch(x) sec(x) arcsec(x) sech(x) arcsech(x) cot(x) arccot(x) coth(x) arccoth(x) 使用可能な関数 演算 : 指数 対数関数 平方根 絶対値 最小 最大 平均 中央値 総和 個数 三角関数 双曲線関数 それらの逆関数常用対数 :log 自然対数:ln

2.4 calc コマンドによる tplot 変数の演算 2. tplot 変数の取り扱いと演算 calc コマンドでサポートされている関数群とオペレータの種類を確認する方法 THEMIS> calc, function_list=f, operator_list=o THEMIS> print, 'Operators: ',o Operators: ~ ++ -- - + * / ^ < > && # ## mod and eq ge gt le lt or xor +$ 使用可能な演算子 : ~ ( 論理演算子 ) 否定 ++ -- ( 算術演算子 ) インクリメント デクリメント + - * / ( 算術演算子 ) 加減乗除 ^ ( 算術演算子 ) 冪乗 < > ( 最大 最小演算子 ) 最小 最大 && ( 論理演算子 ) 論理積 ( 論理演算子 ) 論理和 # ## ( 行列演算子 ) 行列の掛け算(BA AB) mod ( 算術演算子 ) 剰余 and ( ビット演算子 ) ビット単位 AND eq ge gt le lt ( 関係演算子 ) A=B A>=B A>B A<=B A<B or ( ビット演算子 ) ビット単位 OR xor ( ビット演算子 ) ビット単位 XOR +$ 改行

2.4 calc コマンドによる tplot 変数の演算 2. tplot 変数の取り扱いと演算 課題 : ほかの 2 ビーム方向から求めた東西風を求め それらを並列プロットする 観測パラメータ :faieb3p4g ビーム数 :3 ( 天頂角 方位角 ) = (152.9, 23.0), (180.0, 20.8), (207.1, 23.2) 1 各ビームごとの東西風の計算 THEMIS> calc, ' "iug_ear_faieb3p4g_dpl2_h" = "iug_ear_faieb3p4g_dpl2" * cos(180.0*3.14159/180)/sin(20.8*3.14159/180)' THEMIS> calc, ' "iug_ear_faieb3p4g_dpl3_h" = "iug_ear_faieb3p4g_dpl3" * cos(207.1*3.14159/180)/sin(23.2*3.14159/180)' 23 つの東西風のカラーバーの範囲の調整 THEMIS> zlim, ['iug_ear_faieb3p4g_dpl2_h', 'iug_ear_faieb3p4g_dpl3_h'], -100, 100 THEMIS> tplot, ['iug_ear_faieb3p4g_dpl1_h', 'iug_ear_faieb3p4g_dpl2_h', 'iug_ear_faieb3p4g_dpl3_h']

2. tplot 変数の取り扱いと演算 2.4 calc コマンドによる tplot 変数の演算

2.4 calc コマンドによる tplot 変数の演算 2. tplot 変数の取り扱いと演算 calc を使うと 各 tplot 変数に付帯する情報を引き継げないので options コマンドで適宜 軸などのキャプションや単位は変更する 軸のキャプションなどの設定 THEMIS> options, 'iug_ear_faieb3p4g_dpl1_h', ytitle = 'EAR-iono!Cheight!C[km]', ztitle = 'U-wind(1)!C[m/s]' THEMIS> options, 'iug_ear_faieb3p4g_dpl2_h', ytitle = 'EAR-iono!Cheight!C[km]', ztitle = 'U-wind(2)!C[m/s]' THEMIS> options, 'iug_ear_faieb3p4g_dpl2_h', ytitle = 'EAR-iono!Cheight!C[km]', ztitle = 'U-wind(3)!C[m/s]' プロットの生成 THEMIS> tplot, ['iug_ear_faieb3p4g_dpl1_h', 'iug_ear_faieb3p4g_dpl2_h', 'iug_ear_faieb3p4g_dpl3_h']

2. tplot 変数の取り扱いと演算 2.4 calc コマンドによる tplot 変数の演算

2. tplot 変数の取り扱いと演算 2.5 calcコマンドの応用電離圏 Pedersen, Hall 伝導度からCowling 電気伝導度を導出 calc, ' "sigmac" = "sigmap" + ("sigmah" ^2 / "sigmap")' 注 ) sigmap: Pedersen 伝導度 sigmah: Hall 伝導度 太陽風観測から太陽風動圧を導出 calc, ' "Pdyn" = "ace_np" * "ace_vp"^2 * 1.6726 * 1e-6 ' 注 ) ace_np: 太陽風密度 [/cc] ace_vp: 太陽風速度 [km/s] プロトンの質量 C = P + 2 H P P = dyn N p 2 * M * Vp 2 つ目の例の ace_np, ace_vp というデータは TDAS に収録されている ace_swe_load, datatype='h0' というコマンドでロードできる

3. tplot 変数を用いた各種データ解析 3.1 tsub_average で平均値を差し引く 210 度地磁気観測点 ( 茂尻とコトタバン ) データのロード THEMIS> timespan, '2015-06-21', 5 THEMIS> iug_load_gmag_mm210, site =['msr', 'ktb' ] THEMIS> tplot_names 23 mm210_mag_msr_1sec_hdz 茂尻の1 秒値 24 mm210_mag_msr_1min_hdz 茂尻の1 分値 25 mm210_mag_msr_1h_hdz 茂尻の1 時間値 26 mm210_mag_ktb_1sec_hdz コトタバンの1 秒値 27 mm210_mag_ktb_1min_hdz コトタバンの1 分値 28 mm210_mag_ktb_1h_hdz コトタバンの1 時間値 THEMIS> tplot, ['mm210_mag_msr_1sec_hdz', 'mm210_mag_ktb_1sec_hdz']

3. tplot 変数を用いた各種データ解析 3.1 tsub_average で平均値を差し引く 茂尻 3 成分 コトタバン 3 成分

3. tplot 変数を用いた各種データ解析 3.1 tsub_average で平均値を差し引く tsub_average, 'tplot 変数名 ' ( 例 ) tsub_average, 'mm210_mag_msr_1sec_hdz' THEMIS> tsub_average, 'mm210_mag_msr_1sec_hdz' THEMIS> tplot, ['mm210_mag_msr_1sec_hdz', 'mm210_mag_msr_1sec_hdz-d'] 元の変数名に -d を付けた新しい tplot 変数に結果が格納される 元データ プロットする際にゼロ線を揃えたり周波数解析の前処理などで多用される 平均値を差し引いたデータ

3. tplot 変数を用いた各種データ解析 3.2 deriv_data で時間微分値を計算 deriv_data, 'tplot 変数名 ' ( 例 ) deriv_data, 'mm210_mag_msr_1sec_hdz-d' THEMIS> deriv_data, 'mm210_mag_msr_1sec_hdz-d' THEMIS> tplot, ['mm210_mag_msr_1sec_hdz-d', 'mm210_mag_msr_1sec_hdz-d_ddt'] 元の変数名に _ddt を付けた新しい tplot 変数に結果が格納される 元データ スペクトル解析をする前に必要に応じてスパイク処理を行う 時間微分値データ

3. tplot 変数を用いた各種データ解析 3.3 clean_spikes でスパイク状のノイズ除去 clean_spikes, 'tplot 変数名 ', nsmooth=60, thresh=5 ( 例 ) deriv_data, 'mm210_mag_msr_1sec_hdz-d_ddt_cln' THEMIS> clean_spikes, 'mm210_mag_msr_1sec_hdz-d_ddt', nsmooth= 60, thresh = 5 THEMIS> tplot, ['mm210_mag_msr_1sec_hdz-d', 'mm210_mag_msr_1sec_hdzd_ddt', 'mm210_mag_msr_1sec_hdz-d_ddt_cln'] 元の変数名に _cln を付けた新しい tplot 変数に結果が格納される clean_spikes の引数 (nsmooth, thresh) は状況に応じて変える 規定値はそれぞれ 3 と 10 になっている 元データ 時間微分値データ 飛び値除去データ

4.1 フーリエスペクトル解析 tdpwrspc 4. 周波数スペクトル解析 tdpwrspc, 'tplot 変数名 ' ( 例 ) tdpwrspc, 'mm210_mag_msr_1sec_hdz-d_ddt' THEMIS> tdpwrspc, 'mm210_mag_msr_1sec_hdz-d_ddt' THEMIS> tplot, ['mm210_mag_msr_1sec_hdz-d_ddt_x', 'mm210_mag_msr_1sec_hdz-d_ddt_x_dpwrspc'] ハニング窓 +FFTでダイナミックスペクトル求め, _dpwrspc という名前のtplot 変数に結果を格納する tplotによりカラーコンターでプロットされる コンターの単位は元の値の単位の2 乗 /Hz ( 元 : db db^2/hz) 縦軸のキャプションは options コマンドで適宜修正する 窓幅のデータ点数 ハニング窓を使う / 使わない など色々オプションがある

4.1 フーリエスペクトル解析 tdpwrspc 4. 周波数スペクトル解析 tdpwrspc を使うと 各 tplot 変数に付帯する情報を正しく引き継げないので options コマンドで適宜 軸などのキャプションや単位は変更する 軸のキャプションなどの設定 THEMIS> options, 'mm210_mag_msr_1sec_hdz-d_ddt_x_dpwrspc', ytitle = 'mm210!cmag!cmsr!cfrequency',ysubtitle = '[Hz]', ztitle = 'Power spectrum!c[(nt)!u2!n/hz]' プロットの生成 THEMIS> tplot, ['mm210_mag_msr_1sec_hdz-d_ddt_x', 'mm210_mag_msr_1sec_hdz-d_ddt_x_dpwrspc']

4.1 フーリエスペクトル解析 tdpwrspc 4. 周波数スペクトル解析

4.1 フーリエスペクトル解析 tdpwrspc 4. 周波数スペクトル解析 京大地磁気指数 (SYM) のデータを追加してみる THEMIS> tplot, ['wdc_mag_sym','mm210_mag_msr_1sec_hdz-d_ddt_x', 'mm210_mag_msr_1sec_hdz-d_ddt_x_dpwrspc'] 磁気嵐主相時において低周波から高周波のスペクトルが卓越していることがわかる 回復相 (6/25あたり) には高周波 (0.05-0.1Hz) のスペクトルが見える

4.2 ウェーブレット変換 wav_data 4. 周波数スペクトル解析 wav_data, 'tplot 変数名 ' ( 例 ) wav_data, 'mm210_mag_msr_1sec_hdz-d_ddt_x_tclip' Wavelet 変換で周波数スペクトルを求める THEMIS> time_clip, 'mm210_mag_msr_1sec_hdz-d_ddt_x', '2015-06-22/15:00', '2015-06-23/00:00' 時間の切り出し THEMIS> wav_data, 'mm210_mag_msr_1sec_hdz-d_ddt_x_tclip' THEMIS> tplot, ['mm210_mag_msr_1sec_hdz-d_ddt_x_tclip', 'mm210_mag_msr_1sec_hdz-d_ddt_x_tclip_wv_pow'] ウェーブレット変換を用いるので tdpwrspc よりは速い時間変動にも追随できる その代わり処理に時間がかかるので 1 度に変換するのは 3 万点程度にした方がよい 特定の時間だけデータを切り出す方法 time_clip, 'tplot 変数名 ', ' 開始時刻 ', ' 終了時刻 ' ( 例 ) time_clip, 'mm210_mag_msr_1sec_hdzd_ddt_x', '2015-06-22/15:00', '2015-06-23/00:00'

4.2 ウェーブレット変換 wav_data 4. 周波数スペクトル解析 THEMIS> tlimit, '2015-06-22 17:00', '2015-06-23 00:00' THEMIS> tplot, ['wdc_mag_sym','mm210_mag_msr_1sec_hdz-d_ddt_x_tclip', 'mm210_mag_msr_1sec_hdz-d_ddt_x_tclip_wv_pow']

4. 周波数スペクトル解析 4.3 S(Stockwell) 変換 ustrans_pwrspc ustrans_pwrspc, 'tplot 変数名 ', /sampling, /abs ( 例 ) ustrans_pwrspc, 'mm210_mag_msr_1sec_hdzd_ddt_x_tclip', /sampling, /abs S 変換で周波数スペクトルを求める THEMIS> time_clip, 'mm210_mag_msr_1sec_hdz-d_ddt_x', '2015-06-22/18:00', '2015-06-22/20:00' THEMIS> ustrans_pwrspc, 'mm210_mag_msr_1sec_hdz-d_ddt_x_tclip',/sampling, /abs THEMIS> options, ' mm210_mag_msr_1sec_hdz-d_ddt_x_tclip_stpwrspc',ytitle = 'mm210-msr!cperiod', ysubtitle = '[sec]' THEMIS> ylim, 'mm210_mag_msr_1sec_hdz-d_ddt_x_tclip_stpwrspc', 0, 300 THEMIS> zlim, 'mm210_mag_msr_1sec_hdz-d_ddt_x_tclip_stpwrspc', 0, 0.2 THEMIS> tplot, [ wdc_mag_sym, mm210_mag_msr_1sec_hdz-d_ddt_x, 'mm210_mag_msr_1sec_hdz-d_ddt_x_tclip_stpwrspc'] 引数 /absの代わりに/powerとすると 振幅ではなくパワー値を算出する 処理に時間がかかるので 1 度に変換するのは1 万点程度にした方がよい

4. 周波数スペクトル解析 4.3 S(Stockwell) 変換 ustrans_pwrspc THEMIS> tlimit, '2015-06-22 18:00', '2015-06-22 20:00' THEMIS> tplot, ['wdc_mag_sym','mm210_mag_msr_1sec_hdz-d_ddt_x', ' mm210_mag_msr_1sec_hdz-d_ddt_x_tclip_stpwrspc']

4. 周波数スペクトル解析 4.3 S(Stockwell) 変換 ustrans_pwrspc THEMIS> ylim, 'mm210_mag_msr_1sec_hdz-d_ddt_x_tclip_stpwrspc', 0, 60 THEMIS> tplot, ['wdc_mag_sym','mm210_mag_msr_1sec_hdz-d_ddt_x', ' mm210_mag_msr_1sec_hdz-d_ddt_x_tclip_stpwrspc'] y 軸のスケールを変更 磁気嵐開始後に5-10 秒と30-60 秒の周期に卓越した波が存在

4. 周波数スペクトル解析 4.3 S(Stockwell) 変換 ustrans_pwrspc THEMIS> iug_load_ask_nipr, site='syo' THEMIS> tplot, ['wdc_mag_sym','mm210_mag_msr_1sec_hdz-d_ddt_x', 'mm210_mag_msr_1sec_hdz-d_ddt_x_tclip_stpwrspc', 'nipr_ask_syo_0000_ns', 'nipr_ask_syo_0000_ew'] 昭和基地のオーロラデータとの比較をしてみてもよい S 変換した茂尻のスペクトルと対応関係があるか?

6. まとめ tplot 変数とは TDAS 上の時系列データ参照の概念であり IDL のメモリー上にその実体となるメタデータ付きデータ構造体がある get_data および store_data により IDL の通常の配列とのやり取りが可能 calc コマンドにより tplot 変数の演算ができる 各種フィルター処理やスペクトル解析を行うことができる UDAS3.00.1 以降のバージョンでは IUGONET で独自に開発した描画や解析ツール ( 相互相関 無相関検定 コヒーレンス解析 トレンド検定 ) などが付け加わっている

A. tplot 変数への各種フィルター処理 A.1 tsmooth_in_time でスムージング tsmooth_in_time, 'tplot 変数名 ', 平均幅 [ 秒 ] ( 例 ) tsmooth_in_time, 'mm210_mag_msr_1sec_hdz-d_ddt_x', 60 THEMIS> tsmooth_in_time, 'mm210_mag_msr_1sec_hdz-d_ddt_x', 60 THEMIS> tplot, ['mm210_mag_msr_1sec_hdzd_ddt_x','mm210_mag_msr_1sec_hdz-d_ddt_x_smoothed'] 指定された時間幅で移動平均することでスムージングされた結果が _smoothed という名前の新しい tplot 変数に格納される 簡便なローパスフィルターになる 平均幅を秒数で与える点に注意 上の例は 60 秒 =1 分幅で移動平均している

A. tplot 変数への各種フィルター処理 A.2 thigh_pass_filter でハイパス フィルター thigh_pass_filter, 'tplot 変数名 ', 下限周期 [ 秒 ] ( 例 ) thigh_pass_filter, 'mm210_mag_msr_1sec_hdz-d_ddt_x', 60 THEMIS> thigh_pass_filter, 'mm210_mag_msr_1sec_hdz-d_ddt_x', 60 THEMIS> tplot, ['mm210_mag_msr_1sec_hdz-d_ddt_x', 'mm210_mag_msr_1sec_hdz-d_ddt_x_hpfilt'] 結果が _hpfilt という名前の新しい tplot 変数に格納される ただしデジタルフィルターではなく 簡易的なもの 実際は前頁の tsmooth_in_time でローパスフィルターされたデータを元データから差し引いている

A. tplot 変数への各種フィルター処理 A.3 avg_data で ~ 分値 ~ 時間値に平均 avg_data, 'tplot 変数名 ', 平均時間幅 [ 秒 ] ( 例 ) avg_data, 'mm210_mag_msr_1sec_hdz-d_ddt_x', 60 THEMIS> avg_data, 'mm210_mag_msr_1sec_hdz-d_ddt_x', 60 THEMIS> tplot, ['mm210_mag_msr_1sec_hdz-d_ddt_x', 'mm210_mag_msr_1sec_hdz-d_ddt_x_avg'] 結果が _avg という名前の新しいtplot 変数に格納される 第 2 引数に平均の時間幅を与える 3600[ 秒 ] にすれば 1 時間平均 60にすれば1 分平均 元データの時間分解能より小さい時間幅を与えると 結果が歯抜けデータになってしまうので注意

B.1 tinterpol でデータ補間 B. tplot 変数の相関解析など tinterpol, 'tplot 変数名 1', 'tplot 変数名 2', out_var = 'tplot 変数名 3',/LINEAR tplot 変数 2 のデータに合わせて tplot 変数 1 を補間する ( 例 ) tinterpol, 'mm210_mag_msr_1sec_hdz-d_ddt_x', 'mm210_mag_msr_1sec_hdz-d_ddt_y', out_var = 'mm210_mag_msr_1sec_hdz-d_ddt_x_interp_linear',/linear THEMIS> tinterpol, 'mm210_mag_msr_1sec_hdz-d_ddt_x', 'mm210_mag_msr_1sec_hdz-d_ddt_y', out_var = 'mm210_mag_msr_1sec_hdzd_ddt_x_interp_linear',/linear out_varを何も新しいtplot 変数名を指定しない場合 結果が _interp という名前の新しいtplot 変数に格納される 補間する方法は3 種類 線形補間 (linear) 2 次補間 (quadratic) スプライン補間(spline) 元データの時間分解能より小さい時間幅を与えると 結果が歯抜けデータになってしまうので注意

B. tplot 変数の相関解析 B.2 uspec_coh で 2 種のデータ間のコヒーレンス 位相を計算 uspec_coh, 'tplot 変数名 1', 'tplot 変数名 2' ( 例 ) uspec_coh, 'mm210_mag_msr_1sec_hdz-d_ddt_x', 'mm210_mag_msr_1sec_hdz-d_ddt_z' 指定時刻によるデータの切り出し THEMIS> time_clip, 'mm210_mag_msr_1sec_hdz-d_ddt_x', '2015-06-22/19:00', '2015-06-22/20:00' THEMIS> time_clip, 'mm210_mag_msr_1sec_hdz-d_ddt_z', '2015-06-22/19:00', '2015-06-22/20:00' コヒーレンスの計算 THEMIS> uspec_coh, 'mm210_mag_msr_1sec_hdz-d_ddt_x_tclip', 'mm210_mag_msr_1sec_hdz-d_ddt_z_tclip' uspec_cohを実行すると コン ソール上にコヒーレンスの最大値 とその時の周期 コヒーレンスの 統計的優位基準が出力される

B. tplot 変数の相関解析 B.2 uspec_coh で 2 種のデータ間のコヒーレンス 位相を計算 コヒーレンス 地磁気水平成分のスペクトル 位相 地磁気鉛直成分のスペクトル