Skip to content

DALEC_1111 (DALEC-PyC) — climate-sensitive combustion completeness and FRP-modulated pyrogenic carbon formation constrained by NISAR and VIIRS#83

Open
braghiere wants to merge 1 commit into
mainfrom
renato/CARDAMOM-PyC
Open

DALEC_1111 (DALEC-PyC) — climate-sensitive combustion completeness and FRP-modulated pyrogenic carbon formation constrained by NISAR and VIIRS#83
braghiere wants to merge 1 commit into
mainfrom
renato/CARDAMOM-PyC

Conversation

@braghiere

Copy link
Copy Markdown
Contributor

DALEC_1111 (DALEC-PyC): Climate-sensitive combustion completeness and pyrogenic carbon formation constrained by NISAR and VIIRS


Scientific Motivation

Current land surface and Earth system models represent fire carbon partitioning with two structural limitations that this model extension addresses.

First, combustion completeness (CC) is static. All CMIP6-generation fire modules (CLM5, JSBACH-SPITFIRE, ORCHIDEE, LPJ-SPITFIRE, JULES-INFERNO) assign CC as a fixed per-PFT lookup value insensitive to antecedent soil moisture or vapor pressure deficit (VPD). Observational evidence demonstrates that CC is strongly modulated by both drivers: wetter soils and lower VPD increase smoldering residence time and elevate char yields (Akagi et al. 2011; Santín et al. 2016).

Second, no prognostic pyrogenic carbon pool exists in any ESM. The FireMIP multi-model intercomparison (Hantson et al. 2020) confirmed that none of 7 models tracks charcoal or PyC formation in the soil carbon cycle. Globally, PyC production is estimated at ~116–256 Tg C yr⁻¹ (~12% of total fire emissions), with residence times ranging from decades to millennia (Jones et al. 2019; Santín et al. 2015). This persistent carbon sink is entirely absent from current prognostic frameworks.

DALEC_1111 addresses both gaps within the CARDAMOM Bayesian data assimilation framework, enabling joint inference of CC and PyC formation parameters from multi-sensor satellite observations for the first time.


What this PR adds

11 files, 1277 insertions, 3 deletions extending DALEC_1110 with two new science components.

Component 1 — Climate-sensitive combustion completeness

The static cf_ligneous and cf_foliar parameters of DALEC_1110 are replaced with time-varying combustion factors driven by prognostic soil water potential and ERA5 VPD:

CF_lig(t) = CF_max · [1 / (1 + exp(−γ(Ψ_D − ψ_50)))] · [1 − exp(−λ · VPD)]

where Ψ_D = −Ψ_PAW is a positive dryness index computed from the prognostic plant-available water pool, ψ_50 (MPa) is the water potential at 50% maximum combustion, γ governs logistic sharpness, and λ (kPa⁻¹) controls VPD saturation rate. All five parameters are inferred by MCMC. Because Ψ_PAW is a prognostic model state simultaneously constrained by ET and runoff likelihoods, the fire module responds to the same moisture state that governs ecosystem water balance, providing internal consistency across the carbon and water cycles.

New parameters (PARS_INFO_1111.c):

Parameter Index Prior range Physical meaning
psi50_fire 140 [0.01, 5.0] MPa ψ at 50% CF
fire_lgr 142 [0.1, 10.0] logistic steepness
vpd_fire_factor 144 [0.01, 2.0] kPa⁻¹ VPD sensitivity

Component 2 — FRP-modulated charring efficiency and dual-pool PyC

The non-combusted woody residual is partitioned between coarse woody debris and pyrogenic carbon through an FRP-modulated charring efficiency:

α_eff(t) = α_char · exp(−CE · FRP(t))

where α_char is the maximum charring efficiency under smoldering-dominated conditions and CE (MW⁻¹ km²) scales combustion regime from FRP density. High FRP (flaming-dominated) gives low char yield; low FRP (smoldering-dominated) gives high char yield, consistent with Wooster et al. (2005) and García-Carmona et al. (2025).

PyC formation flux is then partitioned into two pools via the stabilization fraction β_stab:

C_PyC_L += (fx_woo2PyC * (1 − β_stab) − f_PyC_L_dec) · Δt   // labile: O-horizon, decadal turnover
C_PyC_R += (fx_woo2PyC *  β_stab      − f_PyC_R_dec) · Δt   // refractory: mineral soil, centennial+

New parameters:

Parameter Index Prior range Physical meaning
CE_factor 126 [0.001, 0.1] MW⁻¹km² FRP→CE scaling
alpha_char 128 [0.03, 0.20] max charring efficiency (Jones et al. 2019)
beta_stab 130 [0.1, 0.9] refractory fraction (Miesel et al. 2018)
k_PyC_L 132 [1e-6, 3e-4] day⁻¹ labile PyC turnover
k_PyC_R 134 [1e-8, 1e-5] day⁻¹ refractory PyC turnover
i_PyC_L 136 [0.001, 500] gC m⁻² initial labile PyC
i_PyC_R 138 [1, 5000] gC m⁻² initial refractory PyC

EDC constraint (EDC1_1111.c): k_PyC_L > k_PyC_R enforced at every MCMC step.

NISAR L-band woody structural loss observation operator

A new observation operator SUPPORT_NISAR_WOOD_OBS is registered in MODCONFIG and implemented in DALEC_OBSERVATION_OPERATORS.c. It sums:

DALEC_OBSOPE_NISAR_WOOD = f_woo + fx_woo2cwd + fx_woo2PyC

This equals the total fire-event reduction in canopy woody volume, which is precisely the quantity that multi-temporal NISAR L-band HV backscatter measures via semi-empirical AGB inversion. NISAR does not observe PyC directly. Instead it constrains the total woody carbon budget so that, given CC from the climate-sensitive formulation, the non-combusted residual magnitude is determined and FRP then governs how that residual is split between PyC and CWD. Neither sensor alone resolves this partitioning: FRP without a structural loss estimate cannot distinguish a large smoldering fire from a small intense one, and NISAR without a combustion regime indicator cannot attribute woody residual to charring versus debris deposition. The operator is appropriate for closed-canopy forested sites below ~100–150 Mg ha⁻¹ where L-band HV backscatter is sensitive to woody structural elements.


Model dimensions

Quantity DALEC_1110 DALEC_1111 Delta
Pools (nopools) 10×2=20 12×2=24 +C_PyC_L, +C_PyC_R
Fluxes (nofluxes) 54×2=108 57×2=114 +fx_woo2PyC, +f_PyC_L_dec, +f_PyC_R_dec
Parameters (nopars) 63×2=126 73×2=146 +10 PyC parameters
Observation operators 14 15 +NISAR_WOOD
Likelihoods (nolikelihoods) 31 32 +NISAR_WOOD

New drivers

Driver Location Units
FRP CARDAMOM_NETCDF_DATA_STRUCTURE.c MW km⁻²
NISAR_WOOD (obs) CARDAMOM_NETCDF_DATA_STRUCTURE.c gC m⁻² day⁻¹
M_NISAR_WOOD CARDAMOM_DATA_STRUCTURE.c posterior operator

Infrastructure changes

  • CARDAMOM_NETCDF_DATA_STRUCTURE.c — added TIMESERIES_OBS_STRUCT NISAR_WOOD and TIMESERIES_DRIVER_STRUCT FRP
  • CARDAMOM_DATA_STRUCTURE.c — added double *M_NISAR_WOOD
  • CARDAMOM_READ_BINARY_DATA.c — calloc/free for M_NISAR_WOOD
  • CARDAMOM_MODEL_LIBRARY.c — dispatch for model IDs 1110 and 1111
  • DALEC_OBSERVATION_OPERATORS.cDALEC_OBSOPE_NISAR_WOOD() function
  • DALEC_ALL_LIKELIHOOD.cNISAR_WOOD likelihood index, nolikelihoods=32

New files

File Purpose
DALEC_1111/DALEC_1111.c Main model: parameter/flux/pool structs, MODCONFIG, timestep loop with full fire block
DALEC_1111/PARS_INFO_1111.c Parameter bounds for all 73 pairs
DALEC_1111/MODEL_INFO_1111.c MODCONFIG call, EDC/dalec function pointer assignment
DALEC_1111/EDC1_1111.c Prior-run EDCs including k_PyC_L > k_PyC_R
DALEC_1111/EDC2_1111.c Post-run EDCs: 12-pool flux balance, PyC Fin/Fout accounting

Key references

  • Jones et al. (2019) Nat. Geosci. 12:742–747 — global PyC ~116 Tg C yr⁻¹; α_char by fuel class
  • Wooster et al. (2005) J. Geophys. Res. 110:D24311 — FRE–combustion linearity
  • Santín et al. (2016) Glob. Change Biol. 22:76–91 — PyC yield vs. combustion completeness
  • Akagi et al. (2011) Atmos. Chem. Phys. 11:4039–4072 — CE sensitivity to atmospheric drying
  • Miesel et al. (2018) Front. Earth Sci. 6:318711 — β_stab prior
  • García-Carmona et al. (2025) For. Ecol. Manage. 585:122590 — PyC yield vs. fire severity
  • Abney et al. (2019) Catena 182:104127 — dual labile/refractory PyC architecture
  • Hantson et al. (2020) Geosci. Model Dev. 13:3299–3318 — FireMIP: no ESM tracks PyC
  • Bloom et al. (2016) PNAS 113:1285–1290 — CARDAMOM framework

Not yet implemented (planned Year 2)

  • Charcoal inventory likelihood terms to independently anchor β_stab
  • Python/MATLAB wrapper updates for FRP and NISAR_WOOD data ingestion
  • Full compilation test against CARDAMOM build system

…s operator

- Add FRP driver and NISAR_WOOD obs structs to CARDAMOM_NETCDF_DATA_STRUCTURE
- Add M_NISAR_WOOD to DATA struct with calloc/free
- Add DALEC_OBSOPE_NISAR_WOOD() operator (sums f_woo+fx_woo2cwd+fx_woo2PyC)
- Add NISAR_WOOD to likelihood framework (index 31, nolikelihoods=32)
- Register DALEC_1110 and DALEC_1111 in CARDAMOM_MODEL_LIBRARY
- Create DALEC_1111: 12 pools (adds C_PyC_L + C_PyC_R), 57 fluxes, 73 pars
  - Climate-sensitive CF: f(psi_PAW) * g(VPD) modulation
  - CE-driven PyC yield: high FRE = flaming = low PyC (Jones 2019 / Wooster 2005)
  - Two-pool PyC: labile (decadal) + refractory (centennial) turnover (Abney 2019)
  - EDC1/EDC2 stubs with PyC-specific equilibrium constraints

Objectives 2-3 of NISAR DART ROSES-2025 proposal (renato/CARDAMOM-PyC branch)
@braghiere braghiere requested a review from ebilir April 27, 2026 01:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant