IUGONET プロジェクト 開発チーム TDAS/UDAS ユーザーズガイド 第一版: 2014 年 3 月 10 日 目次 0. IUGONET プロジェクトと解析ソフトウェア .................................................................. 2 1. TDAS の基本操作............................................................................................................... 2 2 UDAS ロードプロシージャ ................................................................................................ 3 2.1 太陽、惑星 ................................................................................................................... 3 2.2 電離圏、中層大気 ........................................................................................................ 4 2.3 地磁気 ........................................................................................................................ 13 2.4 シミュレーション ...................................................................................................... 15 3 よく使用するコマンド ...................................................................................................... 15 3.1 tplot 変数の基本操作 .................................................................................................. 15 3.2 tplot 変数の演算 ......................................................................................................... 16 3.3 tplot 変数の読み出し、書き出し................................................................................ 20 3.4 tplot 変数と IDL 変数とのやり取り ........................................................................... 21 3.5 プロットに関連するコマンド .................................................................................... 22 3.6 画像ファイル出力コマンド........................................................................................ 23 3.7 時刻操作に関連するコマンド .................................................................................... 24 3.8 その他の便利なコマンド ........................................................................................... 25 pg. 1 0. IUGONET プロジェクトと解析ソフトウェア 超 高層大気 長期変動 の全 球地上ネ ットワー ク観 測・研究 (Inter-university Upper atmosphere Global Observation NETwork: IUGONET )は、平成 21 年度より 6 ヶ年計 画 と し て ス タ ー ト し た 大 学 間 連 携 プ ロ ジ ェ ク ト で す (IUGONET ホ ー ム ペ ー ジ : http://www.iugonet.org)。このプロジェクトでは、国立極地研究所、東北大学、名古 屋大学、京都大学、および九州大学の 5 機関が連携し、それぞれの研究機関が世界各地で 実施している超高層大気観測を有機的にリンクさせることで、全球地上ネットワーク観測 網を形成し、それを利用して超高層大気の長期変動に関する研究を行うことを目的として います。 1. TDAS の基本操作 (1) TDAS 初期化 IDL> thm_init THEMIS> ←プロンプトが THEMIS となる。 (2) 日時の指定 THEMIS> timespan, ‘2000-1-1’, 3 (3) データの指定、ロード THEMIS> thm_load_xxx ( “xxx”は観測器などの略称) IUGONET 関係データの場合、iug_load_xxx となる。 (4) ロードデータの確認 THEMIS> tplot_names (5) プロット THEMIS> tplot, ‘tplot 変数名’ tplot 変数とは スカラー量またはベクトル量の時系列データと、そのデータについてのメタ情報(作成日 時、作成者、単位、データ構造、プロットの属性など)が入った構造体を指すタグのような ものである。 IDL procedure (subroutine とか function、例えば tplot) に tplot 変数を 引数として与えると、その文字列がさす構造体を参照して処理を行う。また、IDL のメモ リー上にある全ての tplot 変数には通し番号が振られており、tplot 変数を引数にとる procedure は、tplot 変数の代わりにその通し番号を引数として使用することもできる。 TDAS 内部での時刻ラベルは、1970 年 1 月 1 日 00:00:00 UT からの秒数を倍精度小数 (double)で表した「Unix time」と呼ばれるものを用いている。自分で計算すると間違えや pg. 2 すいので、time_double()関数を使っての計算が推奨される。 tplot 変数を文字列で tplot 等の引数にする場合、case-sensitive になるので、大文字小文 字を区別して書く必要がある。また*, ?などのワイルドカードが使える。例えば tha_vel_y, tha_vel_z という 5 つの tplot 変数がある場合 tplot, ’tha*’ -> 全てプロット tplot, ’tha_vel_?’ -> tha_vel_x, tha_vel_y, tha_vel_z の 3 つをプロット 2 UDAS ロードプロシージャ 2.1 太陽、惑星 太陽磁場活動望遠鏡(SMART)(京大天文台) コマンド: iug_load_smart 使用例: iug_load_smart, filter = 'm08' 主な引数: datatype = 'halpha'(今のところ、halpha のみ) filter = 'm12 m08 m05 p00 p05 p08 p12'(フィルターコード) lst(出力引数。見つけたデータファイルの URL を返す。) その他の引数: downloadonly, no_download サンプルスクリプト: iug_crib_smart tplot 変数名: smart_t1_??? ??? = m12, m08 m05, p00, p05, p08, p12 (フィルターコード) 太陽 VHF/UHF 電波スペクトル(東北大) コマンド: iug_load_iprt 使用例: iug_load_iprt 主な引数: site = 'iit' (サイト名。iit のみ) datatype = 'Sun' (データタイプ。Sun のみ) その他の引数: trange, verbose, downloadonly サンプルスクリプト: iug_crib_iprt tplot 変数名: iprt_sun_? ? = L, R (偏波の向き) HF 帯太陽・木星電波広帯域スペクトル(東北大) コマンド: iug_load_hf_tohokuu 使用例: iug_load_hf_tohokuu, parameter=’rh’ pg. 3 主な引数: site = 'iit' (サイト名。iit のみ) parameter = 'RH LH' (偏波の向き) その他の引数: trange, downloadonly, no_download サンプルスクリプト: iug_crib_hf_tohokuu tplot 変数名: iug_iit_hf_?? ?? = L, R (偏波の向き) 2.2 電離圏、中層大気 自動気象観測装置(京大 RISH) コマンド: iug_load_aws_rish 使用例: iug_load_aws_rish, site = 'sgk' 主な引数: site = 'bik ktb mnd pon sgk' (サイト名) datatype = 'troposphere' (データタイプ) その他の引数: trange, verbose, downloadonly サンプルスクリプト: iug_crib_aws tplot 変数名: iug_aws_???_### ??? = bik, ktb, mnd, pon, sgk (サイト名) ### = パラメータの略語。以下参照。 press: air pressure, precipi: precipitation rh: relative humidity sr: solar radiation temp: temperature wnddir: wind direction wndspd: wind speed uwnd: zonal wind vwnd: meridional wind 境界層レーダー(京大 RISH) コマンド: iug_load_blr_rish 使用例: iug_load_blr_rish, site = 'ktb', parameter = ['uwnd', 'vwnd', 'wwnd'] 主な引数: site = ' ktb sgk srp' (サイト名) datatype = 'troposphere' (データタイプ) parameter = 'uwnd vwnd wwnd pwr1 pwr2 pwr3 pwr4 pwr5 wdt1 wdt2 wdt3 wdt4 wdt5' (パラメータ) その他の引数: trange, verbose, downloadonly pg. 4 サンプルスクリプト: iug_crib_blr_rish tplot 変数名: iug_blr_???_### ??? = ktb, sgk, srp (サイト名) ### = パラメータの略語。以下参照。 uwnd: eastward wind speed vwnd: northward wind speed wwnd: vertical wind speed pwr: echo power for beam 1-5 wdt: spectral width for beam 1-5 L バンド下部対流圏レーダー(京大 RISH) コマンド: iug_load_ltr_rish 使用例: iug_load_ltr_rish, site = 'sgk', parameter = ['uwnd', 'vwnd', 'wwnd'] 主な引数: site = ' sgk' (サイト名) datatype = 'troposphere' (データタイプ) parameter = 'uwnd vwnd wwnd pwr1 pwr2 pwr3 pwr4 pwr5 wdt1 wdt2 wdt3 wdt4 wdt5' (パラメータ) その他の引数: trange, verbose, downloadonly サンプルスクリプト: iug_crib_ltr_rish tplot 変数名: iug_ltr_???_### ??? = sgk (サイト名) ### = パラメータの略語。以下参照。 uwnd: eastward wind speed vwnd: northward wind speed wwnd: vertical wind speed pwr: echo power for beam 1-5 wdt: spectral width for beam 1-5 赤道大気レーダー(京大 RISH) コマンド: iug_load_ear 使用例: iug_load_ear, datatype = 'e_region', parameter = 'eb3p4b' 主な引数: datatype = ' troposphere e_region ef_region v_region f_region' (データ タイプ) parameter = 'eb1p2a eb1p2b eb1p2c eb2p1a eb3p2a eb3p2b eb3p4a eb3p4b eb3p4c eb3p4d eb3p4e eb3p4f eb3p4g eb3p4h eb4p2c eb4p2d eb4p4 eb4p4a eb4p4b eb4p4d eb5p4a efb1p16 efb1p16a efb1p16b pg. 5 vb3p4a 150p8c8a 150p8c8b 150p8c8c 150p8c8d 150p8c8e 150p8c8b2a 150p8c8b2b 150p8c8b2c 150p8c8b2d 150p8c8b2e 150p8c8b2f fb1p16a fb1p16b fb1p16c fb1p16d fb1p16e fb1p16f fb1p16g fb1p16h fb1p16i fb1p16j1 fb1p16j2 fb1p16j3 fb1p16j4 fb1p16j5 fb1p16j6 fb1p16j7 fb1p16j8 fb1p16j9 'fb1p16j10 fb1p16j11 fb1p16k1 fb1p16k2 fb1p16k3 fb1p16k4 fb1p16k5 fb1p16m2 fb1p16m3 fb1p16m4 fb8p16 fb8p16k1 fb8p16k2 fb8p16k3 fb8p16k4 fb8p16m1 fb8p16m2' その他の引数: trange, verbose, downloadonly サンプルスクリプト: iug_crib_ear tplot 変数名: iug_ear_????_### ??? = trop, (観測モード) ### = パラメータの略語。以下参照。 uwnd: eastward wind speed vwnd: northward wind speed wwnd: vertical wind speed dpl: radial Doppler velocity for beam 1-5. pwr: echo power for beam 1-5 wdt: spectral width for beam 1-5 pn: noise level MU レーダー(京大 RISH) コマンド: iug_load_mu 使用例: iug_load_mu, datatype = 'troposphere' 主な引数: datatype = 'troposphere mesosphere ionosphere meteor rass fai' level = 'org scr' (???) length = '1-day 1-month' (ファイルタイプ) parameter1 = ''h1t60min00 h1t60min30 h2t60min00 h2t60min30 ie2e4b ie2e4c ie2e4d ie2rea ie2mya ie2myb ie2rta ie2trb iecob3 ied101 ied103 ied108 ied110 ied201 ied202 ied203 iedb4a iedb4b iedb4c iedc4a iedc4b iedc4c iede4a iede4b iede4c iede4d iedp01 iedp02 iedp03 iedp08 iedp10 iedp11 iedp12 iedp13 iedp1s iedpaa iedpbb iedpcc iedpdd iedpee iedpff iedpgg iedphh iedpii iedpjj iedpkk iedpl2 iedpll iedpmm iedptt iedpyy iedpzz ieewb5 ieimga ieimgb ieimgm ieimgt ieis01 iefai1 iefdi2 ieggmt iemb5i iemcb3 iemdb3 iemdb5 iemdc3 iemy3a iemy3b iemy3c iemyb5 iensb5 iepbr1 iepbr2 iepbr3 iepbr4 iepbr5 iepbrt ieper1 ieper2 ieper3 ieper4 ieper5 ieper6 ieper7 ieper8 pg. 6 ieps3a ieps3b ieps3c ieps4a ieps4b ieps4c ieps4d ieps4e ieps5a ieps5b ieps5c ieps6a ieps6b iepsb3 iepsb4 iepsb5 iepsi1 iepsi5 iepsit iesp01 iess01 iess02 iess03 iess04 iess05 iess2l iess3l iess4l iess8c iessb5 iesst2 iesst3 iet101 iet102 ietest ietst2 ieto02 ieto03 ieto16 ietob3 ietob4 ietob5 iey4ch iey4ct ieyo4a ieyo4b ieyo4c ieyo4d ieyo4e ieyo4f ieyo4g ieyo5a ieyo5b ieyo5c ieyo5d ieyo5e ieyo5f ieyo5g ieyo5m ifco02 ifco03 ifco04 ifco16 if5bd1 if5bd2 if5bd3 if5bd4 if5bd5 if5be1 if5be2 if5be3 if5be4 if5be5 ifchk1 ifdp00 ifdp01 ifdp02 ifdp03 ifdp0a ifdp0b ifdp0c ifdp0d ifdp1u ifdp1s ifdp1t ifdpll ifdq01 ifdq02 ifim16 ifmb16 ifmc16 ifmd16 ifmf16 ifmy01 ifmy02 ifmy03 ifmy04 ifmy05 ifmy99 ifmyc1 ifmyc2 ifmyc3 ifmyc4 ifmyc5 ifmyc6 ifmyc7 ifmyca ifmycb ifmyt1 ifmyt2 ifmyt3 ifmyt4 ifmyt5 ifmyu1 ifmyu2 ifmyu3 ifmyu4 ifmyu5 ifmyv1 ifpsi1 ifpsit ifss02 iftes1 iftes2 iftes3 iftes5 iftes6 iftes7 iftes8 ifts01 ifts02 ifts03 ifts04 ifts05 ifts06 ifts07' parameter2 = 'uwnd vwnd wwnd temp pwr1 pwr2 pwr3 pwr4 pwr5 dpl1 dpl2 dpl3 dpl4 dpl5 wdt1 wdt2 wdt3 wdt4 wdt5 pn1 pn2 pn3 pn4 pn5' その他の引数: trange, verbose, downloadonly サンプルスクリプト: iug_crib_mu tplot 変数名: iug_mu_???_### ??? = trop, iono, meteor, rass (観測モード) ### = パラメータの略語。以下参照。 uwnd: eastward wind speed vwnd: northward wind speed wwnd: vertical wind speed dpl: radial Doppler velocity for beam 1-5. pwr: echo power for beam 1-5 wdt: spectral width for beam 1-5 pn: noise level Vperp_e: eastward direction perpendicular to the magnetic field line Vperp_n: northward/upward direction perpendicular to the magnetic field line Vpara_u: southward/upward direction parallel to the magnetic field line Vz_ew: vertical direction calculated from northward and southward beams pg. 7 Vz_ns: vertical direction calculated from eastward and westward beams Vd_b: radial velocity for each beam direction ti: ion temperature te: electron temperature err_ti: error of ion temperature err_te: error of electron temperature err_tr: error of te/ti snr: signal/noise level 流星レーダー(京大 RISH) コマンド: iug_load_meteor_rish 使用例: iug_load_meteor_rish, site='bik', parameter = 'h2t60min00' 主な引数: site = 'bik ktb sgk srp' (サイト名) datatype = 'thermosphere' (データタイプ) parameter = 'h2t60min00 h2t60min30 h4t60min00 h4t60min30 h4t240min00' length = '1_day 1_month' (ファイルタイプ) その他の引数: trange, verbose, downloadonly サンプルスクリプト: iug_crib_meteor_rish tplot 変数名: iug_meteor_???_### ??? = bik, ktb, sgk, srp (サイト名) ### = パラメータの略語。以下参照。 uwnd: eastward wind speed vwnd: northward wind speed uwnd_sig: standard deviation of zonal wind vwnd_sig: standard deviation of meridional wind mwnum: number of meteor echoes used for derivation of horizontal winds MF レーダー(京大 RISH) コマンド: iug_load_mf_rish 使用例: iug_load_mf_rish,site='pam' 主な引数: site = 'pam pon' (サイト名) datatype = 'thermosphere' (データタイプ) その他の引数: trange, verbose, downloadonly pg. 8 サンプルスクリプト: iug_crib_mf_rish tplot 変数名: iug_mf_???_### ??? = pam, pon (サイト名) ### = パラメータの略語。以下参照。 uwnd: eastward wind speed vwnd: northward wind speed wwnd: vertical wind speed ウィンドプロファイラーレーダー(京大 RISH) コマンド: iug_load_wpr_rish 使用例: iug_load_mf_rish, site='pam' 主な引数: site = ' bik mnd pon sgk' (サイト名) datatype = ' troposphere' (データタイプ) parameter = ' uwnd vwnd wwnd pwr1 pwr2 pwr3 pwr4 pwr5 wdt1 wdt2 wdt3 wdt4 wdt5' その他の引数: trange, verbose, downloadonly サンプルスクリプト: iug_crib_wpr_rish tplot 変数名: iug_wpr_???_### ??? = pam, pon (サイト名) ### = パラメータの略語。以下参照。 uwnd: eastward wind speed vwnd: northward wind speed wwnd: vertical wind speed pwr: echo power for beam 1-5 wdt: spectral width for beam 1-5 イオノゾンデ(京大 RISH) コマンド: iug_load_ionosonde_rish 使用例: iug_load_ionosonde_rish, site = 'sgk', /fixed_freq 主な引数: site = 'sgk' (サイト名) datatype = ' ionosphere' (データタイプ) fixed_freq (特定の周波数データのみを取り出す) その他の引数: trange, verbose, downloadonly サンプルスクリプト: iug_crib_ionosonde_rish tplot 変数名: iug_ionosonde_???_ionogram ??? = sgk (サイト名) pg. 9 ラジオゾンデ(京大 RISH) コマンド: iug_load_radiosonde_rish 使用例: iug_load_radiosonde_rish, datatype ='drwex', site = 'drw' 主な引数: site = 'drw gpn ktb ktr sgk srp' (サイト名) datatype = 'dawex misc' (データタイプ) その他の引数: trange, verbose, downloadonly サンプルスクリプト: iug_crib_radiosonde_rish tplot 変数名: iug_radiosonde_???_### ??? = drw, gpn, ktb, ktr, sgk, srp(サイト名) ### = パラメータの略語。以下参照。 press: air pressure rh: relative humidity temp: temperature dewp: dew-point uwnd: zonal wind vwnd: meridional wind SuperDARN レーダー(名大 STE 研、極地研、SuperDARN 関連機関) コマンド: erg_load_sdfit (iug_load_sdfit) 使用例: erg_load_sdfit, site='hok', /get_support_data 主な引数: sites = 'hok ksr sye sys bks rkn unw tig kod inv han pyk cve cvw fhe fhw sas pgr kap gbr sto wal ade adw' (サイト名) cdffn(cdf ファイル名) noacknowledgment (データポリシー非表示) compact (最小限のパラメータのみロード) その他の引数: get_support_data, trange, verbose, downloadonly, no_download サンプルスクリプト: iug_crib_sdfit tplot 変数名: sd_???_### ??? = hok ksr sye sys bks rkn unw tig kod inv han pyk cve cvw fhe fhw sas pgr kap gbr sto wal ade adw(サイト名) ### = パラメータの略語。以下参照。 dpl: radial Doppler velocity for beam 1-5. pwr: echo power for beam 1-5 wdt: spectral width for beam 1-5 pn: noise level pg. 10 Coordinate system for ionospheric drift velocity is ENZ (E: eastward, N: northward, Z: vertical). Vperp_e: eastward direction perpendicular to the magnetic field line Vperp_n: northward/upward direction perpendicular to the magnetic field line Vpara_u: southward/upward direction parallel to the magnetic field line Vz_ew: vertical direction calculated from northward and southward beams Vz_ns: vertical direction calculated from eastward and westward beams Vd_b: radial velocity for each beam direction ti: ion temperature te: electron temperature err_ti: error of ion temperature err_te: error of electron temperature err_tr: error of te/ti snr: signal/noise level EISCAT レーダー(極地研、名大 STE 研) コマンド: iug_load_eiscat 使用例: iug_load_eiscat, site='esr_42m' 主な引数: site = 'esr_32m esr_42m tro_vhf tro_uhf kir_uhf sod_uhf ' (サイト名) ydatatype = 'alt lat lon'(Y 軸の変数) その他の引数: get_support_data, trange, verbose, downloadonly, no_download サンプルスクリプト: iug_crib_eiscat tplot 変数名: eiscat_??????_### ?????? = esr32m, esr42m, trovhf, trouhf, kiruhf, soduhf(サイト名) ### = パラメータの略語。以下参照。 EISCAT レーダー(イオン速度/電場ベクトル)(極地研、名大 STE 研) コマンド: iug_load_eiscat_vief 主な引数: site = 'kst' (サイト名) その他の引数: get_support_data, trange, verbose, downloadonly, no_download 使用例: iug_load_eiscat_vief サンプルスクリプト: iug_crib_eiscat_vief tplot 変数名: eiscat_???_### ??? = kst(サイト名) ### = パラメータの略語。以下参照。 vi: ion velocity pg. 11 vierr: error of vi E: electric field Eerr: error of electric field pulse: pulse code ID q: quality lat: geographic latitude lon: geopraphic longitude alt: altitude inttimr: real integration time inttim: nominal integration time イメージングリオメータ(極地研) コマンド: iug_load_irio_nipr 主な引数: site = 'syo hus tjo zho' (サイト名) datatype = '30 38' (観測周波数。30MHz, 38.2MHz) keogram (ケオグラムをロード) その他の引数: trange, verbose, downloadonly, no_download 使用例: iug_load_gmag_nipr, site='syo' サンプルスクリプト: iug_crib_irio_nipr tplot 変数名: nipr_irio_???_### ??? = kst(サイト名) ### = パラメータの略語。以下参照。 vi: ion velocity vierr: error of vi E: electric field Eerr: error of electric field pulse: pulse code ID q: quality lat: geographic latitude lon: geopraphic longitude alt: altitude inttimr: real integration time inttim: nominal integration time LF 帯標準電波観測データ(東北大) コマンド: iug_load_lfrto pg. 12 主な引数: site = 'ath nal' (受信サイト) trans = 'wwvb ndk nlk npm nau nrk nwc msf dcf nrk gbz' (送信サイト) parameter = 'power phase' or 'pow pha' datatype = '30s' その他の引数: trange, verbose, downloadonly, no_download 使用例: iug_load_lfrto, site='ath', datatype='30sec' サンプルスクリプト: iug_crib_lfrto tplot 変数名: lfrto_???_###_$$$ ??? = ath, nal(受信サイト名) ### = wwvb, ndk, nlk, npm, nau, nrk, nwc, msf, dcf, nrk, gbz (送信サイト名) $$$ = 30s (パラメータ) 2.3 地磁気 AE, Dst, ASY/SYM 地磁気指数、WDC 観測所地磁気(京大 WDC) コマンド: iug_load_gmag_wdc 使用例: iug_load_gmag_wdc, site = 'ae', resolution = 'min' 主な引数: site = 'asy sym ae dst' (地磁気指数) or 'kak ….’(観測点 100 以上) resolution= 'min hour' (サンプリングタイム) level = 'final provsional' その他の引数: trange, verbose, downloadonly, no_download, addmaster サンプルスクリプト: iug_crib_gmag_wdc tplot 変数名: wdc_mag_???_* ??? = kak, …(サイト名) * = 1min, 1hr(サンプリングタイム) 昭和基地、アイスランド地磁気(極地研) コマンド: iug_load_gmag_nipr 使用例: iug_load_gmag_nipr, site='syo' 主な引数: site = 'syo hus tjo aed isa' (サイト名) datatype = '1sec' (サンプリングタイム) fproton (プロトン磁力計データ) その他の引数: trange, verbose, downloadonly, no_download サンプルスクリプト: iug_crib_gmag_nipr tplot 変数名: nipr_mag_???_#### pg. 13 ??? = syo, hus, tjo, aed, isa(サイト名) #### = 02hz, 1sec, 2sec(サンプリングタイム) 210°地磁気観測網(名大 STE 研、九大) コマンド: erg_load_gmag_mm210 (iug_load_gmag_mm210 も可) 使用例: erg_load_gmag_mm210, site='rik onw', datatype='1min' 主な引数: site = 'tik zgn yak irt ppi bji lnp mut ptn wtk lmt kat ktn chd zyk mgd ptk msr rik onw kag ymk cbi gua yap kor ktb bik wew daw wep bsv dal can adl kot cst ewa asa mcq' (サイト名) datatype = '1min 1h' (サンプリングタイム) その他の引数: trange, downloadonly, no_download, no_server, timeclip サンプルスクリプト: erg_crib_gmag_mm210 tplot 変数名: mm210_mag_???_###_hdz ??? = tik, zgn, yak,…(サイト名) #### = 1min, 1h(サンプリングタイム) MAGDAS 地磁気(九大) コマンド: iug_load_gmag_serc 使用例: iug_load_gmag_serc, site='kuj' 主な引数: site ='anc asb cmd cst dav daw dvs eus her hob ilr kuj lkw mcq mgd mlb mnd mut onw prp ptk roc sma tir twv wad yap' (サイト名) datatype = 'mag' その他の引数: trange, verbose, downloadonly サンプルスクリプト: iug_crib_gmag_serc tplot 変数名: magdas_mag_??? ??? = anc, asb, cmd,…(サイト名) 昭和基地、アイスランド誘導磁力計(極地研) コマンド: iug_load_gmag_nipr_induction 使用例: iug_load_gmag_nipr_induction, site='syo' 主な引数: site = 'syo hus tjo aed isa' (サイト名) frequency_dependent(感度をロード) その他の引数: trange, verbose, downloadonly, no_download, no_server サンプルスクリプト: iug_crib_gmag_nipr_induction tplot 変数名: nipr_imag_???_### ??? = syo, hus, tjo, aed, isa(サイト名) pg. 14 #### = 20hz, 02hz, 2sec(サンプリングタイム) STEL 誘導磁力計観測網(名大 STE 研) コマンド: erg_load_gmag_stel_induction (iug_load_gmag_stel_induction も可) 使用例: erg_load_gmag_stel_induction, site='msr sta' 主な引数: site = 'ath mgd ptk msr sta' (サイト名) frequency_dependent(感度をロード) その他の引数: trange, downloadonly, no_download, no_server, timeclip, time_pulse サンプルスクリプト: erg_crib_gmag_stel_induction tplot 変数名: stel_induction_db_dt_??? ??? = ath, mgd, ptk, msr, sta(サイト名) 2.4 シミュレーション 九大 GCM(General Circulation Model)シミュレーション(GRENE 事業、九大、極地 研) コマンド: iug_load_kyushugcm 使用例: iug_load_kyushugcm, datatype='t' 主な引数: datatype = 'T U V W' (パラメータ) calmethod = 'j3'(計算方法) altitude (高度を km に変更。デフォルトは hPa) selparam_idx = [0, 0, 1] (3D[緯度、経度、高度]から 1D, 2D へ変換する際に残す成分。 左の例では高度プロファイルがロードされる。) selparam_dat = [35., 135., 0.] (3D から 1D, 2D へ変換する際、ロードされる成分を決 める。左の例では、緯度 35 度、経度 135 度における高度プロファイルがロードされる。 ) newname (3D[緯度、経度、高度]から 1D, 2D へ変換する際、名前を変える場合に設定 する。 ) その他の引数: trange, downloadonly, no_download, verbose サンプルスクリプト: iug_crib_kyushugcm tplot 変数名: kyushugcm_? ? = T, U, V, W(パラメータ) 3 よく使用するコマンド 3.1 tplot 変数の基本操作 pg. 15 tplot 変数をリスト表示:tplot_names メモリー上にある tplot 変数全部のリストを通し番号付きで表示する。 使用例: tplot_names tplot_names, ‘tplot 変数名’ tplot_names, ‘tha*’ (ワイルドカードも使える) tplot_names, /current (直前の tplot コマンドでプロットされた tplot 変数が表示され る。 ) tplot_names, ‘tplot 変数名’ , /verbose (tplot 変数についてのより詳細な情報が表示され る。 ) tplot 変数をリスト表示(関数) : tnames() メモリー上にある tplot 変数を取得する。 使用例: str=tnames() (str にはロードされている tplot 変数名の文字列が入る。) str=tnames(‘tha*’) (ワイルドカードも使える) str=tnames(/tplot) (直前の tplot コマンドでプロットされた tplot 変数のみが str に入る。 ) tplot 変数を削除する: store_data, /delete メモリー上にある tplot 変数を削除する。 使用例: store_data, ‘tplot 変数名’, /delete store_data, ‘*mag*’, /delete (ワイルドカードも使える) str=tnames(/tplot) (直前の tplot コマンドでプロットされた tplot 変数のみが str に入る。 ) tplot 変数を別の tplot 変数にコピーする: copy_data 使用例: copy_data, ‘tplot 変数名’, ‘新しい tplot 変数名’ tplot 変数から特定の時刻のデータを取り出す: time_clip 使用例: time_clip, ‘data1’, start_time, end_time (start_time と end_time の間に存在する データを data1_tclip という名前の tplot 変数に入れる。 ) time_clip, ‘data1’, start_time, end_time, newname = ‘data2’ (切り取ったデータを新しい tplot 変数 data2 に代入する。) 3.2 tplot 変数の演算 ベクトル量である tplot 変数を成分毎に分割する: split_vec 使用例:split_vec, ‘tplot 変数名’ split_vec, ‘tha_fgm_gsm’ (tha_fgm_gsm_x, tha_fgm_gsm_y, tha_fgm_gsm_z ができ pg. 16 る。 ) tplot 変数同士を足し算する: add_data 使用例:add_data, ‘data1’, ‘data2’ (data1 と data2 の和が、data1+data2 という tplot 変数名に入る。 ) add_data, ‘data1’, ‘data2’, newname=’data3’ (data1 と data2 の和が data3 に入る。 ) add_data, ‘data1’, ‘data2’, newname=’data3’, copy_dlimits=cdl (cdl=1 のとき data1 の属性が、 cdl=2 のとき data2 の属性が、data3 に引き継がれる。) tplot 変数同士を引き算する: dif_data 使用方法は、add_data とほぼ同じ。 使用例:dif_data, ‘data1’, ‘data2’ (data1 と data2 の差が、data1-data2 という tplot 変数 名に入る。 ) tplot 変数同士を掛け算する: mult_data 使用方法は、add_data とほぼ同じ。 使用例:mult_data, ‘data1’, ‘data2’ (data1 と data2 の積が、data1^data2 という tplot 変数名に入る。 ) tplot 変数同士を割り算する: div_data 使用方法は、add_data とほぼ同じ。 使用例:div_data, ‘data1’, ‘data2’ (data1 と data2 の商が、data1/data2 という tplot 変数名に入る。 ) tplot 変数の時間平均を計算する: avg_data 使用例:avg_data, ‘data1’, res (data1 の res 秒平均が、data1_avg という tplot 変数に 入る。 ) avg_data, ‘data1’, res, newname=‘data2’ (data1 の res 秒平均が data2 に入る。 ) tplot 変数の時間微分を計算する: deriv_data 使用例:deriv_data, ‘data1’ (data1 の時間微分が、data1_ddt という tplot 変数に入る。 ) deriv_data, ‘data1’, newname=‘data2’ (data1 の時間微分が data2 に入る。 ) deriv_data, ‘data1’, newname=‘data2’, nsmooth=nsmooth (nsmooth のデータ幅でスムージン グをかける。 ) deriv_data, ‘data1’, /replace (元の tplot 変数 data1 が、微分データに置き換わる。 ) pg. 17 スパイクノイズを取り除く: clean_spikes スパイクノイズを見つけ、NaN で置き換える。実際には、ある幅でスムージングされた 値と元データ値との差をとり、それが閾値を超えたかどうかでスパイクノイズを判断する。 使用例: clean_spikes, ‘data1’, nsmooth=ns, thresh=tr (tplot 変数 data1 のスパイクノイズ を NaN に置き換え、新しい tplot 変数 data1_clp に入れる。この際、時系列方向に ns 配列分 (1 秒値なら ns 秒) の幅で移動平均を取り、元データの値を x、スムージングされた値を xs とすると、|x|>ns*tr*|xs|/(ns-1+tr)の条件を満たすところを NaN で置き換える。) clean_spikes, ‘data1’, nsmooth=3, thresh=10, new_name=’data2’ (結果が data2 に入る。 ) 補間する: tinterpol 使用例: tinterpol, ‘data1’, ‘data2’ (tplot 変数 data1 を、tplot 変数 2 の時刻を使って データを補間する。結果は、data1_interp に入る。) tinterpol, ‘data1’, ‘data2’, newname=‘data3’ (結果を data3 に入れる。 ) 時刻 bin 毎の平均を計算する: time_average 通常の IDL 配列に対して、時刻 bin 毎の平均をとって、結果の配列を返す。tplot 変数の 場合は、上記の avg_data を使う。 使用例:newdata=time_average(d.x, d.y, newtime=newtime, resolution=res) (d.x、 d.y はそれぞれ get_data で生成された時系列の時刻ラベル配列、及びデータ配列。res 秒の 時刻 bin 毎のデータの平均値が newdata に代入される。newtime には、各 bin の中央の時 刻が入る。 ) 移動平均を計算する: tsmooth_in_time 使用例: tsmooth_in_time, ‘data1‘, dt (dt 秒の時間ウィンドウで移動平均を計算し、 tplot 変数 data1_smoothed に代入する。) tsmooth_in_time, ‘data1‘, dt, newname = ‘data2‘ (結果を data2 に入れる。 ) ハイパスフィルターをかける: thigh_pass_filter 使用例:thigh_pass_filter, ‘data1’, dt (dt 秒のハイパスフィルターをかけ、tplot 変数 data1_hpfilt に代入する。 ) thigh_pass_filter, ‘data1’, dt., newname=’data2’ (結果を data2 に入れる。 ) 平均値を差し引く: tsub_average 使用例: tsub_average, ‘data1’ (データの全時間平均値を差し引いて、tplot 変数 data1-d に代入する。 ) tsub_average, ‘data1’, newname = ‘data2’, /median (中央値を差し引き、結果を data2 pg. 18 に入れる。 ) FFT によりダイナミックスペクトルを計算する: tdpwrspc 使用例: tdpwrspc, ‘data1’ (ダイナミックスペクトルを計算し、data1_dpwrspc に代 入する。) tdpwrspc, ‘data1’, nboxpoints=nbx, nshiftpoints=nsp, newname = ‘data2’ (ウィンド ウの点数 nbx、シフト点数 nsp でダイナミックスペクトルを計算し、data2 に入れる。) ウェーブレット変換によりダイナミックスペクトルを計算する: wav_data 使用例: wav_data, ‘data1’ (ダイナミックスペクトルを計算し、data1_wv_pow に 代入する。 ) wav_data, ‘data1’, trange=time_double(‘2004-09-10/00:00’)+[0.,86400.] (2004-09-10/ 00:00~2004-09-11/00:00 の範囲をウェーブレット変換する。 ) 指定した範囲以外のデータを NaN に置き換える: tclip 使用例: tclip, ‘data1’, amin, amax (amin、amax の範囲外にある値を NaN に置き 換え、新しい tplot 変数 data1_clip に代入する。) tclip, ‘data1’, amin, amax, newname=’data2’ tclip, ‘data1’, amin, amax, /overwrite (結果を data1 に上書きする。) データギャップを NaN で補間する: tdegap 使用例: tdegap, ‘data1’, maxgap=maxgap, margin=margin (データが dt 秒値の場 合、margin+dt 秒以上 maxgap*dt 秒以下の時刻抜けを NaN で埋め、新しい tplot 変数 data1_degap に代入する。 ) tdegap, ‘data1’, maxgap=maxgap, margin=margin, newname=’data2’ tdegap, ‘data1’, maxgap=maxgap, /overwrite NaN または Inf となっているデータを補間する: tdeflag 使用例: tdeflag , ‘data1’ , ‘linear’(NaN or Inf のデータを線形補間し、新しい tplot 変 数 data1_deflag に代入する。 ) tdeflag , ‘data1’ , ‘repeat’, newname=’data2’ (直前の正常値で補間し data2 に入れる。 ) tdeflag , ‘data1’ , ‘linear’, /overwrite 各 bin での平均値、標準偏差、中間値等を計算する: bin1d 使用例: bin1D, Ygse, Ni, -15., 15., 2., kinbin, Ycntrs, avrg, std, med (Ygse の[-15, 15] の範囲を 2 毎に分割し、それぞれの bin に入るデータ数が kinbin、bin の中心の Ygse の値 pg. 19 が Ycntrs、各 bin での Ni の平均値が avrg、標準偏差が std、中央値が med に入る。 ) bin1d の2次元版: bin2d 使用例: bin2d, xgsm, ygsm, Ni, binsize=[1,2], xrange=[-10, -20], yrange=[-15, 15], $ xcenters=xc, ycenters=yc, averages=ave, medians=med, stdev=stdv, $ binhistogram=binnm (xrange の範囲で xgsm を 1 毎、yrange の範囲で ygsm を 2 毎 にわけた 2 次元 bin を作成し、その bin に入るデータ数を binnm、各 bin での Ni の平均、 中央値、標準偏差をそれぞれ ave、med、stdv に格納する。また各 bin の中心の X、Y 座標 はそれぞれ xc、yc に入る。また、binsize の代わりに binum を与えると、bin 幅ではなく、 全体でいくつの bin に切るかを指定できる。 ) 四則演算及び各種関数を用いた計算: calc 使用例:calc, ’ ”newdata” = ”data1” + 20’ (tplot 変数 data1 の要素全体に 20 を足し た tplot 変数を新たに newdata として作成する。 ) ・普通の計算式と同じフォーマットで記述できる。 ・全体を単引用符(’)で囲む ・tplot 変数は二重引用符(")で囲む。 ・使用可能な演算:四則演算(+-*/), べき乗(^), sin/cos/tan(), exp(), log(), abs(), min(), max(), total(), mean(), median() など 応用例:calc, ’ ”Pdyn” = ”ace_Np” * ”ace_Vp”^2 * 1.6726 * 1e-6 ’ (太陽風の密度と速 度から太陽風動圧を計算した例。Pdyn が動圧、ace_Np が密度、ace_Vp が速度を示す。) 3.3 tplot 変数の読み出し、書き出し tplot 変数をアスキーファイルに出力する: tplot_ascii 使用例: tplot_ascii, ‘data1’ (data1.txt というアスキーファイルが出力される。) tplot_ascii, ‘data1’, dir=dir (ディレクトリ dir に data1.txt というアスキーファイルが 出力される。 ) tplot_ascii, ‘data1’, dir=dir, fname=fname (ディレクトリ dir に fname_data1.txt と いうアスキーファイルが出力される。) tplot_ascii, ‘data1’, trange=trange (trange で指定した時刻のみを出力する。) tplot 変数をバイナリファイルに保存する: tplot_save 使用例: tplot_save, ‘data1’ (saved.tplot というバイナリファイルで保存される。 ) tplot_save, ‘data1’, filename=filename (filename.tplot というバイナリファイルで保 存される。 ) pg. 20 tplot_save, ‘data1’, /limits (limits 構造が saved.lim というバイナリファイルで保存 される。 ) 保存した.tplot ファイルをメモリー上にロードする: tplot_restore 使用例: tplot_restore, filename=filename (filename で指定されたファイル(???.tplot) から tplot 変数をメモリー上に回復する。 ) tplot_restore, /all (カレントディレクトリの全ての*.tplot ファイルから tplot 変数をメ モリー上に回復する。 ) 3.4 tplot 変数と IDL 変数とのやり取り tplot 変数の中身を IDL 変数に代入する: get_data 使用例: get_data, ‘tplot 変数名’, data=d (tplot 変数のデータが IDL 変数 d に代入され る。)get_data, ‘tplot 変数名’, data=d, lim=lim, dlim=dlim (limits 構造体、default limits 構造 体を、それぞれ lim, dlim に代入する。) ここで、d は x, y という 2 つの要素を持つ構造体。粒子スペクトルのようなデータ(時間 の他に 2 次元、 3 次元 ) ではさらに v という要素も付け加わる。 d.x: 時系列の時刻ラベルが入った倍精度小数値の配列 d.y: 各時刻でのデータ値が入った配列。データがスカラー量なら X と同じ数の 1次元 配列、 ベクトル量なら [時刻ラベルの数]×3 という2次元 配列、さらに energy spectrum の ようなデータの場合、[時刻ラベルの数 ]×[energy channel 数]という 2次元 配列になる。 d.v: データのうちの第 2 次元目が物理量を伴う場合、その値がこの配列に入る。具体的 には粒子のエネルギースペクトルの場合、各エネルギーチャンネルのエネルギーの値がこ こに入る。例えば時刻 N 個分の 30 エネルギーチャンネルのエネルギースペクトルデータ の場合、d.x は N 個の 1 次元配列、d.y は N×30 の 2 次元配列となり、d.v も N×30 の 2 次元 配列となる。 IDL 変数から tplot 変数を生成する: store_data 使用例: store_data, ‘tplot 変数名’, data=d (IDL の構造体 d から tplot 変数を生成す る。 ) store_data, ‘tplot 変数名’, data=d, lim=lim, dlim=dlim (limits 構造体、default limits 構造体を、それぞれ lim, dlim に代入する。 ) d は上記の get_data のところで記述した x と y の要素を持つ構造体。x は時刻ラベルで あるが TDAS 内部の時刻表記、すなわち Unix time にする必要がある。また、data の後 pg. 21 ろに IDL の構造体定義式をそのまま書くこともできる。例えば、時刻ラベルが入った 1440 個 の double 配 列 tim=dblarr(1440) と 、 3 成 分の ベ ク ト ル 量 の デ ー タが 入 っ た 配 列 dat=fltarr(1440,3)を作成した後、以下のようなコマンドで tplot 変数を生成することがで きる。 store_data, ‘tplot 変数名’, data={ x:tim, y:dat } 3.5 プロットに関連するコマンド 時間幅を変更する: tlimit 使用例: tlimit (tplot でプロットした後、グラフ上の 2 点をクリックすることで、そ の 2 点で挟まれた時間幅で再プロットする。 ) tlimit, ‘2012-01-01/00:00:00’, ‘2012-01-01/01:00:00’ (時間幅を指定。) tlimit, /last (1つ前の時間幅に戻す) tlimit, /full (timespan で指定されている全時間幅に戻す) y 軸、z 軸のプロット範囲を指定する: ylim, zlim 使用例:ylim, ‘tplot 変数名’, min, max ylim, ‘tplot 変数名’, min, max, 1 (1 を指定すると、y 軸がログスケールになる。 ) zlim, [‘data1’, ’data2’], min, max, 0 (tplot 変数 data1、data2 の z 軸の範囲を変更す る。最後を 0 にすると、リニアスケールで表示される。 ) tplot 変数のプロットに関する描画オプションを指定する: options 使用例: options, ‘tplot 変数名’, ‘ytitle’, ‘B [nT]’ (y 軸のタイトルを B[nT]に設定する。 ) options, ‘tplot 変数名’, ytitle=’B’, ysubtitle=’[nT]’ (複数のオプションを設定。) options, ‘tplot 変数名’, spec=1 (スペクトル表示にする。) options, ‘tplot 変数名’, labflag=0 (グラフの右に表示されるラベルを非表示) 補足:IDL における「plot」コマンドのオプションが基本的にそのまま使用可能である。 spec や labflag のように TDAS 独自のオプションも存在する。 プロット全般に関する描画オプションを設定する: tplot_options 使用例: tplot_options, ‘title’, ‘Test Plot’ (プロットの上にタイトルを付ける。 ) tplot_options, ‘var_label’, ‘tha_state_pos_x’ (プロットの一番下に衛星軌道のラベル を付ける。 ) tplot_options, ‘charsize’, 1.5 (文字の大きさを 1.5 に変更する) 最初の引数のみ与えると、以前にその引数に与えた情報をリセットする。 pg. 22 使用例: tplot_options, ’charsize’ (文字の大きさを元に戻す) 疑似カラープロットを作成する: plotxyz 使用例:x = dindgen(7) & y = dindgen(9) & z = dindgen(7,9) (サンプルデータを作成) plotxyz, x, y, z (通常のプロット方法) x2=2^x & y2=2^y & z2=2^z (サンプルデータを作成) plotxyz, x2, y2, z2, /xlog, /ylog, /zlog (ログスケールでプロットする。) plotxyz, x, y, z, /interpolation (補間してプロットする。) plotxyz, x, y, z, xrange=[2.,4.], yrange=[2.,5.], zrange=[10.,60.] (範囲を指定する。) ベクトルデータを 2 次元平面上に矢印で表示する: plotxyvec 使用例: xy=[[1,2,3,4,5],[6,7,8,9,10]] (矢印の始点データ) dxy=[[-0.1,-0.1,-0.1,-0.1,-0.1],[-0.1,-0.1,-0.1,-0.1,-0.1]] (変位データ) plotxyvec,xy,dxy (矢印をプロット) plotxyvec,xy,dxy, /grid (グリッドを描画) plotxyvec, xy, dxy, arrowscale=4 (矢印の長さを変更する。 ) plotxyvec, xy, dxy, arrowscale=4, /clip (軸からはみ出した矢印を表示しない。) plotxyvec, xy, dxy, xrange=[2.,4.], yrange=[7.,10.] (範囲を指定する。) plotxyvec,xy,dxy,/grid,multi='2,1' (1 つのウィンドウに複数のプロットを描画する。 ) plotxyvec,xy,dxy,/grid,/addpanel (パネルを追加する。 ) 散布図を作成する: scat_plot 使用例: scat_plot, ‘data1’, ‘data2’ (2 つの tplot 変数から散布図を作成する。ただし、 2 つの変数の要素数が等しい必要がある。) プロットの右下のタイムスタンプの表示/非表示:time_stamp 使用例: time_stamp,/off (タイムスタンプ非表示) time_stamp,/on (タイムスタンプ表示) 指定した時刻の位置に縦線を入れる: timebar 使用例: timebar, ‘YYYY-MM-DD/HH:MN:SS’ (時刻 YYYY-MM-DD/HH:MN:SS の 位置に縦線を入れる) 3.6 画像ファイル出力コマンド pg. 23 現在表示されているウィンドウを PNG ファイルに出力する: makepng 使用例: makepng, ‘filename’ (現在のウィンドウを filename.png という PNG ファイル に出力する。 ) 現在表示されているウィンドウを JPEG ファイルに出力する: makejpg 使用例: makejpg, ‘filename’ (現在のウィンドウを filename.jpg という JPEG ファイルに 出力する。 ) 現在表示されているウィンドウを GIF ファイルに出力する: makegif 使用例: makejpg, ‘filename’ (現在のウィンドウを filename.gif という GIF ファイルに 出力する。 ) プロットをポストスクリプトファイルに出力する: popen, pclose 以下の手順で、Postscript を出力する。 使用例: popen, ‘filename’ (filename.ps というファイルを開く。 ) tplot, ‘tplot 変数’ (プロット) pclose (filename.ps を閉じる。 ) 3.7 時刻操作に関連するコマンド ロードやプロットする時間幅を指定する: timespan 使用例: timespan, ‘YYYY-MM-DD/HH:MN:SS’, dt (時刻 YYYY-MM-DD/HH:MN:SS か ら dt 日分の時間幅を指定する。 ) timespan, ‘YYYY-MM-DD/HH:MN:SS’, dt, /hours (時刻 YYYY-MM-DD/HH:MN:SS から dt 時間分の時間幅を指定する。他に、/minutes、/seconds 等が使える。) timespan で指定した時間幅を取り出す: get_timespan 使用例: get_timespan, t (timespan で指定した時間幅が t に入る。t は Unix time、つま り、1970 年 1 月 1 日 00:00:00 UT からの秒数を倍精度小数で表したものである。 ) 時刻文字列に変換する(関数) : time_string() 使用例: print, time_string(t) (t は Unix time(例えば、上記 get_timespan で得られ た t)や時刻の構造体。‘YYYY-MM-DD/HH:MN:SS’形式の文字列が表示される。) Unix time に変換する(関数) : time_double() 使用例: t = time_double(‘YYYY-MM-DD/HH:MN:SS’) (‘YYYY-MM-DD/HH:MN:SS’ pg. 24 の文字列を Unix time に変換し、t に代入する。 ) 時刻の構造体に変換する(関数) : time_struct() 使用例: ts=time_struct(time_double('2007-03-23')) help, ts,/str (ts の構造体を表示する。) ** Structure TIME_STRUCTR, 14 tags, length=48, data length=42: YEAR INT 2007 ; 4-digit year MONTH INT 3 ; month DATE INT 23 ; day HOUR INT 0 ; hour MIN INT 0 ; minute SEC INT 0 ; second FSEC DOUBLE 0.00000000 ; fractal seconds DAYNUM LONG 732757 ; day since 0 AD DOY INT 82 ; day of year DOW INT 4 ; day of week SOD DOUBLE 0.00000000 ; second of day DST INT 0 ; if 1, daylight saving time TZONE INT 0 ; timezone (e.g., PST: -8) TDIFF INT 0 ; hours from UTC Unix time を時刻文字列’YYYY-MM-DD/hh:mm:ss’に変換する(関数): trange_str 使用例: tstr=trange_str(t1, t2) (t1、t2 は Unix time。'YYYY-MM-DD/HH:MM:SS – HH:MM:SS'という形式の文字列が tstr に代入される。) グラフ上のクリックした場所の縦軸、横軸の値を取り出す: ctime 使用例: ctime, time, y (tplot でプロットした後、グラフ上をクリックすることで、 time に横軸(UNIX time)の値、y に縦軸の値が入る。 ) 3.8 その他の便利なコマンド tplot 変数から指定した時刻の配列番号を取得する(関数): nn() 使用例: idx = nn(data, time) (data は tplot 変数名、または、get_data で取り出したデー タ構造体{x: Unix time 形式の時刻、y:データ}。time は、Unix time の時刻。time に最も近い 時刻の配列番号が idx に返る。time は配列でも良い。) pg. 25 配列を別の配列の最後に継ぎ足す: append_array 使用例: append_array, a0, a1 (配列 a0 の後に配列 a1 を継ぎ足す。IDL における a0=[a0, a1] とほぼ等しいが、a0 が未定義でもエラーにならない。 ) pg. 26
© Copyright 2024 Paperzz