[ トップ(日本語) ] [ top page (English) ] [ HMI データの手引きその1 ]



とても非公式な SDO/HMI データ取得の手引き その2

おしらせ
HMI の公式ページにあるスクリプトを使った、コマンドライン経由での HMI や AIA データの取得方法を書いてみました。(2023年11月某日)



はじめに
「その1」と同様、あくまで私の経験と理解を基に書いています。ですので私が使ったことのある流儀以外の事はあまり書いていません。

準備(1)
コマンドラインにてデータを取得するためのスクリプトファイルを2つ、JSOC のページから取得してください。
exportfile.csh
url_escape.pl
一つ目(exportfile.csh)をメインに使用(または必要に応じて改変)します。 2つ目(url_escape.pl)は URL の文字列処理に際して規格に則るための処理を perl に依存してるので、必要なのだそうです。 この2つをとりあえず同じディレクトリにおいてください。

準備(2)
お使いのシステムで以下の4点を確認してください。念のため。
1.C-shell インタプリタが使えるということ(Linux だと問題ないハズです)。
2.perl のインタプリタが使えること(perl コマンドに path が通っている事)。
3.wget コマンドが使える事。これをガシガシ使います。
4."/tmp/" というディレクトリが認識できること。一時ファイル置き場としてココを使う前提(exportfile.csh の63行目)なのです。必要ならこの行を編集して任意のディスク上の場所を一時ファイル行置き場として指定できます。

HMI の全面像データを取得する例
HMI の太陽全面像は原則として、series 名と T_REC (データ保存管理上の観測時間) という keyword の2つで唯一のデータ (record) を指定できます。 上記 exportfile.csh はこの2つを指定してデータを取得する前提で書かれています。 使い方はとても簡単で、ファイル内15行目あたりに例があるように、
./exportfile.csh 'hmi.M_45s[2023.04.01_00:00:00_TAI]' XXX@YYY.ZZZ
などとタイプしてリターンキーを押すと・・・・ wget ががんばって JSOC データベースサイトとやり取りをしてくれます。 支障なく事が運べば、最終的には指定したデータを FITS 形式ファイルとして取得できるはずです。ファイルは実行したディレクトリに保存されます。
  この例では、HMI magnetogram (のうち45秒間隔で算出される)データ series (hmi.M_45s) で2023年4月1日 00UT ちょうどのデータ record を指定しています。 GUI での時間範囲指定の方法と同じく、"2023.11.01_00:00:00_TAI/15m@3m" などと "/" に続けて欲しい時刻幅や間隔を指定できます。 また、時間指定部分 "2023.11.01_00:00:00_TAI" を "$" に置き換える事で、データベース上で一番後の時刻の T_REC を持つ(一般的には一番新しい)データ record を指定する事ができます。
  GUI ベースでの取得方法と同じく、一度にあまり多くのデータを指定すると JSOC のシステムの側で処理が上手くいかない事があります。 また、このスクリプトはデータ取得まで行いますので、ダウンロードの時間も勘案してデータの範囲を指定してください。
  XXX@YYY.ZZZ の部分は処理が済んだ事をお知らせするメールの宛先です。 いろいろあったそうでこのメールアドレスは必須になりました。 なお、文章中の2重引用符 (") は文字列であることを明示するために使っているだけです。コマンドライン例の引用符 (') を2重引用符にするといろいろ面倒ですのでご注意を。

T_REC 以外の keyword をデータ指定につかう series のデータを取得する例
たいていの HMI データは観測時刻に対応する T_REC というキーワード値を使う事でデータを指定します。 ところがデータによっては T_REC 以外の keyword を使うものがあります。
  例として magnetogram の synoptic map を挙げる事ができます。 Synoptic map は多数の太陽全面像をつかって一太陽自転周期に一つだけ作成されるので、データ識別子として Carrington 自転数を用います。 exportfile.csh は T_REC を識別子に使う前提ですので、これに変更を加えて synoptic map をとってこれるようにしてみました。 my_exportfile.csh をご覧ください。 コメント行を追加削除していますが、変更した部分はあまり多くはないですので、
diff -bw exportfile.csh my_exportfile.csh
などと差分を見る事で、どこを改変すればいいのかを理解する上で参考になると思います。 基本的に(ffmt という名の変数に格納される)保存ファイル名の規則に手を加えるだけでエラーが出なくなるはずですので、実のところ、my_exportfile.csh は、識別子となる keyword を明示的に指定してそれをファイル名規則に含めるようにしているだけです。
  実行の例として、
./my_exportfile.csh 'hmi.Synoptic_Mr_720s[2140-2141]{synopMr}' CAR_ROT XXX@YYY.ZZZ
を実行すると、720 秒間隔データから作成された synoptic map のうち Carrington 自転数 2140 と 2141 のデータを取得します。 この例では、複数ある segment のうち synoptic map データ本体の (synoMr と命名されている) segment だけを取得するように 波括弧の対 {} で segment 名を指定しています。 欲しいデータの HMI データベースにおける series/segment 名の検索、希望する時間帯でのデータの有無などを確認したい場合には「その1」の手順を参考にして下さい。
  T_REC が keyword であることを明示する必要がありますが、
./my_exportfile.csh 'hmi.M_45s[2023.04.01_00:00:00_TAI]' T_REC XXX@YYY.ZZZ
を実行すると、最初の例と全く同じ magnetogram 太陽全面像データを取得できます。



最終更新:令和5年11月
公開開始:令和5年11月
作成開始:令和5年11月