The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
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.
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 ...# 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# 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# 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# 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# 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).# 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.9782scores <- as.matrix(ns[, c("W_score", "E_score", "F_score",
"N_score", "C_score")])
nexus_radar(scores, treatment_names = d$treatment)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 SustainableThese binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.