| Title: | Economic Analysis of Soil and Water Conservation Measures in Watersheds |
|---|---|
| Description: | Provides functions and benchmark datasets for the economic appraisal of soil and water conservation (SWC) measures in watershed development projects. Implements benefit-cost ratio (BCR), net present value (NPV), internal rate of return (IRR) via the bisection method of Brent (1973, ISBN:9780130223715), modified BCR, marginal rate of return using the CIMMYT (1988, ISBN:9686127127) method, payback period, soil loss economic valuation via the Universal Soil Loss Equation of Wischmeier and Smith (1978, ISBN:0160016258), groundwater recharge valuation, employment generation ratio, sensitivity analysis, switching value analysis, and Monte Carlo simulation. Six datasets are included: state-wise BCR benchmarks from NABARD (2019) watershed evaluations, USLE erodibility parameters for Indian soil orders from NBSS and LUP, rainfall erosivity for twenty Indian districts from IMD data, SWC unit cost norms from PMKSY-WDC (GoI 2015), and two hypothetical datasets for illustration. Methods follow Gittinger (1982, ISBN:9780801825439) and Squire and van der Tak (1975, ISBN:9780801816697). |
| Authors: | Sadikul Islam [aut, cre] (ORCID: <https://orcid.org/0000-0003-2924-7122>) |
| Maintainer: | Sadikul Islam <[email protected]> |
| License: | GPL (>= 3) |
| Version: | 0.1.0 |
| Built: | 2026-05-16 09:03:04 UTC |
| Source: | https://github.com/cran/swcEcon |
Provides functions and benchmark datasets for the economic appraisal of soil and water conservation (SWC) measures in watershed development projects. Functions cover financial appraisal (BCR, NPV, IRR, PBP, MRR), soil loss valuation (USLE), water resource valuation, employment generation, sensitivity analysis, switching value, Monte Carlo simulation, a full pipeline runner, and automated HTML report generation.
Maintainer: Sadikul Islam [email protected] (ORCID)
Brent, R.P. (1973). Algorithms for Minimization Without Derivatives. Prentice-Hall. ISBN: 9780130223715.
CIMMYT (1988). From Agronomic Data to Farmer Recommendations. CIMMYT, Mexico DF. ISBN: 9686127127.
Gittinger, J.P. (1982). Economic Analysis of Agricultural Projects, 2nd ed. Johns Hopkins University Press. ISBN: 9780801825439.
GoI (2015). Common Guidelines for Watershed Development Projects under PMKSY-WDC. Ministry of Rural Development, New Delhi.
Joshi, P.K., Jha, A.K., Wani, S.P., Joshi, L. and Shiyani, R.L. (2005). Meta-Analysis to Assess Impact of Watershed Program and People's Participation. IWMI Research Report 8. ISBN: 9290906677.
NABARD (2019). Operational Guidelines: Watershed Development Fund. National Bank for Agriculture and Rural Development, Mumbai.
Squire, L. and van der Tak, H.G. (1975). Economic Analysis of Projects. Johns Hopkins University Press. ISBN: 9780801816697.
Wischmeier, W.H. and Smith, D.D. (1978). Predicting Rainfall Erosion Losses. USDA Agriculture Handbook No. 537. ISBN: 0160016258.
Computes the discounted Benefit-Cost Ratio (BCR) for a SWC project. BCR is the ratio of present value of benefits to present value of costs.
calc_bcr( investment, annual_benefit, annual_omc = 0, life = 20L, discount_rate = 0.12, residual_value = 0, benefit_lag = 0L )calc_bcr( investment, annual_benefit, annual_omc = 0, life = 20L, discount_rate = 0.12, residual_value = 0, benefit_lag = 0L )
investment |
Numeric. Capital investment (INR lakh or consistent unit). |
annual_benefit |
Numeric. Annual gross benefit. Scalar or vector of
length |
annual_omc |
Numeric. Annual O&M cost. Default |
life |
Integer. Project design life (years). Default |
discount_rate |
Numeric. Annual discount rate as proportion
(e.g. |
residual_value |
Numeric. Salvage value at project end. Default |
benefit_lag |
Integer. Gestation years before benefits begin. Default |
Decision rules (Gittinger 1982; GoI 2008): BCR > 1.0 is viable; BCR >= 1.5 meets NABARD threshold for watershed funding (NABARD 2019); BCR < 1.0 is not viable at the chosen discount rate.
A named list of class "swcEcon_bcr" with elements:
bcr, pv_benefits, pv_costs, verdict,
and inputs.
Gittinger, J.P. (1982). Economic Analysis of Agricultural Projects, 2nd ed. Johns Hopkins University Press. ISBN: 9780801825439.
GoI (2008). Guidelines for Economic Analysis of Projects. Planning Commission of India, New Delhi.
NABARD (2019). Operational Guidelines: Watershed Development Fund. National Bank for Agriculture and Rural Development, Mumbai.
calc_bcr(investment = 20, annual_benefit = 6, annual_omc = 0.8, life = 20, discount_rate = 0.12) # With 2-year gestation period calc_bcr(investment = 35, annual_benefit = 9, annual_omc = 1.2, life = 20, discount_rate = 0.12, benefit_lag = 2)calc_bcr(investment = 20, annual_benefit = 6, annual_omc = 0.8, life = 20, discount_rate = 0.12) # With 2-year gestation period calc_bcr(investment = 35, annual_benefit = 9, annual_omc = 1.2, life = 20, discount_rate = 0.12, benefit_lag = 2)
Computes the Employment Generation Ratio (EGR) and checks compliance with the MGNREGS 60 per cent labour norm.
calc_employment(employment_days, investment_lakh, wages_per_day = 250)calc_employment(employment_days, investment_lakh, wages_per_day = 250)
employment_days |
Numeric. Total person-days generated. |
investment_lakh |
Numeric. Total investment (INR lakh). |
wages_per_day |
Numeric. Daily wage rate (INR). Default |
A named list with egr_days_per_lakh, total_wage_bill_inr,
labour_share_pct, and mgnregs_60pct_norm.
GoI (2023). Mahatma Gandhi National Rural Employment Guarantee Scheme: Operational Guidelines, 4th ed. Ministry of Rural Development, New Delhi.
NABARD (2019). Operational Guidelines: Watershed Development Fund. National Bank for Agriculture and Rural Development, Mumbai.
calc_employment(employment_days = 45000, investment_lakh = 50, wages_per_day = 250)calc_employment(employment_days = 45000, investment_lakh = 50, wages_per_day = 250)
Computes the IRR – the discount rate at which NPV equals zero – using the bisection algorithm of Brent (1973).
calc_irr( investment, annual_benefit, annual_omc = 0, life = 20L, lower = 0, upper = 2 )calc_irr( investment, annual_benefit, annual_omc = 0, life = 20L, lower = 0, upper = 2 )
investment |
Numeric. Capital investment. |
annual_benefit |
Numeric. Annual gross benefit. |
annual_omc |
Numeric. Annual O&M cost. Default |
life |
Integer. Project life (years). Default |
lower |
Numeric. Lower search bound. Default |
upper |
Numeric. Upper search bound. Default |
Benchmarks: 12 per cent (Planning Commission, GoI 2008); 12–15 per cent (NABARD 2019); 10–15 per cent (World Bank 1998).
A list of class "swcEcon_irr" with irr,
irr_pct, converged, and benchmark comparisons.
Brent, R.P. (1973). Algorithms for Minimization Without Derivatives. Prentice-Hall. ISBN: 9780130223715.
GoI (2008). Guidelines for Economic Analysis of Projects. Planning Commission of India, New Delhi.
NABARD (2019). Operational Guidelines: Watershed Development Fund. National Bank for Agriculture and Rural Development, Mumbai.
calc_irr(investment = 20, annual_benefit = 6, annual_omc = 0.8, life = 20)calc_irr(investment = 20, annual_benefit = 6, annual_omc = 0.8, life = 20)
Additional crop income from SWC-enabled irrigation
calc_irrigation_benefit( irrig_area_ha, yield_increase_t_ha, crop_price_inr_t, input_cost_inr_ha = 8000 )calc_irrigation_benefit( irrig_area_ha, yield_increase_t_ha, crop_price_inr_t, input_cost_inr_ha = 8000 )
irrig_area_ha |
Numeric. Additional irrigated area (ha). |
yield_increase_t_ha |
Numeric. Yield increase (t/ha). |
crop_price_inr_t |
Numeric. Farm-gate crop price (INR/t). |
input_cost_inr_ha |
Numeric. Additional input cost (INR/ha).
Default |
A named list with gross, additional cost, and net benefit.
Joshi, P.K., Jha, A.K., Wani, S.P., Joshi, L. and Shiyani, R.L. (2005). Meta-Analysis to Assess Impact of Watershed Program and People's Participation. IWMI Research Report 8. ISBN: 9290906677.
calc_irrigation_benefit(irrig_area_ha = 80, yield_increase_t_ha = 1.6, crop_price_inr_t = 18000, input_cost_inr_ha = 8000)calc_irrigation_benefit(irrig_area_ha = 80, yield_increase_t_ha = 1.6, crop_price_inr_t = 18000, input_cost_inr_ha = 8000)
Computes the Modified BCR: (Gittinger 1982).
calc_mbcr(total_benefit, operating_cost, capital_cost)calc_mbcr(total_benefit, operating_cost, capital_cost)
total_benefit |
Numeric. Total benefit over project life. |
operating_cost |
Numeric. Total operating costs over life. |
capital_cost |
Numeric. Initial capital investment. |
A list of class "swcEcon_mbcr" with mbcr and
interpretation.
Gittinger, J.P. (1982). Economic Analysis of Agricultural Projects, 2nd ed. Johns Hopkins University Press. ISBN: 9780801825439.
calc_mbcr(total_benefit = 80, operating_cost = 12, capital_cost = 20)calc_mbcr(total_benefit = 80, operating_cost = 12, capital_cost = 20)
Computes MRR following CIMMYT (1988): the return per unit of additional investment when switching from current practice to a SWC technology.
calc_mrr(nb_with, nb_without, cost_with, cost_without, min_mrr = 100)calc_mrr(nb_with, nb_without, cost_with, cost_without, min_mrr = 100)
nb_with |
Numeric. Net benefit per ha with SWC technology. |
nb_without |
Numeric. Net benefit per ha without SWC. |
cost_with |
Numeric. Variable cost per ha with SWC. |
cost_without |
Numeric. Variable cost per ha without SWC. |
min_mrr |
Numeric. Minimum acceptable MRR (per cent). Default |
A minimum acceptable MRR of 100 per cent is recommended by CIMMYT (1988).
A list of class "swcEcon_mrr" with mrr,
marginal_benefit, marginal_cost, and recommendation.
CIMMYT (1988). From Agronomic Data to Farmer Recommendations. CIMMYT, Mexico DF. ISBN: 9686127127.
Byerlee, D. and Collinson, M. (1980). Planning Technologies Appropriate to Farmers. CIMMYT, Mexico DF.
calc_mrr(nb_with = 18000, nb_without = 11000, cost_with = 16000, cost_without = 11500)calc_mrr(nb_with = 18000, nb_without = 11000, cost_with = 16000, cost_without = 11500)
Computes the Net Present Value (NPV) by discounting annual net benefits.
calc_npv( investment, annual_benefit, annual_omc = 0, life = 20L, discount_rate = 0.12, residual_value = 0 )calc_npv( investment, annual_benefit, annual_omc = 0, life = 20L, discount_rate = 0.12, residual_value = 0 )
investment |
Numeric. Capital investment. |
annual_benefit |
Numeric. Annual gross benefit. |
annual_omc |
Numeric. Annual O&M cost. Default |
life |
Integer. Project life (years). Default |
discount_rate |
Numeric. Discount rate. Default |
residual_value |
Numeric. Salvage value. Default |
A list of class "swcEcon_npv" with npv,
cashflows (data frame), and decision.
Gittinger, J.P. (1982). Economic Analysis of Agricultural Projects, 2nd ed. Johns Hopkins University Press. ISBN: 9780801825439.
Squire, L. and van der Tak, H.G. (1975). Economic Analysis of Projects. Johns Hopkins University Press. ISBN: 9780801816697.
r <- calc_npv(investment = 20, annual_benefit = 6, annual_omc = 0.8, life = 20, discount_rate = 0.12) print(r) head(r$cashflows)r <- calc_npv(investment = 20, annual_benefit = 6, annual_omc = 0.8, life = 20, discount_rate = 0.12) print(r) head(r$cashflows)
Estimates the annual economic cost of NPK nutrients lost through soil erosion based on soil nutrient content and fertiliser prices.
calc_nutrient_cost( soil_loss_t_ha, area_ha, n_kg_per_t = 0.5, p_kg_per_t = 0.08, k_kg_per_t = 1.2, n_price = 20, p_price = 50, k_price = 25 )calc_nutrient_cost( soil_loss_t_ha, area_ha, n_kg_per_t = 0.5, p_kg_per_t = 0.08, k_kg_per_t = 1.2, n_price = 20, p_price = 50, k_price = 25 )
soil_loss_t_ha |
Numeric. Annual soil loss (t/ha/yr). |
area_ha |
Numeric. Catchment area (ha). |
n_kg_per_t |
Numeric. N per tonne of soil (kg/t). Default |
p_kg_per_t |
Numeric. P per tonne (kg/t). Default |
k_kg_per_t |
Numeric. K per tonne (kg/t). Default |
n_price |
Numeric. N fertiliser price (INR/kg). Default |
p_price |
Numeric. P fertiliser price (INR/kg). Default |
k_price |
Numeric. K fertiliser price (INR/kg). Default |
A named list with nutrient quantities lost and replacement costs.
Katyal, J.C. and Sharma, B.D. (1991). Nutrients in soil fertility. Fertiliser News, 36(4), 13–24.
data(usle_india_soils) s <- usle_india_soils[usle_india_soils$soil_series == "Alfisols", ] calc_nutrient_cost(soil_loss_t_ha = 12, area_ha = 200, n_kg_per_t = s$n_kg_per_t, p_kg_per_t = s$p_kg_per_t, k_kg_per_t = s$k_kg_per_t)data(usle_india_soils) s <- usle_india_soils[usle_india_soils$soil_series == "Alfisols", ] calc_nutrient_cost(soil_loss_t_ha = 12, area_ha = 200, n_kg_per_t = s$n_kg_per_t, p_kg_per_t = s$p_kg_per_t, k_kg_per_t = s$k_kg_per_t)
Computes simple and discounted payback periods and assesses adoption likelihood. PBP is the strongest predictor of voluntary SWC uptake among smallholders in rainfed India (Joshi et al. 2005).
calc_pbp( investment, annual_benefit, annual_omc = 0, life = 20L, discount_rate = 0.12 )calc_pbp( investment, annual_benefit, annual_omc = 0, life = 20L, discount_rate = 0.12 )
investment |
Numeric. Capital investment. |
annual_benefit |
Numeric. Annual gross benefit. |
annual_omc |
Numeric. Annual O&M cost. Default |
life |
Integer. Project life (years). Default |
discount_rate |
Numeric. Discount rate. Default |
A list of class "swcEcon_pbp" with simple_pbp,
discounted_pbp, and adoption.
Joshi, P.K., Jha, A.K., Wani, S.P., Joshi, L. and Shiyani, R.L. (2005). Meta-Analysis to Assess Impact of Watershed Program and People's Participation. IWMI Research Report 8. ISBN: 9290906677.
Singh, A.J., Lal, P. and Sharma, S.K. (2006). Economics of adoption of improved technologies in rainfed farming systems. Indian Journal of Agricultural Economics, 61(3), 420–435.
calc_pbp(investment = 20, annual_benefit = 6, annual_omc = 0.8)calc_pbp(investment = 20, annual_benefit = 6, annual_omc = 0.8)
Estimates annual economic cost of soil loss using the Universal Soil Loss Equation (Wischmeier and Smith 1978) and converts the reduction achieved by a SWC measure to monetary value.
calc_soil_loss_cost( R, K, LS, C_pre, C_post, P_pre = 1, P_post = 0.5, area_ha = 1, nutrient_cost_per_t = 1000, years = 1 )calc_soil_loss_cost( R, K, LS, C_pre, C_post, P_pre = 1, P_post = 0.5, area_ha = 1, nutrient_cost_per_t = 1000, years = 1 )
R |
Numeric. Rainfall erosivity factor (MJ mm / ha hr yr). Use
|
K |
Numeric. Soil erodibility factor. Use
|
LS |
Numeric. Slope length-gradient factor (dimensionless). |
C_pre |
Numeric. Cover-management factor before SWC. |
C_post |
Numeric. Cover-management factor after SWC. |
P_pre |
Numeric. Support practice factor before SWC. Default |
P_post |
Numeric. Support practice factor after SWC. Default |
area_ha |
Numeric. Treatment area (ha). Default |
nutrient_cost_per_t |
Numeric. Nutrient replacement cost per tonne
of soil (INR/t). Default |
years |
Numeric. Annualisation multiplier. Default |
The annual economic benefit = (A_pre - A_post) x area x nutrient cost.
A list of class "swcEcon_soil" with soil_loss_pre,
soil_loss_post, soil_saved_ha, soil_saved_total,
annual_benefit_inr, and pct_reduction.
Wischmeier, W.H. and Smith, D.D. (1978). Predicting Rainfall Erosion Losses. USDA Agriculture Handbook No. 537. ISBN: 0160016258.
Singh, G., Babu, R., Narain, P., Bhushan, L.S. and Abrol, I.P. (1992). Soil erosion rates in India. Journal of Soil and Water Conservation, 47(1), 97–99.
Katyal, J.C. and Sharma, B.D. (1991). Nutrients in soil fertility. Fertiliser News, 36(4), 13–24.
data(usle_india_soils) K <- usle_india_soils[usle_india_soils$soil_series == "Vertisols", "k_mean"] calc_soil_loss_cost(R = 720, K = K, LS = 4.2, C_pre = 0.35, C_post = 0.18, P_pre = 1.0, P_post = 0.5, area_ha = 500)data(usle_india_soils) K <- usle_india_soils[usle_india_soils$soil_series == "Vertisols", "k_mean"] calc_soil_loss_cost(R = 720, K = K, LS = 4.2, C_pre = 0.35, C_post = 0.18, P_pre = 1.0, P_post = 0.5, area_ha = 500)
Computes how much costs can rise (or benefits fall) before BCR = 1.0. A higher switching value indicates greater robustness to estimation error (Gittinger 1982; World Bank 1998).
calc_switching_value( investment, annual_benefit, annual_omc = 0, life = 20L, discount_rate = 0.12 )calc_switching_value( investment, annual_benefit, annual_omc = 0, life = 20L, discount_rate = 0.12 )
investment |
Numeric. Capital investment. |
annual_benefit |
Numeric. Annual gross benefit. |
annual_omc |
Numeric. Annual O&M cost. Default |
life |
Integer. Project life (years). Default |
discount_rate |
Numeric. Discount rate. Default |
A list of class "swcEcon_sv" with switching values and
interpretations.
Gittinger, J.P. (1982). Economic Analysis of Agricultural Projects, 2nd ed. Johns Hopkins University Press. ISBN: 9780801825439.
World Bank (1998). Handbook on Economic Analysis of Investment Operations. World Bank, Washington DC.
calc_switching_value(investment = 20, annual_benefit = 6, annual_omc = 0.8, life = 20, discount_rate = 0.12)calc_switching_value(investment = 20, annual_benefit = 6, annual_omc = 0.8, life = 20, discount_rate = 0.12)
Estimates annual economic value of water benefits from a SWC watershed intervention.
calc_water_value( area_ha, rainfall_mm, rc_pre = 0.35, rc_post = 0.2, harvest_pct = 45, gw_recharge_pct = 20, water_value_m3 = 3.5 )calc_water_value( area_ha, rainfall_mm, rc_pre = 0.35, rc_post = 0.2, harvest_pct = 45, gw_recharge_pct = 20, water_value_m3 = 3.5 )
area_ha |
Numeric. Watershed area (ha). |
rainfall_mm |
Numeric. Mean annual rainfall (mm). |
rc_pre |
Numeric. Runoff coefficient before SWC (0–1). Default |
rc_post |
Numeric. Runoff coefficient after SWC (0–1). Default |
harvest_pct |
Numeric. Percentage of reduced runoff harvested. Default |
gw_recharge_pct |
Numeric. Percentage percolating to groundwater. Default |
water_value_m3 |
Numeric. Value of water (INR/m3). Default |
Runoff volume (m3/yr) = RC x P x A x 10. Annual water benefit = (Q_harvest + Q_recharge) x water_value.
A list of class "swcEcon_water" with runoff volumes and
annual_benefit_inr.
Joshi, P.K., Jha, A.K., Wani, S.P., Joshi, L. and Shiyani, R.L. (2005). Meta-Analysis to Assess Impact of Watershed Program and People's Participation. IWMI Research Report 8. ISBN: 9290906677.
data(rainfall_erosivity_india) rf <- rainfall_erosivity_india[ rainfall_erosivity_india$district == "Pune", "annual_rf_mm"] calc_water_value(area_ha = 500, rainfall_mm = rf, rc_pre = 0.35, rc_post = 0.20)data(rainfall_erosivity_india) rf <- rainfall_erosivity_india[ rainfall_erosivity_india$district == "Pune", "annual_rf_mm"] calc_water_value(area_ha = 500, rainfall_mm = rf, rc_pre = 0.35, rc_post = 0.20)
A hypothetically generated survey of 120 farm households from four Indian states. SWC adoption modelled via logistic regression. Not real survey data.
data(farmer_adoption)data(farmer_adoption)
A data frame with 120 rows and 10 variables:
Character. Farmer identifier.
Character. State (Maharashtra, Rajasthan, Karnataka, MP).
Numeric. Farm area (ha).
Integer. Years of formal education.
Numeric. Annual household income (INR lakh).
Character. Institutional credit access (Yes/No).
Integer. Extension agent visits per year.
Numeric. Kharif yield before SWC (t/ha).
Integer. Adoption: 1 = adopted, 0 = not adopted.
Numeric. Kharif yield after SWC (t/ha);
NA for non-adopters.
Data status: HYPOTHETICALLY GENERATED. Not real survey data.
Adoption logit model:
Simulated adoption rate approx. 63 per cent. set.seed(2025).
Hypothetical. See data-raw/generate_all_datasets.R.
Joshi, P.K., Jha, A.K., Wani, S.P., Joshi, L. and Shiyani, R.L. (2005). Meta-Analysis to Assess Impact of Watershed Program and People's Participation. IWMI Research Report 8. ISBN: 9290906677.
Singh, A.J., Lal, P. and Sharma, S.K. (2006). Economics of adoption of improved technologies in rainfed farming systems. Indian Journal of Agricultural Economics, 61(3), 420–435.
data(farmer_adoption) mean(farmer_adoption$adopted_swc) aggregate(adopted_swc ~ state, data = farmer_adoption, FUN = mean)data(farmer_adoption) mean(farmer_adoption$adopted_swc) aggregate(adopted_swc ~ state, data = farmer_adoption, FUN = mean)
Produces a self-contained HTML report from a
run_swc_pipeline result, formatted for NABARD and
PMKSY-WDC project proposals.
generate_swc_report( pipeline, output_file = "swcEcon_report.html", title = "SWC Economic Appraisal Report", author = "swcEcon", organisation = "" )generate_swc_report( pipeline, output_file = "swcEcon_report.html", title = "SWC Economic Appraisal Report", author = "swcEcon", organisation = "" )
pipeline |
An object of class |
output_file |
Character. Output HTML path.
Default |
title |
Character. Report title. |
author |
Character. Author name. |
organisation |
Character. Organisation name. Default |
Invisibly returns the path to the HTML file.
GoI (2015). Common Guidelines for Watershed Development Projects under PMKSY-WDC. Ministry of Rural Development, New Delhi.
NABARD (2019). Operational Guidelines: Watershed Development Fund. National Bank for Agriculture and Rural Development, Mumbai.
pl <- run_swc_pipeline(investment = 20, annual_benefit = 6, annual_omc = 0.8, include_sensitivity = FALSE) tmp <- tempfile(fileext = ".html") generate_swc_report(pl, output_file = tmp, author = "Researcher")pl <- run_swc_pipeline(investment = 20, annual_benefit = 6, annual_omc = 0.8, include_sensitivity = FALSE) tmp <- tempfile(fileext = ".html") generate_swc_report(pl, output_file = tmp, author = "Researcher")
Stochastic simulation of BCR and NPV distributions. Investment, benefit, and O&M costs are sampled from truncated Normal distributions; project life from a discrete Uniform; discount rate from a continuous Uniform. Follows Pouliquen (1970) as recommended by World Bank (1998).
monte_carlo_swc( inv_mean = 20, inv_cv = 0.1, ben_mean = 6, ben_cv = 0.15, omc_mean = 0, omc_cv = 0.2, life_min = 15L, life_max = 25L, r_min = 0.1, r_max = 0.14, n_sim = 5000L, seed = 42L )monte_carlo_swc( inv_mean = 20, inv_cv = 0.1, ben_mean = 6, ben_cv = 0.15, omc_mean = 0, omc_cv = 0.2, life_min = 15L, life_max = 25L, r_min = 0.1, r_max = 0.14, n_sim = 5000L, seed = 42L )
inv_mean |
Numeric. Mean capital investment. Default |
inv_cv |
Numeric. CV for investment. Default |
ben_mean |
Numeric. Mean annual benefit. Default |
ben_cv |
Numeric. CV for benefit. Default |
omc_mean |
Numeric. Mean annual O&M. Default |
omc_cv |
Numeric. CV for O&M. Default |
life_min |
Integer. Minimum project life. Default |
life_max |
Integer. Maximum project life. Default |
r_min |
Numeric. Minimum discount rate. Default |
r_max |
Numeric. Maximum discount rate. Default |
n_sim |
Integer. Number of simulations. Default |
seed |
Integer or |
A list of class "swcEcon_mc" with simulated BCR and NPV
vectors, probability estimates, and summary statistics.
ADB (2017). Guidelines for the Economic Analysis of Projects. Asian Development Bank, Manila. https://www.adb.org/documents/guidelines-economic-analysis-projects
Pouliquen, L.Y. (1970). Risk Analysis in Project Appraisal. World Bank Occasional Papers No. 11. Johns Hopkins University Press.
World Bank (1998). Handbook on Economic Analysis of Investment Operations. World Bank, Washington DC.
mc <- monte_carlo_swc(inv_mean = 20, ben_mean = 6, omc_mean = 0.8, n_sim = 1000, seed = 42) print(mc)mc <- monte_carlo_swc(inv_mean = 20, ben_mean = 6, omc_mean = 0.8, n_sim = 1000, seed = 42) print(mc)
Print a swcEcon_result object
## S3 method for class 'swcEcon_result' print(x, ...)## S3 method for class 'swcEcon_result' print(x, ...)
x |
An object of class |
... |
Ignored. |
Invisibly returns x.
USLE R-factor and climatological parameters for 20 representative watershed districts across major Indian agro-ecological zones.
data(rainfall_erosivity_india)data(rainfall_erosivity_india)
A data frame with 20 rows and 8 variables:
Character. District headquarters name.
Character. State name.
Numeric. Latitude, decimal degrees (WGS84).
Numeric. Longitude, decimal degrees (WGS84).
Numeric. Mean annual rainfall (mm), 1981–2010.
Numeric. USLE R-factor (MJ mm / ha hr yr).
Numeric. June–September rainfall (per cent).
Numeric. Mean annual temperature (degrees C).
Data status: Real – derived from public domain data using published peer-reviewed formulae.
R-factor computed using Modified Fournier Index (MFI) and the regression: R = 38.46 + 3.48 x MFI (Bhattacharyya et al. 2010). Rainfall normals from IMD 0.25-degree gridded dataset, 1981–2010.
IMD 0.25-degree gridded rainfall, 1981–2010. India Meteorological Department, Pune (public domain). https://imdpune.gov.in
Bhattacharyya, T., Pal, D.K., Mandal, C. and others (2010). Soils of India: Historical perspective, classification and recent advances. Current Science, 98(9), 1248–1257.
Pai, D.S. and others (2014). Development of a new high spatial resolution long period daily gridded rainfall data set over India. Mausam, 65(1), 1–18.
data(rainfall_erosivity_india) rainfall_erosivity_india[rainfall_erosivity_india$r_factor > 900, c("district", "state", "r_factor")]data(rainfall_erosivity_india) rainfall_erosivity_india[rainfall_erosivity_india$r_factor > 900, c("district", "state", "r_factor")]
Runs BCR, NPV, IRR, payback period, switching value, and optionally sensitivity analysis and Monte Carlo simulation in a single call.
run_swc_pipeline( investment, annual_benefit, annual_omc = 0, life = 20L, discount_rate = 0.12, project_name = "SWC Project", include_sensitivity = TRUE, include_monte_carlo = FALSE, n_sim = 2000L, ... )run_swc_pipeline( investment, annual_benefit, annual_omc = 0, life = 20L, discount_rate = 0.12, project_name = "SWC Project", include_sensitivity = TRUE, include_monte_carlo = FALSE, n_sim = 2000L, ... )
investment |
Numeric. Capital investment. |
annual_benefit |
Numeric. Annual gross benefit. |
annual_omc |
Numeric. Annual O&M cost. Default |
life |
Integer. Project life (years). Default |
discount_rate |
Numeric. Discount rate. Default |
project_name |
Character. Project label. Default |
include_sensitivity |
Logical. Run sensitivity analysis. Default |
include_monte_carlo |
Logical. Run Monte Carlo. Default |
n_sim |
Integer. Monte Carlo iterations. Default |
... |
Reserved for future use. |
A list of class "swcEcon_pipeline" with steps
(sub-module results), summary (data frame), and metadata.
pl <- run_swc_pipeline( investment = 20, annual_benefit = 6, annual_omc = 0.8, project_name = "Hypothetical Check Dam Project", include_sensitivity = FALSE, include_monte_carlo = FALSE ) print(pl)pl <- run_swc_pipeline( investment = 20, annual_benefit = 6, annual_omc = 0.8, project_name = "Hypothetical Check Dam Project", include_sensitivity = FALSE, include_monte_carlo = FALSE ) print(pl)
Performs one-at-a-time (OAT) sensitivity analysis varying costs, benefits, and discount rate by specified ranges. Returns an 8-scenario table suitable for a tornado diagram.
sensitivity_analysis( investment, annual_benefit, annual_omc = 0, life = 20L, discount_rate = 0.12, cost_range_pct = 20, benefit_range_pct = 20, rate_range_pct = 3 )sensitivity_analysis( investment, annual_benefit, annual_omc = 0, life = 20L, discount_rate = 0.12, cost_range_pct = 20, benefit_range_pct = 20, rate_range_pct = 3 )
investment |
Numeric. Base capital investment. |
annual_benefit |
Numeric. Base annual benefit. |
annual_omc |
Numeric. Base annual O&M cost. Default |
life |
Integer. Project life (years). Default |
discount_rate |
Numeric. Base discount rate. Default |
cost_range_pct |
Numeric. Variation applied to costs (per cent).
Default |
benefit_range_pct |
Numeric. Variation applied to benefit (per cent).
Default |
rate_range_pct |
Numeric. Percentage points added/subtracted from
discount rate. Default |
Required by NABARD (2019) for watershed project appraisal and recommended by World Bank (1998) for agricultural investment projects.
A list of class "swcEcon_sens" with scenarios
(data frame), base_bcr, base_npv, and summary.
NABARD (2019). Operational Guidelines: Watershed Development Fund. National Bank for Agriculture and Rural Development, Mumbai.
World Bank (1998). Handbook on Economic Analysis of Investment Operations. World Bank, Washington DC.
sensitivity_analysis(investment = 20, annual_benefit = 6, annual_omc = 0.8, life = 20, discount_rate = 0.12)sensitivity_analysis(investment = 20, annual_benefit = 6, annual_omc = 0.8, life = 20, discount_rate = 0.12)
Typical ranges of BCR, IRR, unit cost, employment generation ratio, and payback period for watershed SWC projects across ten major Indian states. Compiled from published government evaluation reports.
data(swc_benchmarks)data(swc_benchmarks)
A data frame with 10 rows and 10 variables:
Character. State name.
Character. Agro-ecological zone.
Numeric. Mean annual rainfall (mm).
Numeric. Minimum BCR from evaluated projects.
Numeric. Maximum BCR.
Numeric. Median BCR across evaluations.
Numeric. Typical IRR (per cent).
Numeric. Investment cost per ha (INR).
Numeric. Person-days per INR lakh.
Numeric. Typical payback period (years).
Data status: Real – public domain government documents.
Compiled from NABARD WDF Annual Reports 2010–2022 (National Bank for Agriculture and Rural Development), PMKSY-WDC Progress Reports (https://dolr.gov.in), and CRIDA Technical Bulletins (ICAR). All BCR values computed at 12 per cent discount rate.
NABARD WDF Annual Reports 2010–2022 (public domain). PMKSY-WDC Progress Reports, GoI (public domain).
NABARD (2019). Operational Guidelines: Watershed Development Fund. National Bank for Agriculture and Rural Development, Mumbai.
GoI (2015). Common Guidelines for Watershed Development Projects under PMKSY-WDC. Ministry of Rural Development, New Delhi.
data(swc_benchmarks) swc_benchmarks[swc_benchmarks$bcr_typical >= 2.0, c("state", "bcr_typical", "irr_pct")]data(swc_benchmarks) swc_benchmarks[swc_benchmarks$bcr_typical >= 2.0, c("state", "bcr_typical", "irr_pct")]
Standard unit costs for 18 common SWC structures from PMKSY-WDC Common Guidelines (GoI 2015), updated to 2024 using RBI CPI.
data(swc_cost_norms)data(swc_cost_norms)
A data frame with 18 rows and 7 variables:
Character. SWC measure name.
Character. Cost basis: per unit or per ha.
Numeric. PMKSY-WDC 2015 unit cost (INR).
Numeric. Estimated 2024 unit cost (INR).
Numeric. Expected design life (years).
Numeric. Annual O&M as per cent of capital.
Numeric. Labour as per cent of total cost.
Data status: Real – public domain Government of India guidelines.
Unit costs from PMKSY-WDC Common Guidelines (GoI 2015), available at https://dolr.gov.in. The 2024 estimates apply a CPI inflation factor of 1.65 (RBI CPI April 2015 to April 2024).
GoI (2015). Common Guidelines for Watershed Development Projects under PMKSY-WDC. Ministry of Rural Development, New Delhi. Available at https://dolr.gov.in.
GoI (2015). Common Guidelines for Watershed Development Projects under PMKSY-WDC. Ministry of Rural Development, New Delhi.
CSWCRTI (2019). Technical Manual on Soil and Water Conservation Structures. ICAR, Dehradun (public domain).
data(swc_cost_norms) swc_cost_norms[swc_cost_norms$design_life_yr >= 20, c("measure", "norm_2024_inr", "design_life_yr")]data(swc_cost_norms) swc_cost_norms[swc_cost_norms$design_life_yr >= 20, c("measure", "norm_2024_inr", "design_life_yr")]
Soil erodibility K-factor ranges and NPK nutrient content for eight major soil orders in Indian watersheds.
data(usle_india_soils)data(usle_india_soils)
A data frame with 8 rows and 11 variables:
Character. Soil order (USDA classification).
Character. Common Indian name.
Character. States where order predominates.
Numeric. Minimum K-factor (t ha hr / ha MJ mm).
Numeric. Maximum K-factor.
Numeric. Mean K-factor for use when site data unavailable.
Numeric. Typical organic carbon (per cent).
Numeric. Permissible soil loss (t/ha/yr).
Numeric. N per tonne of soil (kg/t).
Numeric. P per tonne (kg/t).
Numeric. K per tonne (kg/t).
Data status: Real – public domain scientific literature.
K-factor values from NBSS and LUP Technical Bulletin No. 132 (ICAR) and Singh et al. (1992). Nutrient content from Katyal and Sharma (1991).
NBSS and LUP (2002). Soil Erodibility (K Factor) of Different Soils of India. Technical Bulletin 132. ICAR, Nagpur.
Wischmeier, W.H. and Smith, D.D. (1978). Predicting Rainfall Erosion Losses. USDA Agriculture Handbook No. 537. ISBN: 0160016258.
Singh, G., Babu, R., Narain, P., Bhushan, L.S. and Abrol, I.P. (1992). Soil erosion rates in India. Journal of Soil and Water Conservation, 47(1), 97–99.
Katyal, J.C. and Sharma, B.D. (1991). Nutrients in soil fertility. Fertiliser News, 36(4), 13–24.
data(usle_india_soils) usle_india_soils[usle_india_soils$soil_series == "Vertisols", ]data(usle_india_soils) usle_india_soils[usle_india_soils$soil_series == "Vertisols", ]
A hypothetically generated dataset of 50 simulated SWC project evaluations for package illustration. Not real project data.
data(watershed_projects)data(watershed_projects)
A data frame with 50 rows and 18 variables:
Character. Identifier (WS001–WS050).
Character. Simulated state name.
Character. Primary SWC measure.
Numeric. Watershed area (ha).
Numeric. Capital investment (INR lakh).
Numeric. Annual gross benefit (INR lakh).
Numeric. Annual O&M cost (INR lakh).
Numeric. Discount rate (per cent).
Numeric. Design life (years).
Numeric. Pre-SWC soil loss (t/ha/yr).
Numeric. Post-SWC soil loss (t/ha/yr).
Numeric. Groundwater level change (m).
Numeric. Additional irrigated area (ha).
Numeric. Employment generated (person-days).
Numeric. Beneficiary households.
Numeric. Computed benefit-cost ratio.
Numeric. Net present value (INR lakh).
Numeric. Simple payback period (years).
Data status: HYPOTHETICALLY GENERATED. Not real project data.
Generated with set.seed(2025). Parameter distributions
calibrated to NABARD WDF project characteristics (Joshi et al. 2005).
See data-raw/generate_all_datasets.R.
Hypothetical. See data-raw/generate_all_datasets.R.
Joshi, P.K., Jha, A.K., Wani, S.P., Joshi, L. and Shiyani, R.L. (2005). Meta-Analysis to Assess Impact of Watershed Program and People's Participation. IWMI Research Report 8. ISBN: 9290906677.
data(watershed_projects) summary(watershed_projects$bcr) aggregate(bcr ~ swc_measure, data = watershed_projects, FUN = mean)data(watershed_projects) summary(watershed_projects$bcr) aggregate(bcr ~ swc_measure, data = watershed_projects, FUN = mean)