Rrs からクロロフィル a 濃度を推定する
前回の RGB 画像では、MODIS の複数波長の反射率を赤・緑・青に割り当て、海の色の違いを可視化しました。
今回は、その波長別のリモートセンシング反射率 Rrs から、NASA 標準 chlor_a プロダクトで用いられる
OC3M、Color Index(CI)、OCI ブレンドの考え方をたどり、クロロフィル a 濃度を推定します。
この解析の中心的な問い
答えは「直接ではない」です。衛星が測るのは、海面から出てくる波長別の光です。 そのスペクトル形状と現場観測の関係から、クロロフィル a 濃度を経験的に推定します。
データと前提
| 項目 | 内容 | 注意点 |
|---|---|---|
| 使用データ | Aqua/MODIS Level-3 mapped 8-day Rrs と chlor_a | 今回はアルゴリズム理解を優先し、L3 mapped データを使って地図化しやすくする。 |
| 入力変数 | Rrs_443, Rrs_488, Rrs_547, Rrs_555, Rrs_667 | OC3M と CI で必要な波長が少し異なる。 |
| 出力変数 | chlor_a、クロロフィル a 濃度、単位 mg m-3 | 衛星から直接測った濃度ではなく、Rrs から推定した値。 |
| 比較対象 | NASA 標準 chlor_a product | 自作推定値と完全一致しない場合がある。QC、binning、SeaDAS/OCSSW 内部処理の影響を受ける。 |
t1 = 0.25, t2 = 0.35 の OCI transition を使います。
Hu et al. (2019) では OCI2 として 0.25–0.40 mg m-3 の transition も議論されていますが、
ここでは授業用に NASA ATBD の実装説明に合わせます。
解析フロー
Rrs と chlor_a の関係を確認する
海色リモートセンシングで衛星が扱う基本量は、波長別のリモートセンシング反射率 Rrs(λ) です。
植物プランクトンが増えると、クロロフィル a による吸収のため青色域の反射率が低下し、相対的に緑色域の反射率が高く見える傾向があります。
RGB 画像で見えた「海の色の違い」は、波長ごとの
Rrs の違いとして定量的に表せます。
クロロフィル推定アルゴリズムは、この Rrs と現場観測された chlor_a の経験的関係に基づきます。
OC3M:青/緑比から chlor_a を推定する
MODIS の OC3M は、青色域の反射率と緑色域の反射率の比を使う band-ratio algorithm です。 クロロフィル a が増えると青色域の反射が相対的に弱くなるため、青/緑比は chlor_a と関係します。
| 項目 | 式または値 |
|---|---|
| MODIS OC3M の比 | max(Rrs_443, Rrs_488) / Rrs_547 |
| 多項式 | log10(chlOC3M) = a0 + a1 X + a2 X^2 + a3 X^3 + a4 X^4 |
| X | X = log10(max(Rrs_443, Rrs_488) / Rrs_547) |
| 係数 | [0.26294, -2.64669, 1.28364, 1.08209, -1.76828] |
X = log10(Rblue ./ Rrs_547);
logChlOC3M = a0 + a1*X + a2*X.^2 + a3*X.^3 + a4*X.^4;
chlOC3M = 10.^logChlOC3M;
CI:緑バンドと青−赤ベースラインの差を使う
Color Index(CI)は、緑バンドの Rrs が、青バンドと赤バンドを結んだ線形ベースラインからどれだけずれているかを見る方法です。
低クロロフィル濃度の外洋域では、この band-difference 型の指標が、従来の band-ratio 型よりも画像ノイズやセンサー間差に強い場合があります。
chlCI = 10.^(-0.4287 + 230.47 * CI);
OCI:低濃度では CI、高濃度では OC3M、中間ではブレンドする
NASA 標準 chlor_a は、単一の式だけで計算されているわけではありません。
低クロロフィル濃度域では CI、高濃度域では OCx/OC3M を使い、その間を滑らかにブレンドします。
chlCI に基づく。if chlCI <= t1
chlOCI = chlCI;
elseif chlCI >= t2
chlOCI = chlOC3M;
else
chlOCI = chlCI*(t2-chlCI)/(t2-t1) + chlOC3M*(chlCI-t1)/(t2-t1);
end
ブレンドの切り替え判定は
chlOC3M ではなく chlCI に基づきます。
これは NASA ATBD のブレンド式と対応しています。
OC3M・CI・OCI の地図を比較する
MATLAB スクリプト CompChl_fixed.m では、NASA 標準 chlor_a、OC3Mのみ、CIのみ、OCIブレンド、アルゴリズム source flag、標準 product との差を順番に図示します。
| 図 | 内容 | 見るポイント |
|---|---|---|
| NASA standard chlor_a | 配布されている標準 product | 自作推定値の比較対象。 |
| OC3M only | 青/緑比のみで推定 | 低濃度域でノイズや不自然なパターンが出ないか。 |
| CI only | 三波長差分のみで推定 | 低濃度域で滑らかか。高濃度域まで使ってよいか。 |
| OCI blend | CI と OC3M を濃度域で切り替え | 低濃度域と高濃度域の長所をどうつないでいるか。 |
| source flag | CI / blend / OC3M の使用領域 | どこでどのアルゴリズムが使われたか。 |
CompChl_fixed.m
NASA 標準 chlor_a と自作推定値を比較する
最後に、自分で計算した OCI 推定値と NASA 標準 chlor_a product を比較します。
差は log10(OCI estimate) - log10(NASA standard chlor_a) として表示します。
この解析で特に強調すること
- 衛星は chlor_a を直接測っているのではなく、波長別の
Rrsを測っている。 - OC3M は青/緑比に基づく経験式で、広い濃度範囲を扱いやすい。
- CI は緑バンドと青−赤ベースラインの差に基づく三波長差分で、低クロロフィル域の安定性を改善する。
- OCI は CI と OC3M を濃度域に応じて使い分けるハイブリッドアルゴリズムである。
- chlor_a は植物プランクトン量の proxy であり、種組成や一次生産量そのものではない。
- 沿岸域や濁水域では CDOM、懸濁物、浅海底反射などの影響に注意する。
課題
- RGB 画像で水色が違って見えた領域と、chlor_a が高い領域は一致しているか。例を挙げて説明せよ。
- OC3M と CI の式の違いを、入力波長と計算方法の観点から説明せよ。
- CI が低クロロフィル域で有効とされる理由を、画像ノイズまたはセンサー間整合性の観点から説明せよ。
- source flag 図を見て、CI、blend、OC3M が使われている海域の特徴を述べよ。
- 自作した OCI 推定値と NASA 標準 chlor_a が完全に一致しない理由を三つ挙げよ。
- chlor_a を「植物プランクトン量」として使うときの注意点を述べよ。
参考資料
| 資料 | この解析での位置づけ |
|---|---|
| NASA OB.DAAC Chlorophyll a ATBD | NASA 標準 chlor_a の OCx/CI/OCI ブレンドと MODIS 係数の根拠。 |
| Hu et al. (2019), JGR Oceans | OCI アルゴリズムの改良、transition、低クロロフィル域での画像品質・センサー間整合性の説明。 |
次の解析へ
次は MODIS + AMSR2 SST 合成 に進み、赤外 SST とマイクロ波 SST の相補性を扱います。