做火烧严重度评估的人心里都清楚:2014年到2015年,加拿大西北地区那些叠在一起的大火,影响的绝不只是卫星云图上一片红色的过火面积。我当时参与的ABoVE(Arctic-Boreal Vulnerability Experiment)相关工作中,团队最关心的是一个不容易被遥感影像直接看见、却被写进数据集标题里的问题——土壤有机质的燃烧严重程度到底有多高,碳损失到底有多少。这篇内容算是一次项目复盘,把我们从现场调查、遥感反演到最终碳估算的完整思路和踩过的坑串起来讲清楚,对正在做冻土区火灾评估、火烧严重度遥感分级或者土壤碳循环研究的朋友,应该能提供一份直接能用的参考。
1. 为什么2014-2015年那场火值得专门做一套数据
1.1 两个特殊年份:火并不是平均地烧过去
加拿大西北地区几乎每年都有野火,但2014年和2015年属于异常年份。连续两个夏天都是高温、干燥、雷暴频繁,火点密集出现,而且火与火之间连片融合,最后形成大规模的复合火烧迹地。在一些火场内部,你甚至很难判断某个位置到底是哪一天、哪一场火烧的,因为植被在过火后又遭遇了二次燃烧。
几乎所有做火生态研究的团队,都把这两年当作高纬度地区火灾研究的天然“样本库”。因为火烧面积足够大、强度变化足够丰富、既包含了大量深层有机质燃烧的泥炭地,也包含了只烧掉地表枯枝落叶的轻度过火区。如果我们想搞清楚“大火对冻土碳库到底造成多大冲击”,2014-2015年就是最近一次信息量最完整的天然实验。
1.2 ABoVE到底在量化什么
ABoVE这个项目,核心目标不是做一个孤立的火灾分布图,而是要把北极-寒带生态系统里那些环环相扣的过程摆到同一张研究框架下:冻土退化、野火扰动、植被动态、碳循环、水文变化。土壤有机质燃烧严重程度,正好处在这些过程的交叉点上。
火会直接烧掉地表层的落叶层、腐殖层,甚至泥炭层。这一层的有机质是寒带生态系统里最大的碳库之一,同时也是隔温层。烧掉多厚、烧掉多少碳,直接决定了随后几年冻土融化的速率、地下根系的死亡率、植被重新生长的起点。所以ABoVE系列数据里专门把“土壤有机质燃烧严重程度”抽出来,做成一个可以跨区域比较的字段,而不是笼统地用一个“火势强弱”带过。
1.3 燃烧严重程度和“火有多旺”不是一回事
这里必须先厘清一个容易混淆的概念。新闻里说的“火势凶猛”,更多指的是火焰高度、蔓延速度、辐射热量,这是火行为指标。但我们在空间数据里评估的燃烧严重程度,衡量的是火对生态系统的实际改变程度——树冠烧了多少、根系有没有受伤、有机层消耗了多厚、土壤有没有发生斥水反应。
在寒带森林和泥炭地,这两者经常错位。树冠火看起来可怕,但不一定代表地下有机层烧得深;反而是那些没什么明火、慢慢阴燃的泥炭火,能把几十厘米厚的有机层烧穿。所以做这个项目时,我们一开始就把“冠层火烧严重度”和“土壤有机质火烧严重度”分开处理,后者的权重在碳损失模型里要高得多。
2. 从现场样方到遥感像元:燃烧严重度怎么判
2.1 野外调查:第一步是用手和尺子接触火烧痕迹
遥感影像再先进,也离不开地面真值。我们在野外做的是标准的成对样地调查:在火烧区里选样点,同时在紧挨着的未火烧区选对照点,两者的地形、植被类型、土壤排水条件尽量一致。
具体的测法不复杂,但很考耐心。用平头铲刀或金属探针小心切开有机层剖面,观察颜色变化和灰烬层位置。未火烧的有机层从上到下通常是棕黄色、暗棕色、黑色逐步过渡,层次比较完整;火烧后,表层会出现白色或灰色灰烬层,下面可能留下半碳化的黑色残层。我们测量三个关键数值:过火后有机层残留厚度、对照区有机层总厚度、灰烬层厚度。前者减去后者,基本就是这场火实际消耗掉的有机层厚度。
配合现场还记录树基烧伤高度、细根死亡深度、地表裸露程度,最后汇总成类似土壤燃烧严重度等级:未燃烧、低、中、高。其中“高”通常意味着有机层消耗超过15厘米以上,或者已经烧到矿质土壤。这些野外数据不是用来画一张点图就结束的,它们之后会作为因变量,和遥感指数做回归标定。
2.2 遥感为什么选择 NBR 和 dNBR
野外样方只能覆盖很小比例的火场,要想把严重度填满整个研究区,必须靠遥感。这些年做火烧严重度用得最广的指数是 NBR(归一化燃烧比率),公式是:
NBR = (NIR - SWIR) / (NIR + SWIR)
NIR 是近红外波段,SWIR 是短波红外波段。原理其实很直白:健康植被在近红外反射高、在短波红外吸收强,NBR 值较高;火烧后植被减少、碳化残留物增加、土壤裸露,SWIR 反射明显升高,NBR 下降甚至变成负值。把火烧前的 NBR 减去火烧后的 NBR,得到的就是 dNBR。dNBR 越大,代表地表在火烧前后变化越剧烈。
但这里要泼一盆冷水:dNBR 对冠层烧死和地表裸露非常敏感,并不天然等于土壤有机质消耗深度。一片被树冠火扫过的针叶林,dNBR 可能飙到 0.5 以上,可地下有机层只薄薄烧掉两三厘米;一片泥炭地发生阴燃,地表植被变化不大,卫星看到的光谱差异反而不大,但有机层可能被烧掉十几厘米。所以在我们的工作流程里,dNBR 只是桥梁,不是终点。
2.3 用地面样本把光谱指数“翻译”成土壤损失
为了把 dNBR 转换成土壤有机质燃烧严重程度数据,我们把野外每个样点的 GPS 坐标对应到 30 米 Landsat 像元上,提取该像元的 dNBR 值和实测有机层消耗深度配对。然后用线性回归或者随机森林这类模型去拟合两者之间的关系。
拟合出来的模型会告诉我们:在西北地区这个环境下,dNBR 每增加 0.1,有机层平均可能的消耗深度会增加多少。这个系数很重要,但也很容易让人出错。因为不同植被类型、不同土壤含水量下,同一个 dNBR 对应的有机层消耗差异很大。我们当时的做法是把样点按植被类型分组:黑云杉林、白杨林、泥炭藓地、灌木苔原,分别建模,而不是用一个全区域通用公式一把抓。
3. 实操过程:数据准备、指数计算与产品生成
3.1 影像选型和预处理的关键取舍
2014-2015年的火烧评估,最佳数据源是 Landsat 8 OLI,分辨率 30 米,波段设置非常适合 NBR 计算。Sentinel-2 虽然空间分辨率更高,但 2015 年中期才有数据,覆盖不到 2014 年火烧前影像,所以我们以 Landsat 为主。
影像选择有一些很具体的规则。火烧前影像尽量选前一年夏末或当年春季雪完全融化之后的时相,火烧后影像选在火烧结束后不久、新植被还没有大量长出来的窗口期。如果选得太晚,落叶树重新萌发和草本植物入侵会让 NBR 回升,低估严重度。云和雪没清干净的影像坚决不用,哪怕研究区边缘缺一块,也不要靠插补硬凑。
预处理这一步,我用的是 Collection 2 Level-2 表面反射率产品,这样至少不用自己再做大气校正。但还有一个容易忽略的问题——BRDF 效应。南北坡向不同、太阳方位角不同,会让同一个地表在影像上呈现不同的反射率。所以处理前最好加上 BRDF 校正,特别是在地形起伏大的火场边缘,否则 dNBR 的一部分“变化”只是看的角度变了。
3.2 批量计算 dNBR 的轻量流程
我在本地跑的脚本逻辑并不复杂,核心就是计算前后期 NBR 然后相减,但工程上要把无效值、云层和阴影的掩膜都处理好。下面是一段简化版本:
import rasterio import numpy as np # 读取火烧前 NIR 和 SWIR 波段 with rasterio.open("pre_fire_B5.tif") as b5, rasterio.open("pre_fire_B7.tif") as b7: nir_pre = b5.read(1).astype("float32") swir_pre = b7.read(1).astype("float32") # 读取火烧后 NIR 和 SWIR 波段 with rasterio.open("post_fire_B5.tif") as b5, rasterio.open("post_fire_B7.tif") as b7: nir_post = b5.read(1).astype("float32") swir_post = b7.read(1).astype("float32") # 计算 NBR nbr_pre = (nir_pre - swir_pre) / (nir_pre + swir_pre + 1e-6) nbr_post = (nir_post - swir_post) / (nir_post + swir_post + 1e-6) # dNBR dnbr = nbr_pre - nbr_post # 用火烧边界掩膜,只保留火场内部像元 # 另外结合云掩膜和地形阴影掩膜,避免异常值真正花时间的是掩膜这一层。Landsat Collection 2 自带像元质量波段,我们把它转成云、云阴影、雪的比特掩膜,再结合 30 米 DEM 计算阴影位置,把坡度超过一定阈值的区域单独标记出来。这些干扰像元如果不剔除,最后的严重度分类图会出现很多“极低”或“极高”的异常斑块。
3.3 野外数据与模型标定的完整闭环
遥感图算完后,不能马上发布。我们把野外实测的有机层消耗厚度按样点提取出来,跟影像 dNBR 做散点图。这里有个经常被新手忽略的细节:GPS 定位误差至少有几米,而 Landsat 像元是 30 米见方,样点取在像元边缘和中心,光谱值会差很多。
所以我们的做法不是用点去匹配像元,而是以样点为中心开一个 3x3 像元窗口,取窗口内有效像元的中位数作为该样点的光谱值。这样至少能把 GPS 误差和像元边界效应磨平一点。标定完的模型应用回整个遥感图,生成逐像元的有机层消耗深度栅格,再按分级标准转成土壤有机质燃烧严重度产品。
4. 常见问题与排查技巧实录
4.1 经典 dNBR 阈值在北方森林里经常失灵
很多资料里会给出 dNBR 分级阈值:0.1 以下未燃烧,0.1-0.27 低度,0.27-0.44 中度,0.44 以上高度。这些阈值是从美国西部的针叶林和灌木生态系统里总结出来的,直接搬到加拿大西北地区会出问题。
这里的地表背景本来就复杂:大片裸露的基岩、冰碛物、泥炭沼泽、湖边湿地。未燃烧区的 NBR 基线可能很低,火烧前后差异甚至达不到 0.1,但实际已经烧掉了相当厚的有机层;反过来,一些岩石裸露区前后影像受光照影响变化很大,dNBR 很高,但地面并没有有机质损失。正确的做法是用我们自己的野外实测点重新标定分级阈值,或者直接用连续数值表达消耗深度,不做硬性等级切分。
4.2 复合火烧和重燃区域会让结果失真
2014-2015 年很多火场不是一次烧完的。同一个像元可能在 2015 年夏季先被外围火轻度烤过,几周后又遭遇主火头带过。这样火烧前影像拿 2014 年的,火烧后影像拿 2015 年秋季的,dNBR 反映的其实是多次火烧累计结果,而不是单次事件的严重程度。
更麻烦的是重燃区域,地表已经碳化过一次,再次燃烧时光谱变化幅度很小,dNBR 会把这种严重火烧误判为低严重度。我们的处理办法是叠加火烧边界和火烧日期产品,把同一年内被多次选入的火烧边界栅格标记出来,这类像元不参与最终严重度分级,而是单独归类为“复杂火烧区”。
4.3 一张表看懂最常见干扰源与应对方法
我在处理不同火场时反复遇到相似的问题,整理成一张速查表很有用:
| 干扰源 | 表现在 dNBR 上的特征 | 应对方法 |
|---|---|---|
| 云和云阴影 | 形成局部低值或高值斑块,边界生硬 | 使用像元质量波段掩膜,只保留清晰像元 |
| 地形阴影 | 阴坡 dNBR 普遍偏高,山脊线两侧突变 | 用 DEM 提取阴影掩膜,或做 BRDF 校正 |
| 火烧后植被再生 | 后影像时间太晚,dNBR 被人为压低 | 控制后影像时相,尽量选火后第一年春季至夏初 |
| 泥炭地阴燃 | 光谱变化小,但实际有机层消耗深 | 必须结合野外样点,不能只看影像 |
| 火烧边界不准 | 火场边缘混入未燃烧像元,拉低整体均值 | 用更高精度的火烧期次数据,对边界做缓冲区剔除 |
这种表看不懂的地方不多,但每一条背后都是实际项目里的教训。比如泥炭地阴燃,我们在野外见过表面只有一层薄灰、脚踩下去却浮在松软的炭层上,测量有机层消耗深度接近二十厘米,而对应的 dNBR 只有 0.15,如果机械套阈值,这类区域一定会被分到轻度燃烧里去。
5. 从严重度到碳损失:这套数据是怎么被用起来的
5.1 一个像元的碳损失算给你看
土壤有机质燃烧严重度最终要服务于碳循环估算。我们常用的换算公式很简单:
碳损失 = 火场面积 × 有机层平均消耗深度 × 有机层容重 × 有机层含碳率
假设某个像元的遥感反演结果是平均有机层消耗 8 厘米,这是高严重度区间的典型值。有机层容重取 0.12 克/立方厘米,含碳率取 45%,那么单位面积碳损失就是:
10000 平方厘米 × 8 厘米 × 0.12 克/立方厘米 × 0.45 = 4320 克/平方米,约 4.32 公斤碳/平方米。
一个 30x30 米的 Landsat 像元就是 900 平方米,相当于这个像元被烧掉了约 3.9 吨碳。如果某个高严重度斑块面积达到 1000 公顷,光这一块就是 4.3 万吨碳。把这个数字乘到整个火场,你就明白为什么高纬度野火研究这么重视土壤层了——它释放的碳量远远超过冠层生物量。
这里的两个参数容易让人低估或者高估:容重和含碳率。泥炭地有机层的容重可能只有 0.08 克/立方厘米,碳含量却可能接近 50%;而经过多次火烧的残留有机层容重会增大,碳含量相对降低。最好的做法是分层采样,分别测容重和元素碳,而不是套一个固定值。
5.2 烧深了几厘米,对整个生态系统意味着什么
土壤有机层在寒带林地里是冻土和大气之间的“隔热被子”。它烧掉 5 厘米还是烧掉 20 厘米,冬季的保温效果和夏季的隔热效果是完全不同的。有机层变薄以后,夏季地表吸收的热量更容易传导到地下,活动层变厚,冻土上限下移。这个变化不是当年就能看出来,而是在火烧后三五年内逐步显现。
植被也一样。浅根系的黑云杉更依赖有机层里的细根网络,深层有机质烧掉后,根系死亡率急剧上升;反而是白杨、柳树这类灌木和小乔木更容易在矿质土壤暴露后快速入侵。所以土壤有机质燃烧严重度数据不只是用来算碳,还是预测森林更新方向、冻土退化和水文变化的底层输入。这也就是 ABoVE 把它作为核心变量的原因。
5.3 一个让我印象很深的细节
最后分享一个实际项目里的体会。我们最初拿到遥感分级图时,所有高严重度斑块都集中在树冠烧死的深色区域,看起来非常合理。可后来去野外验证,发现有些树冠完全烧光的样地,土壤有机层反而只烧了薄薄一层,因为火速太快,热量都耗在树冠上了,地表来不及烧透;而那些看起来像轻度过火的泥炭地,脚踩下去全是黑色炭渣,有机层已经烧得只剩薄皮。
从那以后,我在这个项目里再也不敢只凭火烧严重度分级做碳损失结论了。最可靠的流程永远是:先用遥感做空间外推,再用足够的野外钻孔样点校正,最后把土壤有机质消耗深度当作独立变量单独建模。数据产品里写的是“燃烧严重程度”,但真正重要的永远是地面之下那几厘米发生了什么。这也是高纬度火灾研究最迷人的地方——火是地上的,痕迹却藏在地下。