トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

CEReS NOAA/AVHRR Product

Last update: 03 August 2011 11:20 JST by A. Higuchi

CEReS NOAA/AVHRR Product

CEReSでは1997年04月以降,継続して受信・処理された NOAA/AVHRR (Advanced Very High Resolution Radiometer) データを公開しています.

  現在の受信画像

受信システムの更新により,NOAA15, 18, 19 を受信しています.NOAA17は運用を停止しています(03 Aug 2011).また、NOAA16も運用停止となりました(09 Jun 2014).
NOAA15 NOAA16
昼間 Large Large
夜間 Large Large
NOAA18 NOAA19
昼間 Large Large
夜間 Large Large

  公開 ftp site

  データ仕様

  • NOAA Satellites: NOAA-12, -14, -15, -16, -17, -18
    • 2010年07月現在での受信衛星:NOAA-17, -18;同現在での準リアルタイム product 生成: NOAA-18
  • product 緯度・経度範囲,空間解像度,データサイズ,バイナリ仕様:
    • 北緯: 9.97971°〜60°,東経:100°〜170.022095°
    • 空間解像度:1km (東西 0.01097869°,南北 0.00899322°)
    • 画像サイズ:6378 ピクセル × 5562 ライン
    • バイナリ:2 byte 符号付き整数 (signed short), big endian order

  ファイル名ルール

nXXYYMMDDHH.tar.bz2

  • nXX: NOAA 号数を示します.例:n17: NOAA-17号データ
  • YYMMDDHH: 撮影時刻情報を示します.
    • YY: 年,例:07: 2007年,MM: 月,例: 04: 4月
    • DD: 日,例: 09: 9日,HH:時刻(世界標準時),例:05: 05UTC
      • 世界標準時表記なので,日本標準時(JST)にするためには +9 してください

ftp server に置いてあるデータは tar で固めて,bzip2 で圧縮してあります.Windows Mac 等ではこの形式に対応しているソフトウエアで解凍してください.UNIX/Linux の多く(+ Windows Cygwin でも)以下のコマンドで解凍することができます.
$ tar xjf nXXYYMMDDHH.tar.bz2 または
$ bzip2 -d nXXYYMMDDHH.tar.bz2
$ tar xf nXXYYMMDDHH.tar

  解凍後のファイル構成

解凍すると以下の10個のファイルが生成されます.

ファイル名 説明
nXXYYMMDDHH.mb1.gi AVHRR チャンネル1 (可視).[値] 反射率 [%] × 10 したものを整数化したもの
nXXYYMMDDHH.mb2.gi AVHRR チャンネル2 (近赤外).[値] 反射率 [%] × 10 したものを整数化したもの
nXXYYMMDDHH.mb3.gi AVHRR チャンネル3 (中間赤外).NOAA-17 -18 は昼夜で Ch. 3 と Ch. 3A が切り替わっている.
昼間の画像の場合(Ch. 3A [1.58-1.64μm]):[値] 反射率 [%] × 10 したものを整数化.
夜間画像(Ch. 3 [3.5-3.9 μm]):[値]輝度温度 [K] × 10 したものを整数化
nXXYYMMDDHH.mb4.gi AVHRR チャンネル4 (熱赤外).[値] 輝度温度 [K] × 10 したものを整数化
nXXYYMMDDHH.mb5.gi AVHRR チャンネル5 (熱赤外).[値] 輝度温度 [K] × 10 したものを整数化
nXXYYMMDDHH.nvi.gi NDVI (正規化植生指数).[値] NDVIが -1〜1の範囲であるため,x 100したものを整数化
nXXYYMMDDHH.saa.gi 太陽方位角(Solar Azimuth Angle).[値] 度(°)を × 10 したものを整数化
nXXYYMMDDHH.sca.gi センサー視野角(Sensor Scan Angle).[値] 度(°)を × 10 したものを整数化
nXXYYMMDDHH.sst.gi 海面温度(Sea Surface Temperature (SST)).[値] 絶対温度 [K] × 10したものを整数化
nXXYYMMDDHH.sza.gi 太陽天頂角(Solar Zenith Angle).[値] 度(°)を × 10 したものを整数化

Ch.1, 2, NDVI, 太陽に関するデータは夜間はゼロが入っています.Ch.3/3A の切り替えは2007年以降のAVHRR/3 (NOAA-17, -18)で有効となっています(それ以前では Ch.3 が入っています).Ch. 3 利用時には注意が必要です.

  各ファイルのデータ構造

上記10個のファイルは中にあるデータを除き,ヘッダ,データ本体,フッタの共通構造となっています.
Header (80 byte) Data (6378 pixels x 5562 lines x 2 byte = 70948872 byte) Footer

AVHRR product に関しては既に CCT (カウント値)から pre-flight calibration coefficients (level 1b に含まれるヘッダ情報)を用いた物理量換算がなされており,かつファイル名から撮影日,時刻,チャンネル情報を得ることが可能であるため,ヘッダ情報を読み取る必要は無いと思います.ですので,データそのものを取り出すにはファイルの先頭から 80 byte 分(ヘッダ分)をスキップし,データ部分(6378 pixels x 5562 lines x 2 byte = 70948872 byte) を符号付き整数値として取り出せば良いです.C 言語での簡単なプログラム(データ部分だけ取り出す)を ここ sample-avhrr.c(790) に置いておきます.

  その他

大気補正

product データには大気補正はかけられていません. GI (Global Imaging社) の product 生成ルーチン中に大気補正が組み込まれていないのが原因ですが,大気補正そのものを研究対象としている場合もあるためあえてそのままにしています.

経年劣化補正

AVHRR 各号の打ち上げ後の経年劣化補正(sensor degradiation correlation) も施されていません.各号データの時系列を元に劣化補正係数を求める, あるいは既に劣化補正が当てられているデータの再補正(例 PAL) 等にも 使えるかと思います.

level1b データ

当センターでは,緯度経度直交座標に 変換したデータのみならず,いわゆる level1b データそのものも公開しています.既にlevel1b からのデータ処理プログラムを持っている方 (NOAA -14迄と, NOAA -15〜 -17,および NOAA-18 号ではlevel 1b のformat が異なります.詳しくは NOAAの website [いわゆる Kidwell のマニュアル] を参照下さい),あるいは PaNDA に精通している方はlevel1b データの方が有用かと思います.

拡張子が *.l1b が level1b data format で product data と同様 bzip2 で圧縮されています(*.l1b.bz2 となっている).

幾何補正精度

幾何補正の精度が衛星直下ではそれほど悪くはありませんが,視野角が大きくなると 幾何補正精度が悪くなります(これは海岸線と一緒に描画するとすぐわかるかと思います). 非常に気になる方は経験的ですが,AVHRR 視野角が+− 40°以下のデータだけを 使用するとか,なんらか使用データ制限をかけた方が解析結果を見る上で良いと思います. さらに気になる方は,使用する画像に対し,精密幾何補正をかけるか,level1b データから PaNDA を用いて幾何補正を行う等の処置をすることをお勧めいたします.

Byte order 変換

これは NOAA-AVHRR のみならず,一般的な情報です.本データは 2byte 符合付き整数 "big endian" です."big endian" は大型計算機,汎用ワークステーション,Power PC (Mac) で読み込めるデータの並びで,その逆の"small endian" はパソコン(windows), PC-UNIX (Free-BSD, Linux [註:i386 [32bit] および x86_64 [64bit] データ読みだしは small endian です)での読みだし順です.データを読み出す際には, 有償の衛星画像処理ソフトでは大抵対応しており,"intel type"ではない方でファイルを 開けると読めると思います.自らプログラミングで対応する際には,PC で読む際には 1byte ずつ 2byte 単位でデータを読み,その順番を引っくり返す (byte swap) サブルーチンを組み込むことで対応可能です.PC-UNIX,Windows+Cygwin では "dd"コマンドがあるため,以下の方法で2byte のバイトオーダを入れ替えることが可能です. 一括処理する(バッチ処理,shell化)際には1行以下のようなコマンドを組み込めば データを正しく読み込めると思います.

$ dd if=hogehoge.input of=hogehoge.output conv=swab

ここで hogehoge.input は元々のファイル名,hogehoge.output はバイトオーダを入れ替えたファイル名,conv=swab はバイトオーダを 入れ替えるためのオプションです. 実行速度を早めたければ(註:そこそこ大きな実メモリ空間が必要となります) 当センターのAVHRR product の場合には以下のように;

$ dd bs=70948872 count=1 if=hogehoge.input of=hogehoge.output conv=swab

上での例はブロックサイズを70948872 (つまりデータ全部)とし, 1回で(count=1)という意味です.共に事前にヘッダを抜いたバイナリファイル を作る必要があります.Fortran の場合には big endian 形式のバイナリで読みだし, small endian のバイナリとして吐き出すコンパイルオプションがあるものがあります. 普段使用しているfortranコンパイラのマニュアルを確認してみてください.

RGB 合成画像作成用 1byte 丸め込み

[これは GMT の version 4を使って RGB合成したい人だけの情報] GMTでは Version 4 より RGB三色合成機能がつきました.しかし, ほかの有償画像処理ソフトとは違って各色の色調整は行わず, ユーザ側で 0-255の間に各色データを合わせる必要があります. 当方で経験的に NOAA/AVHRR CEReS product 用にtuning した反射率 -> 0-255への変換Cプログラム(ガウスフィットに近いような変換 [一定値毎に変換係数を変えたもの]) をここshort2char-avhrr-visible.c(748)に置いておきます. まぁ見ればCを使っている人は何をしているか分かると思います.当然無保証です ;-)

CEReS Database Wiki