manureshed: Manureshed Analysis with WWTP Integration
Source:R/package_documentation.R
manureshed.RdThis package provides comprehensive tools for analyzing agricultural nutrient balances at multiple spatial scales with optional integration of wastewater treatment plant (WWTP) nutrient loads for both nitrogen and phosphorus.
Details
All datasets are downloaded on-demand from OSF repository to minimize package size while maintaining full functionality.
Main Functions
Data Loading and Management:
load_builtin_nugis: Load NuGIS data from OSFload_builtin_boundaries: Load spatial boundaries from OSFload_builtin_wwtp: Load WWTP data from OSF (2016)check_builtin_data: Check available datasets and cache statusdownload_all_data: Download all datasets at oncedownload_osf_data: Download specific datasetclear_data_cache: Clear cached datasets
High-Level Workflows:
run_builtin_analysis: Complete end-to-end analysis workflowquick_analysis: Analysis with automatic visualizationsbatch_analysis_years: Multi-year analysis workflow
Agricultural Classification:
agri_process_nugis: Process and standardize NuGIS dataagri_classify_nitrogen: Classify nitrogen balanceagri_classify_phosphorus: Classify phosphorus balanceagri_classify_complete: Complete agricultural pipeline
WWTP Processing:
load_user_wwtp: Load custom WWTP data with flexible formattingwwtp_clean_data: Clean and filter WWTP datawwtp_classify_sources: Classify WWTP facilities by load sizeconvert_load_units: Handle different load units (kg, lbs, tons)
Data Integration:
integrate_wwtp_agricultural: Combine WWTP and agricultural dataintegrate_complete: Complete integration pipelineadd_texas_huc8: Add Texas HUC8 supplemental data
Visualization and Mapping:
map_agricultural_classification: Map nutrient classificationsmap_wwtp_points: Map WWTP facility locationsmap_wwtp_influence: Map WWTP influence/proportionget_state_boundaries: Get US state boundaries for mapping
Spatial Analysis:
calculate_transition_probabilities: Spatial transition analysiscreate_network_plot: Network visualization of transitionsadd_centroid_coordinates: Calculate spatial centroids
Comparison Analysis:
create_classification_summary: Before/after comparison summariesplot_before_after_comparison: Comparison bar plotsplot_impact_ratios: Impact ratio visualizationsplot_absolute_changes: Absolute change plots
Utility Functions:
get_nutrient_colors: Get color schemes for nutrientsclean_category_names: Clean classification names for displayformat_huc8: Format HUC8 codes with leading zerosget_cropland_threshold: Calculate exclusion thresholds
Spatial Scales
The package supports analysis at three spatial scales:
County: US county boundaries (3,000+ units)
HUC8: 8-digit Hydrologic Unit Code watersheds (2,000+ units)
HUC2: 2-digit Hydrologic Unit Code regions (18 units)
Nutrients Supported
The package supports analysis for both major nutrients with appropriate methodologies:
Nitrogen: Uses 0.5 availability factor for manure nitrogen in calculations
Phosphorus: Direct calculation without availability factor
Users can analyze one nutrient, both nutrients, or different combinations
in the same workflow: nutrients = c("nitrogen", "phosphorus")
Classification System
Spatial units are classified into five categories based on nutrient balance:
Source: Net nutrient surplus available for export
Sink Deficit: Total deficit requiring nutrient imports
Sink Fertilizer: Fertilizer surplus available for manure import
Within Watershed/County: Balanced for internal nutrient transfers
Excluded: Insufficient cropland for meaningful analysis (<500 ha equivalent)
Data Sources
The package provides access to comprehensive built-in datasets:
NuGIS Data:
County-level data (1987 - 2016)
HUC8 watershed data (1987 - 2016)
HUC2 regional data (1987 - 2016)
All nutrient balance components (manure, fertilizer, removal, fixation)
Spatial Boundaries:
US county boundaries (CONUS)
HUC8 watershed boundaries
HUC2 regional boundaries
All in Albers Equal Area Conic projection (EPSG:5070)
OSF Data Repository
All datasets are hosted on OSF and downloaded on-demand:
Repository: https://osf.io/g39xa/
Automatic caching: Data downloaded once and reused
Flexible loading: Load only the data you need
Version control: Permanent DOI for reproducibility
Size efficiency: Package <1MB, full datasets ~25MB
WWTP Data Flexibility
The package handles varying EPA WWTP data formats across different years:
Unit Conversion: Automatic conversion between kg, lbs, pounds, and tons
Column Mapping: Flexible mapping to handle EPA naming changes
Header Detection: Support for different header row positions
Built-in 2016: Ready-to-use cleaned data for immediate analysis
Custom Integration: Easy integration of user data for other years
Workflow Examples
# Check what data is available
check_builtin_data()
# Download all datasets (optional, ~40MB)
download_all_data()
# Basic analysis using built-in data - any year 2007-2016
results <- run_builtin_analysis(
scale = "huc8",
year = 2012, # Any year 2007-2016 now supported
nutrients = c("nitrogen", "phosphorus"),
include_wwtp = TRUE
)
wwtp_n_2010 <- load_builtin_wwtp("nitrogen", year = 2010)
wwtp_p_2015 <- load_builtin_wwtp("phosphorus", year = 2015)
# Quick analysis with automatic visualizations
viz_results <- quick_analysis(
scale = "county",
year = 2016,
nutrients = "nitrogen",
include_wwtp = TRUE
)
# Historical analysis without WWTP
historical <- run_builtin_analysis(
scale = "huc8",
year = 2010,
nutrients = c("nitrogen", "phosphorus"),
include_wwtp = FALSE
)
# Load specific datasets manually
county_2016 <- load_builtin_nugis("county", 2016)
boundaries <- load_builtin_boundaries("county")
wwtp_n <- load_builtin_wwtp("nitrogen")Analysis Outputs
The package generates comprehensive outputs for each nutrient analyzed:
Spatial Data: Classification results as sf objects
Maps: Classification, influence, and facility maps
Networks: Transition probability visualizations
Comparisons: Before/after WWTP integration analysis
Data Files: CSV centroids, RDS spatial data
Metadata: Analysis parameters and processing information
Performance and Scalability
Optimized for CONUS-scale analysis (1000s of spatial units)
Memory-efficient spatial operations
On-demand data loading reduces memory footprint
Progress reporting for long-running analyses
Automatic garbage collection for memory management
Author
Maintainer: Olatunde D. Akanbi olatunde.akanbi@case.edu (ORCID) [copyright holder]
Authors:
Vibha Mandayam (ORCID)
Atharva Gupta (ORCID)
K. Colton Flynn (ORCID)
Jeffrey Yarus (ORCID)
Erika I. Barcelos erika.barcelos@case.edu (ORCID) [copyright holder]
Roger H. French roger.french@case.edu (ORCID) [copyright holder]