附录 A7 - 荧光产生与传播¶
叶片吸收太阳光后,向正反两面发出荧光。多层叶片之间的反射、透射和再吸收,会进一步改变传感器看到的荧光。本例从一层叶片开始,增加到三层,再加入黑色狭缝挡板,分别与分层解析解和遮挡影像解析值比较。
场景与输入¶
拖动可旋转场景,也可单独打开三维预览。分层场景使用水平周期边界,表示无限延伸的均匀叶层;狭缝场景使用有限叶片与开放边界。
| 条件 | 设置 |
|---|---|
| 叶片与地表 | 4 m × 4 m 水平叶片,地表为黑色吸收面 |
| 层数与高度 | 一、二、三层,依次位于 3、2、1 m |
| 叶片参数 | FLUSPECT,N = 1.5,car = 10,cw = 0.012,cm = 0.009 |
| 上、中、下层 | cab 分别为 40、20、60;静态产额分别为 0.012、0.018、0.006 |
| 激发光 | 450、550、650 nm,各 1 nm 宽,法向光谱辐照度均为 1 W m⁻² nm⁻¹ |
| 太阳方向 | 天顶角 30°,方位角 90°;无大气、无天空光 |
| 荧光观测 | 687、740、760 nm,32 × 8 像素,水平参考面范围 3 m × 1 m |
| 分层观测角 | 天顶角 0°、45°、60°,方位角 90° |
| 狭缝 | 宽 1.2 m,位于叶片上方 0.5 m;挡板不反射、不透射 |
| 狭缝观测角 | 天顶角 0°、30°、60°,方位角 90° |
| 采样 | 每三角形每面 4096、16384、65536 条激发积分光线;每像素 256、1024、4096 个成像样本 |
共十二组条件,包括单层产额翻倍、零产额和叶片背面观测对照。背面观测采用位于 (2, 2, 0.5) m、朝向 (2, 2, 3) m 的透视传感器,视场角 30°;其他观测采用正射投影。荧光传播最多计算 64 次表面作用。荧光影像单位为 W m⁻² sr⁻¹ nm⁻¹,不包含反射太阳光。
理论参考¶
叶片系数与荧光源¶
叶片的反射率、透射率和正反面激发—发射系数来自 FLUSPECT,并保存在叶片系数表中。这里将这些系数作为输入,独立计算各层激发能量和荧光传播。叶片模型见 Vilfan 等的 FLUSPECT-B 论文。
设叶层 i 从上、下两面接收的激发辐照度分别为 \(E_i^\downarrow\)、\(E_i^\uparrow\),反射率和透射率为 r、t,两面的吸收能量为
对静态产额 \(\phi_i\),正反面荧光辐亮度源项为
系数表已包含激发与发射波长之比的能量换算、吸收能量归一化和 Lambertian 出射通量到辐亮度的 \(1/\pi\) 换算。静态设置使用总吸收能量,叶绿素吸收和叶内再吸收由 FLUSPECT 系数描述。
多层叶片的无限次传播¶
在每个荧光波长,叶层的上下出射辐亮度满足
顶部没有入射荧光,底部黑色地表不反射。联立这些线性方程便得到包含无限次反射、透射和再吸收的解。激发波段也使用同样的层间关系,顶部输入为太阳法向辐照度乘以入射余弦。均匀漫射叶层的上方辐亮度不随观测角改变,因而还能检查角度响应。
三维狭缝与阴影¶
黑色挡板只允许太阳光从狭缝照到叶片。以狭缝中心为水平原点,宽度为 w、距叶片高度为 h,太阳与传感器均位于东侧时,叶面上的照明区间与可见区间分别为
只有两个区间的交集既受光又可见。叶片是平面,其他物体均为黑色吸收面,因而没有物体间的间接激发或荧光反射。将交集与每个像元的覆盖范围精确求交,得到包含边缘混合像元的解析影像。
荧光影像的像元位置采用随机化 Sobol 低差异采样,激发吸收与后续传播保持独立随机采样。
验证结果¶
| 后端 | 激发吸收误差 | 平均荧光误差 | 影像 L1 误差 | 最后采样变化 | 结果 |
|---|---|---|---|---|---|
| optix | 0.0115% | 0.0622% | 0.3150% | 0.0451% | 通过 |
| vulkan | 0.0115% | 0.0622% | 0.3150% | 0.0449% | 通过 |
| embree | 0.0115% | 0.0622% | 0.3150% | 0.0451% | 通过 |
36 组结果全部通过。三个后端的零产额结果均为零,产额翻倍的相对线性误差均为零。
激发吸收误差以各波段吸收最强的叶面为归一化尺度,上限为 1%,因此也能评价理论吸收为零的叶面。各波段影像平均辐亮度误差上限为 1%,影像归一化 L1 误差上限为 1.5%;L1 误差为所有像元与波段的绝对差之和除以解析辐亮度之和。最后两级采样的各波段平均辐亮度变化不超过 0.5%。零产额对照采用 10⁻¹⁰ W m⁻² sr⁻¹ nm⁻¹ 的绝对阈值,产额翻倍的线性误差上限为 10⁻⁵。完整条件和逐项结果见下方数据文件。
复现¶
保留脚本和数据目录的相对位置后运行:
使用 --plot-only results/fluorescence/results.json 可重新绘图,需要 matplotlib。