Skip to contents

Weed BNF is calculated as: $$WeedsBNF = Weeds\_NPP\_MgN \times Ndfa_{weeds} \times Leg\_share_{weighted}$$

Where the weighted legume share accounts for both spontaneous leguminous weeds and deliberately seeded legume cover crops: $$Leg\_share = Leg\_spont \times (1 - CC\_share) + Leg\_seeded \times CC\_share$$

Environmental adjustments (N inhibition, temperature, water) are applied to the weed Ndfa when the corresponding columns are present (same mechanism as crop BNF).

Usage

calc_weed_bnf(
  x,
  k_n_synth = 0.0035,
  k_n_org = 0.0018,
  t_opt = 22,
  t_sigma = 12,
  ai_threshold = 0.45
)

Arguments

x

Data frame with weed NPP data. Required columns:

Weeds_NPP_MgN

Weed NPP in Mg N.

LandUse

Land use type (Cropland, Grassland, etc.).

Legs_Seeded

Legume fraction in seeded cover crops (0-1).

Seeded_CC_share

Share of area with seeded cover crops (0-1).

Optional columns:

Legs_SpontWeeds

Pre-computed legume fraction in spontaneous vegetation (0-1), e.g. differentiated by LandUse. If absent, defaults to BNF table value for Cropland and 0.15 for non-cropland (grassland, forest, dehesa), where leguminous shrubs (Genista, Ulex, Cytisus) also contribute.

Environmental columns: see calc_crop_bnf.

k_n_synth

Numeric. Rate constant for N inhibition by synthetic N (default 0.0035).

k_n_org

Numeric. Rate constant for N inhibition by organic N (default 0.0018).

t_opt

Numeric. Optimal temperature (default 25).

t_sigma

Numeric. Temperature Gaussian width (default 8).

Value

Data frame with added columns:

Weeds_Ndfa_ref

Reference Ndfa for weeds.

Weeds_Ndfa

Adjusted Ndfa for weeds.

Weeds_leg_share

Weighted legume fraction.

f_env_weed

Environmental adjustment factor.

WeedsBNF

Weed BNF in Mg N.

Details

Estimates symbiotic BNF from leguminous weeds and seeded cover crops. The legume fraction in field vegetation is a weighted average of spontaneous weeds and seeded cover crops, based on management data.

Requires BNF object from `load_general_data()` (reads "Weeds" row for reference Ndfa and default spontaneous legume share). Cover crop seeded share is only applied on cropland.

If `Legs_SpontWeeds` is already present in the input data, the function respects those values instead of overwriting with the default. This supports LandUse-differentiated legume shares based on literature:

  • Cropland weeds: ~0.05 (Storkey et al. 2012; Fried et al. 2009 — herbicide pressure suppresses legumes)

  • Grassland/dehesa/forest understory: ~0.15 (Luscher et al. 2014 — 4-15% legumes in semi-natural grassland; includes proxy for N-fixing shrubs: Genista, Ulex, Cytisus, Retama; Dovrat et al. 2019; Viera-Rodriguez et al. 2005)

References

Dovrat G et al. (2019) New Phytol 221:1361-1370. Fried G et al. (2009) J Veg Sci 20:49-58. Luscher A et al. (2014) Grass Forage Sci 69:206-228. Peoples MB et al. (2009) Symbiosis 48:1-17. Storkey J et al. (2012) Proc R Soc B 279:1421-1429. Viera-Rodriguez MA et al. (2005) Can J For Res 35:1200-1209.

Examples

if (FALSE) { # \dontrun{
load_general_data()
weed_data |> calc_weed_bnf()
} # }