あかつきレベルデータパイプラインと雲追跡村上真也 (ISAS/JAXA)、堀之内武 (北海道大学)、
高木征弘 (京都産業大学)、はしもとじょーじ (岡山大学)、
山田学 (千葉工大)、山崎敦 (ISAS/JAXA)、
神山徹 (産総研)、小郷原一智 (滋賀県立大)、今村剛 (ISAS/JAXA)、
あかつきデータ処理チーム

2016/03/28

あかつきレベルデータパイプライン

あかつきレベルデータパイプライン概要◮

レベルデータパイプラインの説明
SPICE
FITS フォーマット
◮ NetCDF フォーマット
◮ ファイル命名規約◮◮◮

パイプライン開発状況◮

パイプライン開発課題

導入の導入: 用語説明
レベルデータって何?
◮◮◮

数字が小さいほど生データに近い。
ふつう 0 からはじまり、処理を段階的に施すに従って数字を増やす。
それらを低次データ、高次データなどと言ったりもする。

パイプラインって何?
◮

レベルデータを生成するプログラム・スクリプトをパイプラインと言う。

導入「あかつき」レベルデータパイプラインは、主に二つのプロダクトを生成する。
◮ L2b: 較正済み物理量データ+幾何情報◮◮

FITS フォーマット

L3b: 緯度経度格子に補間した物理量データ◮

NetCDF フォーマット

レベルデータパイプライン以前
探査機上のデータの取扱い◮ 圧縮形式◮◮◮

HIREW (可逆圧縮) ← 主にこちらを使用
JPEG2000 (非可逆圧縮)

データレコーダ
ファイルシステムがあるわけではない
メモリ空間がどーんとあって、そこにポインタを指定して読み書きする◮ REC ポインタを動かして記録位置を設定◮ REP ポインタを動かして再生位置を設定◮◮

レベルデータパイプライン
地上局で受信されたテレメトリデータが宇宙研に送られ、SIRIUS というデータベースに保存される◮ サーバー (リフォーマッタ, rfpc) で処理◮

パケットを SIRIUS から取ってくるパケットをくっつけて画像を作る → Level 0◮ メタデータを付ける → Level 1a (FITS format)◮ カウント値から物理量に変換したりフラットで割ったりする → Level 1b◮ メタデータと幾何情報を付ける → Level 2 (FITSformat)◮ 緯度経度座標系の格子データに画像を変換する →Level 3 (NetCDF format)◮◮◮

雲移動ベクトルを導出する → Level 4? (NetCDFformat)

Level 0, Level 1
Level 0◮ .img データ◮ .ihd,.chd ファイルなどの付帯情報ファイル (メタデータ) もある◮ これらは SDTP(宇宙データ転送プロトコル) により
SIRIUS からデータ取得
Level 1
◮ FITS フォーマット◮ SPICE toolkit が要らない範囲でヘッダを付ける◮◮

L1a: 未較正データ
L1b: 較正済みデータ

Level 2
SPICE toolkit を使ってメタデータを計算し、FITS ヘッダに付ける◮ SPICE toolkit を使ってピクセルの中心と端における幾何情報を計算して、FITS ファイルにする。
◮◮

幾何情報: 緯度、経度、ローカルタイム、入射角、出射角、天頂角、位相角

4 つのカメラ (UVI, IR1, IR2, LIR) によって取られた画像が同じ向き (探査機+Y 軸が上) を向くように画像を回転したり反転したりする。
◮ PDS(Planetary Data System) ラベルを作る◮ DARTS のサーバへしかるべく置く◮

SPICESPICE: 観測データに伴う補助データを扱う仕組み
https://naif.jpl.nasa.gov/naif/aboutspice.html
S: 探査機の軌道 (SPK)◮ P: 惑星・衛星・彗星・小天体などの位置 (SPK,PCK)◮ I: 探査機に搭載される機器の情報 (IK)
◮ C: 姿勢情報 (CK)◮ E: イベント情報 (EK; ほとんど使われていない)◮

他にも以下のような “kernel” がある。
◮

機器やアンテナの取り付け位置・向きなど (FK)

◮探査機の時計 (SCLK)、うるう秒 (LSK)SPICE kernel特徴◮

拡張子: カーネルの種類とテキストかバイナリかを表す◮◮◮bsp: binary, spk
ti: text, ik

テキストの場合: ドキュメントとデータが一体になった構造◮◮

データのはじまりは \begindata で示す
ドキュメントのはじまりは \begintext で示す

SPICE kernel の例
The values of PIXEL_SAMPLES andeach filter, in counts.

PIXEL_LINES are equal to the diameter of\begindata
INS-5610_PIXEL_SIZE
INS-5610_PIXEL_SIZE_UNITS
INS-5610_PIXEL_SAMPLES
INS-5610_PIXEL_LINES
INS-5610_CCD_CENTER
INS-5610_START_OF_PIXEL
INS-5610_END_OF_PIXEL...
\begintext

VCO UVI V05.TI より抜粋

= ( 0.013, 0.013 )= ’mm’= ( 1024 )= ( 1024 )= ( 512.5, 512.5 )= ( 1, 1 )= ( 1024, 1024 )SPICE toolkit

SPICE kernel を活用するライブラリ◮ C, Fortran, IDL, Matlab で提供されている◮ https://naif.jpl.nasa.gov/naif/toolkit.html
CPS 月惑星探査育英会のページに詳しく書いてある
https://www.cps-jp.org/~ tansaku/wiki/top/FITS フォーマット
FITS フォーマットは天文業界でよく使われる形式。
◮ FITS ファイルは HDU の集まりで構成される。
◮ HDU(Header/Data Units) はヘッダ部とデータ部に分かれる。
◮ ヘッダは 1 レコード 80 文字 (改行などの区切り文字なし！)◮ キーワード = 値 の形式で書かれる。
◮ 先頭から 9 文字目に必ず = が来る (つまりキーワードの長さは最大 8 文字)◮ ヘッダもデータも 2880 byte の整数倍
具体的には「FITS の手引き」に詳しい.
https://ww1.fukuoka-edu.ac.jp/~ kanamitu/fits/jdoc/fits_t53.pdf

FITS フォーマットの例
LIR 20151207T052601 10 L2B 00.FIT のプライマリ HDU
SIMPLE =T / conformity to FITS standard
BITPIX =-32 / number of bits per data pixel
NAXIS=0 / number of data axes
EXTEND =T / possibility of presence of extensions
FMTTYPE = ’VCO IMAGE LIR’
/ Type of format in FITS file
FTYPEVER=
2013091801 / Version of FMTTYPE definition
SPCECRFT= ’VCO’/ Name of spacecraft
TELESCOP= ’VCO’/ Telescope used to acquire dataORIGIN = ’ISAS/JAXA’/ Organization responsible for the data
NEXTEND =1 / Number of standard extensions
CNTTYPE = ’LEVEL2 PROCESSED IMAGE’ / the type of data content
CNTVER =2013091201 / Version of data content
HISTORY
Using LIR_L1b.cc program compiled at Feb 6 2016 16:43:55
DATE= ’2016-03-02T14:46:44’ / Date of file creation
END

FITS スタンダードのヘッダキーワード◮

DATE 日時◮ORIGIN データの生成者◮

COMMENT コメント◮

HISTORY ヒストリ◮

DATE-OBS 観測日時

◮TELESCOP 望遠鏡◮

INSTRUME 機器◮OBJECT 観測対象◮

SIMPLE FITS Standard に準拠しているか◮

BITPIX ピクセルあたりのビット数 (負は浮動小数点数)◮NAXIS 次元の数◮

NAXISn n 次元目の軸の長さ◮

END 終了のキーワード◮

XTENSION エクステンションの種類

FITS ヘッダあかつき固有キーワード
プレフィックス

P Level 1 共通キーワード◮ S Level 2 共通キーワード◮ UV UVI 関係キーワード◮ I1 IR1 関係キーワード◮ I2 IR2 関係キーワード◮ LI LIR 関係キーワード
例:◮ P ID 機器の NAIF ID(VCO UVI 365 など)◮ S CLDALT 仮定している雲高度◮

FITS ヘッダキーワード辞書

FITS ヘッダキーワードは「辞書」が用意されている (随時アップデート)。
https://www.cps-jp.org/~ akatsuki/members-only/related-data/L2-headerkeywords/

今のところサイエンスチームにのみ公開(そのうち一般に公開される)。

あかつき FITS ファイル
「あかつき」L2b では Primary HDU に IMAGE エクステンションを 1 個以上付加した形式。

FITS を扱えるソフトウェア
単体のソフトウェアとしては ds9,fv が有名。ライブラリや統合環境は色々ある。

Level 3
緯度経度格子に補間した物理量を NetCDF フォーマットで提供する。
処理◮

撮像した金星ディスクの「ふち (リム)」の位置を使って、探査機の向いている方向を補正する (リムフィッティング) (Ogohara, et al., 2012)

光学系による画像のゆがみを補正する (Kouyama, et al.,2013)◮ 緯度経度格子に補間する (双線形補間; 2880x1440 の格子にマッピング)◮

NetCDF フォーマットNetCDF(Network Common Data Form) は気象業界でよく使われる格子データ格納フォーマット。以下は ncdump(1) により NetCDF ファイルをテキストダンプしたもの (CDL;
Common Data Language)。

NetCDF の特徴◮

データとともにメタデータを格納できる。

配列指向のデータを扱う。
◮ 様々な言語からアクセス可能。
◮◮

公式ライブラリは C, C++, FORTRAN 77, Fortran 90,
JavaNetCDF あかつき規約◮

Level 3 の NetCDF 変数を規定
軸は longitude, latitude, time の 3 つ
変数は radiance, inangle, emangle など◮ 変数*angle は short で格納される◮ Level 2 データの FITS キーワードを引き継いだ変数(P ..., S ... など)◮ FIT STAT: 楕円フィッティングのステータス◮ D ...: L2 の S ... を楕円フィッティングで修正したもの◮◮◮

規約は一般に公開される予定

レベルデータパイプライン開発状況

L0 に関しては山崎敦氏 (ISAS/JAXA)、福原哲哉氏(NICT) によって作成済み。
◮ L1,L2 に関しては、山田学氏 (千葉工大) によって作成済み。
◮◮◮

細かいメンテナンスを村上が行なっている。

L3 に関しては、「あかつき」データ処理チームの小郷原一智氏 (滋賀県立大学)、高木征弘氏 (京産大) らによって作成済み。

ファイル命名規約

例: LIR 20151207T052601 10 L2B 00.FIT

LIR: name of camera used (UVI,IR1,IR2,LIR)◮ 20151207T052601: time of the observation(YYYYMMDDTHHmmSS)◮ 10: ID of the filter, etc. (derived from SPICE ID)◮ L2B: level of the data
◮ 00: version of the product◮レベルデータパイプライン開発課題◮L1◮◮

較正関係 FITS ヘッダキーワードを導入
使用した観測プログラムを FITS ヘッダに書き込む (担当: 村上)◮◮◮

テレメトリからは実行した観測プログラムが分からない（！）

IR1/IR2 の使用フィルタ推定バグとり (担当: 村上)

L2
PDS 対応 (ラベル、ドキュメンテーション; 担当: 村上+NASA PSPs; 別途紹介)◮ SIS 作成 (別途紹介)◮ カメラ取り付けアラインメントの調査 (FK のアップデート)

◮

◮L3
◮
◮

UVI 以外の機器の画像のリムフィッティング
あかつき Level 3 NetCDF 規約のドキュメンテーション

雲追跡

雲追跡概要◮雲追跡とは?

◮雲追跡ツール開発状況◮Venus Express VMC UV のデータを用いた雲追跡雲追跡とは?
雲の模様の移動を追跡して、雲の移動ベクトル (雲追跡ベクトル) を導出する。
◮

このベクトルを Cloud Motion Vector(CMV) と呼ぶ◮

地球気象業界では大気追跡風 (AMV) と呼んでいる◮

画像処理でいうところの移動体追跡

雲が風に完全に馴染んで動いていると仮定すると、雲追跡ベクトルは風ベクトルと等しい (パッシブトレーサー仮定;Hubert and Whitney, 1971)。
必ずしもこの仮定は正しくないことに留意する (例: 山岳波に伴ってできる雲)雲追跡アルゴリズム
前提: 等間隔の緯度経度格子にマッピングされたデータ (あかつき Level 3 プロダクト) を使う。

◮方法は古典的なテンプレートマッチング、相互相関法を使う◮

テンプレートを適当な大きさに決めておいて、画像のあちこちに動かして相互相関係数を計算する。相関係数が正でもっとも大きいところを探す

Kouyama, et al. (2012)

「物理的でないベクトル」にどう立ち向かうか(1/2)
単純にやると、「物理的でないベクトル」が現れる。
◮ テンプレートサイズを大きくすると誤マッチング (「物理的でないベクトル」へのマッチ) が減る傾向がある◮◮

空間スケールの大きな速度場を求めることになる
大気現象の空間スケールと時間スケールはおおむね比例関係にある (Orlanski, 1975)◮◮

求めたい時間スケールの現象に対応する空間スケールを持つテンプレートを選ぶ必要がある

ひまわり 8 号で採用されている方法 by 下地和希氏 (気象庁)異なるサイズのテンプレートによって得られた相関曲面を重ね合わせる◮ 大きなスケールと小さなスケールの両方のスケールからの寄与を相関曲面に反映させられる◮

「物理的でないベクトル」にどう立ち向かうか(2/2)
単純にやると、「物理的でないベクトル」が現れる。
◮

より洗練された方法を使い、「物理的でないベクトル」の出現頻度を下げる◮

Ikegawa & Horinouchi(2016, hereafter IH16)
複数ペアの画像から得られる相関曲面たちを重ね合わせる◮ 相関曲面を空間平均する◮◮◮「物理的でないベクトル」を訂正する (relaxation
labeling: Evans, 2000; Kouyama, et al., 2012)「物理的でないベクトル」を品質評価により棄却する
◮
◮

IH16
地球気象業界の品質管理法を使う (QI: Quality Indicator,(Holmlund, 1998))◮

金星大気には無批判には適用できない

雲追跡ツール開発状況◮状況
基本的な部分は一通り小郷原・高木らにより作成済み(Ogohara, et al., 2012)◮ 新たな開発項目については村上・堀之内が行なった◮

IH16 の実装
ひまわり 8 号方式の相関曲面の重ね合わせの実装◮ 「物理的でないベクトル」を訂正する手法の改良
◮◮

◮

課題
評価手法の開発、適用
既存の評価手法の試用◮ 地図投影法に依存しない雲追跡◮◮実際のデータを用いたテスト◮

Venus Express(VEx; 2006-2014)◮

VMC UV (365 nm, 未同定吸収物質)

雲追跡に関わる設定◮

衛星天頂角が 71 度以上の位置の輝度を除外して計算した◮◮

太陽天頂角が 85 度以上の位置の輝度を除外して計算した◮◮

画像の歪み避け

昼夜の区別のため

求める雲追跡ベクトルについて−200 cos(緯度) m/s ≤ U ≤ 0 m/s,−60 m/s ≤ V ≤ 60 m/s を仮定した

VEx VMC UV(365 nm) 画像
軌道番号 0265 画像インデックス 0009
金星視直径 ∼ 370 pixel

雲追跡の結果∆t = 1h, (U + 100 cos(緯度) m/s, V )VEx VMC 軌道番号 0265、UV 画像 0009 と 0018 を使用。テンプレートサイズ 48x48、相関曲面の空間平均 (IH16) なし

雲追跡の結果∆t = 1h, (U + 100 cos(緯度) m/s, V )VEx VMC 軌道番号 0265、UV 画像 0009 と 0018 を使用。テンプレートサイズ 60x60、相関曲面の空間平均 (IH16) あり、ベクトル訂正 (relaxation labeling) あり雲追跡チェック画像

まとめ「あかつき」データパイプラインと雲追跡について詳しく紹介した。
◮ あかつきデータパイプラインでは二つのプロダクトを生成する。
l2b: 較正済み物理量データ+幾何情報, FITS フォー
マット◮ L3b: 緯度経度格子に補間した物理量データ, NetCDF
フォーマット◮◮雲追跡では古典的な相互相関法を使ったテンプレートマッチングを用いる。
◮◮

新たな技術を採り入れつつ開発中
特に評価手法の開発が急務

end