トップページ > データベース > データベース:極軌道、周回軌道衛星データ (LEO)

CEReS NOAA/AVHRR Product

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

受信画像(2017年3月15日にて受信終了)

NOAA15号、 18号、 19号を受信しています。サムネイル画像をクリックしていただくと、拡大画像になります。

号数 昼間 夜間
NOAA
15号
NOAA
18号
NOAA
19号

NOAA12号~19号(除く13号)の過去画像はこちらから

公開 ftp site

データ仕様

 ← 画像をクリックすると拡大します。

  • NOAA Satellites: NOAA-12、-14、-15、-16、-17、-18、-19
    • 現在の受信衛星および準リアルタイム product 生成:NOAA-15、-17、-18
  • nXX: NOAA 号数を示します。 例) n17: NOAA-17号データ
    • 北緯: 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.ndvi.gi NDVI (正規化植生指数); [値] NDVIが -1~1の範囲であるため、x 100したものを整数化
nXXYYMMDDHH.sca.gi 太陽方位角(Solar Azimuth Angle); [値] 度(°)を × 10 したものを整数化
nXXYYMMDDHH.saa.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 (80byte) 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 に置いておきます。

その他

大気補正

 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 に置いておきます。 見ていただければ、Cを使っている人は何をしているか分かると思います。当然無保証です ;-)

JAXA recieved MODIS (level1b, cha, SST products)

 CEReS では 宇宙航空研究開発機構 (JAXA) および東海大学(TSIC/TRIC) で受信、処理された Terra/Aqua 搭載の MODIS (MODerate resolution Imaging Spectroratiometer; 中分解能撮像分光放射計) の取得および内部公開(現状では千葉大学西千葉キャンパスのみ)を行っています。

公開 ftp site

  • ftp://modis.cr.chiba-u.ac.jp/pub/jaxa-modis/ (anonymous ftp; 千葉大西千葉キャンパス内であれば取得可能)
    • sub-directory で、disk1/year/year(4文字)month(2文字)day(2文字)となっています。このルールから該当する(欲しい)データの日付が分かると思います。
    • ftp server の内部構成を見れば分かりますが、データは2004年8月01日~現在まであります。
    • global データセットではありません。日本付近です。CEReS受信の AVHRRよりもやや狭い程度の受信状況となっています。

ファイル名ルールおよびフォーマット仕様

JAXA/TRIC 提供プロダクトファイル名(クロロフィルa濃度、海面温度 [SST]) およびファイル仕様

  • A2GL***********_****_pixelサイズ_lineサイズ_chla or sst (クロロフィルかSSTかを示す).gz
 ***で書かれているところは気にしないで、ファイル名の末尾(*.gz は gzip で圧縮されていることを示します)に着目してデータ選択をしてください。ファイル名中、pixelサイズとlineサイズは5桁の整数で示されています。

  • ファイル仕様
 バイナリデータ仕様は以下のような1line 分のヘッダと2byte 整数(符号なし整数、bigendian)で構成されています。
ヘッダ(pixel数 分のバイト、テキストファイル) データ本体(line数 x pixel 数 x 2byte)

  • ヘッダ部分(テキストファイル)
pixel数 ライン数 左上緯度 左上経度 緯度経度刻み(空間解像度)
物理量換算傾き(slope) 物理量換算切片(offset) パラメータ名 入力ファイル名
 残りは空白あるいは使用する必要はありません。各ヘッダ要素はカンマ(,)で区切られています。UNIXコマンドのhead と awk 等を組み合わせることで必要な情報を得ることが可能だと思います。

  • 物理量換算
 以下の式で換算することができます。
    • Chl-a [mg/m³] = (digital number x slope) + offset
    • SST [K] = (digital number x slope) + offset

JAXA プロダクト(chla, SST)に関しての情報(リンク)

JAXA 受信 MODIS level 1b データに関する情報

JAXA 受信 MODIS ファイル名ルール

 JAXAで受信してるMODIS hdf file (これはレシーバの仕様なんだと思います)はNASAが公開しているタイル管理のファイル名ルールとは異なりますので注意が必要です。多分こういうルールなんだと勝手に解釈しました。(違っていたらご容赦を。誰か教えてください。)

MOD ... Terra 衛星(日中午前overpass)、 MYD ... Aqua 衛星 (午後に overpass)
02 or 03 ... 02:画像データ、03:軌道関連情報(幾何補正処理で必要になります)。
1KM、HKM、QKM:各分解能のデータが入る。
 1KM ...1km
  (注:hdfの中を見ると、500m、 250m のchannelデータも入っていますが、全て1kmに平均化)
 HKM ...500m 分解能
 QKM ...250m 分解能
JYYYYMMDDHHMMSS.YYYYMMDDHHMMSS.hdf.gz ← gzip で圧縮されている。
 最初の YYYYMMDDHHMMSS は受信開始時刻情報、次の YYYYMMDDHHMMSS が受信終了時刻情報。
 YYYY ... 年(4桁;西暦)
 MM ... 月(2桁;1-9月の場合は 01、02、… 09 などで表示)
 DD ... 日(2桁;月と同じく詰めません)
 HH ... 時(2桁;上記同様に詰めません)
 MM ... 分(2桁;上記同様)
 SS ... 秒(2桁;上記同様)
 # J は Japan の J なんでしょう。また、時刻は Z (UTC) で、JST ではありません。

例: MYD021KM.J20050406033924.20050406035008.hdf.gz

 上記のルールに従えば、
Aqua衛星、 画像データ、1km分解能、2005年04月06日03:39:24-2005年04月06日03:50:08 UTCの受信 hdf ファイルということになります。

必要とする tool のインストール

 Linux での使用を前提に記載しています。それぞれのサイトに Windows や Mac,UNIX の version のものもあるかもしれません。適宜読み替えて下さい。

  • Java MODISSwathTool の GUI が java で書かれているため必要です。
Linux の場合、rpm を入れることになるので、Linux distribution に依存しますが、install後、path を通して下さい。
例)
export JRE_HOME=/usr/java/default
export PATH=/usr/java/default/bin:$PATH
export LD_LIBRARY_PATH=/usr/java/default/lib:$LD_LIBRARY_PATH
  • MODIS Reprojection Tool - Swath (MODISSwathTool) ユーザ登録が必要ですが、Free で利用可能です。
 対話式のインストーラであるため、install に実行を与え(chmod +x install)、管理者で実行。ここではインストール先を /usr/local/MRTSwath に設定し、path を通してください。
例)
export PATH=/usr/local/MRTSwath/bin:$PATH
export MRTDATADIR=/usr/local/MRTSwath/data:$MRTDATADIR
  • HDF4 (HDF5 と HDF4 は互換性がない?。EOS-HDFはHDF4をベースとしているため必要)
 Linux distribution によっては足りないパッケージがあります。RH系だと flex や bison を yum を使って事前に入れておく必要がある。gcc 等の開発環境は無論必要 ;-)、さらに libjpeg や libjpeg-devel も必要なので、入れておいてください。
pc{usr} %./configure --prefix=/usr/local/hdf4.2r3 ← HDF4.2r3 の場合、適宜読み替える。
$ make
# mkdir /usr/local/hdf4.2r3
# make install
 その後同じく path を通しておいてください。
例)
export PATH=/usr/local/hdf4.2r3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/hdf4.2r3/lib:$LD_LIBRARY_PATH
export HDFINC=/usr/local/hdf4.2r3/include

ModisSwathTool の使い方

 インストールで示したソフトウエアが無事インストールされておりpath が通っていれば、次のコマンドで、

 pc{usr}$ ModisSwathTool

下記で示すようなGUI画面が表れます。直感的に分かり易いGUIなので分かるかと思います。

  • Input File [Open Input File]: 対象となる画像データを開きます。開く前には *.gzファイルを解凍する必要があります(以下同じです)。
  • Input File Info: hdf ファイルとして開ければ、ファイルの内部情報がここに出ます。channel情報、等々です。
  • Available Bands、Selected Bands: 前者はhdf file内に含まれる channel情報、後者は変換をかけるtarget の channelを示します。>> or << ボタンで、どのチャンネルを変換するかを選択・削除ができます。
  • UL Corner、LR Corner: 緯度経度直交座標系に変換する際に左上の緯度・経度、右下の緯度・経度を入力します。分、秒表記ではありませんので注意。
  • Spatial Subset: 緯度経度直交座標(LAT_LONG)、 選択図法の形式(PROJ_COORDS)、単純なラインーピクセル(LINE_SAMPLE)の3種のどれかを選択します。ここでは他のデータとの整合性を取るために緯度経度直交座標系を選びます。
  • Geolocation File: ファイル名ルールで記載した軌道情報 hdf ファイル(MOD03、 MYD03) を選択します。これがないと変換できないようです。Input file と同じ受信 hdf を選ぶ必要があります。
  • Output File: 出力先。ファイルが無いと選択できないようなので、適宜、$ touch temp とかしてファイルを用意しておいた方が良いです。
  • Output File Type: hdf 形式、geotiff 形式、raw bainary 形式の3つのうちどれかを選択。raw binaryを選択しました。hdf をサポートしている画像処理ソフトをよく使う場合、hdfの方が良いかもしれません。
  • Resampling Type: 元データをどの方法でサンプリングし直すかの設定。NN (Nearest Neighbor)とBL(Bi-Linear)とCC(Cubic Convolution)の3種類あります。元データと同程度の空間分解能を出す場合はNN(元データは消えない)、より荒いデータに変換する場合には BLかCCという選択が良いと思います。NN、 BL、 CCの違いはリモセンの教科書に出ていますが、簡単に書くと;BB:一番近い場所のpixelを選ぶ、BL:周囲4点のpixelsを線形内挿。CC:周囲16点のpixels を距離の重み付けをして内挿。BB以外は元データが消えます。
  • Output Projection Type: いっぱい選択肢が出てきますが、上のSpatial Subset で"PROJ_COORDS"を選んでいない場合は、GEOが無難でしょう。
  • Output Data Type: raw binary と hdf だけ必要なoption? 出力 data 関数系を選びます。1byte 整数(符号付き[CHAR8 or INT8]、 符号無し[UINT8])、2byte 整数(同じく [INT16、 UINT16])を選びます。選ばなかった場合、元データと同じ(INT16)になります。
  • Output Pixel Size: 緯度経度直交系を選ぶと degree (°)になります。非常に大雑把ですが、0.01 ...1km、 0.005 ... 500m、 0.0025 ... 250m と考えると楽です。(厳密には緯度によって、degree (°) <-> 距離の換算が変わりますので正しくないです。念のため)

Commands

  • Load Parameter: 以前設定したパラメータファイルを呼び出します。
  • Save Parameter: ここで設定した上記パラメータを保存します。後述するコマンド、一括処理時に重要となりますので、saveした方が無難です。

 ここまで一通り設定をした後でRunボタンを押せば、設定項目が間違っていなければ変換が開始されます。output file で "hdf" を選択した場合は一つのhdfファイルが、"raw binary" を選んだ場合は、

 [Output file]+[選択されたchannel名].hdr (ヘッダファイル:テキスト)
 [Output file]+[選択されたchannel名].dat (data type でのバイナリファイル)

の2種類のデータが各選択したチャンネル数だけ出力されます。ここまでいけば成功で、成功したパラメータファイルを保存しておきます(後で使います)。これが GUI な ModisSwathTool の使い方です。また、NASA で公開している各種 MODIS product も"ModisTool" でやり方は本質的には同じです。

CUI での処理(一括処理)

 大量に同じ領域の切り出しをするのにいちいちModisSwathToolを立ち上げてマウスをクリックしてファイルを選んで…とやっていると日が暮れてしまいますので、一括で処理する方法(このやり方が正しいかどうかは不明です)を書いておきます。

 ModisSwathTool で実際に処理に回すときには、swath2grid を呼び出して、パラメータを流し込んでいるだけです。言い換えると、ModisSwathTool は swath2grid のフロントエンドということになります。つまり、swath2grid のやり方を覚えてしまえば、いちいちModisSwathToolを使う必要はないということです。やりかたは、

 $swath2grid -help

と打てば方法(マニュアル)が出てきます。

 この option を全部いちいち打って手作業で処理をするのは大変ですので、ModisSwathToolで作成したパラメータファイルを使います。パラメータファイル自身は単なるテキストファイルです。

 一括処理の前手順としては、

  • パラメータファイル中の "INPUT_FILENAME"(画像 hdfファイル) 、"GEOLOCATION FILE"(軌道情報hdfファイル)、"OUTPUT FILENAME" (出力先ファイル) の行をコメントアウト(頭に # を付ける)する(理由: swath2grid の引数として入れ込むため、ここでファイル名が指定されていると読めなくなる)。
  • 以上を確認し、後は他の項目がそのままで良いかを再確認します。

 逆に言えば、パラメータファイルのひな形があり、内部構成さえ分かれば ModisSwathToolは不要で、労力が軽減できます。original ではいっぱい引数を入れる必要がありますが、パラメータファイルを使えば、

$swath2grid -if=${input_image_hdf_file} -gf=${orbit_hdf_file}
              -of=${output_file} -pf=${parameter_file} (実際は 1行で入力)

で一括変換ができます。$以下は適宜 shell で宣言するようにすれば良いでしょう。

(例: bashでの記載)
#! /bin/sh
temppath=/work/hogehoge/temp/
outpath=/work/hogehoge/output-bins/
prmpath=/work/hogehoge/convert-prms/
prmconf=typical.prm
# 元々のgzip をzcat で解凍させながら、temppath へ
# gzを取ったファイルとして吐き出します。
# gzip でその場出だしても良いですが、複数人で使うことを
# 常に想定して(+nfs マウントで見ることも)zcat を使います。
# extract orbit file hdf (MOD03.*)
   for obtf in MOD03.* ;
   do zcat ${obtf} > ${temppath}${obtf%.gz};
   done
# extreact 500m res. Terra hdf (MOD02HKM.*)
   for hdf in MOD02HKM.*;
   do zcat ${hdf} > ${temppath}${hdf%.gz};
   done
   cd ${temppath}
   for fname in MOD02HKM.*.hdf;
# 下記の部分が上で書いた部分を実際にさせたもの。軌道 hdf と画像 hdf は
# ファイル名の頭の部分のみが違うので、整合性を取るようにしている。
   do swath2grid.comp -if=${fname} -gf='MOD03.'${fname#MOD02HKM.} \
              -of=${outpath}${fname%.hdf} -pf=${prmpath}${prmconf}

 このシェルでは、同じ directory に gz な hdf が皆あれば、temppath に typical.prm で指定した option に従い、outpath で指定した directory に MOD2HKM…_prm ファイルで指定したチャンネル名.hdf 及び .dat のヘッダ、バイナリを吐き出すようになります(prmファイルで output が raw binary になっていた場合)。

 この方法が使えるようになれば、後は得られたバイナリファイルをチャンネル毎の単純なバイナリデータとして取り扱うことができます。

物理量換算はどうするのか?(Radiometric 補正)

 hdf ファイルを生成する際に CCT値 (DN)から SI (Scaled Integer)に変更された2バイト整数です。この値をradiance やreflectance に変換するためには、hdf ファイルからヘッダ情報を読み取り、必要な係数を取り出す必要があります(そのために HDF4 が必要です)。

 $(HDF4のバイナリのpath) ncdump -h hogehoge.hdf

 この中の変換係数(上記例の一部を抜粋)

EV_500_RefSB:radiance_scales = 0.021505227f, 0.018739114f, 0.00529294f, 0.0025430776f, 0.00078053412f ;
EV_500_RefSB:radiance_offsets = 316.9722f, 316.9722f, 316.9722f, 316.9722f, 316.9722f ;
EV_500_RefSB:radiance_units = "Watts/m^2/micrometer/steradian" ;
EV_500_RefSB:reflectance_scales = 3.2494634e-05f, 3.1683794e-05f, 3.5203753e-05f, 3.3397813e-05f, 2.7262724e-05f ;
EV_500_RefSB:reflectance_offsets = 316.9722f, 316.9722f, 316.9722f, 316.9722f, 316.9722f ;
EV_500_RefSB:reflectance_units = "none" ;
EV_500_RefSB:corrected_counts_scales = 0.12619403f, 0.12619403f, 0.12619403f, 0.12619403f, 0.12619403f ;
EV_500_RefSB:corrected_counts_offsets = 316.9722f, 316.9722f, 316.9722f, 316.9722f, 316.9722f ;
EV_500_RefSB:corrected_counts_units = "counts" ;

 SIから分光反射率に換算するためには;

  • Reflectance (無次元) = reflectance_scales × (SI - reflectance_offsets)

とし、分光放射は;

  • radiance (Wm^(-2) μ^(-1) sr^(-1)) = radiance_scales × (SI - radiance_offsets)

補正済みカウント値への変換は;

  • DN** (counts) = corrected_counts_scales × (SI - corrected_counts_offsets)

となります。DN** は第2補正済カウント値ということらしい、です。式自身は variable = scale * (SI - offset) で統一されています。係数の取り出しはいろいろな方法がありますが、例として grep と awk の組み合わせを下に書いておきます。

例(CCT ~ 放射量への変換係数をheaderから取り出す[500mの例])
$ grep EV_500_RefSB:radiance_scales < MOD02HKM.J20050411004553.20050411005445.hdr | \
   awk '{print $3, $4, $5, $6, $7}' | \
     awk -F, '{printf"%1.10f %1.10f %1.10f %1.10f %1.10f\n", $1, $2, $3, $4, $5}' > coeff.txt

とすると、

 0.0215052270 0.0187391140 0.0052929400 0.0025430776 0.0007805341

と数字だけ取り出せます。後はこれらの係数をバイナリに掛け合わせるプログラムを作成すれば良いでしょう。

MODIS Daily Global 0.05 Deg compsite (MOD&MYD09CMG)

 USGS LP DAAC で公開された全球合成 0.05°データセット(Surface Reflectance Daily Global 0.05 Deg composite Terra/Aqua MODIS)を定期的にダウンロードしています。

現在のダウンロード済最新画像

公開 ftp site

 最新ダウンロードはディスク管理上こちらに置いてあります。

データ仕様

 一般的な hdf フォーマットのデータです。チャンネル構成、クラウドマスク等の情報は上記のオリジナルサイトを参照して下さい。

データ利用ポリシー

 USGS LP DAAC に準拠します。再配布は可能ですが、研究で利用された際には以下の一文を謝辞に入れていただきますようお願いします(我々のサイトに対する記載は不要です)。

 # 再配布している立場上、ご理解のほどよろしくお願いいたします。

 "These data are distributed by the Land Processes Distributed Active Archive Center (LP DAAC), located at the U.S. Geological Survey (USGS) Earth Resources Observation and Science (EROS) Center (lpdaac.usgs.gov)."