4.6. FLUSPECT-B — Leaf Fluorescence

FLUSPECT-B extends PROSPECT-D to compute solar-induced chlorophyll fluorescence (SIF). It uses the same leaf biochemistry parameters as PROSPECT-D plus one additional scalar fqe (fluorescence quantum efficiency). The model applies the Kubelka-Munk doubling method (15 iterations) to propagate fluorescence from individual mesophyll layers through the full leaf stack.

Parameter Symbol Unit Description
Structure N – Same as PROSPECT-D (1.0–3.6)
Chlorophyll a+b Cab µg cm⁻² Same as PROSPECT-D
Carotenoids Car µg cm⁻² Same as PROSPECT-D
Anthocyanins Anth µg cm⁻² Same as PROSPECT-D
Brown pigments Cbrown a.u. Same as PROSPECT-D
Water Cw cm Same as PROSPECT-D
Dry matter Cm g cm⁻² Same as PROSPECT-D
Fluorescence quantum efficiency fqe – Fraction of absorbed PAR re-emitted as SIF (0.005–0.015)

Output: FluspectResult containing: - lrt[2101][3] — reflectance and transmittance (same format as PROSPECT-D) - Mb[nWlF][nWlE] — backward (upward) SIF matrix — proportional to remotely sensed SIF - Mf[nWlF][nWlE] — forward (downward) SIF matrix - wlF[53] — emission wavelengths: 640, 644, …, 848 nm (4 nm step) - wlE[71] — excitation wavelengths: 400, 405, …, 750 nm (5 nm step)

Note on Fresnel angle: FLUSPECT uses a 59° interface half-angle (vs 40° in PROSPECT-D), so reflectance/transmittance values will differ slightly from ProspectD.compute() for the same biochemical parameters.

4.6.1. XL Usage

import de.grogra.rtmodelslibrary.*;

// Preset
FluspectResult fr = Fluspect.compute(FluspectPreset.DEFAULT_HEALTHY);

// Custom values
FluspectResult fr = Fluspect.compute(
    1.5,   // N
    40.0,  // Cab (µg/cm²)
    10.0,  // Car
    0.0,   // Anth
    0.0,   // Cbrown
    0.012, // Cw (cm)
    0.010, // Cm (g/cm²)
    0.01   // fqe
);

// Reflectance and transmittance (same format as ProspectD)
double refl550 = fr.lrt[150][1];
double tran800 = fr.lrt[400][2];

// Backward SIF at 685 nm emission from 550 nm excitation:
// emission index f = (685-640)/4 = 11,  excitation index e = (550-400)/5 = 30
double sif685 = fr.Mb[11][30];

// Total backward SIF spectrum (sum over all PAR excitation bands):
double[] sif = new double[fr.wlF.length];
for (int e = 0; e < fr.wlE.length; e++)
    for (int f = 0; f < fr.wlF.length; f++)
        sif[f] += fr.Mb[f][e];

// Build IrregularSpectralCurve from SIF result
IrregularSpectralCurve sifCurve = new IrregularSpectralCurve(fr.wlF, sif);

4.6.2. Interpolation

FluspectPreset supports the same interpolation API as ProspectDPreset, including fqe:

// Two-point: healthy leaf aging to senescence, with fluorescence declining
FluspectResult fr = Fluspect.compute(
    FluspectPreset.interpolate(
        FluspectPreset.DEFAULT_HEALTHY, FluspectPreset.SENESCENT,
        0.6, InterpolationMode.SMOOTHSTEP));

// User-defined preset
FluspectPreset myLeaf = new FluspectPreset(
    "My Leaf", 1.5, 42.0, 10.0, 0.0, 0.0, 0.014, 0.009, 0.01);
FluspectResult fr2 = Fluspect.compute(myLeaf);

4.6.3. FLUSPECT-B Presets

Preset N Cab Car fqe Description
Default (Healthy) DEFAULT_HEALTHY 1.5 40 10 0.010
Shade Adapted SHADE_ADAPTED 1.2 55 12 0.012
Water Stressed WATER_STRESSED 1.6 25 8 0.005
Senescent SENESCENT 2.0 10 4 0.002
High SIF HIGH_SIF 1.3 50 14 0.015

4.6.4. Reference

van der Tol, C., Berry, J.A., Campbell, P.K.E., Rascher, U. (2014). Models of fluorescence and photosynthesis for interpreting measurements of solar-induced chlorophyll fluorescence. Journal of Geophysical Research: Biogeosciences, 119:2312–2327.

Vilfan, N., van der Tol, C., Muller, O., Rascher, U., Verhoef, W. (2016). Fluspect-B: A model for leaf fluorescence, reflectance and transmittance spectra. Remote Sensing of Environment, 186:596–615.