Author: Lalit Kumar Rolaniya

# WEFNC Nexus Analysis for Agricultural Systems

#### Lalit Kumar Rolaniya

## Introduction

The wefnexus package provides a comprehensive toolkit for analyzing Water-Energy-Food-Nutrient-Carbon (WEFNC) nexus interactions in agricultural production systems. This vignette demonstrates a complete workflow using a conservation agriculture dataset from western Rajasthan, India.

## Load Sample Data

    data(arid_pulse_nexus)
    d <- arid_pulse_nexus
    str(d)
    #> 'data.frame':    6 obs. of  26 variables:
    #>  $ treatment          : chr  "CT+Flood" "CT+Sprinkler" "ZT+Drip" "ZT+Drip+Residue" ...
    #>  $ tillage            : chr  "CT" "CT" "ZT" "ZT" ...
    #>  $ irrigation         : chr  "Flood" "Sprinkler" "Drip" "Drip" ...
    #>  $ residue            : logi  FALSE FALSE FALSE TRUE FALSE TRUE
    #>  $ grain_yield        : num  980 1120 1280 1380 1450 1580
    #>  $ straw_yield        : num  1450 1680 1850 2050 2180 2350
    #>  $ irrigation_applied : num  280 220 160 155 135 130
    #>  $ effective_rainfall : num  185 185 185 185 185 185
    #>  $ total_water        : num  465 405 345 340 320 315
    #>  $ crop_et            : num  390 355 310 305 290 285
    #>  $ energy_input       : num  8950 7850 6480 6950 5850 6380
    #>  $ energy_output_grain: num  14406 16464 18816 20286 21315 ...
    #>  $ energy_output_straw: num  18125 21000 23125 25625 27250 ...
    #>  $ n_applied          : num  20 20 20 20 20 20
    #>  $ p_applied          : num  40 40 40 40 40 40
    #>  $ k_applied          : num  0 0 0 0 0 0
    #>  $ n_uptake           : num  32.5 37.8 43.2 48.5 52.1 56.8
    #>  $ p_uptake           : num  4.8 5.5 6.3 7.1 7.6 8.2
    #>  $ grain_n_uptake     : num  24.5 28.6 33 37.2 40.1 43.8
    #>  $ diesel_use         : num  65 55 38 40 32 35
    #>  $ electricity_kwh    : num  180 120 75 70 55 50
    #>  $ soc_pct            : num  0.32 0.34 0.38 0.42 0.4 0.45
    #>  $ bulk_density       : num  1.58 1.56 1.52 1.48 1.5 1.46
    #>  $ ghg_emission       : num  1850 1520 1180 1250 1020 1100
    #>  $ cost_cultivation   : num  22500 24800 21500 23200 20800 22500
    #>  $ gross_return       : num  53900 61600 70400 75900 79750 ...

## 1. Water Module

    # Water Use Efficiency
    wue <- water_use_efficiency(d$grain_yield, d$total_water)
    #> WUE computed: 6 values (kg/ha/mm).

    # Crop Water Productivity
    cwp <- crop_water_productivity(d$grain_yield, d$crop_et)
    #> Crop water productivity computed (kg/m3).

    # Water Footprint (green + blue)
    wf <- water_footprint(
      green_water = d$effective_rainfall,
      blue_water = d$irrigation_applied,
      yield = d$grain_yield
    )
    #> Water footprint computed (m3/kg).
    wf
    #>   green_wf blue_wf grey_wf total_wf
    #> 1     1.89    2.86       0     4.75
    #> 2     1.65    1.96       0     3.61
    #> 3     1.45    1.25       0     2.70
    #> 4     1.34    1.12       0     2.46
    #> 5     1.28    0.93       0     2.21
    #> 6     1.17    0.82       0     1.99

## 2. Energy Module

    # Total energy output
    e_out <- d$energy_output_grain + d$energy_output_straw

    # Energy Use Efficiency
    eue <- energy_use_efficiency(e_out, d$energy_input)
    #> EUE computed: 6 values.

    # Energy Return on Investment (EROI)
    eroi_values <- eroi(e_out, d$energy_input)
    #> EROI computed: 3.63, 4.77, 6.47, 6.61, 8.3, 8.24 (energy-positive, energy-positive, highly profitable, highly profitable, highly profitable, highly profitable).

    # Net Energy Balance
    ne <- net_energy(e_out, d$energy_input)
    #> Net energy computed (MJ/ha).

    # Compare treatments
    data.frame(Treatment = d$treatment, EUE = eue, EROI = eroi_values,
               Net_Energy = ne)
    #>         Treatment  EUE EROI Net_Energy
    #> 1        CT+Flood 3.63 3.63      23581
    #> 2    CT+Sprinkler 4.77 4.77      29614
    #> 3         ZT+Drip 6.47 6.47      35461
    #> 4 ZT+Drip+Residue 6.61 6.61      38961
    #> 5         PB+SSDI 8.30 8.30      42715
    #> 6 PB+SSDI+Residue 8.24 8.24      46221

## 3. Food Module

    # Harvest Index
    bio_yield <- d$grain_yield + d$straw_yield
    hi <- harvest_index(d$grain_yield, bio_yield)
    #> Harvest index computed.

    # Protein Yield (assuming 22% protein in pulses)
    py <- protein_yield(d$grain_yield, protein_content = 22)
    #> Protein yield computed (kg/ha).

    data.frame(Treatment = d$treatment, HI = hi, Protein_kg_ha = py)
    #>         Treatment     HI Protein_kg_ha
    #> 1        CT+Flood 0.4033         215.6
    #> 2    CT+Sprinkler 0.4000         246.4
    #> 3         ZT+Drip 0.4089         281.6
    #> 4 ZT+Drip+Residue 0.4023         303.6
    #> 5         PB+SSDI 0.3994         319.0
    #> 6 PB+SSDI+Residue 0.4020         347.6

## 4. Nutrient Module

    # Partial Factor Productivity of N
    pfp <- partial_factor_productivity(d$grain_yield, d$n_applied)
    #> PFP computed (kg/kg).

    # Nutrient Harvest Index for N
    nhi <- nutrient_harvest_index(d$grain_n_uptake, d$n_uptake)
    #> NHI computed.

    data.frame(Treatment = d$treatment, PFP_N = pfp, NHI_N = nhi)
    #>         Treatment PFP_N  NHI_N
    #> 1        CT+Flood  49.0 0.7538
    #> 2    CT+Sprinkler  56.0 0.7566
    #> 3         ZT+Drip  64.0 0.7639
    #> 4 ZT+Drip+Residue  69.0 0.7670
    #> 5         PB+SSDI  72.5 0.7697
    #> 6 PB+SSDI+Residue  79.0 0.7711

## 5. Carbon Module

    # Carbon Footprint (IPCC AR6 GWP: CH4=27, N2O=273)
    cf <- carbon_footprint(
      diesel_use = d$diesel_use[1],
      electricity_use = d$electricity_kwh[1],
      n_fertilizer = d$n_applied[1],
      p_fertilizer = d$p_applied[1],
      yield = d$grain_yield[1]
    )
    #> Carbon footprint: 571.2 kg CO2-eq/ha (GWP AR6: CH4=27, N2O=273).
    cf$breakdown
    #>         source emission_kg_CO2eq share_pct
    #> 1       Diesel             174.2      30.5
    #> 2  Electricity             147.6      25.8
    #> 3 N_fertilizer              99.2      17.4
    #> 4 P_fertilizer              64.4      11.3
    #> 5 K_fertilizer               0.0       0.0
    #> 6    Pesticide               0.0       0.0
    #> 7         Seed               0.0       0.0
    #> 8   N2O_direct              85.8      15.0
    #> 9          CH4               0.0       0.0

    # Soil Carbon Stock
    soc <- soil_carbon_stock(d$soc_pct, d$bulk_density, depth = 30)
    #> SOC stock computed (Mg C/ha).

    # Global Warming Potential (example)
    gwp100 <- global_warming_potential(co2 = 500, ch4 = 10, n2o = 2)
    #> GWP computed: 1316 kg CO2-eq/ha (100yr horizon, IPCC AR6).
    gwp20 <- global_warming_potential(co2 = 500, ch4 = 10, n2o = 2,
                                       time_horizon = "20yr")
    #> GWP computed: 1856 kg CO2-eq/ha (20yr horizon, IPCC AR6).

## 6. Nexus Integration

    # Full Nexus Summary
    ns <- nexus_summary(
      yield = d$grain_yield,
      water_consumed = d$total_water,
      energy_input = d$energy_input,
      energy_output = e_out,
      n_applied = d$n_applied,
      n_uptake = d$n_uptake,
      carbon_emission = d$ghg_emission,
      treatment_names = d$treatment
    )
    #> Nexus summary computed for 6 treatments.
    ns[, c("treatment", "EROI", "nexus_index")]
    #> WEFNC Nexus Analysis Results
    #> ----------------------------------------
    #> Treatments: 6
    #> Nexus Index range: 0 - 0.978
    #> Best performer: PB+SSDI+Residue
    #>
    #>        treatment EROI nexus_index
    #>         CT+Flood 3.63      0.0000
    #>     CT+Sprinkler 4.77      0.2669
    #>          ZT+Drip 6.47      0.5933
    #>  ZT+Drip+Residue 6.61      0.6731
    #>          PB+SSDI 8.30      0.8800
    #>  PB+SSDI+Residue 8.24      0.9782

### Radar Plot

    scores <- as.matrix(ns[, c("W_score", "E_score", "F_score",
                                 "N_score", "C_score")])
    nexus_radar(scores, treatment_names = d$treatment)

### Sustainability Scoring

    nss <- nexus_sustainability_score(
      water_score = ns$W_score,
      energy_score = ns$E_score,
      food_score = ns$F_score,
      nutrient_score = ns$N_score,
      carbon_score = ns$C_score
    )
    #> Sustainability scores with categories computed.
    nss[, c("nexus_score", "category")]
    #> WEFNC Sustainability Assessment
    #> ----------------------------------------
    #>   Score: 0.0000 -> Unsustainable
    #>   Score: 0.2669 -> Unsustainable
    #>   Score: 0.5933 -> Low Sustainability
    #>   Score: 0.6731 -> Moderately Sustainable
    #>   Score: 0.8800 -> Highly Sustainable
    #>   Score: 0.9782 -> Highly Sustainable
    #>
    #>  nexus_score               category
    #>       0.0000          Unsustainable
    #>       0.2669          Unsustainable
    #>       0.5933     Low Sustainability
    #>       0.6731 Moderately Sustainable
    #>       0.8800     Highly Sustainable
    #>       0.9782     Highly Sustainable

## References

- Hoekstra, A.Y. et al. (2011). The Water Footprint Assessment Manual. Earthscan, London.
- Hall, C.A.S. et al. (2014). EROI of different fuels and the implications for society. Energy Policy, 64, 141-152.
- Dobermann, A. (2007). Nutrient use efficiency. In Fertilizer Best Management Practices, IFA, Paris.
- Forster, P. et al. (2021). IPCC AR6 WGI Chapter 7: The Earth’s energy budget, climate feedbacks, and climate sensitivity.
- Lal, R. (2004). Carbon emission from farm operations. Environment International, 30(7), 981-990.