diff --git a/.gitignore b/.gitignore index 0612e175..49263595 100644 --- a/.gitignore +++ b/.gitignore @@ -1146,6 +1146,30 @@ _transportation/data-raw/~$_source_method_compare.xlsx _transportation/data-raw/epa/SCCformat=CSV&sortFacet=scc%20level%20one&filename=SCCDownload-2024-0812-144242.csv +_meta/data-raw/mpca_ghg_inventory.csv +_meta/data-raw/Minnesota GCAM Modeling Data.xlsx + +_industrial/data-raw/emissions_by_unit_and_fuel_type_c_d_aa.xlsb +_industrial/data-raw/emissions_by_unit_and_fuel_type_c_d_aa.xlsx +_industrial/data-raw/MPCA_industrial_fuel_throughput.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2010.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2011.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2012.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2013.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2014.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2015.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2016.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2017.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2018.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2019.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2020.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2021.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2022.xlsx +_industrial/data-raw/ghgrp/ghgp_data_2023.xlsx +_meta/data-raw/state-ghg-inventory.csv + + + _transportation/data-raw/mndot/city_route_system/ _transportation/data-raw/mndot/updated_VMT_County_City_Route_System/ @@ -1154,3 +1178,28 @@ _transportation/data-raw/mndot/updated_VMT_County_City_Route_System.zip _agriculture/data-raw/ag-module.xlsx + + + +_energy/data-raw/nrel_slope/MNWI + +_energy/data-raw/dataExplorer.twb + +*.twbr + +_energy/data-raw/modelingDocs + +_energy/data-raw/nrel_slope + +_energy/data-raw/USDA_ERS_AgriculturalResourceManagementSurvey + +_energy/data-raw/XcelCommunityReports + +_energy/data-raw/mn_elec_utility_reporting_state + +_energy\data-raw\XcelCommunityReports\electricity_all_years_city.csv + +_energy/data-raw/GRE_individualReports + +_energy/data-raw/xcel_community_reports + diff --git a/00_compile_industrial_emissions.R b/00_compile_industrial_emissions.R new file mode 100644 index 00000000..550fff50 --- /dev/null +++ b/00_compile_industrial_emissions.R @@ -0,0 +1,185 @@ +##### run industrial scripts; compile county and CTU industrial emissions + +source("./R/global_warming_potential.R") +ind_fuel_combustion <- readRDS("./_industrial/data/fuel_combustion_emissions_by_gas.rds") +ind_flight_emissions <- readRDS("./_industrial/data/flight_industrial_point_sources_ctu.rds") +ind_nei_emissions <- readRDS("./_industrial/data/nei_county_industrial_emissions.rds") + +### first start with county level emission estimates +### The workflow is split out industrial fuel combustion into gas, oil, coal +### subtract away fuel emissions from FLIGHT and call it process +### subtract away flight from NEI and call it 'small industrial' +### If flight > NEI, call 'small industrial' 0 + +### need to do more research into what 'fuel gas' is +ind_fuel_combustion <- ind_fuel_combustion %>% + mutate(fuel_type = case_when( + specific_fuel_type == "Fuel Gas" ~ "Fuel Gas", + TRUE ~ general_fuel_type + )) + +county_fuel_combustion <- ind_fuel_combustion %>% + filter(units_emissions != "avg_activity") %>% + mutate(mt_co2e = case_when( + units_emissions == "mt_ch4" ~ values_emissions * gwp$ch4, + units_emissions == "mt_n2o" ~ values_emissions * gwp$n2o, + TRUE ~ values_emissions + )) %>% + group_by(county_name, reporting_year, fuel_type) %>% + summarize(mt_co2e = sum(mt_co2e)) %>% + mutate(data_source = "EPA FLIGHT Subpart C Analysis", + factor_source = "EPA Emission Factor Hub", + sector = "Industrial", + category = "Fuel combustion") %>% + select(county_name, + inventory_year = reporting_year, + sector, + category, + source = fuel_type, + data_source, + factor_source, + mt_co2e) + +county_process_emissions <- ind_flight_emissions %>% + filter(doublecount == "No") %>% + group_by(county_name, inventory_year) %>% + summarize(mt_co2e = sum(value_emissions)) %>% + left_join(county_fuel_combustion %>% + group_by(county_name, inventory_year) %>% + summarize(mt_co2e = sum(mt_co2e)), + by = c("county_name", + "inventory_year"), + suffix = c("_total","_fuel_combustion")) %>% + #2010 is absent for fuel combustion + filter(inventory_year != 2010) %>% + mutate(mt_co2e_fuel_combustion = coalesce(mt_co2e_fuel_combustion, 0), + mt_co2e = mt_co2e_total - mt_co2e_fuel_combustion, + sector = "Industrial", + category = "Process", + source = "Process", #This could be filled in from subparts with some effort + data_source = "EPA FLIGHT", + factor_source = "EPA Emission Factor Hub") %>% + select(inventory_year, county_name, data_source, + factor_source, mt_co2e, sector, + category, + source) + +# to estimate smaller industrial emissions, we'll subtract all FLIGHT +# emissions away from NEI estimates. Negative numbers will be corrected +# to zero until a better data source is identified +county_small <- ind_nei_emissions %>% + group_by(inventory_year, county_name) %>% + summarize(mt_co2e_all = as.numeric(sum(values_emissions))) %>% + left_join(ind_flight_emissions %>% + group_by(county_name, inventory_year) %>% + summarize(mt_co2e_big = sum(value_emissions))) %>% + mutate(mt_co2e_big =coalesce(mt_co2e_big, 0), + mt_co2e = mt_co2e_all - mt_co2e_big, + mt_co2e = if_else(mt_co2e < 0, 0, mt_co2e), + sector = "Industrial", + category = "Other", + source = "Small point source", + data_source = "EPA NEI", + factor_source = "EPA NEI") %>% + select(inventory_year, county_name, data_source, + factor_source,mt_co2e, sector, + category, + source) + +county_industrial_emission = bind_rows( + county_fuel_combustion, + county_process_emissions, + county_small) %>% + mutate(units_emissions = "Metric tons CO2e") %>% + rename(values_emissions = mt_co2e) + +county_industrial_emission_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "county_name", class(county_industrial_emission$county_name), "County name", + "inventory_year", class(county_industrial_emission$inventory_year), "Year of activity", + "sector", class(county_industrial_emission$sector), "Sector of emissions", + "category", class(county_industrial_emission$category), "Category of emissions", + "source", class(county_industrial_emission$source), "Specific source of emissions", + "data_source", class(county_industrial_emission$data_source), "Activity data source", + "factor_source", class(county_industrial_emission$factor_source), "Emissions factor data source", + "values_emissions", class(county_industrial_emission$values_emissions), "Numerical value of emissions data", + "units_emissions", class(county_industrial_emission$units_emissions), "Units of emissions data" + ) + +saveRDS(county_industrial_emission, "./_industrial/data/county_industrial_emissions.rds") +saveRDS(county_industrial_emission_meta, "./_industrial/data/county_industrial_emissions_meta.rds") + + +## do the same for cities, excepting the nei source + + +city_fuel_combustion <- ind_fuel_combustion %>% + filter(units_emissions != "avg_activity") %>% + mutate(mt_co2e = case_when( + units_emissions == "mt_ch4" ~ values_emissions * gwp$ch4, + units_emissions == "mt_n2o" ~ values_emissions * gwp$n2o, + TRUE ~ values_emissions + )) %>% + group_by(city_name, reporting_year, fuel_type) %>% + summarize(mt_co2e = sum(mt_co2e)) %>% + mutate(data_source = "EPA FLIGHT Subpart C Analysis", + factor_source = "EPA Emission Factor Hub", + sector = "Industrial", + category = "Fuel combustion") %>% + select(city_name, + inventory_year = reporting_year, + sector, + category, + source = fuel_type, + data_source, + factor_source, + mt_co2e) + +city_process_emissions <- ind_flight_emissions %>% + filter(doublecount == "No") %>% + group_by(city_name, inventory_year) %>% + summarize(mt_co2e = sum(value_emissions)) %>% + left_join(city_fuel_combustion %>% + group_by(city_name, inventory_year) %>% + summarize(mt_co2e = sum(mt_co2e)), + by = c("city_name", + "inventory_year"), + suffix = c("_total","_fuel_combustion")) %>% + #2010 is absent for fuel combustion + filter(inventory_year != 2010) %>% + mutate(mt_co2e_fuel_combustion = coalesce(mt_co2e_fuel_combustion, 0), + mt_co2e = mt_co2e_total - mt_co2e_fuel_combustion, + mt_co2e = if_else(mt_co2e < 0, 0, mt_co2e), + sector = "Industrial", + category = "Process", + source = "Process", #This could be filled in from subparts with some effort + data_source = "EPA FLIGHT", + factor_source = "EPA Emission Factor Hub") %>% + select(inventory_year, city_name, data_source, + factor_source, mt_co2e, sector, + category, + source) + +city_industrial_emission = bind_rows( + city_fuel_combustion, + city_process_emissions) %>% + mutate(units_emissions = "Metric tons CO2e") %>% + rename(values_emissions = mt_co2e) + +city_industrial_emission_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "city_name", class(city_industrial_emission$city_name), "County name", + "inventory_year", class(city_industrial_emission$inventory_year), "Year of activity", + "sector", class(city_industrial_emission$sector), "Sector of emissions", + "category", class(city_industrial_emission$category), "Category of emissions", + "source", class(city_industrial_emission$source), "Specific source of emissions", + "data_source", class(city_industrial_emission$data_source), "Activity data source", + "factor_source", class(city_industrial_emission$factor_source), "Emissions factor data source", + "values_emissions", class(city_industrial_emission$values_emissions), "Numerical value of emissions data", + "units_emissions", class(city_industrial_emission$units_emissions), "Units of emissions data" + ) + +saveRDS(city_industrial_emission, "./_industrial/data/city_industrial_emissions.rds") +saveRDS(city_industrial_emission_meta, "./_industrial/data/city_industrial_emissions_meta.rds") diff --git a/R/cprg_colors.R b/R/cprg_colors.R index 1ecc7fd9..79922266 100644 --- a/R/cprg_colors.R +++ b/R/cprg_colors.R @@ -10,34 +10,52 @@ cprg_colors <- list( ) # sector colors -sector_colors <- list( - "Transportation" = "#8e440b", - "Energy" = "#163c6a", - "Waste" = "#8d0c3b" -) +sector_colors <- list("Electricity" = "#1f77b4", + "Transportation" = "#191970", + "Residential" = "#9467bd", + "Commercial" = "#d62728", + "Industrial" = "slategray", + "Waste" = "#8c564b", + "Agriculture" = "#8fb910", + "Natural Systems" = "#006f3c") + # category category_colors <- list( - # GnBu - "Residential energy" = "#225ea8", - "Commercial energy" = "#41b6c4", - "Industrial energy" = "#7fcdbb", - "Liquid stationary fuels" = "#a8ddb5", - - + + #Pu + "Residential natural gas" = "#483248", + "Residential electricity" = "#CF9FFF", + + "Commercial natural gas" = "#800000", + "Commercial fuel combustion" = "#DE3163", + "Commercial electricity" = "#FAA0A0", + + #Gray + "Industrial electricity" = "#E5E4E2", + "Industrial natural gas" = "#36454F", + "Industrial processes" = "#B2BEB5", + "Industrial fuel combustion" = "#818589", + "Refinery processes" = "#708090", + # YlOrBr - "Passenger vehicles" = "#993404", - "Buses" = "#E9967A", - "Trucks" = "#fe9929", - - # PuRd - "Solid waste" = "#ce1256", - "Wastewater" = "#c994c7", - + "Passenger vehicles" = "#0047AB", + "Buses" = "#6F8FAF", + "Trucks" = "#6495ED", + "Aviation" = "#191970", + + # Rd + "Solid waste" = "#8B4513", + "Wastewater" = "#CD853F", + + # Green + "Cropland" = "#c7e960", + "Livestock" = "#8fb910", + # Gn - "Sequestration" = "#006f3c", - "Stock" = "#27b376" + "Urban greenery" = "#006f3c", + "Natural systems" = "#27b376" ) diff --git a/R/plot_temporal_county_emissions.R b/R/plot_temporal_county_emissions.R new file mode 100644 index 00000000..c9e3d23a --- /dev/null +++ b/R/plot_temporal_county_emissions.R @@ -0,0 +1,352 @@ +#### Create county and CTU temporary inventory graphs for 11-14-2024 steering committee meeting +source("R/_load_pkgs.R") + + +### directory to save ggplot items in +wd <- "C:/Users/WilfahPA/OneDrive - Metropolitan Council/CPRG/Climate summit graphics/" + +### county graphs + +cprg_colors <- source("R/cprg_colors.R") + +#create baseline and subsector sectors +county_emissions <- readRDS("_meta/data/cprg_county_emissions.RDS") %>% + mutate(category = case_when( + sector == "Nature" & grepl("Urban", source) ~ "Urban greenery", + sector == "Nature" & !grepl("Urban", source) ~ "Natural systems", + category == "Other" ~ "Small industrial", + TRUE ~ category + ), + sector = if_else(sector == "Nature", "Natural Systems", sector))%>% + ##keep 7 counties only for CTU estimates + filter(!geog_name %in% c("St. Croix", "Pierce", "Chisago", "Sherburne")) %>% + mutate(baseline_sector = case_when( + category == "Electricity" ~ "Electricity", + category == "Natural Gas" ~ "Building fuel", + grepl("Commercial",category) ~ "Building fuel", + grepl("Industrial",category) ~ "Industrial", + category == "Refinery processes" ~ "Industrial", + TRUE ~ sector + )) + # mutate(year = case_when( + # sector == "Industrial" & year == 2011 ~ 2005, + # sector == "Industrial" & category == "Other" & year == 2020 ~ 2021, + # TRUE ~ year)) %>% + # filter(year %in% c(2005, 2021)) + +### break out desired years and data sources for RDG 90% +baseline_emissions_sector <- county_emissions %>% + group_by(year, baseline_sector) %>% + summarize(MT_CO2e = sum(emissions_metric_tons_co2e, na.rm = TRUE)) %>% + mutate(baseline_sector = factor(baseline_sector, + levels = c("Electricity", "Transportation", "Building fuel", "Industrial", "Waste", "Agriculture", "Natural Systems"))) %>% + filter(!(baseline_sector == "Building fuel" & year %in% c(2006:2020))) + +# Define custom colors for sectors and tones for years +baseline_colors <- c("Electricity" = "#DE3163", + "Transportation" = "#6994c1", + "Building fuel" = "#9467bd", + "Industrial" = "slategray", + "Waste" = "#8B4513", + "Agriculture" = "#8fb910", + "Natural Systems" = "#006f3c") + +# Plot by year +baseline_comparison <- ggplot(baseline_emissions_sector %>% + filter(year >= 2005 & year <= 2021), + aes(x = year, y = MT_CO2e/1000000, col = baseline_sector)) + + geom_line(size = 1.6) + + geom_hline(yintercept = 0, size = 2, col = "black", linetype = "dashed")+ + labs(fill = "baseline_sector") + + ggtitle("Seven-County Regional Emissions Inventory") + + scale_color_manual(values = baseline_colors, name = "Sector") + + theme_bw() + xlab("") + ylab(expression(paste("Million metric tons of ",CO[2],"e"))) + + theme(panel.grid.major.x = element_blank(), + axis.text.x = element_text(size = 20), + text = element_text(size = 20, family="sans")) + +baseline_comparison + +baseline_comparison_facet <- ggplot(baseline_emissions_sector %>% + filter(year >= 2005 & year <= 2021), + aes(x = year, y = MT_CO2e/1000000, + fill = baseline_sector, + col = baseline_sector)) + + geom_area(alpha = 0.4) + + geom_line(size = 1.2) + + geom_hline(yintercept = 0, size = 1.2, col = "black", linetype = "dashed")+ + labs(fill = "baseline_sector") + + ggtitle("Seven-County Regional Emissions Inventory") + + scale_fill_manual(values = baseline_colors, guide = "none") + + scale_color_manual(values = baseline_colors, guide = "none") + + theme_bw() + xlab("") + ylab(expression(paste("Million metric tons of ",CO[2],"e"))) + + theme(panel.grid.major.x = element_blank(), + panel.grid.minor = element_blank(), + axis.text.x = element_text(size = 15, angle = -90, vjust = .25), + text = element_text(size = 20, family="sans")) + + facet_grid(. ~ baseline_sector) + +baseline_comparison_facet + +emissions_sector <- county_emissions %>% + mutate(category = case_when( + category == "Electricity" ~ paste(sector,"electricity"), + category == "Natural Gas" ~ paste(sector,"natural gas"), + TRUE ~ category + )) %>% + group_by(year, sector) %>% + summarize(MT_CO2e = sum(emissions_metric_tons_co2e)) %>% + mutate(sector = factor(sector, levels = c("Transportation", "Residential", "Commercial", "Industrial", "Waste", "Agriculture", "Natural Systems"))) + + +# Plot by sector +sector_comparison <- ggplot(emissions_sector %>% filter(year == 2021), + aes(x = sector, y = MT_CO2e/1000000, fill = sector)) + + geom_bar(stat = 'identity', position = position_dodge(), col = 'black') + + labs(fill = "sector") + + ggtitle("2021 Regional Emissions Inventory") + + scale_fill_manual(values = sector_colors, guide = "none") + + theme_minimal() + xlab("") + ylab(expression(paste("Million metric tons of ",CO[2],"e"))) + + theme(panel.grid.major.x = element_blank(), + axis.text.x = element_text(size = 16), + text = element_text(size = 20, family="sans")) + + +sector_comparison + +# ggsave(paste0(wd,"ghg_sector_2021.png"), +# sector_comparison, +# width = 12, +# height = 8, +# units = "in") + + + +# ggsave(paste0(wd,"ghg_sector_temporal.png"), +# baseline_comparison, +# width = 14, +# height = 8, +# units = "in", +# dpi = 400) + +# Plot by subsector + +category_order <- c( + "Aviation","Passenger vehicles", "Buses", "Trucks", # Transportation + "Residential electricity", "Residential natural gas", # Residential + "Commercial electricity", "Commercial natural gas", "Commercial fuel combustion", # Commercial + "Industrial electricity", "Industrial natural gas", "Industrial fuel combustion", + "Industrial processes", "Refinery processes", # Industrial + "Solid waste", "Wastewater", # Waste + "Livestock", "Cropland", # Agriculture + "Natural systems", "Urban greenery" # Natural Systems +) + +emissions_subsector <- county_emissions %>% + mutate(category = case_when( + category == "Electricity" ~ paste(sector,"electricity"), + category == "Natural Gas" ~ paste(sector,"natural gas"), + TRUE ~ category + )) %>% + group_by(year, sector, category) %>% + summarize(MT_CO2e = sum(emissions_metric_tons_co2e)) %>% + mutate(sector = factor(sector, levels = c("Transportation", "Residential", "Commercial", "Industrial", "Waste", "Agriculture", "Natural Systems"))) + +category_colors_vector <- unlist(category_colors, use.names = TRUE) + +subsector_comparison <- ggplot( + emissions_subsector %>% + mutate( + category = factor(category, levels = category_order) + ) %>% + filter(year == 2021), + aes(x = sector, y = MT_CO2e / 1000000, fill = category) +) + + geom_bar(stat = 'identity', position = 'stack', col = 'black') + + labs(fill = "Subsector") + + scale_fill_manual(values = category_colors_vector) + + theme_minimal() + + xlab("") + + ggtitle("2021 Regional Emissions Profile") + + ylab(expression(paste("Million metric tons of ", CO[2], "e"))) + + theme( + panel.grid.major.x = element_blank(), + axis.text.x = element_text(size = 20, angle = -25), + text = element_text(size = 20, family = "sans") + ) + + +subsector_comparison + + + +# ggsave(paste0(wd,"ghg_subsector.png"), +# subsector_comparison, +# width = 14, +# height = 8, +# units = "in", +# dpi = 400) + +### subsector by county population + +emissions_subsector_per_capita <- county_emissions %>% + mutate(emissions_per_capita = emissions_metric_tons_co2e / county_total_population) %>% + group_by(year, geog_name, sector, category) %>% + summarize(emissions_per_capita = sum(emissions_per_capita)) %>% + mutate(sector = factor(sector, levels = c("Electricity", "Transportation", "Building energy", "Industrial", "Waste", "Agriculture", "Natural Systems"))) %>% + mutate(year = if_else( + category == "Small industrial" & year == 2020, + 2021, + year + )) + +electricity_per_capita_comparison <- ggplot( + emissions_subsector_per_capita %>% + filter(year == 2021, sector == "Electricity"), + aes(x = geog_name, y = emissions_per_capita, fill = category) +) + + geom_bar(stat = 'identity', position = 'stack') + + labs(fill = "Subsector") + + scale_fill_manual(values = category_colors_vector) + + theme_minimal() + + xlab("") + + ylab(expression(paste("Metric tons of ", CO[2], "e per capita"))) + + theme( + panel.grid.major.x = element_blank(), + axis.text.x = element_text(size = 20, angle = -90), + text = element_text(size = 20, family = "sans") + ) + +electricity_per_capita_comparison + +transportation_per_capita_comparison <- ggplot( + emissions_subsector_per_capita %>% + filter(year == 2021, sector == "Transportation", geog_name != "MSP Airport"), + aes(x = geog_name, y = emissions_per_capita, fill = category) +) + + geom_bar(stat = 'identity', position = 'stack') + + labs(fill = "Subsector") + + scale_fill_manual(values = category_colors_vector) + + theme_minimal() + + xlab("") + + ylab(expression(paste("Metric tons of ", CO[2], "e per capita"))) + + theme( + panel.grid.major.x = element_blank(), + axis.text.x = element_text(size = 20, angle = -90), + text = element_text(size = 20, family = "sans") + ) + +transportation_per_capita_comparison + +# iterate the subsector graphs across counties + +# adding MSP to Hennepin for discussion +county_emissions <- county_emissions %>% + mutate(geog_name = if_else(geog_name == "MSP Airport", + "Hennepin", + geog_name)) + +for(i in unique(county_emissions$geog_name)) { + + emissions_subsector_county <- county_emissions %>% + filter(geog_name == i) %>% + group_by(year, sector, category) %>% + summarize(MT_CO2e = sum(emissions_metric_tons_co2e)) %>% + mutate(sector = factor(sector, levels = c("Electricity", "Transportation", "Building energy", "Industrial", "Waste", "Agriculture", "Natural Systems"))) %>% + mutate(year = if_else( + category == "Small industrial" & year == 2020, + 2021, + year + )) + + subsector_comparison <- ggplot( + emissions_subsector_county %>% + mutate( + category = factor(category, levels = emissions_subsector_county %>% + filter(year == 2021) %>% + arrange(sector, desc(MT_CO2e)) %>% + pull(category) %>% + unique()) + ) %>% + filter(year == 2021), + aes(x = sector, y = MT_CO2e / 1000000, fill = category) + ) + + geom_bar(stat = 'identity', position = 'stack') + + labs(fill = "Subsector") + + scale_fill_manual(values = category_colors_vector) + + theme_minimal() + + xlab("") + + ylab(expression(paste("Million metric tons of ", CO[2], "e"))) + + theme( + panel.grid.major.x = element_blank(), + axis.text.x = element_text(size = 14), + text = element_text(size = 20, family = "sans") + ) + + + subsector_comparison + + ggsave(paste0(wd,i,"_ghg_subsector.png"), + subsector_comparison, + width = 14, + height = 7, + units = "in", + dpi = 400) + +} + + +#### city emissions #### + +for(i in c("Bloomington", + "Coon Rapids", + "Carver", + "Eagan", + "Saint Paul", + "Mahtomedi", + "Minneapolis", + "Savage")) { + + emissions_subsector_ctu <- ctu_emissions %>% + filter(ctu_name == i) %>% + group_by(emissions_year, sector, category) %>% + summarize(MT_CO2e = sum(emissions_metric_tons_co2e)) %>% + mutate(sector = factor(sector, levels = c("Electricity", "Transportation", "Residential", "Commercial", "Industrial", "Waste", "Agriculture", "Natural Systems"))) + + subsector_comparison <- ggplot( + emissions_subsector_ctu %>% + mutate( + category = factor(category, levels = emissions_subsector_ctu %>% + filter(emissions_year == 2021) %>% + arrange(sector, desc(MT_CO2e)) %>% + pull(category) %>% + unique()) + ) %>% + filter(emissions_year == 2021), + aes(x = sector, y = MT_CO2e / 1000000, fill = category) + ) + + geom_bar(stat = 'identity', position = 'stack') + + labs(fill = "Subsector") + + #scale_fill_manual(values = category_colors_vector) + + theme_minimal() + + xlab("") + + ylab(expression(paste("Million metric tons of ", CO[2], "e"))) + + theme( + panel.grid.major.x = element_blank(), + axis.text.x = element_text(size = 14), + text = element_text(size = 20, family = "sans") + ) + + + subsector_comparison + + ggsave(paste0(wd,i,"_ghg_subsector.png"), + subsector_comparison, + width = 14, + height = 7, + units = "in", + dpi = 400) + +} + + diff --git a/_agriculture/data/flight_industrial_point_sources_county.rds b/_agriculture/data/flight_industrial_point_sources_county.rds new file mode 100644 index 00000000..388021b9 Binary files /dev/null and b/_agriculture/data/flight_industrial_point_sources_county.rds differ diff --git a/_agriculture/data/flight_industrial_point_sources_ctu.rds b/_agriculture/data/flight_industrial_point_sources_ctu.rds new file mode 100644 index 00000000..ea87cf85 Binary files /dev/null and b/_agriculture/data/flight_industrial_point_sources_ctu.rds differ diff --git a/_agriculture/data/flight_industrial_point_sources_ctu_meta.rds b/_agriculture/data/flight_industrial_point_sources_ctu_meta.rds new file mode 100644 index 00000000..95255a85 Binary files /dev/null and b/_agriculture/data/flight_industrial_point_sources_ctu_meta.rds differ diff --git a/_energy/data-raw/_energy_emissions_factors.R b/_energy/data-raw/_energy_emissions_factors.R index 792c76be..b1a80648 100644 --- a/_energy/data-raw/_energy_emissions_factors.R +++ b/_energy/data-raw/_energy_emissions_factors.R @@ -11,14 +11,14 @@ if (exists("eGRID_MROW_emissionsFactor_CO2") == FALSE) { # which covers our study area) # figures in lbs./mWh - eGRID_MROW_emissionsFactor_CO2 <- mrow_factors %>% - filter(emission == "lb CO2") %>% + eGRID_MROW_emissionsFactor_CO2_2021 <- mrow_factors %>% + filter(emission == "lb CO2", year == 2021) %>% magrittr::extract2("value") - eGRID_MROW_emissionsFactor_CH4 <- mrow_factors %>% - filter(emission == "lb CH4") %>% + eGRID_MROW_emissionsFactor_CH4_2021 <- mrow_factors %>% + filter(emission == "lb CH4", year == 2021) %>% magrittr::extract2("value") - eGRID_MROW_emissionsFactor_N2O <- mrow_factors %>% - filter(emission == "lb N2O") %>% + eGRID_MROW_emissionsFactor_N2O_2021 <- mrow_factors %>% + filter(emission == "lb N2O", year == 2021) %>% magrittr::extract2("value") # Natural Gas emissions factor from https://www.epa.gov/system/files/documents/2023-04/emission-factors_sept2021.pdf diff --git a/_energy/data-raw/_run_energy.R b/_energy/data-raw/_run_energy.R index 1cd6eff8..43c60cf5 100644 --- a/_energy/data-raw/_run_energy.R +++ b/_energy/data-raw/_run_energy.R @@ -15,12 +15,12 @@ source("_energy/data-raw/wisconsin_electricUtilities.R") # next, run processing for MN and WI activity data -source("_energy/data-raw/minnesota_natGas_ActivityAndEmissions.R") -source("_energy/data-raw/wisconsin_natGas_ActivityAndEmissions.R") +source("_energy/data-raw/minnesota_natGas_estimate_2005_and_2021.R") +source("_energy/data-raw/wisconsin_natGas_estimate_2005_and_2021.R") # finalize processing -source("_energy/data-raw/processed_mn_electricUtil_activityData.R") -source("_energy/data-raw/processed_wi_electricUtil_activityData.R") +source("_energy/data-raw/minnesota_elec_estimate_2005_and_2021.R") +source("_energy/data-raw/wisconsin_elec_estimate_2005_and_2021.R") source("_energy/data-raw/nrel_slope_energy.R") diff --git a/_energy/data-raw/processed_mn_electricUtil_activityData.R b/_energy/data-raw/minnesota_7610reporting_electricity.R similarity index 52% rename from _energy/data-raw/processed_mn_electricUtil_activityData.R rename to _energy/data-raw/minnesota_7610reporting_electricity.R index 7ed94449..1699e58f 100644 --- a/_energy/data-raw/processed_mn_electricUtil_activityData.R +++ b/_energy/data-raw/minnesota_7610reporting_electricity.R @@ -1,5 +1,4 @@ # Process all Minnesota electric utility activity data - source("R/_load_pkgs.R") source("_energy/data-raw/_energy_emissions_factors.R") @@ -8,86 +7,138 @@ source("_energy/data-raw/_energy_emissions_factors.R") # https://mn.gov/commerce/energy/industry-government/utilities/annual-reporting.jsp # based on the contents of MNutilities_in_scope$utility_name -# NOTE: Great River Energy, which supplies energy to many MN electric co-ops, -# reports their sales to the state and their reporting stands in for.... FILL IN -dir_mn_electricity <- here("_energy", "data-raw", "mn_utility_reporting") - -# Get list of Excel files in the directory -file_list <- list.files(path = dir_mn_electricity, pattern = "\\.xlsx$", full.names = TRUE) - -# Function to process each file and read the electricity delivered to each county by each utility -process_file <- function(file_path) { - utility_name <- tools::file_path_sans_ext(basename(file_path)) +#read in time series of eGRID emissions factor data and pivot wider to make one row per year with all three emission types +egridTimeSeries <- epa_ghg_factor_hub$egridTimeSeries %>% + pivot_wider(names_from = emission, values_from = value) + +# root directory with folders for each utility in scope (with each folder containing subfolders for all years which reporting to the state is available) +dir_mn_electricity_state <- here("_energy", "data-raw", "mn_elec_utility_reporting_state") + + +# Function to get file paths, utility names, and years of utility reports in root directory +get_files <- function(root_dir) { + file_info <- list() + + # Loop through each utility folder + utility_folders <- list.dirs(root_dir, recursive = FALSE) + for (utility_folder in utility_folders) { + utility_name <- basename(utility_folder) + + # Loop through each year sub-folder within each utility folder + year_folders <- list.dirs(utility_folder, recursive = FALSE) + for (year_folder in year_folders) { + year <- basename(year_folder) + + # Get list of Excel files in the year folder + files <- list.files(path = year_folder, pattern = "\\.xlsx$", full.names = TRUE) + + # Append each file path with utility and year information + for (file in files) { + file_info <- append(file_info, list(list(file_path = file, + utility_name = utility_name, + year = year))) + } + } + } + return(file_info) +} - # Read specific ranges from the file +# function to process the file associatedf with each utility-year combo and extract activity (mWh) at the utility-year-county granularity electricity data +process_file <- function(file_info) { + # Extract file path, utility name, and year from file_info (output nested list structure from get_files) + file_path <- file_info$file_path + utility_name <- file_info$utility_name + year <- file_info$year + + # Read specific ranges from each file data_A_C <- read_excel(file_path, sheet = "ElectricityByCounty", range = "A12:C56") data_E_G <- read_excel(file_path, sheet = "ElectricityByCounty", range = "E12:G53") - + # Rename columns colnames(data_A_C) <- c("countyCode", "county", "mWh_delivered") colnames(data_E_G) <- c("countyCode", "county", "mWh_delivered") - + # Combine the data from both ranges combined_data <- rbind(data_A_C, data_E_G) - - # Filter for specific counties + + # Filter for specific counties, and exclude county rows a given utility didn't operate in that year combined_data <- combined_data %>% filter(county %in% c( "Anoka", "Carver", "Dakota", "Hennepin", "Ramsey", "Scott", "Sherburne", "Chisago", "Washington" - )) - - # Add utility name + )) %>% + filter(!is.na(mWh_delivered)) + + # Add utility name and year columns combined_data$utility <- utility_name - + combined_data$year <- as.numeric(year) # Ensure year is numeric if needed + return(combined_data) } -# Process all files and combine the data -# NOTE -- North Branch data is from 2022, no 2021 data available +# Apply process_file to each file identified in get_files() in the nested structure and combine the results +file_list <- get_files(dir_mn_electricity_state) combined_MNelectUtil_activityData <- do.call(rbind, lapply(file_list, process_file)) -# manually add data from municipal utility financial reports -# Elk River -- 341,047.71 mWh delivered to customers in 2021, all goes to Sherburne county + +# manual data collection to fill in gaps for 2021 as needed + +# Elk River -- 341,047.71 mWh delivered to customers in 2021, all goes to Sherburne county (marginal amounts to Hennepin in other years) # source: pg 54 https://www.ermumn.com/application/files/3316/5668/9846/2021_Annual_Financial_Report.pdf -sherburneElkRiverMuni_mWh <- 341047.71 +sherburneElkRiverMuni_mWh_2021 <- 341047.71 combined_MNelectUtil_activityData <- combined_MNelectUtil_activityData %>% add_row( countyCode = 71, county = "Sherburne", - mWh_delivered = sherburneElkRiverMuni_mWh, - utility = "ElkRiverMunicipalUtilities" + mWh_delivered = sherburneElkRiverMuni_mWh_2021, + utility = "Elk River Municipal Utilities", + year = 2021 ) # New Prague Utilities -- 69,291.725 mWh delivered to customers in 2021, # source: pg 18 https://www.ci.new-prague.mn.us/vertical/sites/%7BAD7ECB62-2C5E-4BA0-8F19-1426026AFA3E%7D/uploads/01-24-2022_Utilities_Commission_Meeting_Packet.pdf -# New Prague (Scott County portion) at 2020 census: 4706 (source: https://metrocouncil.org/Data-and-Maps/Publications-And-Resources/Files-and-reports/2022-Final-Population-Estimates-(PDF).aspx); total New Prague, MN pop is 8,162, per 2020 decennial Census -scottProp <- 4706 / 8162 -scottNewPragueMuni_mWh <- scottProp * 69291.725 + +scottProp <- 45972 / 65674 +scottNewPragueMuni_mWh_2021 <- scottProp * 69291.725 combined_MNelectUtil_activityData <- combined_MNelectUtil_activityData %>% add_row( countyCode = 70, county = "Scott", - mWh_delivered = scottNewPragueMuni_mWh, - utility = "NewPragueUtilitiesCommission" + mWh_delivered = scottNewPragueMuni_mWh_2021, + utility = "New Prague Utilities Commission", + year = 2021 ) # Assuming each row in mn_electricity_data represents a utility's electricity delivery in a county, # process and merge data -- this will be a separate data collection process spanning excel reports submitted to state processed_mn_elecUtil_activityData <- combined_MNelectUtil_activityData %>% + left_join(egridTimeSeries, + by = join_by(year == Year) + ) %>% + # temporary, when eGRID 2023 is release 01/2025 this will be removed. + filter(year != 2023) %>% mutate( - CO2_emissions = mWh_delivered * eGRID_MROW_emissionsFactor_CO2, - CH4_emissions = mWh_delivered * eGRID_MROW_emissionsFactor_CH4, - N2O_emissions = mWh_delivered * eGRID_MROW_emissionsFactor_N2O - ) + CO2_emissions = mWh_delivered * `lb CO2`, + CH4_emissions = mWh_delivered * `lb CH4`, + N2O_emissions = mWh_delivered * `lb N2O` + ) %>% + # get rid of unnecessary columns from eGRID factor tables + select(-eGrid_Subregion, + -factor_type, + -per_unit, + factor_source = Source, + -`lb CO2`, + -`lb CH4`, + -`lb N2O`) MNcounty_level_electricity_emissions <- processed_mn_elecUtil_activityData %>% - group_by(county) %>% + group_by(year, county) %>% summarise( + total_mWh_delivered = sum(mWh_delivered, na.rm = TRUE), total_CO2_emissions_lbs = sum(CO2_emissions, na.rm = TRUE), total_CO2_emissions_tons = total_CO2_emissions_lbs / 2000, total_CH4_emissions_lbs = sum(CH4_emissions, na.rm = TRUE), @@ -106,22 +157,22 @@ MNcounty_level_electricity_emissions <- processed_mn_elecUtil_activityData %>% units::set_units("metric_ton") %>% as.numeric() ) %>% + ungroup() %>% mutate( state = "MN", - sector = "Electricity", - year = 2021 + sector = "Electricity" ) write_rds(processed_mn_elecUtil_activityData, here("_energy", "data", "minnesota_elecUtils_ActivityAndEmissions.RDS")) -write_rds(MNcounty_level_electricity_emissions, here("_energy", "data", "minnesota_county_ElecEmissions.RDS")) +write_rds(MNcounty_level_electricity_emissions, here("_energy", "data", "minnesota_county_elec_ActivityAndEmissions.RDS")) + +# OUT OF DATE -- written for just 2021 # compare numbers we obtained to downscaled EIA numbers # read in EIA state estimate (mWh) for MN -- https://www.eia.gov/electricity/state/archive/2021/minnesota/ - EIA_MN_elecRetailEst_mWh <- 66589168 - MN_currentCounty_deliveries <- read_rds(here( "_energy", "data", @@ -134,18 +185,17 @@ downscaleEIA_MN_electricRetail <- read_rds(here( "data", "cprg_county_proportions.RDS" )) %>% - filter(STATE == "Minnesota" & + filter(state_name == "Minnesota" & population_data_source == "Decennial Census PL 94-171 Redistricting Data Summary File") %>% - select(GEOID, county = name, county_proportion_of_state_pop) %>% + select(geoid, county_name, county_proportion_of_state_pop) %>% mutate( downscaled_EIA_total_CO2e_emissions_lbs = EIA_MN_elecRetailEst_mWh * county_proportion_of_state_pop * 1003.1, state = "MN" ) %>% left_join(MN_currentCounty_deliveries, - by = "county" - ) %>% - rename(county_name = county) + by = join_by("county_name" == "county") + ) write_rds(downscaleEIA_MN_electricRetail, here( "_energy", diff --git a/_energy/data-raw/minnesota_electricUtilities.R b/_energy/data-raw/minnesota_electricUtilities.R index 6f3a3bff..b2470acc 100644 --- a/_energy/data-raw/minnesota_electricUtilities.R +++ b/_energy/data-raw/minnesota_electricUtilities.R @@ -2,8 +2,7 @@ source("R/_load_pkgs.R") mn_counties <- read_rds("_meta/data/cprg_county.RDS") %>% - select(STATEFP, COUNTYFP, GEOID, NAME, NAMELSAD, geometry) %>% - filter(STATEFP == 27) + filter(statefp == 27) # Downloaded from https://gisdata.mn.gov/dataset/util-eusa. Minnesota provides @@ -23,16 +22,19 @@ mn_counties <- st_transform(mn_counties, st_crs(mn_elecUtils)) # identify utilities that operate in study area MNutilities_in_scope <- st_intersection(mn_elecUtils, mn_counties) %>% select( - comments, type, street, city, state, zip, website, mpuc_name, - mn_utility, eia_utilit, NAME, NAMELSAD, geometry + comments, municipal, type, street, city, state, zip, website, mpuc_name, + mn_utility, eia_utilit, county_name_full, county_name, state_name, statefp, geometry ) %>% rename( - utility_name = mpuc_name, utility_type = type, - mn_utility_id = mn_utility, county_name = NAME, county = NAMELSAD + utility_type = type, + eia_utility = eia_utilit, + county_name = county_name_full, + county = county_name, + mn_utility_id = mn_utility ) distinct_util_type_MN <- MNutilities_in_scope %>% - distinct(utility_name, utility_type) + distinct(mpuc_name, utility_type) write_rds(mn_elecUtils, here( "_energy", diff --git a/_energy/data-raw/minnesota_natGas_ActivityAndEmissions.R b/_energy/data-raw/minnesota_natGas_estimate_2005_and_2021.R similarity index 100% rename from _energy/data-raw/minnesota_natGas_ActivityAndEmissions.R rename to _energy/data-raw/minnesota_natGas_estimate_2005_and_2021.R diff --git a/_energy/data-raw/minnesota_xcelCommunityReports_electricity.R b/_energy/data-raw/minnesota_xcelCommunityReports_electricity.R new file mode 100644 index 00000000..2969b3bd --- /dev/null +++ b/_energy/data-raw/minnesota_xcelCommunityReports_electricity.R @@ -0,0 +1,222 @@ +# Process Xcel Community Reports data +source("R/_load_pkgs.R") +source("_energy/data-raw/_energy_emissions_factors.R") + + +#read in time series of eGRID emissions factor data and pivot wider to make one row per year with all three emission types +egridTimeSeries <- epa_ghg_factor_hub$egridTimeSeries %>% + pivot_wider(names_from = emission, values_from = value) + +# root directory with folders for each utility in scope (with each folder containing subfolders for all years which reporting to the state is available) +dir_xcel_communityReports <- here("_energy", "data-raw", "xcel_community_reports") + + +extract_city_name <- function(file_path) { + # Read the first 3 rows of the Excel file + data <- read_excel(file_path, range = cell_rows(1:3), col_names = FALSE) + + # Convert the data to a character matrix for easier searching + data_char <- as.matrix(data) + + # Process row 2 (Excel row 3) + row2 <- data_char[2, ] # Index 2 since R indexes rows starting at 1 + + # Loop through each cell in row 2 to find 'Community' + for (i in seq_along(row2)) { + cell_content <- row2[i] + if (!is.na(cell_content) && grepl('Community', cell_content, ignore.case = TRUE)) { + # Case 1: City name is in the same cell + if (grepl('Community[:]?\\s*.+', cell_content, ignore.case = TRUE)) { + city_name <- sub('.*Community[:]?\\s*', '', cell_content, ignore.case = TRUE) + city_name <- trimws(city_name) + if (city_name != "") return(city_name) + } + + # Case 2: City name is in the next cell(s) + for (j in (i + 1):length(row2)) { + next_cell <- row2[j] + if (!is.na(next_cell) && next_cell != "") { + city_name <- trimws(next_cell) + if (city_name != "") return(city_name) + } + } + } + } + + # Return NA if 'Community' not found or city name is empty + return(NA) +} + +# Function to get file paths, city names, and years of Xcel utility reports in root directory +get_files <- function(root_dir) { + file_info <- list() + + # Get list of year folders in root_dir (assuming folders are named as years) + year_folders <- list.dirs(root_dir, recursive = FALSE) + + # Loop through each year folder + for (year_folder in year_folders) { + year <- basename(year_folder) + + # Get list of .xls files in the year folder + files <- list.files(path = year_folder, pattern = "\\.xls$", full.names = TRUE) + + # Loop through each file in the year folder + for (file in files) { + # Extract city name from the file + city_name <- extract_city_name(file) + + # Append the file information to the list + file_info <- append(file_info, list(list( + file_path = file, + city_name = unname(city_name), + year = as.numeric(year), + utility = 'Xcel Energy' + ))) + } + } + return(file_info) +} + +# Apply process_file to each file identified in get_files() in the nested structure and combine the results +file_list <- get_files(dir_xcel_communityReports) + + + +# function to dynamically read input from files until a stopping value is found +read_until_value <- function(file_path, sheet, start_cell, stop_value, columns) { + print(paste("Reading file:", file_path)) + + # Step 1: Read a broad range starting from the specified cell + start_row <- as.numeric(gsub("[A-Z]", "", start_cell)) # Extract the row number from start_cell + start_col <- gsub("[0-9]", "", start_cell) # Extract the column letter from start_cell + broad_range <- paste0(start_col, start_row, ":", columns, start_row + 10) # Read 10 rows initially + print(paste("Broad range:", broad_range)) + + # Read the broad range + data_broad <- read_excel(file_path, sheet = sheet, range = broad_range, col_names = FALSE) + print(data_broad) + + # Step 2: Locate the stopping value + stop_row_offset <- which(data_broad[[1]] == stop_value)[1] # Check the first column for stop_value + print(paste("Stop row offset:", stop_row_offset)) + + if (length(stop_row_offset) == 0) { + stop("Stopping value not found in the specified range.") + } + + # Step 3: Define the dynamic range + stop_row <- start_row + stop_row_offset - 2 # Adjust for Excel indexing and remove the total row + refined_range <- paste0(start_col, start_row, ":", columns, stop_row) + print(refined_range) + + # Step 4: Read the refined range + data <- read_excel(file_path, sheet = sheet, range = refined_range, col_names = TRUE) + print(data) + return(data) +} + +# function to process the file associated with each utility-year combo and extract activity (mWh) at the utility-year-county granularity electricity data +# years 2015 to 2019 have constant format -- 2020 adds more info about renewables and clean energy +process_file <- function(file_info, start_cell) { + # Extract file path, utility name, and year from file_info (output nested list structure from get_files) + file_path <- file_info$file_path + city_name <- file_info$city_name + utility <- file_info$utility + year <- file_info$year + + # Read in provided electricity sector data from each file and add file reference info + city_data <- read_until_value( + file_path = file_path, + sheet = "Standard Community Report", + start_cell = start_cell, + stop_value = "Total:", + columns = "H" # Read columns A to G + ) %>% + # clean up raw data -- rename columns as needed and drop unnecessary columns + select( + sector = Electricity, + kwh_delivered = `Energy Consumption (kWh)`, + util_reported_co2e = `Carbon Emissions (metric tons CO2) [6]` + ) %>% + mutate( + mWh_delivered = kwh_delivered / 1000, + city_name = city_name, + utility_name = utility, + year = year, + source = 'Electricity' + ) + + return(city_data) +} + + +# Apply process_file_2015_2019 to each file for years 2015-19 identified in get_files() in the nested structure and combine the results +file_list_2015_2019 <- Filter(function(x) x$year < 2020, file_list) +file_list_2020_2023 <- Filter(function(x) x$year > 2019, file_list) + +combined_Xcel_activityData_2015_2019 <- do.call( + rbind, + lapply(file_list_2015_2019, function(file_info) { + process_file(file_info, start_cell = "A20") + }) +) + +combined_Xcel_activityData_2020_2023 <- do.call( + rbind, + lapply(file_list_2020_2023, function(file_info) { + process_file(file_info, start_cell = "A39") + }) +) + + +#row bind two sets +Xcel_activityData_2015_2023 <- rbind(combined_Xcel_activityData_2015_2019, + combined_Xcel_activityData_2020_2023) %>% + mutate( + sector_mapped = case_when( + sector %in% c("Residential") ~ "Residential", + sector %in% c("Street Lighting - Non-Metered/Customer Owned", + "Street Lighting - Non-Metered/Xcel-Owned", + "Street Lighting - Metered") ~ "Commercial", # Map street lighting to Commercial + sector == "Industrial" ~ "Industrial", + sector == "Commercial" ~ "Commercial", + sector == "Business *" ~ "Business *", + sector == "Business" ~ "Business *", # Handle as disaggregation + TRUE ~ NA_character_ + ) + ) + +#remove interstitial dfs +rm(combined_Xcel_activityData_2015_2019) +rm(combined_Xcel_activityData_2020_2023) + +#address incongruent sectors + + +#join with CTU-county reference +cprg_county <- readRDS("_meta/data/cprg_county.RDS") +cprg_ctu <- readRDS("_meta/data/cprg_ctu.RDS") + + +# test that number of distinct city year combos = number of files +# highlight which files if any have NA value for city_name or year +testthat::test_that("Correct number of distinct city-year combos", { + + combinations <- lapply(file_list, function(x) { + c(city_name = x$city_name, year = x$year) + }) + + # Convert to a data frame for easier processing + combinations_df <- do.call(rbind, combinations) + + # Count unique combinations + unique_combinations <- nrow(unique(combinations_df)) + + + testthat::expect_equal( + length(file_list), + unique_combinations + ) +}) + diff --git a/_energy/data-raw/nrel_slope/nrel_emissions.RDS b/_energy/data-raw/nrel_slope/nrel_emissions.RDS index 3d8a940a..12d850a2 100644 Binary files a/_energy/data-raw/nrel_slope/nrel_emissions.RDS and b/_energy/data-raw/nrel_slope/nrel_emissions.RDS differ diff --git a/_energy/data-raw/nrel_slope/nrel_slope_proportions.RDS b/_energy/data-raw/nrel_slope/nrel_slope_proportions.RDS index 5e8b448d..698ce134 100644 Binary files a/_energy/data-raw/nrel_slope/nrel_slope_proportions.RDS and b/_energy/data-raw/nrel_slope/nrel_slope_proportions.RDS differ diff --git a/_energy/data-raw/nrel_slope_energy.R b/_energy/data-raw/nrel_slope_energy.R index 2e3c20ef..730d5e8d 100644 --- a/_energy/data-raw/nrel_slope_energy.R +++ b/_energy/data-raw/nrel_slope_energy.R @@ -1,7 +1,15 @@ source("R/_load_pkgs.R") source("_energy/data-raw/_energy_emissions_factors.R") source("R/plot_county_emissions.R") + +#add to lockfile once finalized +library(stringr) + cprg_county <- readRDS("_meta/data/cprg_county.RDS") +cprg_ctu <- readRDS("_meta/data/cprg_ctu.RDS") +mn_util_type <- readRDS("_energy/data/distinct_electricity_util_type_MN.RDS") +minnesota_elec_estimate_2021 <- readRDS("_energy/data/minnesota_elecUtils_ActivityAndEmissions_2021.RDS") + # NREL SLOPE energy consumption and expenditure data download, cleaning, and viz # 1 Mmbtu is 0.293071 MWH @@ -12,6 +20,15 @@ mmbtu_to_mwh <- 0.293071 # 1 mmbtu is 1 mcf mmbtu_to_mcf <- 1 +#have to grab activity vs. emissions, so that activity specifically can be parceled out +countyActivity <- minnesota_elec_estimate_2021 %>% + group_by(county) %>% + summarize( + mWh_delivered_county = sum(mWh_delivered, na.rm = TRUE) + ) %>% + ungroup() + +# if file doesn't already exist... # download from NREL directly download.file("https://gds-files.nrel.gov/slope/energy_consumption_expenditure_business_as_usual.zip", destfile = "_energy/data-raw/nrel_slope/energy_consumption_expenditure_business_as_usual.zip" @@ -20,41 +37,324 @@ unzip("_energy/data-raw/nrel_slope/energy_consumption_expenditure_business_as_us exdir = "_energy/data-raw/nrel_slope/" ) -# nrel_slope_city <- read.csv("_energy/data-raw/nrel_slope/energy_consumption_expenditure_business_as_usual_city.csv") %>% -# clean_names() -nrel_slope_county <- read.csv("_energy/data-raw/nrel_slope/energy_consumption_expenditure_business_as_usual_county.csv") %>% - clean_names() -# nrel_slope_state <- read.csv("_energy/data-raw/nrel_slope/energy_consumption_expenditure_business_as_usual_state.csv") %>% -# clean_names() -nrel_slope_cprg <- nrel_slope_county %>% +nrel_slope_cprg_county <- read.csv("_energy/data-raw/nrel_slope/energy_consumption_expenditure_business_as_usual_county.csv") %>% + clean_names() %>% inner_join(cprg_county, - by = c( - "state_name" = "STATE", - "county_name" = "NAME" + by = c( + "state_name", + "county_name" + ) + ) %>% + mutate(source = ifelse(source == "ng", "Natural gas", "Electricity")) %>% + select(-geometry) + +nrel_slope_cprg_city <- cprg_ctu %>% + left_join(read.csv("_energy/data-raw/nrel_slope/energy_consumption_expenditure_business_as_usual_city.csv") %>% + clean_names() %>% + mutate(city_name = str_replace_all(city_name, "St\\.", "Saint")), + by = c( + "state_name", + "ctu_name" = "city_name" + ) + ) %>% + + # Identify CTU_NAMEs that have both City and non-City classifications + group_by(ctu_name, state_name) %>% + mutate(has_city_class = any(ctu_class == 'CITY')) %>% + ungroup() %>% + + # If there's a City version of the same CTU_NAME, null out joined values for the non-City rows + mutate(across(c(sector, year, geography_id, source, consumption_mm_btu, expenditure_us_dollars), + ~ ifelse(ctu_class != 'CITY' & has_city_class, NA, .))) %>% + + # Clean up the source column as per original logic + mutate(source = ifelse(source == "ng", "Natural gas", "Electricity")) %>% + + # clean up unnecessary columns + select( + -has_city_class, + -geoid_wis + ) + + + +# Define the new columns +sectors <- c("commercial", "residential", "industrial") +sources <- c("Electricity", "Natural gas") + +# Create all combinations of sectors and sources +sector_source <- expand.grid(sector = sectors, source = sources) + + + +ctu_population_2021 <- readRDS("_meta/data/ctu_population.RDS") %>% + filter(inventory_year == 2021) %>% + left_join(cprg_county %>% select(geoid, county_name), by = 'geoid') + +# Only expand the dataset if sector and source columns do not exist +if (!("sector" %in% colnames(ctu_population_2021)) & !("source" %in% colnames(ctu_population_2021))) { + ctu_population_2021 <- ctu_population_2021 %>% + slice(rep(1:n(), each = 6)) %>% + bind_cols(sector_source %>% slice(rep(1:n(), times = nrow(ctu_population_2021)))) +} + + +# city-level + +# For city 2005... + + +#join county to city +nrel_slope_cprg_cityProps_County_2021 <- nrel_slope_cprg_city %>% + filter(year == 2021) %>% + left_join(nrel_slope_cprg_county, + by = c( + "county_name", + "state_name", + "sector" = "sector", + "year" = "year", + "source" = "source" + ) + ) %>% + filter(county_name %in% c('Anoka', 'Carver', 'Dakota', 'Hennepin', 'Ramsey', 'Scott', 'Washington')) %>% + select( + -cprg_area.x, + -cprg_area.y, + -gnis, + -geography_id.x, + -geography_id.y, + -county_name_full, + -state_geography_id.x, + -state_geography_id.y, + -state_abb.x, + -state_abb.y, + -statefp.x, + -statefp.y + ) %>% + rename( + city_consumption_mm_btu = consumption_mm_btu.x, + county_consumption_mm_btu = consumption_mm_btu.y, + city_expenditure_usd = expenditure_us_dollars.x, + county_expenditure_usd = expenditure_us_dollars.y + ) %>% + mutate( + cityPropOfCounty_consumption_mm_btu = city_consumption_mm_btu / county_consumption_mm_btu, + cityPropOfCounty_expenditure_usd = city_expenditure_usd / county_expenditure_usd + ) %>% + st_drop_geometry() + + +nrel_AllCityTownships_county_activityPopProp_reference <- nrel_slope_cprg_cityProps_County_2021 %>% + full_join(ctu_population_2021, + by = join_by('ctu_name', + 'ctu_class', + 'county_name', + 'sector', + 'source') + ) %>% + select(-geoid.x, + -geoid.y + ) %>% + mutate( + cityConsumption_countyPopDownscaled_mmbtu = county_consumption_mm_btu * ctu_proportion_of_county_pop, + state_name = "Minnesota" + ) + + +nrel_emissions_inv_cityQA_2021 <- bind_rows( + # electricity emissions + nrel_AllCityTownships_county_activityPopProp_reference %>% + filter(source == "Electricity") %>% + rowwise() %>% + mutate( + # convert mmbtu to Mwh + city_consumption_mwh = city_consumption_mm_btu * mmbtu_to_mwh, + cityPopDownscaled_consumption_mwh = cityConsumption_countyPopDownscaled_mmbtu * mmbtu_to_mwh, + county_consumption_mwh = county_consumption_mm_btu * mmbtu_to_mwh, + # apply emission factor and convert to metric tons + co2_city = (city_consumption_mwh * eGRID_MROW_emissionsFactor_CO2_2021) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + ch4_city = (city_consumption_mwh * eGRID_MROW_emissionsFactor_CH4_2021) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + n2o_city = (city_consumption_mwh * eGRID_MROW_emissionsFactor_N2O_2021) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + co2e_city = + co2_city + + (ch4_city * gwp$n2o) + + (n2o_city * gwp$n2o), + co2_cityPopDownscaled = (cityPopDownscaled_consumption_mwh * eGRID_MROW_emissionsFactor_CO2_2021) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + ch4_cityPopDownscaled = (cityPopDownscaled_consumption_mwh * eGRID_MROW_emissionsFactor_CH4_2021) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + n2o_cityPopDownscaled = (cityPopDownscaled_consumption_mwh * eGRID_MROW_emissionsFactor_N2O_2021) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + co2e_cityPopDownscaled = + co2_cityPopDownscaled + + (ch4_cityPopDownscaled * gwp$n2o) + + (n2o_cityPopDownscaled * gwp$n2o), + co2_county = (county_consumption_mwh * eGRID_MROW_emissionsFactor_CO2_2021) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + ch4_county = (county_consumption_mwh * eGRID_MROW_emissionsFactor_CH4_2021) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + n2o_county = (county_consumption_mwh * eGRID_MROW_emissionsFactor_N2O_2021) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + co2e_county = + co2_county + + (ch4_county * gwp$n2o) + + (n2o_county * gwp$n2o) + ), + # natural gas emissions + nrel_AllCityTownships_county_activityPopProp_reference %>% + filter(source == "Natural gas") %>% + rowwise() %>% + mutate( + # convert mmbtu to mcf + city_consumption_mcf = city_consumption_mm_btu * mmbtu_to_mcf, + cityPopDownscaled_consumption_mcf = cityConsumption_countyPopDownscaled_mmbtu * mmbtu_to_mcf, + county_consumption_mcf = county_consumption_mm_btu * mmbtu_to_mcf, + # apply emission factor and convert to metric tons + co2_city = (city_consumption_mcf * epa_emissionsHub_naturalGas_factor_lbsCO2_perMCF) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + ch4_city = (city_consumption_mcf * epa_emissionsHub_naturalGas_factor_lbsCH4_perMCF) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + n2o_city = (city_consumption_mcf * epa_emissionsHub_naturalGas_factor_lbsN2O_perMCF) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + co2e_city = + co2_city + + (ch4_city * gwp$n2o) + + (n2o_city * gwp$n2o), + co2_cityPopDownscaled = (cityPopDownscaled_consumption_mcf * epa_emissionsHub_naturalGas_factor_lbsCO2_perMCF) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + ch4_cityPopDownscaled = (cityPopDownscaled_consumption_mcf * epa_emissionsHub_naturalGas_factor_lbsCH4_perMCF) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + n2o_cityPopDownscaled = (cityPopDownscaled_consumption_mcf * epa_emissionsHub_naturalGas_factor_lbsN2O_perMCF) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + co2e_cityPopDownscaled = + co2_cityPopDownscaled + + (ch4_cityPopDownscaled * gwp$n2o) + + (n2o_cityPopDownscaled * gwp$n2o), + co2_county = (county_consumption_mcf * epa_emissionsHub_naturalGas_factor_lbsCO2_perMCF) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + ch4_county = (county_consumption_mcf * epa_emissionsHub_naturalGas_factor_lbsCH4_perMCF) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + n2o_county = (county_consumption_mcf * epa_emissionsHub_naturalGas_factor_lbsN2O_perMCF) %>% + units::as_units("lb") %>% + units::set_units("ton") %>% + as.numeric(), + co2e_county = + co2_county + + (ch4_county * gwp$n2o) + + (n2o_county * gwp$n2o) ) +) %>% + mutate( + category = ifelse(sector == "residential", "Residential", "Non-residential"), + sector_raw = sector, + sector = "Energy" + ) + +saveRDS(nrel_emissions_inv_cityQA_2021, "_energy/data-raw/nrel_slope/nrel_emissions_inv_cityQA_2021.RDS") +#compare city figures 1) provided directly by NREL to 2) those downscaled from county figures provided by NREL using CTU pop proportion of county populations + + +countySummary_nrelCity <- nrel_slope_cprg_cityProps_County_2021 %>% + st_drop_geometry() %>% + group_by(county_name, sector, source) %>% + summarize( + sectorSource_accountedByCities = sum(cityPropOfCounty_consumption_mm_btu), + sectorSource_consumptionToteCities = sum(city_consumption_mm_btu), + countyTotalConsumption = max(county_consumption_mm_btu), + .groups = 'keep' ) %>% - filter(year < 2025) %>% - mutate(source = ifelse(source == "ng", "Natural gas", "Electricity")) + mutate( + QA_calc = sectorSource_consumptionToteCities / countyTotalConsumption + ) + #city-source-sector prop of county-source-sector emissions + +# issues to address +# double counting of cities across counties.. +# removing portions of cities from city total that don't exist within the county study area JUST FOR calculation of proportions... + + + + + + +#join to pop and pop prop table... use to infill townships/towns/villages? + + + + + +#For city 2021, use NREL-forecasted city proportion of forecasted COUNTY total emissions to allocate actual emissions gathered at county level (Separate from NREL) +# and then use to allocate city level forecast PROPORTIONS to allocate to sectors +# do projected activity-emissions at city-sector lefvel add up? a test to write. + + +# calculate activity/emissions reported by NREL SLOPE at COUNTY level that AREN'T REPORTED at city level. + +# use population numbers and weighted per capita to fill in emissions estimations at city level for those cities that NREL SLOPE doesn't directly provide. + + +# nrel_slope_state <- read.csv("_energy/data-raw/nrel_slope/energy_consumption_expenditure_business_as_usual_state.csv") %>% +# clean_names() + -nrel_emissions <- bind_rows( +nrel_emissions_inv_county <- bind_rows( # electricity emissions - nrel_slope_cprg %>% + nrel_slope_cprg_county %>% + #Emission INVENTORY is < 2025, forecasts is >= 2025 + filter(year < 2025) %>% filter(source == "Electricity") %>% rowwise() %>% mutate( # convert mmbtu to Mwh consumption_mwh = consumption_mm_btu * mmbtu_to_mwh, # apply emission factor and convert to metric tons - co2 = (consumption_mwh * eGRID_MROW_emissionsFactor_CO2) %>% + co2 = (consumption_mwh * eGRID_MROW_emissionsFactor_CO2_2021) %>% units::as_units("lb") %>% units::set_units("ton") %>% as.numeric(), - ch4 = (consumption_mwh * eGRID_MROW_emissionsFactor_CH4) %>% + ch4 = (consumption_mwh * eGRID_MROW_emissionsFactor_CH4_2021) %>% units::as_units("lb") %>% units::set_units("ton") %>% as.numeric(), - n2o = (consumption_mwh * eGRID_MROW_emissionsFactor_N2O) %>% + n2o = (consumption_mwh * eGRID_MROW_emissionsFactor_N2O_2021) %>% units::as_units("lb") %>% units::set_units("ton") %>% as.numeric(), @@ -64,7 +364,7 @@ nrel_emissions <- bind_rows( (n2o * gwp$n2o) ), # natural gas emissions - nrel_slope_cprg %>% + nrel_slope_cprg_county %>% filter(source == "Natural gas") %>% rowwise() %>% mutate( @@ -96,7 +396,7 @@ nrel_emissions <- bind_rows( ) # find county proportions by year and source -nrel_emissions_region <- nrel_emissions %>% +nrel_emissions_region <- nrel_emissions_inv_county %>% group_by(year, sector, sector_raw, category, source) %>% summarize( consumption_mm_btu = sum(consumption_mm_btu), @@ -121,7 +421,7 @@ nrel_emissions_region %>% # ) -nrel_slope_proportions <- nrel_emissions %>% +nrel_slope_proportions <- nrel_emissions_inv_county %>% group_by(county_name, year, source) %>% select(county_name, year, source, sector_raw, co2e) %>% pivot_wider( @@ -141,7 +441,7 @@ nrel_slope_proportions <- nrel_emissions %>% mutate(county = county_name) %>% select(-total, -county_name) -saveRDS(nrel_emissions, "_energy/data-raw/nrel_slope/nrel_emissions.RDS") +saveRDS(nrel_emissions_inv_county, "_energy/data-raw/nrel_slope/nrel_emissions_inv_county.RDS") saveRDS(nrel_slope_proportions, "_energy/data-raw/nrel_slope/nrel_slope_proportions.RDS") # plot_ly( diff --git a/_energy/data-raw/nrel_slope_forecasts_2025_to_2050.R b/_energy/data-raw/nrel_slope_forecasts_2025_to_2050.R new file mode 100644 index 00000000..ba99cfd5 --- /dev/null +++ b/_energy/data-raw/nrel_slope_forecasts_2025_to_2050.R @@ -0,0 +1,33 @@ +source("R/_load_pkgs.R") +cprg_county <- readRDS("_meta/data/cprg_county.RDS") + + + +# download county file from NREL directly +download.file("https://gds-files.nrel.gov/slope/energy_consumption_expenditure_business_as_usual.zip", + destfile = "_energy/data-raw/nrel_slope/energy_consumption_expenditure_business_as_usual_county.zip" +) +unzip("_energy/data-raw/nrel_slope/energy_consumption_expenditure_business_as_usual.zip", + exdir = "_energy/data-raw/nrel_slope/" +) + + + +nrelSlope_countyForecasts <- read.csv(here("_energy", + "data-raw", + "nrel_slope", + "energy_consumption_expenditure_business_as_usual_county.csv") +) %>% + filter(County.Name %in% cprg_county$NAME + & State.Name %in% c("Minnesota", "Wisconsin") + & Year > 2024) + + +#filters +nrelSlope_cityForecasts <- read.csv(here("_energy", + "data-raw", + "nrel_slope", + "energy_consumption_expenditure_business_as_usual_city.csv") +) %>% + filter(State.Name %in% c("Minnesota", "Wisconsin") + & Year > 2024) diff --git a/_energy/data-raw/sectorWeights2005.R b/_energy/data-raw/sectorWeights2005.R new file mode 100644 index 00000000..3fefa996 --- /dev/null +++ b/_energy/data-raw/sectorWeights2005.R @@ -0,0 +1,140 @@ +source("R/_load_pkgs.R") + +# MN +# 2005 + +# STATE LEVEL residential, commercial, industrial (industrial + farm) proportions BY utility type + +MN_elecUtils_2005 <- read_rds(here("_energy", + "data", + "distinct_electricity_util_type_MN.RDS")) + +#add flag for municipal + +#add flag for Great River Energy + + +#use municipal utility numbers by sector in 2005 and 2021 to compare against NREL-forecasted numbers. (and maybe estiamte farm/industrial breakdown?) + +mn_elecUtils_2005_consumptionBySector <- MN_elecUtils_2005 %>% + mutate( + year = 2005, + unit = "mwh", + #reported as "non-farm residential" + res_consumption = case_when( + utility_name == "Connexus Energy" ~ 1145680, + utility_name == "Dakota Electric Assn" ~ 930505, + utility_name == "East Central Energy" ~ 490578, + utility_name == "Goodhue County Coop Electric Assn" ~ 28359, + utility_name == "McLeod Coop Power Assn" ~ 0, #check definition of farm vs industrial... + utility_name == "Minnesota Valley Electric Coop" ~ 367542, + utility_name == "Stearns Coop Electric Assn" ~ 189249, + utility_name == "Wright-Hennepin Coop Electric Assn" ~ 381234, + utility_name == "Xcel Energy" ~ 8841946, + utility_name == "City of Anoka" ~ 79324, + utility_name == "City of Chaska" ~ 73421, + utility_name == "City of North St Paul" ~ 44195, + utility_name == "Delano Municipal Utilities" ~ 15585, + utility_name == "Elk River Municipal Utilities" ~ 71382, + utility_name == "New Prague Utilities Commission" ~ 16392, + utility_name == "North Branch Municipal Water & Light" ~ 11966, + utility_name == "Princeton Public Utilities" ~ 16297, + utility_name == "Shakopee Public Utilities" ~ 13377, + TRUE ~ NA_real_ + ), + #reported as "commercial" + com_consumption = case_when( + utility_name == "Connexus Energy" ~ 664655, + utility_name == "Dakota Electric Assn" ~ 62921, + utility_name == "East Central Energy" ~ 235498, + utility_name == "Goodhue County Coop Electric Assn" ~ 3229, + utility_name == "McLeod Coop Power Assn" ~ 12063, + utility_name == "Minnesota Valley Electric Coop" ~ 235766, + utility_name == "Stearns Coop Electric Assn" ~ 62547, + utility_name == "Wright-Hennepin Coop Electric Assn" ~ 235607, + utility_name == "Xcel Energy" ~ 14482254, + utility_name == "City of Anoka" ~ 87893, + utility_name == "City of Chaska" ~ 19355, + utility_name == "City of North St Paul" ~ 33252, + utility_name == "Delano Municipal Utilities" ~ 4603, + utility_name == "Elk River Municipal Utilities" ~ 21916, + utility_name == "New Prague Utilities Commission" ~ 20219, # Used Statewide breakdown to allocate remainder after actual reported figure + utility_name == "North Branch Municipal Water & Light" ~ 12926, + utility_name == "Princeton Public Utilities" ~ 14093, + utility_name == "Shakopee Public Utilities" ~ 873, + TRUE ~ NA_real_ + ), + #Includes values reported as "farm" and "industrial" + #assumption is that residential energy use is massively outnumbered by farm "productive" uses + farm_consumption = case_when( + utility_name == "Connexus Energy" ~ 7988, + utility_name == "Dakota Electric Assn" ~ 9885, + utility_name == "East Central Energy" ~ 3343, + utility_name == "Goodhue County Coop Electric Assn" ~ 50532, + utility_name == "McLeod Coop Power Assn" ~ 104879, + utility_name == "Minnesota Valley Electric Coop" ~ 0, + utility_name == "Stearns Coop Electric Assn" ~ 131462, + utility_name == "Wright-Hennepin Coop Electric Assn" ~ 48814, + utility_name == "Xcel Energy" ~ 0, + utility_name == "City of Anoka" ~ 0, + utility_name == "City of Chaska" ~ 0, + utility_name == "City of North St Paul" ~ 0, + utility_name == "Delano Municipal Utilities" ~ 0, + utility_name == "Elk River Municipal Utilities" ~ 203, + utility_name == "New Prague Utilities Commission" ~ 0, + utility_name == "North Branch Municipal Water & Light" ~ 0, + utility_name == "Princeton Public Utilities" ~ 0, + utility_name == "Shakopee Public Utilities" ~ 29, + TRUE ~ NA_real_ + ), + ind_consumption = case_when( + utility_name == "Connexus Energy" ~ 121961, + utility_name == "Dakota Electric Assn" ~ 791563, + utility_name == "East Central Energy" ~ 114731, + utility_name == "Goodhue County Coop Electric Assn" ~ 1115, + utility_name == "McLeod Coop Power Assn" ~ 44438, + utility_name == "Minnesota Valley Electric Coop" ~ 0, + utility_name == "Stearns Coop Electric Assn" ~ 20263, + utility_name == "Wright-Hennepin Coop Electric Assn" ~ 68717, + utility_name == "Xcel Energy" ~ 8993804, + utility_name == "City of Anoka" ~ 98114, + utility_name == "City of Chaska" ~ 193934, + utility_name == "City of North St Paul" ~ 0, + utility_name == "Delano Municipal Utilities" ~ 26746, + utility_name == "Elk River Municipal Utilities" ~ 89014, + utility_name == "New Prague Utilities Commission" ~ 21642, + utility_name == "North Branch Municipal Water & Light" ~ 4827, + utility_name == "Princeton Public Utilities" ~ 18055, + utility_name == "Shakopee Public Utilities" ~ 419, + TRUE ~ NA_real_ + ) + ) %>% + mutate( + indFarm_consumption = ind_consumption + farm_consumption + ) + + +#disaggregate farm to farm residential and farm industrial based on popualtion? + +# county x utility x countyPopulation x utilityPop x utilityProportionOfCountyPop (contribution to total) + + + + +# For city 2005... + + +#For city 2021, use NREL-forecasted city proportion of forecasted COUNTY total emissions to allocate actual emissions gathered at county level (Separate from NREL) +# and then use to allocate city level forecast PROPORTIONS to allocate to sectors +# do projected activity-emissions at city-sector lefvel add up? a test to write. + +# vector of res-commercial-industrial proportion in a utility --> assume that is THE mix for a given area... +# need to retain GRE subsidiary .shp + + +# based on population in utility service area... aggregate + + + + +# farm is residential or maybe 50-50? diff --git a/_energy/data-raw/processed_wi_electricUtil_activityData.R b/_energy/data-raw/wisconsin_elec_estimate_2005_and_2021.R similarity index 100% rename from _energy/data-raw/processed_wi_electricUtil_activityData.R rename to _energy/data-raw/wisconsin_elec_estimate_2005_and_2021.R diff --git a/_energy/data-raw/wisconsin_natGas_ActivityAndEmissions.R b/_energy/data-raw/wisconsin_natGas_estimate_2005_and_2021.R similarity index 100% rename from _energy/data-raw/wisconsin_natGas_ActivityAndEmissions.R rename to _energy/data-raw/wisconsin_natGas_estimate_2005_and_2021.R diff --git a/_energy/data/MN_electricity_inScope_utilityCountyPairs.RDS b/_energy/data/MN_electricity_inScope_utilityCountyPairs.RDS index 8715dfd8..0b6a9d99 100644 Binary files a/_energy/data/MN_electricity_inScope_utilityCountyPairs.RDS and b/_energy/data/MN_electricity_inScope_utilityCountyPairs.RDS differ diff --git a/_energy/data/distinct_electricity_util_type_MN.RDS b/_energy/data/distinct_electricity_util_type_MN.RDS index dc4b424a..7964edb6 100644 Binary files a/_energy/data/distinct_electricity_util_type_MN.RDS and b/_energy/data/distinct_electricity_util_type_MN.RDS differ diff --git a/_energy/data/electric_natgas_nrel_proportioned.RDS b/_energy/data/electric_natgas_nrel_proportioned.RDS index cbe0fd8a..9ea29562 100644 Binary files a/_energy/data/electric_natgas_nrel_proportioned.RDS and b/_energy/data/electric_natgas_nrel_proportioned.RDS differ diff --git a/_energy/data/minnesota_QA_versusEIAStateProfile.RDS b/_energy/data/minnesota_QA_versusEIAStateProfile.RDS index a0ee42f7..745d91df 100644 Binary files a/_energy/data/minnesota_QA_versusEIAStateProfile.RDS and b/_energy/data/minnesota_QA_versusEIAStateProfile.RDS differ diff --git a/_energy/data/minnesota_county_ElecEmissions.RDS b/_energy/data/minnesota_county_ElecEmissions.RDS index 9635ffe9..23cb6357 100644 Binary files a/_energy/data/minnesota_county_ElecEmissions.RDS and b/_energy/data/minnesota_county_ElecEmissions.RDS differ diff --git a/_energy/data/minnesota_county_ElecEmissions_2021.RDS b/_energy/data/minnesota_county_ElecEmissions_2021.RDS new file mode 100644 index 00000000..9635ffe9 Binary files /dev/null and b/_energy/data/minnesota_county_ElecEmissions_2021.RDS differ diff --git a/_energy/data/minnesota_county_elec_ActivityAndEmissions.RDS b/_energy/data/minnesota_county_elec_ActivityAndEmissions.RDS new file mode 100644 index 00000000..27839222 Binary files /dev/null and b/_energy/data/minnesota_county_elec_ActivityAndEmissions.RDS differ diff --git a/_energy/data/minnesota_elecUtils_ActivityAndEmissions.RDS b/_energy/data/minnesota_elecUtils_ActivityAndEmissions.RDS index e327c424..3c8907a8 100644 Binary files a/_energy/data/minnesota_elecUtils_ActivityAndEmissions.RDS and b/_energy/data/minnesota_elecUtils_ActivityAndEmissions.RDS differ diff --git a/_energy/data/minnesota_elecUtils_ActivityAndEmissions_2021.RDS b/_energy/data/minnesota_elecUtils_ActivityAndEmissions_2021.RDS new file mode 100644 index 00000000..e327c424 Binary files /dev/null and b/_energy/data/minnesota_elecUtils_ActivityAndEmissions_2021.RDS differ diff --git a/_industrial/data-raw/compare_mpca_ghgrp_facilities.R b/_industrial/data-raw/compare_mpca_ghgrp_facilities.R new file mode 100644 index 00000000..392c530f --- /dev/null +++ b/_industrial/data-raw/compare_mpca_ghgrp_facilities.R @@ -0,0 +1,77 @@ +##### look for commonality in MPCA dataset and GHGRP data + +mpca_emissions <- readRDS(file.path(here::here(), "_industrial/data/mpca_fuel_emissions.RDS")) %>% + filter(sector == "Industrial") %>% + mutate(facility_match = str_to_title(source_name)) +ghgrp_emissions <- readRDS(file.path(here::here(), "_industrial/data/ghgrp_industrial_point_sources_ctu.rds")) %>% + mutate(facility_match = str_to_title(facility_name)) + +library(fuzzyjoin) +library(stringdist) + + +# Create a function for fuzzy matching within subsets +fuzzy_match_within <- function(facility_subset, source_subset) { + # Extract names for the subset + ghgrp_facility <- unique(facility_subset$facility_match) + mpca_facility <- unique(source_subset$facility_match) + + # Compute pairwise distance matrix + distance_matrix <- stringdistmatrix(ghgrp_facility, mpca_facility, method = "jw") + + # Find the best match for each facility_name + best_matches <- apply(distance_matrix, 1, function(row) { + best_index <- which.min(row) # Index of the smallest distance + list( + mpca_facility = mpca_facility[best_index], + match_quality = row[best_index] + ) + }) + + # Return a data frame for this subset + tibble( + ghgrp_facility = ghgrp_facility, + mpca_facility = sapply(best_matches, function(x) x$mpca_facility), + match_quality = sapply(best_matches, function(x) x$match_quality), + #naics = unique(facility_subset$primary_naics_code), + city_name = unique(facility_subset$city_name) + ) +} + +# Get unique combinations of NAICS and city_name from ghgrp_emissions +unique_combinations <- ghgrp_emissions %>% + distinct(primary_naics_code, city_name) %>% + rename(naics = primary_naics_code) + +# Initialize an empty results list +results <- list() + +# Loop through each unique combination +for (i in seq_len(nrow(unique_combinations))) { + combo <- unique_combinations[i, ] + + # Subset ghgrp_emissions and mpca_emissions by NAICS and city_name + facility_subset <- ghgrp_emissions %>% + filter(city_name == combo$city_name) + + source_subset <- mpca_emissions %>% + filter(ctu_name == combo$city_name) + + # Perform fuzzy matching if both subsets are non-empty + if (nrow(facility_subset) > 0 & nrow(source_subset) > 0) { + result <- fuzzy_match_within(facility_subset, source_subset) + results[[i]] <- result + } +} + +# Combine results into a single data frame +final_matches <- bind_rows(results) + +# Sort results by match_quality for review +final_matches <- final_matches %>% + arrange(match_quality) + +# View the matches +print(final_matches, n = 100) # Adjust as needed + +### lots of mismatches and issues here... diff --git a/_industrial/data-raw/compare_mpca_ghgrp_refinery_emissions.R b/_industrial/data-raw/compare_mpca_ghgrp_refinery_emissions.R new file mode 100644 index 00000000..cc69f7d2 --- /dev/null +++ b/_industrial/data-raw/compare_mpca_ghgrp_refinery_emissions.R @@ -0,0 +1,35 @@ +flight_emissions <- readRDS(file.path(here::here(), "_industrial/data/flight_industrial_point_sources_ctu.RDS")) +subpart_c_emissions <- readRDS(file.path(here::here(), "_industrial/data/fuel_combustion_emissions.RDS")) +mpca_emissions <- readRDS(file.path(here::here(), "_industrial/data/mpca_fuel_emissions.RDS")) %>% ungroup() + +fh_mpca <- mpca_emissions %>% filter(grepl("Flint Hills", source_name), ctu_name == "Rosemount") %>% + group_by(fuel_category, inventory_year) %>% + summarize(value_emissions = sum(value_emissions)) %>% + mutate(source = "MPCA", + fuel_category = if_else(fuel_category == "Other Fuels - Gaseous", + "Other", + fuel_category + )) + +fh_ghgrp <- subpart_c_emissions %>% filter(grepl("Flint Hills", facility_name)) %>% + group_by(general_fuel_type, reporting_year) %>% + summarize(value_emissions = sum(values_emissions)) %>% + mutate(source = "GHGRP") %>% + rename(inventory_year = reporting_year, fuel_category = general_fuel_type) + +fh_flight <- flight_emissions %>% filter(grepl("Flint Hills", facility_name)) + +# Combine the two datasets +fh_combined <- bind_rows(fh_mpca %>% filter(!grepl("Coal", fuel_category)), fh_ghgrp) + +# Create the bar chart +ggplot(fh_combined, aes(x = as.factor(inventory_year), y = value_emissions, fill = source)) + + geom_bar(stat = "identity", position = "dodge") + + facet_wrap(~fuel_category) + + labs( + title = "Comparison of Emissions Across Fuel Categories", + x = "Inventory Year", + y = "Value Emissions", + fill = "Fuel Category" + ) + + theme_minimal() diff --git a/_industrial/data-raw/compile_flight_industrial_point_sources.R b/_industrial/data-raw/compile_flight_industrial_point_sources.R new file mode 100644 index 00000000..2564b37e --- /dev/null +++ b/_industrial/data-raw/compile_flight_industrial_point_sources.R @@ -0,0 +1,126 @@ +#### Script to read in and process EPA GHG FLIGHT data +source("R/_load_pkgs.R") + +cprg_county <- readRDS("_meta/data/cprg_county.RDS") +cprg_ctu <- readRDS("_meta/data/cprg_ctu.RDS") + +### download flight data: https://ghgdata.epa.gov/ghgp/main.do +mn_flight <- read_excel(file.path(here::here(), "_industrial/data-raw/mn_flight.xls")) + + +#### There is no EPA flight records for Pierce or St. Croix counties in WI + +mn_flight <- lapply(as.character(2010:2022), function(year) { + read_excel(file.path(here::here(), "_industrial/data-raw/mn_flight.xls"), + sheet = year, + skip = 5) +}) %>% + bind_rows() %>% + clean_names() + +## clean county and city names and filter to our region +cprg_flight <- mn_flight %>% + mutate(county_name = str_to_sentence(gsub(" COUNTY", "", county_name)), + city_name = str_to_title(gsub("ST.", "SAINT",city_name, ignore.case = TRUE))) %>% + filter(county_name %in% cprg_county$county_name) + +cprg_flight %>% distinct(subparts) +# https://www.epa.gov/ghgreporting/resources-subpart-ghg-reporting +### key subparts to note here: +### D is electricity generation and should be discounted as it is inventoried elsewhere +### W is natural gas and petroleum systems. This is likely a large double count, though petroleum is only inventoried residentially +### HH is municipal solid waste landfills which is inventoried elsewhere +### TT is industrial waste landfills which are NOT inventoried elsewhere +cprg_flight %>% filter(grepl("R", subparts)) %>% distinct(facility_name) + +cprg_flight <- cprg_flight %>% +## DD is electric transmission and would be filtered if it were included here (it is not) + mutate(doublecount = if_else((grepl("D", subparts) | grepl("HH", subparts)), + "Yes", "No")) + +cprg_flight_out <- cprg_flight %>% + select(inventory_year = reporting_year, + ghgrp_id, + facility_name, + latitude, + longitude, + city_name, + county_name, + state, + value_emissions = ghg_quantity_metric_tons_co2e, + doublecount, + subparts) %>% + mutate(units_emissions = "Metric tons CO2e", + sector = "Industrial", + data_source = "EPA FLIGHT", + factor_source = "EPA FLIGHT (no direct gas data provied)") +### convert subparts to category/source at later date + + +cprg_flight_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "inventory_year", class(cprg_flight_out$inventory_year), "Year of survey", + "city_name", class(cprg_flight_out$city_name), "City name", + "county_name", class(cprg_flight_out$city_name), "County name", + "state", class(cprg_flight_out$state), "State name", + "ghgrp_id", class(cprg_flight_out$ghgrp_id), "Facility ID in GHG Reporting Program", + "facility_name", class(cprg_flight_out$facility_name), "Facility name", + "latitude", class(cprg_flight_out$latitude), "Latitude of industrial source", + "longitude", class(cprg_flight_out$longitude), "Longitude of industrial source", + "sector", class(cprg_flight_out$sector), "Emissions sector. One of Transportation, Energy, Waste, Nature, Agriculture", + # "category", class(cprg_flight_out$category), "Category of emissions within given sector", + # "source", class(cprg_flight_out$source), "Source of emissions. Most detailed sub-category in this table", + "data_source", class(cprg_flight_out$data_source), "Activity data source", + "factor_source", class(cprg_flight_out$factor_source), "Emissions factor data source", + "value_emissions", class(cprg_flight_out$value_emissions), "Numerical value of emissions", + "units_emissions", class(cprg_flight_out$units_emissions), "Units and gas type of emissions", + "doublecount", class(cprg_flight_out$doublecount), "Is this emission counted in another sector?", + "subparts", class(cprg_flight_out$subparts), "Subpart code for type of industrial facility" + ) + +saveRDS(cprg_flight_out, "./_industrial/data/flight_industrial_point_sources_ctu.rds") +saveRDS(cprg_flight_meta, "./_industrial/data/flight_industrial_point_sources_ctu_meta.rds") + +### summarize to the yearly county level while IDing doublecounts +flight_county_summary <- cprg_flight %>% + group_by(reporting_year, county_name, doublecount) %>% + summarize(co2e = sum(ghg_quantity_metric_tons_co2e)) %>% + left_join(., cprg_county %>% + select(county_name, geoid, state_name) %>% + st_drop_geometry())%>% + select(inventory_year = reporting_year, + county_name, + state_name, + value_emissions = co2e, + doublecount) %>% + mutate(units_emissions = "Metric tons CO2e", + sector = "Industrial", + data_source = "EPA FLIGHT", + factor_source = "EPA FLIGHT (no direct gas data provied)") + +### add meta table + +saveRDS(flight_county_summary, "./_agriculture/data/flight_industrial_point_sources_county.rds") + +ggplot(county_summary %>% + filter(doublecount == "No"), + aes(x = reporting_year, y = co2e, col = county_name)) + + geom_line() + theme_minimal() + +leaflet(cprg_flight %>% + filter(reporting_year == 2021, + doublecount == "No")) %>% + addProviderTiles(providers$CartoDB.Positron) %>% + addCircleMarkers( + lng = ~longitude, # Replace 'longitude' with your actual longitude column name + lat = ~latitude, # Replace 'latitude' with your actual latitude column name + radius = ~sqrt(ghg_quantity_metric_tons_co2e) / 70, # Scale bubble size by quantity + color = "blue", # Color of the bubbles + fillOpacity = 0.7, + popup = ~paste0( + "City: ", city_name, "
", + "Facility: ", facility_name, "
", + "GHG Quantity (Metric Tons): ", ghg_quantity_metric_tons_co2e + ) + ) diff --git a/_industrial/data-raw/compile_fuel_combustion.R b/_industrial/data-raw/compile_fuel_combustion.R new file mode 100644 index 00000000..dd50aefb --- /dev/null +++ b/_industrial/data-raw/compile_fuel_combustion.R @@ -0,0 +1,262 @@ +#### Script to read in and process EPA GHG FLIGHT data +source("R/_load_pkgs.R") + +cprg_county <- readRDS("_meta/data/cprg_county.RDS") +cprg_ctu <- readRDS("_meta/data/cprg_ctu.RDS") %>% + mutate(city_name = str_to_title(gsub("ST.", "Saint", ctu_name))) +industrial_hub <- readRDS("_meta/data/epa_ghg_factor_hub.RDS") %>% + extract2("industrial_combustion") %>% + clean_names() + + +### download emissions by fuel type data: https://www.epa.gov/ghgreporting/data-sets +ind_unit_data <- + read_excel(file.path(here::here(), + "_industrial/data-raw/emissions_by_unit_and_fuel_type_c_d_aa.xlsx"), + sheet = "UNIT_DATA", + skip = 6) %>% + clean_names() %>% + filter(state %in% c("MN","WI"), + #remove power plants and municipal waste (double-counting) + !grepl("D", industry_type_subparts), + !grepl("HH", industry_type_subparts), + !industry_type_sectors == "Power Plants")%>% + mutate(city_name = str_to_title(gsub("ST.", "Saint", city, ignore.case = TRUE))) %>% + inner_join(.,cprg_ctu %>% select(state_abb, city_name, county_name)%>% + st_drop_geometry(), + by= c("state" = "state_abb", "city_name")) + +ind_fuel_data <- read_excel(file.path(here::here(), "_industrial/data-raw/emissions_by_unit_and_fuel_type_c_d_aa.xlsx"), + sheet = "FUEL_DATA", + skip = 5) %>% + clean_names() %>% + filter(state %in% c("MN","WI"), + #remove power plants and municipal waste (doublecounting) + !grepl("D", industry_type_subparts), + !grepl("HH", industry_type_subparts), + !industry_type_sectors == "Power Plants") %>% + mutate(city_name = str_to_title(gsub("ST.", "Saint", city, ignore.case = TRUE))) %>% + inner_join(.,cprg_ctu %>% select(state_abb, city_name, county_name) %>% + st_drop_geometry(), + by= c("state" = "state_abb", "city_name")) + +#unique fuel types and matching to ghg factor hub + +unique(ind_fuel_data$specific_fuel_type) +unique(industrial_hub$fuel_type) + +ind_fuel_data %>% filter(!specific_fuel_type %in% industrial_hub$fuel_type ) %>% + distinct(specific_fuel_type) + +#only 5, manually changing them to match hub +ind_fuel_data <- ind_fuel_data %>% + mutate(corrected_fuel_type = case_when( + specific_fuel_type == "Natural Gas (Weighted U.S. Average)" ~ "Natural Gas", + specific_fuel_type == "Wood and Wood Residuals (dry basis)" ~ "Wood and Wood Residuals", + specific_fuel_type == "Coke" ~ "Coal Coke", + specific_fuel_type == "Liquefied petroleum gases (LPG)" ~ "Liquefied Petroleum Gases (LPG)", + specific_fuel_type == "Subbituminous" ~ "Sub-bituminous Coal", + TRUE ~ specific_fuel_type + )) + +### create conversion factors to back-translate CO2e to activity data + +industrial_hub <- industrial_hub %>% + # remove mmBtu - all fuels also have volume/weight + filter(per_unit != "mmBtu", + emission != "mmBtu") %>% + #convert to metric tons of gas + mutate(mt_gas = as.numeric(case_when( + grepl("CO2", emission) ~ value * units::as_units("kilogram") %>% + units::set_units("metric_ton"), + TRUE ~ value * units::as_units("gram") %>% + units::set_units("metric_ton") + ))) %>% + # convert to CO2e using IPCC 4 assessment values (consistent with EPA dataset not ours) + mutate(mt_co2e = case_when( + grepl("CH4", emission) ~ mt_gas * 25, + grepl("N2O", emission) ~ mt_gas * 298, + TRUE ~ mt_gas + )) %>% + # units per mt of co2e + mutate(unit_co2e = as.numeric(1/mt_co2e)) + +# create conversion table from ch4/n2o co2e to activity units +co2e_to_unit <- industrial_hub %>% + filter(fuel_type %in% ind_fuel_data$corrected_fuel_type, + !grepl("CO2",emission)) %>% + mutate(gas = gsub("g ", "", emission)) %>% + pivot_wider(id_cols = c(fuel_type, per_unit), + names_from = gas, + values_from = unit_co2e) + +### calculate the activity units of each unit's combustion by fuel type +ind_fuel_activity <- ind_fuel_data %>% + select(facility_id, facility_name,industry_type_subparts, + county_name, city_name, reporting_year, + unit_name, general_fuel_type, corrected_fuel_type, + fuel_methane_ch4_emissions_mt_co2e, + fuel_nitrous_oxide_n2o_emissions_mt_co2e) %>% + left_join(., co2e_to_unit, + by = c("corrected_fuel_type" = "fuel_type")) %>% + #back-calculating units from BOTH gases to compare + mutate(unit_ch4 = fuel_methane_ch4_emissions_mt_co2e * CH4, + unit_n2o = fuel_nitrous_oxide_n2o_emissions_mt_co2e * N2O) + +### How do ch4 and n2o units compare? +ggplot(ind_fuel_activity, aes(x = unit_ch4, y = unit_n2o)) + + geom_point() + + geom_abline (slope=1, linetype = "dashed", color="Red") + + facet_wrap(~per_unit, scales = 'free') +# looks good overall, very little disagreement, will take average unit btw gas calcs + +# arrange to back-back-calculate activity to all gas emissions (i.e. include co2) +unit_to_mt <- industrial_hub %>% + filter(fuel_type %in% ind_fuel_data$corrected_fuel_type) %>% + mutate(gas = sub(".*? ", "", emission)) %>% + pivot_wider(id_cols = c(fuel_type), + names_prefix = "mt_unit_", + names_from = gas, + values_from = mt_gas) + +# calculate each gas emission in specific gas MT and co2e MT +ind_fuel_emissions <- ind_fuel_activity %>% + left_join(., unit_to_mt, + by = c("corrected_fuel_type" = "fuel_type")) %>% + # average activities + mutate(avg_activity = (unit_ch4 + unit_n2o)/2) %>% + mutate(mt_co2 = avg_activity * mt_unit_CO2, + mt_co2_co2e = mt_co2, + mt_ch4 = avg_activity * mt_unit_CH4, + mt_ch4_co2e = mt_ch4 * 25, + mt_n2o = avg_activity * mt_unit_N2O, + mt_n2o_co2e = mt_n2o * 298) %>% + select(-c(fuel_methane_ch4_emissions_mt_co2e, + fuel_nitrous_oxide_n2o_emissions_mt_co2e, + per_unit, CH4, N2O, unit_ch4, unit_n2o, + mt_unit_CO2, mt_unit_CH4, mt_unit_N2O)) %>% + pivot_longer(cols = 10:15, + names_to = "units_emissions", + values_to = "values_emissions") + +unit_emissions <- ind_fuel_emissions %>% + filter(grepl("co2e", units_emissions)) %>% + group_by(reporting_year, facility_id, county_name, city_name, unit_name, + general_fuel_type, corrected_fuel_type) %>% + summarize(mt_co2e = sum(values_emissions)) + + unit_emissions %>% filter(corrected_fuel_type == "Natural Gas") %>% + group_by(reporting_year) %>% summarize(mt_co2e = sum(mt_co2e)) + + ind_fuel_emissions %>% filter(industry_type_subparts == "C") %>% + filter(grepl("co2e", units_emissions)) %>% + group_by(reporting_year) %>% summarize(mt_co2e = sum(values_emissions )) + +### save three forms of this data: activity, emissions by gas MT, + # emissions by gas MT co2e + +ind_fuel_activity_out <- ind_fuel_activity %>% + mutate(avg_activity = (unit_ch4 + unit_n2o)/2) %>% + select(facility_id, + facility_name, + industry_type_subparts, + county_name, + city_name, + reporting_year, + unit_name, + general_fuel_type, + specific_fuel_type = corrected_fuel_type, + units_activity = per_unit, + value_activity = avg_activity) + +ind_fuel_activity_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "facility_id", class(ind_fuel_activity_out$facility_id), "Facility specific ID", + "facility_name", class(ind_fuel_activity_out$facility_name), "Facility name", + "industry_type_subparts", class(ind_fuel_activity_out$industry_type_subparts), "Sibpart code for industry type of facility", + "county_name", class(ind_fuel_activity_out$county_name), "County name", + "city_name", class(ind_fuel_activity_out$city_name), "City name", + "reporting_year", class(ind_fuel_activity_out$reporting_year), "Year of activity", + "unit_name", class(ind_fuel_activity_out$unit_name), "Name of combustion unit", + "general_fuel_type", class(ind_fuel_activity_out$general_fuel_type), "General category of fuel combusted: Natural Gas, Petroleum, Coal, Other", + "specific_fuel_type", class(ind_fuel_activity_out$specific_fuel_type), "Specific type of fuel combusted", + "value_activity", class(ind_fuel_activity_out$value_activity), "Numerical value of activity data", + "units_activity", class(ind_fuel_activity_out$units_activity), "Units of activity data" + ) + +saveRDS(ind_fuel_activity_out, "./_industrial/data/fuel_combustion_activity.rds") +saveRDS(ind_fuel_activity_meta, "./_industrial/data/fuel_combustion_activity_meta.rds") + +## fuel combustion by gas output + +ind_fuel_gas_emissions_out <- ind_fuel_emissions %>% + filter(!grepl("co2e", units_emissions)) %>% + select(facility_id, + facility_name, + industry_type_subparts, + county_name, + city_name, + reporting_year, + unit_name, + general_fuel_type, + specific_fuel_type = corrected_fuel_type, + units_emissions, + values_emissions) + +ind_fuel_gas_emissions_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "facility_id", class(ind_fuel_gas_emissions_out$facility_id), "Facility specific ID", + "facility_name", class(ind_fuel_gas_emissions_out$facility_name), "Facility name", + "industry_type_subparts", class(ind_fuel_gas_emissions_out$industry_type_subparts), "Sibpart code for industry type of facility", + "county_name", class(ind_fuel_gas_emissions_out$county_name), "County name", + "city_name", class(ind_fuel_gas_emissions_out$city_name), "City name", + "reporting_year", class(ind_fuel_gas_emissions_out$reporting_year), "Year of activity", + "unit_name", class(ind_fuel_gas_emissions_out$unit_name), "Name of combustion unit", + "general_fuel_type", class(ind_fuel_gas_emissions_out$general_fuel_type), "General category of fuel combusted: Natural Gas, Petroleum, Coal, Other", + "specific_fuel_type", class(ind_fuel_gas_emissions_out$specific_fuel_type), "Specific type of fuel combusted", + "values_emissions", class(ind_fuel_gas_emissions_out$values_emissions), "Numerical value of emissions data", + "units_emissions", class(ind_fuel_gas_emissions_out$units_emissions), "Units of emissions data" + ) + +saveRDS(ind_fuel_gas_emissions_out, "./_industrial/data/fuel_combustion_emissions_by_gas.rds") +saveRDS(ind_fuel_gas_emissions_meta, "./_industrial/data/fuel_combustion_emissions_by_gas_meta.rds") + +## fuel combustion by co2e + +ind_fuel_co2e_emissions_out <- ind_fuel_emissions %>% + filter(grepl("co2e", units_emissions), + !values_emissions == 0) %>% + group_by(facility_id, + facility_name, + industry_type_subparts, + county_name, + city_name, + reporting_year, + unit_name, + general_fuel_type, + corrected_fuel_type) %>% + summarize(values_emissions = sum(values_emissions)) %>% + mutate(units_emissions = "Metric tons of CO2 equivalency") %>% + rename(specific_fuel_type = corrected_fuel_type) + +ind_fuel_co2e_emissions_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "facility_id", class(ind_fuel_co2e_emissions_out$facility_id), "Facility specific ID", + "facility_name", class(ind_fuel_co2e_emissions_out$facility_name), "Facility name", + "industry_type_subparts", class(ind_fuel_co2e_emissions_out$industry_type_subparts), "Subpart code for industry type of facility", + "county_name", class(ind_fuel_co2e_emissions_out$county_name), "County name", + "city_name", class(ind_fuel_co2e_emissions_out$city_name), "City name", + "reporting_year", class(ind_fuel_co2e_emissions_out$reporting_year), "Year of activity", + "unit_name", class(ind_fuel_co2e_emissions_out$unit_name), "Name of combustion unit", + "general_fuel_type", class(ind_fuel_co2e_emissions_out$general_fuel_type), "General category of fuel combusted: Natural Gas, Petroleum, Coal, Other", + "specific_fuel_type", class(ind_fuel_co2e_emissions_out$specific_fuel_type), "Specific type of fuel combusted", + "values_emissions", class(ind_fuel_co2e_emissions_out$values_emissions), "Numerical value of emissions data", + "units_emissions", class(ind_fuel_co2e_emissions_out$units_emissions), "Units of emissions data" + ) + +saveRDS(ind_fuel_co2e_emissions_out, "./_industrial/data/fuel_combustion_emissions.rds") +saveRDS(ind_fuel_co2e_emissions_meta, "./_industrial/data/fuel_combustion_emissions_meta.rds") + diff --git a/_industrial/data-raw/compile_ghgrp_emissions.R b/_industrial/data-raw/compile_ghgrp_emissions.R new file mode 100644 index 00000000..95aedf3b --- /dev/null +++ b/_industrial/data-raw/compile_ghgrp_emissions.R @@ -0,0 +1,104 @@ +#### Script to read in and process EPA GHG FLIGHT data +source("R/_load_pkgs.R") + +cprg_county <- readRDS("_meta/data/cprg_county.RDS") +cprg_ctu <- readRDS("_meta/data/cprg_ctu.RDS") + +### download flight data: https://ghgdata.epa.gov/ghgp/main.do +ghgrp_files <- list.files(file.path(here::here(), "_industrial/data-raw/ghgrp")) + + +#### There is no EPA flight records for Pierce or St. Croix counties in WI + +ghgrp <- lapply(as.character(2011:2023), function(y) { + read_excel(file.path(here::here(), + paste0( "_industrial/data-raw/ghgrp/ghgp_data_", + y, + ".xlsx")), + sheet = 1, + skip = 3) %>% + clean_names() %>% + filter(state %in% c("MN","WI")) %>% + select(-(last_col(offset = 2):last_col())) %>% + mutate(county_name = str_remove(str_to_title(county)," County")) %>% + filter(county_name %in% cprg_county$county_name) %>% + mutate(unit_emissions = "Metric tons of CO2e", + inventory_year = y) +}) %>% + bind_rows() + +### split out emissions by gas type +ghgrp_gas <- ghgrp %>% + select(1:26) %>% + pivot_longer(cols = 14:26, + names_to = "gas_type", + values_to = "value_emissions") %>% + filter(!is.na(value_emissions)) +# not doing anything with this for now as it can't clearly be broken down by source +# potentially interesting for later + +### split out by emissions source (mt co2e) +ghgrp_source <- ghgrp %>% + select(-c(14:26)) %>% + pivot_longer(cols = 14:50, + names_to = "emission_source", + values_to = "value_emissions", + values_transform = list(value_emissions = as.numeric)) %>% + filter(!is.na(value_emissions)) %>% + mutate(doublecount = if_else(emission_source %in% c("electricity_generation", + "municipal_landfills"), + "Yes", "No"), + city_name = str_to_sentence(city), + inventory_year = as.numeric(inventory_year), + category = case_when( + emission_source == "stationary_combustion" ~ "stationary_combustion", + emission_source == "electricity_generation" ~ "electricity_generation", + emission_source == "municipal_landfills" ~ "municipal_landfills", + TRUE ~ "industrial_processes" + )) + +cprg_ghgrp_out <- ghgrp_source %>% + select(inventory_year, + facility_id, + facility_name, + latitude, + longitude, + primary_naics_code, + city_name, + county_name, + state, + value_emissions, + doublecount, + category, + source = emission_source) %>% + mutate(unit_emissions = "Metric tons CO2e", + sector = "Industrial", + data_source = "EPA GHGRP", + factor_source = "EPA GHGRP (no activity data reported)") + + +cprg_ghgrp_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "inventory_year", class(cprg_ghgrp_out$inventory_year), "Year of survey", + "city_name", class(cprg_ghgrp_out$city_name), "City name", + "county_name", class(cprg_ghgrp_out$city_name), "County name", + "state", class(cprg_ghgrp_out$state), "State name", + "facility_id", class(cprg_ghgrp_out$facility_id), "Facility ID in GHG Reporting Program", + "facility_name", class(cprg_ghgrp_out$facility_name), "Facility name", + "primary_naics_code", class(cprg_ghgrp_out$primary_naics_code), "NAICS code for facility", + "latitude", class(cprg_ghgrp_out$latitude), "Latitude of industrial source", + "longitude", class(cprg_ghgrp_out$longitude), "Longitude of industrial source", + "sector", class(cprg_ghgrp_out$sector), "Emissions sector", + "category", class(cprg_ghgrp_out$category), "Category of emissions within given sector", + "source", class(cprg_ghgrp_out$source), "Source of emissions. Most detailed sub-category in this table", + "data_source", class(cprg_ghgrp_out$data_source), "Activity data source", + "factor_source", class(cprg_ghgrp_out$factor_source), "Emissions factor data source", + "value_emissions", class(cprg_ghgrp_out$value_emissions), "Numerical value of emissions", + "unit_emissions", class(cprg_ghgrp_out$unit_emissions), "Units and gas type of emissions", + "doublecount", class(cprg_ghgrp_out$doublecount), "Is this emission counted in another sector?" + ) + +saveRDS(cprg_ghgrp_out, "./_industrial/data/ghgrp_industrial_point_sources_ctu.rds") +saveRDS(cprg_ghgrp_meta, "./_industrial/data/ghgrp_industrial_point_sources_ctu_meta.rds") + diff --git a/_industrial/data-raw/compile_mpca_industrial_fuel_permits.R b/_industrial/data-raw/compile_mpca_industrial_fuel_permits.R new file mode 100644 index 00000000..8fe3efb0 --- /dev/null +++ b/_industrial/data-raw/compile_mpca_industrial_fuel_permits.R @@ -0,0 +1,173 @@ +##### read in MPCA data fuel combustion data + +source("R/_load_pkgs.R") +source("R/global_warming_potential.R") + +cprg_county <- readRDS("_meta/data/cprg_county.rds") %>% + st_drop_geometry() +cprg_ctu <- readRDS("_meta/data/cprg_ctu.rds")%>% + st_drop_geometry() +ctu_population <- readRDS("_meta/data/ctu_population.rds") +ghg_factor_hub <- readRDS("_meta/data/epa_ghg_factor_hub.rds") + +mpca_fuel <- read_xlsx("_industrial/data-raw/MPCA_industrial_fuel_throughput.xlsx", + sheet = 1) %>% + clean_names() + +### create factor hub with matching fuel types to MPCA +fuel_emission_factors <- ghg_factor_hub$industrial_combustion %>% + mutate(fuel_type = case_when( + grepl("Distillate Fuel", `Fuel type`) ~ "Distillate Oil", + `Fuel type` == "Sub-bituminous Coal" ~ "Coal,Subbit", + `Fuel type` == "Anthracite Coal" ~ "Coal,Anth", + `Fuel type` == "Natural Gasoline" ~ "Gasoline", + `Fuel type` == "Wood and Wood Residuals" ~ "Wood", + `Fuel type` == "Liquefied Petroleum Gases (LPG)" ~ "Lpg", + grepl("Residual Fuel", `Fuel type`) ~ "Residual Oil", + # this next one is my best guess - fuel gas is large source in FLIGHT + `Fuel type` == "Fuel Gas" ~ "Process Gas", + `Fuel type` == "Coal Coke" ~ "Coke", + `Fuel type` == "Municipal Solid Waste" ~ "Waste,Solid", + `Fuel type` == "Kerosene-Type Jet Fuel" ~ "Jet Fuel", + `Fuel type` == "Used Oil" ~ "Waste Oil", + # Methanol has no match, and is most chemically similar to ethanol + `Fuel type` == "Ethanol (100%)" ~ "Methanol", + # leftovers with no clear analogue being lumped into other + `Fuel type` %in% "Other Oil (>401 deg F)" ~ "Other Oil", + TRUE ~ `Fuel type` + )) %>% + group_by(fuel_category, fuel_form, emission, per_unit, fuel_type) %>% + summarize(value = mean(value)) %>% + arrange(fuel_type) %>% + bind_rows(., + ghg_factor_hub$mobile_combustion %>% + filter(`Fuel Type` == "Diesel Fuel") %>% + rename(fuel_type = `Fuel Type`, value = `kg CO2 per unit`, per_unit = Unit) %>% + mutate(fuel_category = "Petroleum Products", + fuel_form = "Liquid", + emission = "kg CO2")) +# mutate(fuel_type = case_when( +# grepl("Distillate Fuel", `Fuel type`) ~ "Distillate Oil", +# `Fuel type` == "Sub-bituminous Coal" ~ "Coal,Subbit", +# `Fuel type` == "Bituminous Coal" ~ "Coal,Bit", +# `Fuel type` == "Anthracite Coal" ~ "Coal,Anth", +# `Fuel type` == "Natural Gasoline" ~ "Gasoline", +# `Fuel type` == "Wood and Wood Residuals" ~ "Wood", +# `Fuel type` == "Liquefied Petroleum Gases (LPG)" ~ "Lpg", +# grepl("Residual Fuel", `Fuel type`) ~ "Residual Oil", +# # this next one is my best guess - fuel gas is large source in FLIGHT +# `Fuel type` == "Fuel Gas" ~ "Process Gas", +# `Fuel type` == "Coal Coke" ~ "Coke", +# `Fuel type` == "Municipal Solid Waste" ~ "Waste,Solid", +# `Fuel type` == "Kerosene-Type Jet Fuel" ~ "Jet Fuel", +# `Fuel type` == "Used Oil" ~ "Waste Oil", +# # leftovers with no clear analogue being lumped into other +# `Fuel type` %in% "Other Oil (>401 deg F)" ~ "Other Oil", +# TRUE ~ `Fuel type` +# )) %>% +# group_by(fuel_category, fuel_form, emission, per_unit, fuel_type) %>% +# summarize(value = mean(value)) %>% +# arrange(fuel_type)) + +### format data + +mpca_fuel_formatted <- mpca_fuel %>% + ## bring in county and ctu IDs + mutate(county_name = str_to_sentence(county_name)) %>% + filter(county_name %in% c(cprg_county$county_name), + !sector %in% c("Waste", "Transportation", "Electric Power"), + #can't figure out waht this is - only unit reported in barrels + !standard_material_code == "REFINERY FED") %>% + left_join(cprg_county %>% select(county_name, geoid), + by = "county_name") %>% + left_join(ctu_population %>% + # going to assume most facilities are in cities not townships + filter(ctu_class != "TOWNSHIP") %>% + distinct(ctu_name, ctuid), + by = c("geo_city_name" = "ctu_name")) %>% + ### clean variables + mutate(inventory_year = as.numeric(gsub("EI ","", inventory_id)), + value_activity = case_when( + grepl("E3", activity_unit_code) ~ activity_amt * 10^3, + grepl("E6", activity_unit_code) ~ activity_amt * 10^6, + TRUE ~ activity_amt), + unit_activity = case_when( + grepl("FT3", activity_unit_code) ~ "scf", + grepl("GAL", activity_unit_code) ~ "gallon", + grepl("BBL", activity_unit_code) ~ "barrel", + grepl("TON", activity_unit_code) ~ "short ton" + ), + fuel_type = str_to_title(standard_material_code)) %>% + mutate(fuel_type = case_when( + fuel_type %in% fuel_emission_factors$fuel_type ~ fuel_type, + fuel_type == "Gas" ~ "Natural Gas", + TRUE ~ "Other Oil")) %>% + select(county_name, county_id = geoid, ctu_name = geo_city_name, ctuid, + inventory_year, value_activity, unit_activity,fuel_type, source_name, + sector, naics, naics_description) + + +mpca_fuel_emissions_gas <- mpca_fuel_formatted %>% + left_join(.,fuel_emission_factors, + by= c("fuel_type", + "unit_activity" = "per_unit"), + relationship = "many-to-many") %>% + filter(emission != "mmBtu") %>% + # convert conversion factor to produce metric tons + mutate(value_mt = as.numeric(case_when( + grepl("CO2", emission) ~ value * units::as_units("kilogram") %>% + units::set_units("metric_ton"), + TRUE ~ value * units::as_units("gram") %>% + units::set_units("metric_ton"))), + #calculate emissions based on activity and MT emission factor + value_emissions = value_mt * value_activity, + unit_emissions = paste("Metric tons", sub(".* ", "", emission))) %>% + group_by(county_name, county_id, ctu_name, ctuid, + inventory_year,fuel_category, fuel_type, unit_emissions, + source_name, sector, naics, naics_description) %>% + summarize(value_emissions = sum(value_emissions)) + +mpca_fuel_emissions_co2e <- mpca_fuel_formatted %>% + left_join(.,fuel_emission_factors, + by= c("fuel_type", + "unit_activity" = "per_unit"), + relationship = "many-to-many") %>% + filter(emission != "mmBtu") %>% + # convert conversion factor to produce metric tons + mutate(value_mt = as.numeric(case_when( + grepl("CO2", emission) ~ value * units::as_units("kilogram") %>% + units::set_units("metric_ton"), + grepl("CH4", emission) ~ value * gwp$ch4 * units::as_units("gram") %>% + units::set_units("metric_ton"), + grepl("N2O", emission) ~ value * gwp$n2o * units::as_units("gram") %>% + units::set_units("metric_ton"))), + #calculate emissions based on activity and MT emission factor + value_emissions = value_mt * value_activity, + unit_emissions = "Metric tons CO2e") %>% + group_by(county_name, county_id, ctu_name, ctuid, + inventory_year,fuel_category, fuel_type, unit_emissions, + source_name, sector, naics, naics_description) %>% + summarize(value_emissions = sum(value_emissions)) + +mpca_fuel_emissions_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "source_name", class(mpca_fuel_emissions_co2e$source_name), "Facility name", + "naics", class(mpca_fuel_emissions_co2e$naics), "NAICS code for facility", + "naics_description", class(mpca_fuel_emissions_co2e$naics_description), "NAICS description of facility type", + "county_name", class(mpca_fuel_emissions_co2e$county_name), "County name", + "county_id", class(mpca_fuel_emissions_co2e$county_id), "County geographic ID", + "ctu_name", class(mpca_fuel_emissions_co2e$ctu_name), "City name", + "ctuid", class(mpca_fuel_emissions_co2e$ctuid), "CTU geographic ID", + "sector", class(mpca_fuel_emissions_co2e$sector), "Economic sector of point source: Industrial or Commercial", + "inventory_year", class(mpca_fuel_emissions_co2e$inventory_year), "Year of activity", + "fuel_category", class(mpca_fuel_emissions_co2e$fuel_category), "General category of fuel combusted", + "fuel_type", class(mpca_fuel_emissions_co2e$fuel_type), "Specific type of fuel combusted", + "value_emissions", class(mpca_fuel_emissions_co2e$value_emissions), "Numerical value of emissions data", + "unit_emissions", class(mpca_fuel_emissions_co2e$unit_emissions), "Units of emissions data" + ) + +saveRDS(mpca_fuel_emissions_gas, "./_industrial/data/mpca_fuel_emissions_by_gas.rds") +saveRDS(mpca_fuel_emissions_co2e, "./_industrial/data/mpca_fuel_emissions.rds") +saveRDS(mpca_fuel_emissions_meta, "./_industrial/data/mpca_fuel_emissions_meta.rds") +saveRDS(mpca_fuel_emissions_meta, "./_industrial/data/mpca_fuel_emissions_by_gas_meta.rds") diff --git a/_industrial/data-raw/compile_nei_industrial_county_emissions.R b/_industrial/data-raw/compile_nei_industrial_county_emissions.R new file mode 100644 index 00000000..ac38f945 --- /dev/null +++ b/_industrial/data-raw/compile_nei_industrial_county_emissions.R @@ -0,0 +1,204 @@ +######### script for pulling industrial point source emissions from NEI #### +source("R/_load_pkgs.R") +source("R/global_warming_potential.R") + +cprg_county <- readRDS("_meta/data/cprg_county.RDS") + +# base URL +req_base <- httr2::request("https://data.epa.gov/efservice") +# supplementary tables +# fetch sectors +sectors <- req_base %>% + httr2::req_url_path_append("SECTORS/CSV") %>% + httr2::req_method("GET") %>% + httr2::req_perform() %>% + httr2::resp_body_string(encoding = "UTF-8") %>% + readr::read_delim( + delim = ",", + show_col_types = FALSE + ) + +### The below code should work according to the nei-model, but doesn't. Unable to find source meta data for point source +# sources <- req_base %>% +# httr2::req_url_path_append("BRS_SOURCE_NAME/CSV") %>% +# httr2::req_method("GET") %>% +# httr2::req_perform() %>% +# httr2::resp_body_string(encoding = "UTF-8") %>% +# readr::read_delim( +# delim = ",", +# show_col_types = FALSE +# ) + +industrial_sector <- sectors %>% + filter(grepl("Industrial", ei_sector)) + +fetch_nei_county <- function(year, state) { + req_base %>% + # county sector summary table, all rows + httr2::req_url_path_append("COUNTY_SECTOR_SUMMARY/ROWS/") %>% + # state + httr2::req_url_path_append(paste0("STATE_NAME/", state)) %>% + # year + httr2::req_url_path_append("INVENTORY_YEAR/", year, "/") %>% + # in CSV format + httr2::req_url_path_append("CSV") %>% + # Go! + httr2::req_perform() %>% + # read response as CSV + httr2::resp_body_string(encoding = "UTF-8") %>% + readr::read_delim( + delim = ",", + show_col_types = FALSE + ) +} + +multi_year_industrial_county <- + bind_rows( + purrr::map_dfr( + c(2023, + 2020, + 2017, + 2014, + 2011, + 2008 + ), + fetch_nei_county, + state = "Minnesota" + ), + purrr::map_dfr( + c(2023, + 2020, + 2017, + 2014, + 2011, + 2008 + ), + fetch_nei_county, + state = "Wisconsin" + ) + ) %>% + filter(sector_code %in% industrial_sector$sector_code) %>% + right_join(., cprg_county %>% + select(state_name,county_name,geoid) %>% + st_drop_geometry(), + by = c("county_name","state_name")) %>% + mutate(metric_tons_emissions = emissions * units::as_units("short_ton") %>% + units::set_units("metric_ton")) + + +multi_year_industrial_county_ghg <- multi_year_industrial_county %>% + filter(pollutant_type == "GHG", emissions != 0) %>% + left_join(sectors) %>% + mutate(mt_co2e = case_when( + pollutant_code == "CH4" ~ metric_tons_emissions * gwp$ch4, + pollutant_code == "N2O" ~ metric_tons_emissions * gwp$n2o, + pollutant_code == "SF6" ~ metric_tons_emissions * 23500, ## ADD TO GWP TABLE + pollutant_code == "CO2" ~ metric_tons_emissions + )) + +nei_ind_county_emissions_out <- multi_year_industrial_county_ghg %>% + group_by(state_name , + inventory_year, + county_name, + sector_code, + ei_sector, + sector_one, + sector_two, + sector_three) %>% + summarize(values_emissions = sum(mt_co2e )) %>% + mutate(units_emissions = "Metric tons of CO2 equivalency") + +nei_ind_county_emissions_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "state_name", class(nei_ind_county_emissions_out$facility_id), "State name", + "county_name", class(nei_ind_county_emissions_out$city_name), "County name", + "inventory_year", class(nei_ind_county_emissions_out$reporting_year), "Year of emissions", + "sector_code", class(nei_ind_county_emissions_out$unit_name), "Industrial sector code", + "ei_sector", class(nei_ind_county_emissions_out$unit_name), "Industrial sector description", + "sector_one", class(nei_ind_county_emissions_out$general_fuel_type), "Industrial sector: Process, combustion, solvent", + "sector_two", class(nei_ind_county_emissions_out$values_emissions), "Higher specificity of industrial sector", + "sector_three", class(nei_ind_county_emissions_out$units_emissions), "Type of fuel combusted (where applicable)", + "values_emissions", class(nei_ind_county_emissions_out$values_emissions), "Numerical value of emissions data", + "units_emissions", class(nei_ind_county_emissions_out$units_emissions), "Units of emissions data" + ) + +saveRDS(nei_ind_county_emissions_out, "./_industrial/data/nei_county_industrial_emissions.rds") +saveRDS(nei_ind_county_emissions_meta, "./_industrial/data/nei_county_industrial_emissions_meta.rds") + +unique(multi_year_industrial_county_ghg$ei_sector) + +multi_year_industrial_county_ghg %>% + filter(inventory_year == 2020) %>% + group_by(county_name) %>% + summarize(mt_co2e = sum(mt_co2e)) + +multi_year_industrial_county_ghg %>% + filter(inventory_year == 2020, + county_name == "Washington") %>% + group_by(ei_sector, sector_code) %>% + summarize(mt_co2e = sum(mt_co2e)) +#### NEC includes electricity generation, which is major double count + + + +ggplot(multi_year_industrial_county_ghg %>% + group_by(inventory_year,county_name) %>% + summarize(mt_co2e = sum(mt_co2e)), + aes(x = inventory_year , y = mt_co2e , col = county_name)) + + geom_line() + + +flight_nei_county_all <- left_join(multi_year_industrial_county_ghg %>% + group_by(inventory_year,county_name) %>% + summarize(mt_co2e = sum(mt_co2e)), + flight_county_summary %>% + filter(doublecount == "Yes") %>% + group_by(county_name,inventory_year) %>% + summarize(co2e_double = sum(value_emissions)), + by = c("county_name", "inventory_year")) %>% + replace(is.na(.), 0) %>% + mutate(emissions_leftover = mt_co2e - co2e_double) %>% + left_join(., cprg_county %>% + select(county_name,geometry)) + + +ggplot(flight_nei_county_all %>% + group_by(inventory_year,county_name) %>% + summarize(mt_co2e = sum(emissions_leftover)), + aes(x = inventory_year , y = mt_co2e , col = county_name)) + + geom_line(size = 1.3) + + +pal <- colorNumeric(palette = "Reds", domain = flight_nei_county_all$emissions_leftover) + +# Create the leaflet map +leaflet(st_as_sf(flight_nei_county_all %>% + filter(inventory_year == 2020))) %>% + addProviderTiles("CartoDB.Positron") %>% # Basic map tile + addPolygons( + fillColor = ~pal(emissions_leftover), + weight = 1, # Boundary thickness + color = "black", # Boundary color + fillOpacity = 0.7, # Transparency + label = ~paste0(county_name, ": ", emissions_leftover, " mt CO2e"), + highlight = highlightOptions(weight = 2, color = "white", fillOpacity = 0.9) + ) %>% + addLegend(pal = pal, values = ~emissions_leftover, opacity = 0.8, title = "MT CO2e") + + +flight_nei_county_small <- left_join(multi_year_industrial_county_ghg %>% + group_by(inventory_year,county_name) %>% + summarize(mt_co2e = sum(mt_co2e)), + flight_county_summary %>% + group_by(county_name,inventory_year) %>% + summarize(co2e_double = sum(value_emissions)), + by = c("county_name", "inventory_year")) %>% + replace(is.na(.), 0) %>% + mutate(emissions_leftover = mt_co2e - co2e_double) + +ggplot(flight_nei_county_small %>% + group_by(inventory_year,county_name) %>% + summarize(tons_co2 = sum(emissions_leftover)), + aes(x = inventory_year , y = tons_co2 , col = county_name)) + + geom_line(size = 1.3) diff --git a/_industrial/data-raw/compile_nei_industrial_point_sources.R b/_industrial/data-raw/compile_nei_industrial_point_sources.R new file mode 100644 index 00000000..b6379082 --- /dev/null +++ b/_industrial/data-raw/compile_nei_industrial_point_sources.R @@ -0,0 +1,77 @@ +######### script for pulling industrial point source emissions from NEI #### +source("R/_load_pkgs.R") + +cprg_county <- readRDS("_meta/data/cprg_county.RDS") + +# base URL +req_base <- httr2::request("https://data.epa.gov/efservice") +# supplementary tables +# fetch sectors +sectors <- req_base %>% + httr2::req_url_path_append("SECTORS/CSV") %>% + httr2::req_method("GET") %>% + httr2::req_perform() %>% + httr2::resp_body_string(encoding = "UTF-8") %>% + readr::read_delim( + delim = ",", + show_col_types = FALSE + ) + +### The below code should work according to the nei-model, but doesn't. Unable to find source meta data for point source +# sources <- req_base %>% +# httr2::req_url_path_append("BRS_SOURCE_NAME/CSV") %>% +# httr2::req_method("GET") %>% +# httr2::req_perform() %>% +# httr2::resp_body_string(encoding = "UTF-8") %>% +# readr::read_delim( +# delim = ",", +# show_col_types = FALSE +# ) + +scc_metadata <- req_base %>% + httr2::req_url_path_append("SCC/CSV") %>% + httr2::req_method("GET") %>% + httr2::req_perform() %>% + httr2::resp_body_string(encoding = "UTF-8") %>% + readr::read_delim( + delim = ",", + show_col_types = FALSE + ) + +industrial_sector <- sectors %>% + filter(grepl("Industrial", ei_sector)) + +fetch_nei_point <- function(year, state, county) { + req_base %>% + # county sector summary table, all rows + httr2::req_url_path_append("FACILITY_SUMMARY/ROWS/") %>% + # Minnesota only + httr2::req_url_path_append(paste0("STATE/", state)) %>% + # county + httr2::req_url_path_append(paste0("COUNTY/", county)) %>% + # year 2020 inventory only + httr2::req_url_path_append("INVENTORY_YEAR/", year, "/") %>% + # in CSV format + httr2::req_url_path_append("CSV") %>% + # Go! + httr2::req_perform() %>% + # read response as CSV + httr2::resp_body_string(encoding = "UTF-8") %>% + readr::read_delim( + delim = ",", + show_col_types = FALSE + ) +} + +multi_year_industrial_point <- purrr::map_dfr( + 2023, + fetch_nei_point, + state = "MN", + county = "Dakota" + ) +### unclear if we can breakdown point sources to further categories, i.e. separate electricity and natural gas from further emissions +### API for source codes is broken and can't find what these mean +unique(multi_year_industrial_point$naics_desc) +unique(multi_year_industrial_point$source_code) + +multi_year_industrial_point %>% distinct(site_name,source_code) diff --git a/_industrial/data-raw/model_baseline_industrial_emissions.R b/_industrial/data-raw/model_baseline_industrial_emissions.R new file mode 100644 index 00000000..22247bb2 --- /dev/null +++ b/_industrial/data-raw/model_baseline_industrial_emissions.R @@ -0,0 +1,363 @@ +### model early industrial emissions based on 2011-2022 GHGRP data +### and MPCA 2005-2020 state inventoy + +cprg_county <- readRDS("_meta/data/cprg_county.rds") %>% + st_drop_geometry() +ctu_population <- readRDS("_meta/data/ctu_population.rds")%>% + mutate(ctu_name = str_replace_all(ctu_name , "St.", "Saint")) + +source("R/_load_pkgs.R") + +mpca_industrial_inv <- readRDS(file.path(here::here(), "_meta/data/mpca_ghg_inv_2005_2020.RDS")) %>% + filter(Sector %in% c("Waste", "Industrial")) + +mpca_commercial_inv <- readRDS(file.path(here::here(), "_meta/data/mpca_ghg_inv_2005_2020.RDS")) %>% + filter(Sector %in% c("Commercial")) + +ghgrp_emissions <- readRDS(file.path(here::here(), + "_industrial/data/ghgrp_industrial_point_sources_ctu.rds")) %>% + mutate(city_name = str_replace_all(city_name, "St.", "Saint")) + +subpart_c_emissions <- readRDS(file.path(here::here(), "_industrial/data/fuel_combustion_emissions.RDS"))%>% + mutate(city_name = str_replace_all(city_name, "St.", "Saint")) + +mpca_emissions <- readRDS(file.path(here::here(), "_industrial/data/mpca_fuel_emissions.RDS"))%>% + mutate(ctu_name = str_replace_all(ctu_name, "St.", "Saint")) + +ghgrp_emissions_combustion <- bind_rows( + ghgrp_emissions %>% ungroup() %>% + filter(source != "stationary_combustion", + doublecount == "No") %>% + select(inventory_year, facility_name, city_name, county_name, + value_emissions,category, source), + subpart_c_emissions %>% + mutate(category = "fuel_combustion", + source = if_else(general_fuel_type == "Other", + specific_fuel_type, general_fuel_type)) %>% + ungroup() %>% + select(inventory_year = reporting_year, facility_name, city_name, county_name, + value_emissions = values_emissions, + category, source) +) %>% + mutate(city_name = str_to_title(city_name)) + +### match ghgrp emission categories to mpca subsectors as much as possible +sort(unique(mpca_industrial_inv$Subsector)) +sort(unique(ghgrp_emissions_combustion$source)) + +#refinery is a constant problem in these comparisons +subpart_c_emissions %>% + filter(facility_name == "Flint Hills Resources Pine Bend Refinery", + reporting_year == 2020) %>% ungroup() %>% select(unit_name,general_fuel_type, values_emissions) + +ghgrp_emissions %>% + filter(facility_name == "Flint Hills Resources Pine Bend Refinery", + inventory_year == 2020) %>% ungroup() %>% select(category, source, value_emissions) + +mpca_industrial_inv %>% filter(year == 2020, co2e > 0) + + + +### create six categories - ind process, ref process, nat gas, oil, coal, other fuel combustion +ghgrp_simplified <- ghgrp_emissions_combustion %>% + mutate(mpca_subsector = case_when( + source %in% c( "fluorinated_ghg_production", + "glass_production", + "iron_and_steel_production", + "lead_production", + "magnesium_production", + "electronics_manufacture", + "petroleum_and_natural_gas_systems_transmission_compression") ~ + "Industrial processes", + source %in% c("Fuel Gas", "Natural Gas") ~ "Natural gas", #seems likely to be grouped based on descriptions and magnitude of emissions + source %in% c("hydrogen_production", #large emissions, only happens in refineries, best guess here for matching MPCA + "petroleum_refining") ~ "Refinery processes", + source == "Petroleum Products" ~ "Oil", + source %in% c("Agricultural Byproducts","Wood and Wood Residuals") ~ "Other fuel combustion", #best worst option? + source == "industrial_waste_landfills" ~ "Landfills", #MPCA technical confirms industrial waste emission is in this category + TRUE ~ source + )) %>% + filter(mpca_subsector != "Municipal Solid Waste") %>% + group_by(inventory_year, city_name, county_name, mpca_subsector) %>% + summarize(value_emissions = sum(value_emissions)) %>% + mutate(data_source = "GHGRP") + +### Now add in MPCA data for cities without industrial emissions in GHGRP +### Later we need to look for industrial point sources in MPCA missed in GHGRP cities +### but this is easier said than done :/ +mpca_industrial_missing <- mpca_emissions %>% + filter(sector == "Industrial", + !ctu_name %in% ghgrp_simplified$city_name) %>% + mutate(mpca_subsector = case_when( + fuel_category %in% c("Natural Gas", + "Other Fuels - Gaseous") ~ "Natural gas", + fuel_category == "Coal and Coke" ~ "Coal", + fuel_category == "Petroleum Products" ~ "Oil", + TRUE ~ "Other fuel combustion")) %>% + group_by(inventory_year, county_name, ctu_name, mpca_subsector) %>% + summarize(value_emissions = sum(value_emissions)) %>% + mutate(data_source = "MPCA Fuel") %>% + rename(city_name = ctu_name) + +#bind these two data sources of measured emissions +industrial_emissions_measured <- bind_rows( + ghgrp_simplified, mpca_industrial_missing +) + +## taking a slightly different approach with MPCA, leaving those with non-obvious GHGRP correlates untransformed +mpca_inv_simplified <- mpca_industrial_inv %>% + mutate(mpca_subsector = case_when( + Subsector %in% c( "Industrial processes", + "Glass manufacture", + "Steel production", + "Secondary lead production", + "Magnesium casting", + "Semiconductor manufacture") ~ "Industrial processes", + Subsector %in% c("Refinery processes", + "Oil refining") ~ "Refinery processes", + Subsector %in% c("Other fossil fuels") ~ "Other fuel combustion", #best worst option? + TRUE ~ Subsector + )) %>% + group_by(year, mpca_subsector) %>% + summarize(value_emissions_mpca_inv = sum(co2e)) + + +ghgrp_mpca_emissions <- + left_join(industrial_emissions_measured,mpca_inv_simplified, + by = c("inventory_year" = "year", + "mpca_subsector")) %>% + mutate(emission_percent = value_emissions/value_emissions_mpca_inv, + emission_percent = if_else(is.infinite(emission_percent),NA, emission_percent)) + +### create grid of needed city-subsector-year combinations +ghgrp_extrapolated <- left_join( + expand.grid( + inventory_year = seq(2005, 2020, by = 1), + city_name = unique(ghgrp_mpca_emissions$city_name), + county_name = unique(ghgrp_mpca_emissions$county_name), + mpca_subsector = unique(ghgrp_mpca_emissions$mpca_subsector) + ) %>% + semi_join(., ghgrp_mpca_emissions %>% + ungroup() %>% + distinct(city_name,county_name, mpca_subsector)), + ghgrp_mpca_emissions %>% + ungroup() %>% + select(inventory_year, city_name, county_name, mpca_subsector, value_emissions, emission_percent), + by = c("inventory_year","city_name", "county_name", "mpca_subsector")) %>% + ### use na.kalman to extrapolate across time-series + group_by(city_name, county_name, mpca_subsector) %>% + arrange(inventory_year) %>% + #first add zeros to 2011-2020 years if there aren't enough years(3+) for extrapolation + mutate(non_na_count_2011_2020 = sum(!is.na(emission_percent) & inventory_year >= 2011 & inventory_year <= 2020, na.rm = TRUE)) %>% + # Set NA to zero only if there are 1 or 2 years of data in the range + mutate(emission_percent = if_else( + is.na(emission_percent) & inventory_year >= 2011 & inventory_year <= 2020 & non_na_count_2011_2020 <= 2, + 0, + emission_percent + )) %>% + #extrapolate + mutate( + emission_percent = na_kalman(emission_percent), + data_type = ifelse(is.na(value_emissions), "modeled", "measured") # marking whether values are from the census or interpolation + ) %>% +### bring mn state emissions back in + left_join(., mpca_inv_simplified, + by = c("inventory_year" = "year", + "mpca_subsector") + ) %>% + # recalculate emissions based on percent of MPCA inventory + mutate(value_emission_percentile = emission_percent * value_emissions_mpca_inv) + +ghgrp_extrapolated_county <- ghgrp_extrapolated %>% + group_by(inventory_year, county_name) %>% + summarize(value_emissions = sum(value_emission_percentile)) + +ggplot(ghgrp_extrapolated_county, aes(x = inventory_year, y = value_emissions, col = county_name)) + geom_line() + + +###Now add in MPCA data for commercial sector + + +mpca_commercial <- mpca_emissions %>% filter(sector == "Commercial") %>% + mutate(mpca_subsector = case_when( + fuel_category %in% c("Natural gas", + "Other Fuels - Gaseous") ~ "Natural Gas", + fuel_category == "Coal and Coke" ~ "Coal", + fuel_category == "Petroleum Products" ~ "Oil", + TRUE ~ "Other fossil fuel")) %>% + group_by(inventory_year, county_name, ctu_name, mpca_subsector) %>% + summarize(value_emissions = sum(value_emissions)) %>% + rename(city_name = ctu_name) + +mpca_comm_simplied <- mpca_commercial_inv %>% + mutate(mpca_subsector = case_when( + Subsector %in% c("Other fossil fuels") ~ "Other fuel combustion", #best worst option? + TRUE ~ Subsector + )) %>% + group_by(year, mpca_subsector) %>% + summarize(value_emissions_mpca_inv = sum(co2e)) + +mpca_commercial_emissions <- + left_join(mpca_commercial,mpca_comm_simplied, + by = c("inventory_year" = "year", + "mpca_subsector")) %>% + mutate(emission_percent = value_emissions/value_emissions_mpca_inv, + emission_percent = if_else(is.infinite(emission_percent),NA, emission_percent)) + +comm_extrapolated <- left_join( + expand.grid( + inventory_year = seq(2005, 2020, by = 1), + city_name = unique(mpca_commercial$city_name), + county_name = unique(mpca_commercial$county_name), + mpca_subsector = unique(mpca_commercial$mpca_subsector) + ) %>% + semi_join(., mpca_commercial_emissions %>% + ungroup() %>% + distinct(city_name,county_name, mpca_subsector)), + mpca_commercial_emissions %>% + ungroup() %>% + select(inventory_year, city_name, county_name, mpca_subsector, value_emissions, emission_percent), + by = c("inventory_year","city_name", "county_name", "mpca_subsector")) %>% + ### use na.kalman to extrapolate across time-series + group_by(city_name, county_name, mpca_subsector) %>% + arrange(inventory_year) %>% + #first add zeros to 2011-2020 years if there aren't enough years(3+) for extrapolation + mutate(non_na_count_2011_2020 = sum(!is.na(emission_percent) & inventory_year >= 2011 & inventory_year <= 2020, na.rm = TRUE)) %>% + # Set NA to zero only if there are 1 or 2 years of data in the range + mutate(emission_percent = if_else( + is.na(emission_percent) & inventory_year >= 2011 & inventory_year <= 2020 & non_na_count_2011_2020 <= 2, + 0, + emission_percent + )) %>% + #extrapolate + mutate( + emission_percent = na_kalman(emission_percent), + data_type = ifelse(is.na(value_emissions), "modeled", "measured") # marking whether values are from the census or interpolation + ) %>% + ### bring mn state emissions back in + left_join(., mpca_comm_simplied, + by = c("inventory_year" = "year", + "mpca_subsector") + ) %>% + # recalculate emissions based on percent of MPCA inventory + mutate(value_emission_percentile = emission_percent * value_emissions_mpca_inv) + +commercial_extrapolated_county <- comm_extrapolated %>% + group_by(inventory_year, county_name) %>% + summarize(value_emissions = sum(value_emission_percentile)) + +ggplot(commercial_extrapolated_county, aes(x = inventory_year, y = value_emissions, col = county_name)) + geom_line() + +# combine and package + +industrial_baseline <- bind_rows( + ghgrp_extrapolated %>% + select(inventory_year, city_name, county_name, source = mpca_subsector, + data_type, value_emissions = value_emission_percentile) %>% + mutate(sector = "Industrial", + category = case_when( + source == "Refinery processes" ~ "Refinery processes", + source %in% c("Landfills", "Industrial processes") ~ "Industrial processes", + TRUE ~ "Stationary combustion" + ), + unit_emissions = "Metric tons CO2 equivalency", + data_source = if_else(city_name %in% mpca_industrial_missing$city_name, + "MPCA Reporting", + "EPA GHG Reporting Program"), + data_source = if_else(data_type == "modeled", "Modeled data", data_source), + factor_source = "EPA GHG Factor Hub"), + comm_extrapolated %>% + select(inventory_year, city_name, county_name, source = mpca_subsector, + data_type, value_emissions = value_emission_percentile) %>% + mutate(sector = "Commercial", + category = "Stationary combustion", + unit_emissions = "Metric tons CO2 equivalency", + data_source = if_else(data_type == "modeled", "Modeled data", "MPCA Reporting"), + factor_source = "EPA GHG Factor Hub"), + #add in 2021+ years + mpca_commercial %>% + filter(inventory_year >= 2021) %>% + select(inventory_year, city_name, county_name, source = mpca_subsector, + value_emissions) %>% + mutate(sector = "Commercial", + category = "Stationary combustion", + unit_emissions = "Metric tons CO2 equivalency", + data_source ="MPCA Reporting", + factor_source = "EPA GHG Factor Hub", + data_type = NA) , + industrial_emissions_measured %>% + filter(inventory_year >= 2021)%>% + select(inventory_year, city_name, county_name, source = mpca_subsector, + value_emissions) %>% + mutate(sector = "Industrial", + category = case_when( + source == "Refinery processes" ~ "Refinery processes", + source %in% c("Landfills", "Industrial processes") ~ "Industrial processes", + TRUE ~ "Stationary combustion" + ), + unit_emissions = "Metric tons CO2 equivalency", + factor_source = "EPA GHG Factor Hub", + data_type = NA) + ) %>% + #bring in IDs + left_join(cprg_county %>% select(county_name, geoid) %>% rename(county_id = geoid)) %>% + select(-data_type) + +baseline_county <- industrial_baseline %>% + group_by(inventory_year, sector, county_name) %>% + summarize(value_emissions = sum(value_emissions)) + +ggplot(baseline_county, aes(x = inventory_year, y = value_emissions, col = county_name)) + geom_line() + + facet_wrap(~ sector) + +# one dataset is missing 2023, omitting for now + +industrial_baseline <- industrial_baseline %>% + filter(inventory_year <= 2022) + +industrial_baseline_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "inventory_year", class(industrial_baseline$inventory_year), "Year of activity", + "city_name", class(industrial_baseline$city_name), "City name", + "county_name", class(industrial_baseline$county_name), "County name", + "county_id", class(industrial_baseline$county_id), "County ID", + "sector", class(industrial_baseline$sector), "Emissions sector", + "category", class(industrial_baseline$category), "Emissions category", + "source", class(industrial_baseline$source), "Emissions source", + "category", class(industrial_baseline$category), "Emissions category", + "value_emissions", class(industrial_baseline$value_emissions), "Numerical value of emissions data", + "unit_emissions", class(industrial_baseline$unit_emissions), "Units of emissions data", + "data_source", class(industrial_baseline$data_source), "Source of activity/emission data", + "factor_source", class(industrial_baseline$factor_source), "Source of emission factor" + ) + +saveRDS(industrial_baseline, "./_industrial/data/modeled_industrial_baseline_emissions.rds") +saveRDS(industrial_baseline_meta, "./_industrial/data/modeled_industrial_baseline_emissions_meta.rds") + + #deprecated code to match subsectors more finely (lots of numerical issues) + # ghgrp_mpca_emissions <- ghgrp_emissions_combustion %>% + # mutate(mpca_subsector = case_when( + # source %in% c("Agricultural Byproducts", + # "fluorinated_ghg_production") ~ "Industrial processes", + # source == "Fuel Gas" ~ "Natural Gas", #seems likely to be grouped based on descriptions and magnitude of emissions + # source == "glass_production" ~ "Glass manufacture", + # source == "hydrogen_production" ~ "Refinery processes", #large emissions, only happens in refineries, best guess here + # source == "iron_and_steel_production" ~ "Steel production", + # source == "lead_production" ~ "Secondary lead production", + # source == "magnesium_production" ~ "Magnesium casting", + # source == "Petroleum Products" ~ "Oil", + # source == "petroleum_refining" ~ "Oil refining", + # source == "Wood and Wood Residuals" ~ "Other fossil fuels", #best worst option? + # source == "industrial_waste_landfills" ~ "Landfills", #MPCA technical confirms industrial waste emission is in this category + # source == "electronics_manufacture" ~ "Semiconductor manufacture", + # TRUE ~ source + # )) %>% + # group_by(inventory_year, city_name, county_name, mpca_subsector) %>% + # summarize(value_emissions_ghgrp = sum(value_emissions)) %>% + # right_join(mpca_industrial_inv, + # by = c("inventory_year" = "year", + # "mpca_subsector" = "Subsector")) %>% + # mutate(emission_percent = value_emissions_ghgrp/co2e, + # emission_percent = if_else(is.infinite(emission_percent),NA, emission_percent)) + # diff --git a/_industrial/data/city_industrial_emissions.rds b/_industrial/data/city_industrial_emissions.rds new file mode 100644 index 00000000..640c1cca Binary files /dev/null and b/_industrial/data/city_industrial_emissions.rds differ diff --git a/_industrial/data/city_industrial_emissions_meta.rds b/_industrial/data/city_industrial_emissions_meta.rds new file mode 100644 index 00000000..79ac5f83 Binary files /dev/null and b/_industrial/data/city_industrial_emissions_meta.rds differ diff --git a/_industrial/data/county_industrial_emissions.rds b/_industrial/data/county_industrial_emissions.rds new file mode 100644 index 00000000..81b7c483 Binary files /dev/null and b/_industrial/data/county_industrial_emissions.rds differ diff --git a/_industrial/data/county_industrial_emissions_meta.rds b/_industrial/data/county_industrial_emissions_meta.rds new file mode 100644 index 00000000..3325bbfa Binary files /dev/null and b/_industrial/data/county_industrial_emissions_meta.rds differ diff --git a/_industrial/data/flight_industrial_point_sources_ctu.rds b/_industrial/data/flight_industrial_point_sources_ctu.rds new file mode 100644 index 00000000..ffa6ccfc Binary files /dev/null and b/_industrial/data/flight_industrial_point_sources_ctu.rds differ diff --git a/_industrial/data/flight_industrial_point_sources_ctu_meta.rds b/_industrial/data/flight_industrial_point_sources_ctu_meta.rds new file mode 100644 index 00000000..6697d73f Binary files /dev/null and b/_industrial/data/flight_industrial_point_sources_ctu_meta.rds differ diff --git a/_industrial/data/fuel_combustion_activity.rds b/_industrial/data/fuel_combustion_activity.rds new file mode 100644 index 00000000..ceaa0903 Binary files /dev/null and b/_industrial/data/fuel_combustion_activity.rds differ diff --git a/_industrial/data/fuel_combustion_activity_meta.rds b/_industrial/data/fuel_combustion_activity_meta.rds new file mode 100644 index 00000000..580007d9 Binary files /dev/null and b/_industrial/data/fuel_combustion_activity_meta.rds differ diff --git a/_industrial/data/fuel_combustion_emissions.rds b/_industrial/data/fuel_combustion_emissions.rds new file mode 100644 index 00000000..a61b0afd Binary files /dev/null and b/_industrial/data/fuel_combustion_emissions.rds differ diff --git a/_industrial/data/fuel_combustion_emissions_by_gas.rds b/_industrial/data/fuel_combustion_emissions_by_gas.rds new file mode 100644 index 00000000..e9d4af4b Binary files /dev/null and b/_industrial/data/fuel_combustion_emissions_by_gas.rds differ diff --git a/_industrial/data/fuel_combustion_emissions_by_gas_meta.rds b/_industrial/data/fuel_combustion_emissions_by_gas_meta.rds new file mode 100644 index 00000000..03e3ce81 Binary files /dev/null and b/_industrial/data/fuel_combustion_emissions_by_gas_meta.rds differ diff --git a/_industrial/data/fuel_combustion_emissions_meta.rds b/_industrial/data/fuel_combustion_emissions_meta.rds new file mode 100644 index 00000000..c6a25ea8 Binary files /dev/null and b/_industrial/data/fuel_combustion_emissions_meta.rds differ diff --git a/_industrial/data/ghgrp_industrial_point_sources_ctu.rds b/_industrial/data/ghgrp_industrial_point_sources_ctu.rds new file mode 100644 index 00000000..7cd1e9ab Binary files /dev/null and b/_industrial/data/ghgrp_industrial_point_sources_ctu.rds differ diff --git a/_industrial/data/ghgrp_industrial_point_sources_ctu_meta.rds b/_industrial/data/ghgrp_industrial_point_sources_ctu_meta.rds new file mode 100644 index 00000000..f61a570d Binary files /dev/null and b/_industrial/data/ghgrp_industrial_point_sources_ctu_meta.rds differ diff --git a/_industrial/data/modeled_industrial_baseline_emissions.rds b/_industrial/data/modeled_industrial_baseline_emissions.rds new file mode 100644 index 00000000..6af31c02 Binary files /dev/null and b/_industrial/data/modeled_industrial_baseline_emissions.rds differ diff --git a/_industrial/data/modeled_industrial_baseline_emissions_meta.rds b/_industrial/data/modeled_industrial_baseline_emissions_meta.rds new file mode 100644 index 00000000..cab7ae58 Binary files /dev/null and b/_industrial/data/modeled_industrial_baseline_emissions_meta.rds differ diff --git a/_industrial/data/mpca_fuel_emissions.rds b/_industrial/data/mpca_fuel_emissions.rds new file mode 100644 index 00000000..d547f8ca Binary files /dev/null and b/_industrial/data/mpca_fuel_emissions.rds differ diff --git a/_industrial/data/mpca_fuel_emissions_by_gas.rds b/_industrial/data/mpca_fuel_emissions_by_gas.rds new file mode 100644 index 00000000..c1be65a3 Binary files /dev/null and b/_industrial/data/mpca_fuel_emissions_by_gas.rds differ diff --git a/_industrial/data/mpca_fuel_emissions_by_gas_meta.rds b/_industrial/data/mpca_fuel_emissions_by_gas_meta.rds new file mode 100644 index 00000000..e73de9d0 Binary files /dev/null and b/_industrial/data/mpca_fuel_emissions_by_gas_meta.rds differ diff --git a/_industrial/data/mpca_fuel_emissions_meta.rds b/_industrial/data/mpca_fuel_emissions_meta.rds new file mode 100644 index 00000000..e73de9d0 Binary files /dev/null and b/_industrial/data/mpca_fuel_emissions_meta.rds differ diff --git a/_industrial/data/nei_county_industrial_emissions.rds b/_industrial/data/nei_county_industrial_emissions.rds new file mode 100644 index 00000000..107c1d11 Binary files /dev/null and b/_industrial/data/nei_county_industrial_emissions.rds differ diff --git a/_industrial/data/nei_county_industrial_emissions_meta.rds b/_industrial/data/nei_county_industrial_emissions_meta.rds new file mode 100644 index 00000000..21b89729 Binary files /dev/null and b/_industrial/data/nei_county_industrial_emissions_meta.rds differ diff --git a/_industrial/industrial_data_source.qmd b/_industrial/industrial_data_source.qmd new file mode 100644 index 00000000..9699c304 --- /dev/null +++ b/_industrial/industrial_data_source.qmd @@ -0,0 +1,402 @@ +# Industrial methods and data sources +```{r include=FALSE} +source(file.path(here::here(), "R/_load_pkgs.R")) +source(file.path(here::here(), "R/_quarto_helpers.R")) +source(file.path(here::here(), "R/_plotting_helpers.R")) + +hookaddcap() + +# load in necessary data frames for comparison +county_emissions <- readRDS(file.path(here::here(), "_meta/data/cprg_county_emissions.RDS")) +flight_emissions <- readRDS(file.path(here::here(), "_industrial/data/flight_industrial_point_sources_ctu.RDS")) +ghgrp_emissions <- readRDS(file.path(here::here(), "_industrial/data/ghgrp_industrial_point_sources_ctu.rds")) +nei_emissions <- readRDS(file.path(here::here(), "_industrial/data/nei_county_industrial_emissions.RDS")) +subpart_c_emissions <- readRDS(file.path(here::here(), "_industrial/data/fuel_combustion_emissions.RDS")) +nrel_emissions <- county_emissions %>% + filter(category == "Industrial energy" & source == "Natural gas") +mpca_emissions <- readRDS(file.path(here::here(), "_industrial/data/mpca_fuel_emissions.RDS")) + +### remove doublecount from NEI emissions with FLIGHT data +nei_no_doublecount <- left_join(nei_emissions %>% + group_by(inventory_year, county_name) %>% + summarize(values_emissions = sum(values_emissions)), + flight_emissions %>% + filter(inventory_year %in% c(2017,2020), + doublecount == "Yes") %>% + group_by(inventory_year, county_name) %>% + summarize(values_emissions = sum(value_emissions)), + by = c("county_name","inventory_year"), + suffix = c("_NEI","_FLIGHT")) %>% + mutate(values_emissions_FLIGHT = if_else(is.na(values_emissions_FLIGHT),0,values_emissions_FLIGHT)) %>% + mutate(values_emissions = as.numeric(values_emissions_NEI) - values_emissions_FLIGHT, + data_source = "NEI - all") %>% + select(county_name,values_emissions, data_source, inventory_year) + +``` + +##Summary +Industrial emissions are derived MN Pollution Control Agency (MPCA) fuel combustion data from two EPA sources: the Greenhouse Gas Reporting Program (GHGRP; via FLIGHT: Facility Level Information on GHG Tool) and the National Emissions Inventory (NEI). These datasets have strengths and limitations which complement one another. The MPCA data has smaller facilities and commercial fuel combustion, but dates back only to 2016. GHGRP has facility source data dating back to 2010, but only facilities with 25,000+ metric tons of annual CO2e emissions are required to report to this program. The NEI aggregate county data includes smaller facilities, but only has GHG emission estimates for 2017 and 2020 and lacks the source level specificity. Additional data resources may be available via the federal US Energy Information Administration datasets. + +## Double counting +A key concern for industrial emissions is avoiding double counting, particularly natural gas combustion, electricity generation, and waste management. Our energy analysis uses a demand side approach to allocate electricity usage and natural gas combustion to residential, commercial, and industrial sectors. For electricity, this means avoiding industrial emissions that arise from electricty generation (note GHGRP and NEI already avoid counting electricity consumption at industrial facilities in their analyses). Natural gas consumption requires greater care, as combustion for industrial units (e.g. boilers) may be one of or some combination of natural gas, petroleum products, coal, or other fuel sources; additionally utility provisioning of natural gas may not account for all natural gas combustion at industrial sources. Our waste sector accounts for municipal waste emissions, though it does not inventory industrial waste processing. + +## Electricity generation +Electricity generation is indicated as industrial subpart "D", and can be omitted from GHGRP data easily. Note that power plants also have some fuel combustion that are not directly for electricity generation and it is currently unclear if that is accounted for in our egrid analysis. However, in NEI data, powerplants are grouped under NEC (Not Elsewhere Classified), which includes non-powerpoint sources, requiring care to avoid double-counting (e.g. subtracting away GHGRP power plant data) + +## Natural gas +Detailed data can be found in the GHGRP, particularly for fuel combustion. That allows us to subtract away natural gas combustion emissions from industrial combustion, to avoid potential double counting of natural gas utility data. Note that further inquiry is required to ensure that industrial natural gas is provisioned by the utilities. An additional subpart that requires investigation is "Y" which includes flaring data, which is often flaring of natural gas. MPCA data separates gas consumption for flaring. + +## Waste +We are omitting in-bound municipal waste facilities from our industrial analysis to avoid double counting with our waste emissions analyses (based on county waste volume in Minnesota). Industrial waste facilities will be analyzed here. + + +# Data source comparisons + +Due to the reasons listed above, the expectation should be that MPCA (smaller facilities, no process emissions), GHGRP (only larger facilities), and NEI (all facilities, no point source specificity means double-counting) provide substantially different values. + +```{r fig-emissions-source-comparison} +#| fig-cap: "Comparison of 2020 industrial emissions from FLIGHT, MPCA, NEI" +#| out-width: "95%" + +industrial_emissions <- bind_rows(mpca_emissions %>% + filter(sector == "Industrial") %>% + group_by(county_name, inventory_year) %>% + summarize(value_emissions = sum(value_emissions)) %>% + mutate(source = "MPCA"), + flight_emissions %>% + filter(doublecount == "No") %>% + group_by(county_name, inventory_year) %>% + summarize(value_emissions = sum(value_emissions)) %>% + mutate(source = "FLIGHT"), + ghgrp_emissions %>% + filter(doublecount == "No") %>% + group_by(county_name, inventory_year) %>% + summarize(value_emissions = sum(value_emissions)) %>% + mutate(source = "GHGRP"), + nei_no_doublecount %>% select(-data_source) %>% + rename(value_emissions = values_emissions) %>% + mutate(source = "NEI")) + +fig_industrial_emissions <- plot_ly( + data = industrial_emissions %>% + filter(inventory_year == 2020), + source = "fig-emissions-source-comparison", + x = ~county_name, + y = ~value_emissions, + color = ~source, + type = "bar", + # colors = c( + # "EIA" = cprg_colors$cprg_da_yellow, + # "Metropolitan Council" = colors$councilBlue + # ), + hovertemplate = ~ paste0( + county_name, "
", + source, "
", + round(value_emissions / 1000, digits = 2), " thousand metric tons CO2e", "
", + "" + ) +) %>% + plotly_layout( + main_title = "Industrial Data Source Comaparison", + y_title = "Metric tons CO2e", + x_title = "County", + legend_title = "Data source" + ) %>% + layout( + barmode = "group", + hovermode = "closest", + legend = list( + traceorder = "normal" + ) + ) + +fig_industrial_emissions + +``` + +Currently, we are seeing large deviations (high and low) between MPCA data and federal sources, particularly in Dakota (Refinery) and Hennepin counties. MPCA data only accounts for fuel combustion, not process emissions. + +Currently, GHGRP and MPCA data can be reliably used to avoid double-counting by avoiding emissions from Natural Gas. We can compare how subpart C (Industrial combustion) analyses compares to facilities with only subpart C FLIGHT aggregates. + +```{r fig-subpart-c-emissions} +#| fig-cap: "Comparison of industrial combustion emissions from FLIGHT and subpart C analysis" +#| out-width: "95%" + + +subpart_c <- flight_emissions %>% + filter(subparts == "C") %>% + left_join(., subpart_c_emissions %>% + filter(industry_type_subparts == 'C') %>% + group_by(facility_id, reporting_year) %>% + summarise(value_emissions = sum(values_emissions)), + by = c("ghgrp_id" = "facility_id", + "inventory_year" = "reporting_year"), + suffix = c("_flight","_subpart")) + + +fig_subpart_c_comparison <- plot_ly( + type = "scatter", + mode = "markers", + source = "fig-subpart-c-emissions", + data = subpart_c, + y = ~value_emissions_flight, + x = ~value_emissions_subpart, + color = ~ as.character(inventory_year), # Map colors by year + hovertemplate = ~ paste0( + facility_name, "
", + "FLIGHT emissions: ", round(value_emissions_flight, digits = 2), " metric tons CO2e", "
", + "SUBPART C Emissions: ", round(value_emissions_subpart, digits = 2), " metric tons CO2e", "
", + "" + ), + marker = list( + size = 18, + line = list( + color = "lightgray", + width = 2 + ) + ) +) + +fig_subpart_c_comparison <- fig_subpart_c_comparison %>% + add_trace( + type = "scatter", + mode = "lines", + x = c(0, max(subpart_c$value_emissions_subpart, na.rm = TRUE)), + y = c(0, max(subpart_c$value_emissions_subpart, na.rm = TRUE)), + line = list( + dash = "dash", + color = "black", + width = 2 + ), + showlegend = FALSE, # Hide this trace from the legend + inherit = FALSE, # Ensure no properties are inherited from the previous trace + hoverinfo = "none" # Disable hover for this line + ) + +fig_subpart_c_comparison + +``` + +Most emissions are on or sufficiently close to the one-to-one line. The exception is the Hennepin Energy Recovery Center, a waste burning facility. This requires further exploration but will be omitted in any case as waste-to-energy emissions are counted in the waste subsector. + +```{r fig-stationary-combustion} + +# compare fuel combustion to ghgrp stationary combustion +stationary_combustion <- ghgrp_emissions %>% + filter(source == "stationary_combustion") %>% + left_join(., subpart_c_emissions %>% + group_by(facility_id, reporting_year) %>% + summarise(value_emissions = sum(values_emissions)), + by = c("facility_id" = "facility_id", + "inventory_year" = "reporting_year"), + suffix = c("_ghgrp","_subpart")) + +fig_stationary_combustion <- plot_ly( + type = "scatter", + mode = "markers", + source = "fig-stationary-combustion", + data = stationary_combustion, + y = ~value_emissions_ghgrp, + x = ~value_emissions_subpart, + color = ~ as.character(inventory_year), # Map colors by year + hovertemplate = ~ paste0( + facility_name, "
", + "GHGRP emissions: ", round(value_emissions_ghgrp, digits = 2), " metric tons CO2e", "
", + "SUBPART C Emissions: ", round(value_emissions_subpart, digits = 2), " metric tons CO2e", "
", + "" + ), + marker = list( + size = 18, + line = list( + color = "lightgray", + width = 2 + ) + ) +) + +fig_stationary_combustion <- fig_stationary_combustion %>% + add_trace( + type = "scatter", + mode = "lines", + x = c(0, max(stationary_combustion$value_emissions_subpart, na.rm = TRUE)), + y = c(0, max(stationary_combustion$value_emissions_subpart, na.rm = TRUE)), + line = list( + dash = "dash", + color = "black", + width = 2 + ), + showlegend = FALSE, # Hide this trace from the legend + inherit = FALSE, # Ensure no properties are inherited from the previous trace + hoverinfo = "none" # Disable hover for this line + ) + +fig_stationary_combustion + +``` + +When comparing subpart C analysis of fuel combustion to the EPA provided 'stationary combustion' category of the GHG RP, we see general agreement, with our subpart analysis appear to overpredict emissions from HERC and the large in-bounds oil refinery of the region, relative to the EPA data. As the refinery emits via hydrogen production and natural gas flaring, it is possible those emissions are otherwise categorized in GHG RP. + + +# Natural Gas + +Given overall compliance between our subpart C analysis and EPA reporting, natural gas combustion can be pulled out from a subpart C analysis and compared to our estimates of utility-supplied natural gas deliveries to the industrial sector (via NREL). + +```{r fig-natural-gas-comparison} +#| fig-cap: "Comparison of natural gas combustion data" +#| out-width: "95%" + +natural_gas_c_2021 <- subpart_c_emissions %>% + filter(specific_fuel_type == "Natural Gas", + reporting_year == 2021) %>% + group_by(county_name, + reporting_year) %>% + summarize(value_emissions = sum(values_emissions)) %>% + mutate(data_source = "GHGRP - Natural Gas Combustion") + +mpca_natural_gas <- mpca_emissions %>% + filter(fuel_type == "Natural Gas", + inventory_year == 2021) %>% + group_by(county_name, inventory_year) %>% + summarize(value_emissions = sum(value_emissions)) %>% + mutate(data_source = "MPCA - Natural Gas Combustion") + +natural_gas_comp <- bind_rows(nrel_emissions %>% + filter(year == 2021) %>% + mutate(data_source = "NREL") %>% + select(inventory_year = year, + county_name = geog_name, + value_emissions = emissions_metric_tons_co2e, + data_source), + natural_gas_c_2021 %>% + rename(inventory_year = reporting_year), + mpca_natural_gas + ) + + +fig_industrial_ng_emissions <- plot_ly( + data = natural_gas_comp, + source = "fig-natural-gas-comparison", + x = ~county_name, + y = ~value_emissions, + color = ~data_source, + type = "bar", + # colors = c( + # "EIA" = cprg_colors$cprg_da_yellow, + # "Metropolitan Council" = colors$councilBlue + # ), + hovertemplate = ~ paste0( + county_name, "
", + data_source, "
", + round(value_emissions / 1000, digits = 2), " thousand metric tons CO2e", "
", + "" + ) +) %>% + plotly_layout( + main_title = "Industrial Natural Gas Emissions Inventory Comaparison", + y_title = "Metric tons CO2e", + x_title = "County", + legend_title = "Data source" + ) %>% + layout( + barmode = "group", + hovermode = "closest", + legend = list( + traceorder = "normal" + ) + ) + +fig_industrial_ng_emissions + +``` + + +```{r fig-natural-gas-comparison} +#| fig-cap: "Comparison of natural gas combustion data" +#| out-width: "95%" + +natural_gas_c_2020 <- subpart_c_emissions %>% + filter(specific_fuel_type == "Natural Gas", + reporting_year == 2020) %>% + group_by(county_name, + reporting_year) %>% + summarize(values_emissions = sum(values_emissions)) %>% + mutate(data_source = "GHGRP - Fuel combustion") + +nei_2020_no_doublecount <- left_join(nei_emissions %>% + filter(inventory_year == 2020) %>% + group_by(county_name) %>% + summarize(values_emissions = sum(values_emissions)), + flight_emissions %>% + filter(inventory_year == 2020, + doublecount == "Yes") %>% + group_by(county_name) %>% + summarize(values_emissions = sum(value_emissions)), + by = "county_name", + suffix = c("_NEI","_FLIGHT")) %>% + mutate(values_emissions_FLIGHT = if_else(is.na(values_emissions_FLIGHT),0,values_emissions_FLIGHT)) %>% + mutate(values_emissions = as.numeric(values_emissions_NEI) - values_emissions_FLIGHT, + data_source = "NEI - all", + inventory_year = 2020) %>% + select(county_name,values_emissions, data_source, inventory_year) + + +natural_gas_comp2 <- bind_rows(nrel_emissions %>% + filter(year == 2021) %>% + mutate(data_source = "NREL") %>% + select(inventory_year = year, + county_name = geog_name, + values_emissions = emissions_metric_tons_co2e, + data_source), + nei_emissions %>% + filter(inventory_year == 2020, + sector_three == "Natural Gas") %>% + ungroup() %>% + mutate(data_source = "NEI - NG combustion", + values_emissions = as.numeric(values_emissions)) %>% + select(inventory_year, + county_name, + values_emissions, + data_source), + natural_gas_c_2020 %>% + rename(inventory_year = reporting_year) + ) + +fig_industrial_ng_emissions2 <- plot_ly( + data = natural_gas_comp2, + source = "fig-natural-gas-comparison", + x = ~county_name, + y = ~values_emissions, + color = ~data_source, + type = "bar", + # colors = c( + # "EIA" = cprg_colors$cprg_da_yellow, + # "Metropolitan Council" = colors$councilBlue + # ), + hovertemplate = ~ paste0( + county_name, "
", + data_source, "
", + round(values_emissions / 1000, digits = 2), " thousand metric tons CO2e", "
", + "" + ) +) %>% + plotly_layout( + main_title = "Industrial Natural Gas Emissions Inventory Comaparison", + y_title = "Metric tons CO2e", + x_title = "County", + legend_title = "Data source" + ) %>% + layout( + barmode = "group", + hovermode = "closest", + legend = list( + traceorder = "normal" + ) + ) + +fig_industrial_ng_emissions2 + +``` + +### Scaling to CTUs + + diff --git a/_meta/_state_gcam_modeling.qmd b/_meta/_state_gcam_modeling.qmd new file mode 100644 index 00000000..e9280df9 --- /dev/null +++ b/_meta/_state_gcam_modeling.qmd @@ -0,0 +1,657 @@ +# MPCA GCAM modeling +```{r include=FALSE} +knitr::opts_chunk$set( + echo = FALSE, + message = FALSE, + warning = FALSE, + fig.pos = "H", + out.width = "100%", + dpi = 300 +) + + +knitr::opts_knit$set(root.dir = rprojroot::find_rstudio_root_file()) +source(file.path(here::here(), "R/_quarto_helpers.R")) +source(file.path(here::here(), "R/_load_pkgs.R")) +source(file.path(here::here(), "R/_plotting_helpers.R")) + +hookaddcap() +``` + +```{r merge-cprg-mpca-data} +#| include: false + +cprg_county <- read_rds(file.path(here::here(),"_meta/data/cprg_county.RDS")) +county_emissions <- readRDS(file.path(here::here(), "_meta/data/cprg_county_emissions.RDS")) +mpca_economy_projections <- readRDS(file.path(here::here(), "_meta/data/gcam/mpca_economy_wide_gcam.RDS")) +mpca_sector_projections <- readRDS(file.path(here::here(), "_meta/data/gcam/mpca_sector_gcam.RDS")) +mpca_subsector_projections <- readRDS(file.path(here::here(), "_meta/data/gcam/mpca_subsector_gcam.RDS")) + +### match county emissions to mpca projections + +county_emissions <- county_emissions %>% + mutate(sector = case_when( + source == "Electricity" ~ "Electricity", + source %in% c("Natural gas","Propane","Kerosene") ~ "Building energy", + TRUE ~ sector + )) + +# Create economy wide projections +economy_projections <- county_emissions %>% + filter(year == 2005, sector != "Nature", + !geog_name %in% c("Chisago", "St. Croix", "Pierce","Sherburne")) %>% + cross_join(mpca_economy_projections %>% + filter(emissions_year >= 2025, + source_sink == "Emission") %>% + select(emissions_year, scenario, proportion_of_2005)) %>% + mutate(emissions_metric_tons_co2e = proportion_of_2005 * emissions_metric_tons_co2e) %>% + group_by(emissions_year, sector, scenario) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) %>% + ungroup() + +economy_sequestration_projections <- county_emissions %>% + filter(year == 2005, sector == "Nature", + !geog_name %in% c("Chisago", "St. Croix", "Pierce","Sherburne")) %>% + cross_join(mpca_economy_projections %>% + filter(emissions_year >= 2025, + source_sink == "Sequestration") %>% + select(emissions_year, scenario, proportion_of_2005)) %>% + mutate(emissions_metric_tons_co2e = proportion_of_2005 * emissions_metric_tons_co2e) %>% + group_by(emissions_year, sector, scenario) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) %>% + ungroup() + +economy_inventory_projections <- bind_rows( + county_emissions %>% + filter(year >=2005 & year <= 2021) %>% + group_by(year, sector) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) %>% + rename(emissions_year = year) %>% + ungroup() %>% + right_join( + #fill in missing years + expand.grid( + emissions_year = seq(2005, 2021, by = 1), + sector = unique(county_emissions$sector) + )) %>% + mutate(scenario = "Inventory"), + economy_projections %>% + mutate(emissions_year = as.numeric(emissions_year)), + economy_sequestration_projections%>% + mutate(emissions_year = as.numeric(emissions_year)) +) %>% + group_by(sector) %>% + mutate(emissions_metric_tons_co2e = imputeTS::na_kalman(emissions_metric_tons_co2e)) + + +## now do this by sector emissions + +unique(mpca_subsector_projections$subsector_mc) +unique(county_emissions$category) + +county_emissions <- county_emissions %>% + mutate(subsector_mc = case_when( + source != "Electricity" & category == "Residential energy" ~ "Residential Natural Gas", + source != "Electricity" & category == "Commercial energy" ~ "Commercial Natural Gas", + source != "Electricity" & category == "Industrial energy" ~ "Industrial Natural Gas", + source != "Electricity" & category == "Total energy" ~ "Natural Gas", + source == "Electricity" ~ "Electricity", + TRUE ~ category + )) + +mpca_subsector_projections_use <- mpca_subsector_projections %>% + filter(emissions_year >= 2025, + source_sink == "Emission", + !grepl("not_inventoried", subsector_mc)) %>% + mutate(subsector_mc = if_else(grepl("Natural Gas", subsector_mc), + "Natural Gas", + subsector_mc)) %>% + group_by(emissions_year, scenario, subsector_mc) %>% + summarize(proportion_of_2005 = mean(proportion_of_2005)) + +subsector_projections <- county_emissions %>% + filter(year == 2005, sector != "Nature", + !geog_name %in% c("Chisago", "St. Croix", "Pierce","Sherburne")) %>% + left_join(., mpca_subsector_projections_use, + by = "subsector_mc") %>% + mutate(emissions_metric_tons_co2e = proportion_of_2005 * emissions_metric_tons_co2e) %>% + group_by(emissions_year, sector, scenario) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) %>% + ungroup() + +subsector_inventory_projections <- bind_rows( + county_emissions %>% + filter(year >=2005 & year <= 2021) %>% + group_by(year, sector) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) %>% + rename(emissions_year = year) %>% + ungroup() %>% + right_join( + #fill in missing years + expand.grid( + emissions_year = seq(2005, 2021, by = 1), + sector = unique(county_emissions$sector) + )) %>% + mutate(scenario = "Inventory"), + subsector_projections %>% + mutate(emissions_year = as.numeric(emissions_year))) %>% + group_by(sector) %>% + mutate(emissions_metric_tons_co2e = imputeTS::na_kalman(emissions_metric_tons_co2e)) + +``` + +## Introduction + +Natural systems are a critical component of capturing carbon from the atmosphere and sequestering it in biomass and terrestrial soils. Photosynthesis is the central mechanism of this process and vegetation is therefore the focal land cover classification for quantifying the potential for regions to both sequester and store carbon. Different ecosystems have varying capacities for carbon capture and this work focuses on five broad classifications: urban trees, urban grasslands (i.e. turf grass), forests, natural grasslands, and wetlands. The distinction between tree and grassland cover in developed areas (i.e. urban) is important as despite having similar sequestration rates, urban natural systems are generally understood to have smaller storage capacities. The preservation and restoration of natural systems will be a key tool in limiting atmospheric greenhouse gases. + +```{r fig-economy-downscale} +#| fig-cap: "Economy wide MPCA downscale" +#| out-width: "95%" +#| fig.height: 4 # Set height in inches +#| fig.width: 8 # Set width in inches + +### can't currently get sequestration to plot as negative figure + +fig_economy_current_policies <- plot_ly( + source = "fig-economy-downscale", + data = economy_inventory_projections %>% + filter(scenario %in% c("Inventory", "Current policies"), + sector != "Nature"), + x = ~emissions_year, + y = ~emissions_metric_tons_co2e, + color = ~sector, # + #colors = unlist(category_colors), # Directly map the colors to categories + type = "scatter", + mode = "lines", # No points or lines, just fill + stackgroup = "relative", # Fill to the next y value (stacking) + hoverinfo = "x+y+name", # Ensure hover displays x, y, and category name + hovertemplate = ~ paste0( + "Year: %{x}
", + "Category: %{text}
", + "Emissions: %{y:.2f} metric tons CO2e
", + "" + ), + text = ~scenario # Pass category to hovertext +) %>% + plotly_layout( + main_title = "Economy wide current policies downscale", + x_title = "Year", + y_title = "Million metric tons CO2e", + subtitle = "" + ) %>% + layout( + hovermode = "x unified", # Combine all hovertext under one hover + hoverlabel = list( + font = list( + color = "black" # Set hovertext color to black + ) + ) + ) + + +fig_economy_current_policies +``` + +```{r fig-economy-nz-downscale} +#| fig-cap: "Economy wide MPCA downscale" +#| out-width: "95%" +#| fig.height: 4 # Set height in inches +#| fig.width: 8 # Set width in inches + +### can't currently get sequestration to plot as negative figure + + +fig_economy_net_zero <- plot_ly( + source = "fig-economy-nz-downscale", + data = economy_inventory_projections %>% + filter(scenario %in% c("Inventory", "Net-zero pathway"), + sector != "Nature"), + x = ~emissions_year, + y = ~emissions_metric_tons_co2e, + color = ~sector, # + #colors = unlist(category_colors), # Directly map the colors to categories + type = "scatter", + mode = "lines", # No points or lines, just fill + stackgroup = "relative", # Fill to the next y value (stacking) + hoverinfo = "x+y+name", # Ensure hover displays x, y, and category name + hovertemplate = ~ paste0( + "Year: %{x}
", + "Category: %{text}
", + "Emissions: %{y:.2f} metric tons CO2e
", + "" + ), + text = ~scenario # Pass category to hovertext +) %>% + plotly_layout( + main_title = "Economy wide net-zero downscale", + x_title = "Year", + y_title = "Million metric tons CO2e", + subtitle = "" + ) %>% + layout( + hovermode = "x unified", # Combine all hovertext under one hover + hoverlabel = list( + font = list( + color = "black" # Set hovertext color to black + ) + ) + ) + +fig_economy_net_zero +``` + +```{r fig-subsector-cp-downscale} +#| fig-cap: "Economy wide MPCA downscale" +#| out-width: "95%" +#| fig.height: 4 # Set height in inchess +#| fig.width: 8 # Set width in inches + +### can't currently get sequestration to plot as negative figure + +fig_subsector_current_policies <- plot_ly( + source = "fig-subsector-cp-downscale", + data = subsector_inventory_projections %>% + filter(scenario %in% c("Inventory", "Current policies"), + sector != "Nature"), + x = ~emissions_year, + y = ~emissions_metric_tons_co2e, + color = ~sector, # + #colors = unlist(category_colors), # Directly map the colors to categories + type = "scatter", + mode = "lines", # No points or lines, just fill + stackgroup = "relative", # Fill to the next y value (stacking) + hoverinfo = "x+y+name", # Ensure hover displays x, y, and category name + hovertemplate = ~ paste0( + "Year: %{x}
", + "Category: %{text}
", + "Emissions: %{y:.2f} metric tons CO2e
", + "" + ), + text = ~scenario # Pass category to hovertext +) %>% + plotly_layout( + main_title = "Subsector current policies downscale", + x_title = "Year", + y_title = "Million metric tons CO2e", + subtitle = "" + ) %>% + layout( + hovermode = "x unified", # Combine all hovertext under one hover + hoverlabel = list( + font = list( + color = "black" # Set hovertext color to black + ) + ) + ) + +fig_subsector_current_policies +``` + + +```{r fig-subsector-nz-downscale} +#| fig-cap: "Economy wide MPCA downscale" +#| out-width: "95%" +#| fig.height: 4 # Set height in inches +#| fig.width: 8 # Set width in inches + +### can't currently get sequestration to plot as negative figure + + +fig_subsector_net_zero <- plot_ly( + source = "fig-subsector-nz-downscale", + data = subsector_inventory_projections %>% + filter(scenario %in% c("Inventory", "Net-zero pathway"), + sector != "Nature"), + x = ~emissions_year, + y = ~emissions_metric_tons_co2e, + color = ~sector, # + #colors = unlist(category_colors), # Directly map the colors to categories + type = "scatter", + mode = "lines", # No points or lines, just fill + stackgroup = "relative", # Fill to the next y value (stacking) + hoverinfo = "x+y+name", # Ensure hover displays x, y, and category name + hovertemplate = ~ paste0( + "Year: %{x}
", + "Category: %{text}
", + "Emissions: %{y:.2f} metric tons CO2e
", + "" + ), + text = ~scenario # Pass category to hovertext +) %>% + plotly_layout( + main_title = "Subsector net-zero downscale", + x_title = "Year", + y_title = "Million metric tons CO2e", + subtitle = "" + ) %>% + layout( + hovermode = "x unified", # Combine all hovertext under one hover + hoverlabel = list( + font = list( + color = "black" # Set hovertext color to black + ) + ) + ) + +fig_subsector_net_zero +``` + +## Results + +There is considerable variation across counties in two key components that affect natural system carbon sequestration and stock potential: total area of green spaces and the ratio of 'natural' to 'urban' green spaces. Hennepin county has the highest sequestration potential due to a high proportion of urban trees and turf grass (urban grasslands) which have high potential for rapid carbon sequestration. However, counties with more acreage of green spaces in undeveloped areas, most notably St. Croix county, have a higher stock capacity. This dichotomy illustrates that different counties curation of natural spaces may play different roles. Highly developed areas may help offset carbon emissions be providing rapid sequestration sinks in urban greenery, whereas less developed counties can provide longer term carbon sinks in natural areas with a higher capacity to continue drawing down atmospheric carbon even if future emissions approach net zero. + +Two important caveats to these results are that (1) carbon sequestration tends to slow as natural systems mature and (2) present day natural systems exist at some intermediate level of the illustrated carbon stock potential. The former means that these approximations could be higher or lower depending on the average age of natural systems in each county (e.g. time since agricultural abandonment). The latter means that the loss of these natural systems to development or habitat instruction means that not only would the region lose carbon sinks, but a substantial amount of the stored carbon will be transferred to the atmosphere, increasing atmospheric greenhouse gases. + +```{r fig-ns-county-sequestration} +#| fig-cap: "2021 county natural system carbon sequestration potential" +#| out-width: "95%" + +fig_ns_county_sequestration <- plot_ly( + type = "bar", + source = "fig-ns-county-sequestration", + data = county_emissions %>% + filter(category == "Sequestration"), + y = ~ reorder(geog_name, emissions_metric_tons_co2e), + x = ~emissions_metric_tons_co2e, + color = ~source, + colors = unlist(source_colors), + hovertemplate = ~ paste0( + geog_name, "
", + source, "
", + round(emissions_metric_tons_co2e / 1000000, digits = 2), " million metric tons CO2e", "
", + "" + ) +) %>% + plotly_layout( + main_title = "2021 county natural system sequestration", + x_title = "Metric tons CO2e", + subtitle = "" + ) %>% + layout( + barmode = "stack", + legend = list( + traceorder = "reversed" + ) + ) + +fig_ns_county_sequestration +``` + +{{< pagebreak >}} + +```{r fig-ns-county-stock} +#| fig-cap: "2021 county natural system carbon stock potential" +#| out-width: "95%" + +fig_ns_county_stock <- plot_ly( + type = "bar", + source = "fig-ns-county-sequestration", + data = carbon_stock, + y = ~ reorder(geog_name, emissions_metric_tons_co2e), + x = ~emissions_metric_tons_co2e, + color = ~source, + colors = unlist(source_colors), + hovertemplate = ~ paste0( + geog_name, "
", + "Natural Systems", "
", + round(emissions_metric_tons_co2e / 1000000, digits = 2), " million metric tons CO2e", "
", + "" + ) +) %>% + plotly_layout( + main_title = "2021 county natural system stock potential", + x_title = "Metric tons CO2e", + subtitle = "" + ) %>% + layout( + barmode = "stack", + legend = list( + traceorder = "reversed" + ) + ) + +fig_ns_county_stock +``` + +### Correlation with county area + +The expectation is that larger counties have higher carbon sequestration and storage capacities due to more acreage for green spaces; this is indeed observed. + +```{r fig-ns-county-sequestration-area} +#| fig-cap: "2021 carbon stock by county area" +#| out-width: "95%" + +sequestration_area <- left_join( + county_emissions %>% + filter(category == "Sequestration") %>% + group_by(geog_name) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)), + cprg_area, + by = c("geog_name" = "NAME") +) %>% + mutate(seq_per_area = emissions_metric_tons_co2e / area_sq_km) + +fig_ns_sequestration_area <- plot_ly( + type = "scatter", + mode = "markers", + source = "fig-ns-county-sequestration-area", + data = sequestration_area, + y = ~emissions_metric_tons_co2e, + x = ~area_sq_km, + hovertemplate = ~ paste0( + geog_name, " County", "
", + "Area: ", scales::comma(area_sq_km), " square kilometers", "
", + "Emissions: ", round(emissions_metric_tons_co2e * 1e-6, digits = 2), " million metric tons CO2e", "
", + "" + ), + marker = list( + color = colors$councilBlue, + size = 18, + line = list( + color = "lightgray", + width = 2 + ) + ) +) %>% + plotly_layout( + main_title = "County area and sequestration potential", + x_title = "Area km2", + y_title = "Metric tons CO2e", + subtitle = "" + ) %>% + layout( + barmode = "stack", + legend = list( + traceorder = "reversed" + ) + ) + +fig_ns_sequestration_area +``` + + +```{r fig-ns-county-stock-area} +#| fig-cap: "2021 carbon stock by county area" +#| out-width: "95%" + +carbon_stock_area <- left_join( + carbon_stock %>% + group_by(geog_name) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)), + cprg_area, + by = c("geog_name" = "NAME") +) %>% + mutate(stock_per_area = emissions_metric_tons_co2e / area_sq_km) + +fig_ns_stock_area <- plot_ly( + type = "scatter", + mode = "markers", + source = "fig-ns-county-stock-area", + data = carbon_stock_area, + y = ~emissions_metric_tons_co2e, + x = ~area_sq_km, + hovertemplate = ~ paste0( + geog_name, " County", "
", + "Area: ", scales::comma(area_sq_km), " square kilometers", "
", + "Emissions: ", round(emissions_metric_tons_co2e * 1e-6, digits = 2), " million metric tons CO2e", "
", + "" + ), + marker = list( + color = colors$councilBlue, + size = 18, + line = list( + color = "lightgray", + width = 2 + ) + ) +) %>% + plotly_layout( + main_title = "County area and stock potential", + x_title = "Area km2", + y_title = "Metric tons CO2e", + subtitle = "" + ) %>% + layout( + barmode = "stack", + legend = list( + traceorder = "reversed" + ) + ) + +fig_ns_stock_area +``` + +### Regional parks + +``` {r park-carbon-data, include = FALSE} +park_carbon <- readRDS(file.path(here::here(), "_nature/data/park_landcover_sequestration_2021.RDS")) +parks <- readRDS(file.path(here::here(), "_nature/data/regional_parks_shape.RDS")) + + +cprg_7 <- cprg_county %>% filter(!NAME %in% c("Sherburne", "Chisago", "St. Croix", "Pierce")) +county_seq_7 <- county_emissions %>% filter(geog_name %in% cprg_7$NAME, sector == "Nature") +county_stock_7 <- carbon_stock_area %>% filter(geog_name %in% cprg_7$NAME) + + +park_area_total <- sum(expanse(parks, unit = "km")) # 307.684 +cprg_7_area <- sum(expanse(cprg_7, unit = "km")) # 7711.262 +park_area_ratio <- sum(expanse(parks, unit = "km")) / sum(expanse(cprg_7, unit = "km")) # 3.99% + +park_area <- data.frame(agency = parks$AgencyMana, area = expanse(parks, unit = "km")) %>% + group_by(agency) %>% + summarize(area = sum(area)) + +park_seq_ratio <- sum(park_carbon$sequestration_potential) / sum(county_seq_7$emissions_metric_tons_co2e) # 5.56% +park_stock_ratio <- sum(park_carbon$stock_potential) / sum(county_stock_7$emissions_metric_tons_co2e) # 7.19% + + +park_carbon_agg <- park_carbon %>% + filter(!is.na(park)) %>% + group_by(county) %>% + summarize( + area = sum(area), + sequestration_potential = sum(sequestration_potential), + stock_potential = sum(stock_potential) + ) %>% + mutate(seq_area = sequestration_potential / area, stock_area = stock_potential / area) + +park_county_comp <- bind_rows( + bind_rows( + pivot_longer(park_carbon_agg %>% select(county, seq_area, stock_area), + cols = c(seq_area, stock_area) + ) %>% mutate(geography = "Regional Parks"), + sequestration_area %>% dplyr::select(geog_name, seq_per_area) %>% + filter(geog_name %in% park_carbon_agg$county) %>% + mutate(name = "seq_area", geography = "County") %>% + rename(value = "seq_per_area", county = "geog_name") + ), + carbon_stock_area %>% dplyr::select(geog_name, stock_per_area) %>% + filter(geog_name %in% park_carbon_agg$county) %>% + mutate(name = "stock_area", geography = "County") %>% + rename(value = "stock_per_area", county = "geog_name") +) +``` + +Parks play an important role in climate change resilience by protecting existing natural systems and acquiring lands for natural system restoration. The regional park system of the seven county Twin Cities region provides an excellent example of this. The following graphs show how regional parks, on a per area basis, are more efficient carbon sinks than the counties they reside in. For both sequestration and stock potential, this is in large part due to a much small proportion of non-green spaces (e.g.. impervious surfaces, agricultural lands), but stock potential in particular has a higher capacity due to a larger proportion of natural green spaces as opposed to urban green spaces. Regional parks represent `r scales::percent(park_area_ratio, accuracy = 0.1)` of the total land area of the seven county region, but `r scales::percent(park_seq_ratio, accuracy = 0.1)` of its carbon sequestration potential and `r scales::percent(park_stock_ratio, accuracy = 0.1)` of its carbon stock potential. + + +```{r fig-park-county-comp} +#| fig-cap: "2021 comparison of carbon sequestration per square kilometer in counties and regional parks" +#| out-width: "95%" + + +park_county_plot <- plot_ly( + type = "bar", + source = "fig-park-county-comp", + data = park_county_comp %>% filter(name == "seq_area"), + y = ~value, + x = ~county, + color = ~geography, + colors = c("lightgreen", "darkgreen"), + hovertemplate = ~ paste0( + geography, "
", + "Natural Systems", "
", + round(value, digits = 2), " metric tons CO2e per square kilometers", "
", + "" + ) +) %>% + plotly_layout( + main_title = "2021 county vs park natural system sequestration potential", + y_title = "Metric tons CO2e / km2", + subtitle = "" + ) %>% + layout( + barmode = "group", + legend = list( + traceorder = "reversed" + ) + ) + +park_county_plot +``` + + + +```{r fig-park-county-stock-comp} +#| fig-cap: "2021 comparison of carbon stock per square kilometer in counties and regional parks" +#| out-width: "95%" + +park_county_plot_stock <- plot_ly( + type = "bar", + source = "fig-park-county-stock-comp", + data = park_county_comp %>% filter(name == "stock_area"), + y = ~value, + x = ~county, + color = ~geography, + colors = c("lightgreen", "darkgreen"), + hovertemplate = ~ paste0( + geography, "
", + "Natural Systems", "
", + round(value / 1000, digits = 2), " thousand metric tons CO2e per square kilometers", "
", + "" + ) +) %>% + plotly_layout( + main_title = "2021 county vs park natural system stock potential", + y_title = "Metric tons CO2e / km2", + subtitle = "" + ) %>% + layout( + barmode = "group", + legend = list( + traceorder = "reversed" + ) + ) + +park_county_plot_stock +``` + + +```{r echo=FALSE} +caption_index <- readRDS(file.path(here::here(), "caption_index.RDS")) +caption_index <- as.character(as.numeric(caption_index) + 1) %>% stringr::str_pad(width = 2, side = "left", pad = "0") +saveCap(paste0("cap-", caption_index)) +saveRDS(caption_index, file.path(here::here(), "caption_index.RDS")) +``` + +{{< pagebreak >}} diff --git a/_meta/data-raw/compile_county_emissions.R b/_meta/data-raw/compile_county_emissions.R index 2e2d5843..63ad7e2e 100644 --- a/_meta/data-raw/compile_county_emissions.R +++ b/_meta/data-raw/compile_county_emissions.R @@ -34,41 +34,53 @@ transportation_emissions <- readRDS("_transportation/data/onroad_emissions.RDS") factor_source ) +aviation_emissions <- readRDS("_transportation/data/aviation_emissions.RDS") %>% + mutate( + sector = "Transportation", + geog_level = "county", + geog_name = geog_name, + category = "Aviation", + source = "Aviation", + data_source = data_source, + factor_source = data_source, + emissions_metric_tons_co2e = value_emissions, + year = inventory_year + ) %>% + select(names(transportation_emissions)) + + # waste ----- ## wastewater ---- -ww_emissions <- readRDS("_waste/data/epa_county_wastewater.RDS") %>% +ww_emissions <- readRDS("_waste/data/epa_county_wastewater_2005_2021.RDS") %>% mutate( sector = "Waste", geog_level = "county", - geog_name = NAME, + geog_name = county_name , category = "Wastewater", source = "Wastewater", data_source = "EPA State GHG Inventory and Projection Tool", factor_source = data_source, - emissions_metric_tons_co2e = epa_co2e, - year = 2021 + emissions_metric_tons_co2e = co2e, + year = as.numeric(year) ) %>% select(names(transportation_emissions)) ## solid waste ----- -solid_waste <- readRDS("_waste/data/county_sw_emissions.RDS") %>% +solid_waste <- readRDS("_waste/data/final_solid_waste_allyrs.RDS") %>% + left_join(cprg_county %>% select(county_name, geoid)) %>% ungroup() %>% mutate( - sector = "Waste", geog_level = "county", - geog_name = county, - category = "Solid waste", - source = str_to_sentence(source), - data_source, - factor_source = "EPA GHG Emission Factors Hub (2021)" + geog_name = county_name, + year = as.numeric(inventory_year), + emissions_metric_tons_co2e = value_emissions ) %>% select(names(transportation_emissions)) # energy ----- - electric_natgas_nrel_proportioned <- readRDS("_energy/data/electric_natgas_nrel_proportioned.RDS") ## electricity ---- @@ -79,10 +91,10 @@ electric_emissions <- electric_natgas_nrel_proportioned %>% filter((year == 2005 & category == "Total") | (year == 2021 & category != "Total")) %>% mutate( - sector = "Energy", + sector = category, geog_level = "county", + category = "Electricity", geog_name = county, - category = paste0(category, " energy"), source = source, data_source = "Individual electric utilities, NREL SLOPE", factor_source = "eGRID MROW" @@ -98,10 +110,10 @@ natural_gas_emissions <- electric_natgas_nrel_proportioned %>% filter((year == 2005 & category == "Total") | (year == 2021 & category != "Total")) %>% mutate( - sector = "Energy", + sector = category, geog_level = "county", + category = "Natural gas", geog_name = county, - category = paste0(category, " energy"), source = source, data_source = "Individual natural gas utilities, NREL SLOPE (2021)", factor_source = "EPA GHG Emission Factors Hub (2021)" @@ -112,7 +124,7 @@ natural_gas_emissions <- electric_natgas_nrel_proportioned %>% propane_kerosene_emissions <- readRDS("_energy/data/fuel_use.RDS") %>% mutate( - sector = "Energy", + sector = "Building energy", geog_level = "county", geog_name = NAME, category = "Liquid stationary fuels", @@ -139,9 +151,29 @@ agriculture_emissions <- readRDS("_agriculture/data/_agricultural_emissions.rds" ) %>% select(names(transportation_emissions)) +## industrial ---- + +industrial_emissions <- readRDS("_industrial/data/modeled_industrial_baseline_emissions.RDS") %>% + ungroup() %>% + mutate( + emissions_metric_tons_co2e = value_emissions, + emissions_year = as.numeric(inventory_year), + geog_level = "county", + source = str_to_sentence(source), + category = case_when( + category == "Stationary combustion" & source == "Natural gas" ~ str_to_sentence(paste(sector,source)), + category == "Stationary combustion" & source != "Natural gas" ~ str_to_sentence(paste(sector,"fuel combustion")), + TRUE ~ category) + ) %>% + group_by(emissions_year, county_name,geog_level, county_id, sector, category, source, data_source, factor_source) %>% + summarize(emissions_metric_tons_co2e = sum(value_emissions)) %>% + rename(year = emissions_year, geog_name = county_name) %>% + select(names(transportation_emissions)) + + ## natural systems ---- -natural_systems_sequestration <- readRDS("_nature/data/county_landcover_sequestration_2021.RDS") %>% +natural_systems_sequestration_esa <- readRDS("_nature/data/county_landcover_sequestration_2021.RDS") %>% mutate( sector = "Nature", geog_level = "county", @@ -152,10 +184,28 @@ natural_systems_sequestration <- readRDS("_nature/data/county_landcover_sequestr factor_source = "Various primary literature", year = 2021, emissions_metric_tons_co2e = sequestration_potential, + year = as.numeric(year) + ) %>% + ungroup() %>% + select(names(transportation_emissions)) + +natural_systems_sequestration_nlcd <- readRDS("_nature/data/nlcd_county_landcover_sequestration_2001_2021_v2.RDS") %>% + filter(year >= 2005) %>% + mutate( + sector = "Nature", + geog_level = "county", + geog_name = county_name, + category = "Sequestration", + source = stringr::str_to_sentence(str_replace_all(land_cover_type, "_", " ")), + data_source = "NLCD 2021", + factor_source = "Various primary literature", + emissions_metric_tons_co2e = sequestration_potential, + year = as.numeric(year) ) %>% ungroup() %>% select(names(transportation_emissions)) + natural_systems_stock <- readRDS("_nature/data/county_landcover_sequestration_2021.RDS") %>% mutate( sector = "Nature", @@ -175,13 +225,15 @@ natural_systems_stock <- readRDS("_nature/data/county_landcover_sequestration_20 emissions_all <- bind_rows( transportation_emissions, - propane_kerosene_emissions, + aviation_emissions, + #propane_kerosene_emissions, electric_emissions, natural_gas_emissions, ww_emissions, solid_waste, agriculture_emissions, - natural_systems_sequestration, + industrial_emissions, + natural_systems_sequestration_nlcd, natural_systems_stock ) %>% left_join( @@ -190,63 +242,31 @@ emissions_all <- bind_rows( select(county_name, geoid), by = c("geog_name" = "county_name") ) %>% - mutate( - source = factor(source, - c( - # transportation levels - "Gasoline fueled vehicles", - "Diesel fueled vehicles", - "Other fueled vehicles", - # waste levels - "Landfill", - "Waste to energy", - "Recycling", - "Organics", - "Wastewater", - # energy levels - "Electricity", - "Natural gas", - "Propane", - "Kerosene", - # agriculture levels - "Enteric_fermentation", - "Manure_management", - "Direct_manure_soil_emissions", - "Indirect_manure_runoff_emissions", - "Crop_residue_emissions", - "Crop_fertilizer_emissions", - "Runoff_fertilizer_emissions", - # nature levels - "Urban grassland", - "Urban tree", - "Grassland", - "Tree", - "Wetland" - ), - ordered = TRUE - ), - category = factor( - category, - c( - "Residential energy", - "Commercial energy", - "Industrial energy", - "Total energy", - "Liquid stationary fuels", - "Passenger vehicles", - "Buses", - "Medium-duty vehicles", - "Trucks", - "Wastewater", - "Solid waste", - "Livestock", - "Cropland", - "Sequestration", - "Stock" - ), - ordered = TRUE - ) - ) %>% + # mutate( + # category = factor( + # category, + # c( + # "Electricity", + # "Natural Gas", + # "Passenger vehicles", + # "Buses", + # "Trucks", + # "Wastewater", + # "Solid waste", + # "Livestock", + # "Cropland", + # "Commercial fuel combustion", + # "Commercial natural gas", + # "Industrial fuel combustion", + # "Industrial natural gas", + # "Industrial processes", + # "Refinery processes", + # "Natural systems", + # "Urban greenery" + # ), + # ordered = TRUE + # ) + # ) %>% # join county population and calculate per capita emissions left_join( cprg_county_pop %>% diff --git a/_meta/data-raw/compile_ctu_emissions.R b/_meta/data-raw/compile_ctu_emissions.R new file mode 100644 index 00000000..fa45f68a --- /dev/null +++ b/_meta/data-raw/compile_ctu_emissions.R @@ -0,0 +1,301 @@ +# compile emissions from all sectors into a single data table, reducing to CTU +source("R/_load_pkgs.R") +cprg_county <- readRDS("_meta/data/cprg_county.RDS") %>% st_drop_geometry() +cprg_county_pop <- readRDS("_meta/data/census_county_population.RDS") %>% + filter(cprg_area == TRUE) %>% + mutate( + population_year = as.numeric(population_year) + ) %>% + select(-cprg_area) + +ctu_population <- readRDS("_meta/data/ctu_population.RDS") %>% + left_join(cprg_county %>% select(geoid, county_name)) + +# assign ctu to county where it has highest population in 2021 +ctu_county <- ctu_population %>% + filter(inventory_year == 2021) %>% + group_by(ctu_name, ctu_class) %>% + mutate(max_population = max(ctu_population)) %>% + filter(ctu_population == max_population) %>% + distinct(ctu_name, county_name) + +mndot_vmt_ctu <- readRDS("_transportation/data/mndot_vmt_ctu.RDS") + + +ctu_vmt_percent <- left_join(mndot_vmt_ctu, cprg_county %>% + select(geoid, county_name), + by = "geoid") %>% + group_by(county_name, vmt_year) %>% + mutate(county_annual_vmt = sum(annual_vmt)) %>% + ungroup() %>% + mutate(ctu_vmt_percent = annual_vmt / county_annual_vmt, + vmt_year = as.numeric(vmt_year)) + + +# transportation ----- +transportation_emissions <- readRDS("_transportation/data/onroad_emissions.RDS") %>% + ungroup() %>% + rowwise() %>% + mutate( + year = emissions_year, + sector = "Transportation", + source = paste0(vehicle_fuel_label, " fueled vehicles"), + category = category, + data_source = data_source, + factor_source = moves_edition + ) %>% + group_by(emissions_year, county_name, sector, category) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) %>% + left_join(ctu_vmt_percent, + by = c("county_name", + "emissions_year" = "vmt_year")) %>% + mutate(emissions_metric_tons_co2e = emissions_metric_tons_co2e * ctu_vmt_percent, + geog_level = "ctu") %>% + select( + emissions_year, + geog_level, + ctu_name, + sector, + category, + emissions_metric_tons_co2e + ) + + +# waste ----- +## wastewater ---- +ww_emissions <- readRDS("_waste/data/epa_county_wastewater_2005_2021.RDS") %>% + mutate( + sector = "Waste", + category = "Wastewater", + source = "Wastewater", + data_source = "EPA State GHG Inventory and Projection Tool", + factor_source = data_source, + emissions_metric_tons_co2e = co2e, + emissions_year = as.numeric(year) + ) %>% + group_by(emissions_year, county_name, sector, category) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) %>% + left_join(ctu_population, + by = c("county_name", + "emissions_year" = "inventory_year")) %>% + mutate(emissions_metric_tons_co2e = emissions_metric_tons_co2e * ctu_proportion_of_county_pop, + geog_level = "ctu") %>% + select(names(transportation_emissions)) + + +## solid waste ----- +solid_waste <- readRDS("_waste/data/final_solid_waste_ctu_allyrs.RDS") %>% + left_join(ctu_population %>% distinct(ctu_name, ctuid)) %>% + left_join(cprg_county %>% select(county_name, geoid)) %>% + ungroup() %>% + mutate( + geog_level = "ctu", + emissions_year = as.numeric(inventory_year), + emissions_metric_tons_co2e = value_emissions + ) %>% + filter(!is.na(emissions_metric_tons_co2e)) %>% + select(names(transportation_emissions)) + + + +# energy ----- +electric_natgas_nrel_proportioned <- readRDS("_energy/data-raw/nrel_slope/nrel_emissions_inv_cityQA_2021.RDS") + +## electricity ---- + +electric_emissions <- electric_natgas_nrel_proportioned %>% + filter(source == "Electricity") %>% + mutate( + sector = str_to_title(sector_raw), + geog_level = "ctu", + category = "Electricity", + emissions_metric_tons_co2e = co2e_city, + data_source = "Individual electric utilities, NREL SLOPE", + factor_source = "eGRID MROW", + emissions_year = as.numeric(year) + ) %>% + select(names(transportation_emissions)) + + +## natural gas ---- + +natural_gas_emissions <- electric_natgas_nrel_proportioned %>% + filter(source == "Natural gas") %>% + mutate( + sector = str_to_title(sector_raw), + geog_level = "ctu", + category = "Natural Gas", + emissions_metric_tons_co2e = co2e_city, + data_source = "Individual natural gas utilities, NREL SLOPE (2021)", + factor_source = "EPA GHG Emission Factors Hub (2021)", + emissions_year = as.numeric(year) + ) %>% + select(names(transportation_emissions)) + +## industrial ---- + +industrial_emissions <- readRDS("_industrial/data/modeled_industrial_baseline_emissions.RDS") %>% + ungroup() %>% + mutate( + geog_level = "ctu", + ctu_name = city_name, + emissions_metric_tons_co2e = value_emissions, + emissions_year = as.numeric(inventory_year), + source = str_to_sentence(source), + category = case_when( + category == "Stationary combustion" & source == "Natural gas" ~ str_to_sentence(paste(sector,source)), + category == "Stationary combustion" & source != "Natural gas" ~ str_to_sentence(paste(sector,"fuel combustion")), + TRUE ~ category) + ) %>% + # left_join(ctu_population %>% select(ctu_name, county_name, inventory_year), + # by = c("ctu_name" = "ctu_name", + # "emissions_year" = "inventory_year")) %>% + select(names(transportation_emissions)) + +## agriculture ---- + +ag_emissions <- readRDS(file.path(here::here(), "_agriculture/data/_agricultural_emissions.RDS")) +ctu_ag_proportion <- readRDS(file.path(here::here(), "./_agriculture/data/ctu_ag_proportion.rds")) + +agriculture_emissions <- left_join(ctu_ag_proportion, + cprg_county %>% + select(geoid, county_name) %>% + st_drop_geometry(), + by = "county_name" +) %>% + left_join(., ag_emissions %>% + group_by(inventory_year, category, geoid) %>% + summarize(mt_co2e = sum(mt_co2e)), + by = c("year" = "inventory_year", "geoid") + ) %>% + filter(year %in% c(2004,2019), + !is.na(mt_co2e)) %>% + mutate(emissions_metric_tons_co2e = proportion_ag_land * mt_co2e, + geog_level = "ctu", + sector = "Agriculture", + emissions_year = case_when( + year == 2004 ~ 2005, + year == 2019 ~ 2021, + TRUE ~ year + )) %>% + rename(ctu_name = ctu) %>% + select(names(transportation_emissions)) + + +## natural systems ---- + +natural_systems_sequestration <- readRDS("_nature/data/nlcd_ctu_landcover_sequestration_2001_2021_v2.rds") %>% + ungroup %>% + mutate( + geog_level = "ctu", + emissions_metric_tons_co2e = sequestration_potential, + emissions_year = as.numeric(year), + sector = "Nature", + category = case_when( + grepl("Urban", land_cover_type) ~ "Urban greenery", + !grepl("Urban", land_cover_type) ~ "Natural systems" + ), + source = land_cover_type + ) %>% + select(names(transportation_emissions)) + +# combine and write metadata---- + +emissions_all <- bind_rows( + transportation_emissions, + electric_emissions, + natural_gas_emissions, + ww_emissions, + solid_waste, + agriculture_emissions, + industrial_emissions, + natural_systems_sequestration + # natural_systems_stock +) %>% + filter(emissions_year >= 2005 & emissions_year <= 2021) %>% + mutate( + category = factor( + category, + c( + "Electricity", + "Natural Gas", + "Passenger vehicles", + "Buses", + "Trucks", + "Wastewater", + "Solid waste", + "Livestock", + "Cropland", + "Commercial fuel combustion", + "Commercial natural gas", + "Industrial fuel combustion", + "Industrial natural gas", + "Industrial processes", + "Refinery processes", + "Natural systems", + "Urban greenery" + # "Stock" + ), + ordered = TRUE + ) + ) %>% + ##keep 7 counties only for CTU estimates + filter(!county_name %in% c("St. Croix", "Pierce", "Chisago", "Sherburne")) %>% + group_by(county_name, emissions_year, geog_level, ctu_name, sector, category) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e), .groups = "drop") + + + # join county population and calculate per capita emissions + # left_join( + # ctu_population %>% + # select( + # ctu_name, + # county_name, + # population_year = inventory_year, + # city_total_population = ctu_population + # ), + # by = join_by(ctu_name, county_name, emissions_year == population_year) + # ) %>% + # rowwise() %>% + # mutate(emissions_per_capita = round(emissions_metric_tons_co2e / city_total_population, digits = 2)) %>% + # select(emissions_year, geog_level, ctu_name, everything()) + + +emissions_all %>% filter(emissions_year == 2021, !is.na(emissions_metric_tons_co2e)) %>% + pull(emissions_metric_tons_co2e) %>% sum() / + sum(cprg_county_pop[cprg_county_pop$population_year==2021,]$population) + +emissions_all_meta <- tibble::tribble( + ~"Column", ~"Class", ~"Description", + "year", class(emissions_all$year), "Emissions estimation year", + "geog_level", class(emissions_all$geog_level), "Geography level; city or county", + "geoid", class(emissions_all$geoid), "FIPS code", + "geog_name", class(emissions_all$geog_name), "Name of geographic area", + "sector", class(emissions_all$sector), paste0( + "Emissions sector. One of ", + paste0(unique(emissions_all$sector), collapse = ", ") + ), + "category", class(emissions_all$category), "Category of emissions within given sector", + "source", class(emissions_all$source), "Source of emissions. Most detailed sub-category in this table", + "emissions_metric_tons_co2e", class(emissions_all$emissions_metric_tons_co2e), "Annual total metric tons CO~2~ and CO~2~ equivalent attributed to the given geography for given year", + "data_source", class(emissions_all$data_source), "Activity data source", + "factor_source", class(emissions_all$factor_source), "Emissions factor data source", + "county_total_population", class(emissions_all$county_total_population), "Total geography population", + "population_data_source", class(emissions_all$population_data_source), "Population data source", + "emissions_per_capita", class(emissions_all$emissions_per_capita), "Metric tons CO~2~e per person living in given county for given sector and category" +) + +saveRDS(emissions_all, "_meta/data/ctu_emissions.RDS") +saveRDS(emissions_all_meta, "_meta/data/cprg_county_emissions_meta.RDS") +write.csv(emissions_all, "_meta/data/cprg_county_emissions.CSV", row.names = FALSE) + + +saveRDS(carbon_stock, "_meta/data/cprg_county_carbon_stock.RDS") +saveRDS(emissions_all_meta, "_meta/data/cprg_county_carbon_stock_meta.RDS") + +# save emissions to shared drive location +# source("R/fetch_path.R") + +# if (fs::dir_exists(fetch_path())) { +# write.csv(emissions_all, paste0(fetch_path(), "/cprg_county_emissions.CSV"), row.names = FALSE) +# } diff --git a/_meta/data-raw/epa_ghg_factor_hub.R b/_meta/data-raw/epa_ghg_factor_hub.R index 5079f427..91e3c87a 100644 --- a/_meta/data-raw/epa_ghg_factor_hub.R +++ b/_meta/data-raw/epa_ghg_factor_hub.R @@ -411,7 +411,49 @@ egrid <- readxl::read_xlsx("_meta/data-raw/ghg-emission-factors-hub-2021.xlsx", mutate(across(1:4, stringr::str_trim)) %>% mutate(Source = "EPA eGRID2019, February 2021") +# Time series eGRID as a separate object +# Define the years available in the dataset and manually inout real values +eGRID_years <- c(2005, 2007, 2009, 2010, 2012, 2014, 2016, 2018, 2019, 2020, 2021, 2022) +egrid2005_to_2022 <- tibble::tibble( + eGrid_Subregion = rep("MROW (MRO West)", length(eGRID_years) * 3), # Repeat for all rows + factor_type = rep("Total output", length(eGRID_years) * 3), # Repeat for all rows + emission = rep(c("lb CO2", "lb CH4", "lb N2O"), each = length(eGRID_years)), # Repeat emission types for all eGRID_years + per_unit = rep("MWh", length(eGRID_years) * 3), # Repeat for all rows + value = c( + # CO2 values + 1821.84, 1722.67, 1628.60, 1536.36, 1425.15, 1365.1, 1238.8, 1239.8, 1098.4, 979.5, 995.8, 936.5, + # CH4 values (converted from GWh to MWh where applicable) + 28 / 1000, 28.97 / 1000, 28.80 / 1000, 28.53 / 1000, 27.60 / 1000, 161.4 / 1000, 0.115, 0.138, 0.119, 0.104, 0.107, 0.102, + # N2O values (converted from GWh to MWh where applicable) + 30.71 / 1000, 29.19 / 1000, 27.79 / 1000, 26.29 / 1000, 24.26 / 1000, 23.3 / 1000, 0.020, 0.020, 0.017, 0.015, 0.015, 0.015 + ), + Year = rep(eGRID_years, times = 3), # Repeat each year for each emission + Source = paste("EPA eGRID", rep(eGRID_years, times = 3)) # Add source for each emission/year +) + +# Define the full range of years +full_years <- seq(min(eGRID_years), max(eGRID_years)) +# Expand the dataset to include all years for each emission type +expanded_data <- egrid2005_to_2022 %>% + expand(eGrid_Subregion, factor_type, emission, per_unit, Year = full_years) %>% + left_join(egrid2005_to_2022, by = c("eGrid_Subregion", "factor_type", "emission", "per_unit", "Year")) + +interpolated_data <- expanded_data %>% + group_by(emission) %>% + mutate( + value = ifelse( + is.na(value), + approx(Year[!is.na(value)], value[!is.na(value)], xout = Year, rule = 2)$y, + value + ), + Source = ifelse( + is.na(Source), + paste("Interpolated between eGRID", lag(Year), "and", lead(Year)), + Source + ) + ) %>% + ungroup() # Table: 7 Steam and Heat ---- # Note: Emission factors are per mmBtu of steam or heat purchased. @@ -610,6 +652,7 @@ epa_ghg_factor_hub <- list( `eGrid Subregion` == "MROW (MRO West)", factor_type == "Total output" ), + "egridTimeSeries" = interpolated_data, "stationary_combustion" = stationary_combustion %>% filter(`Fuel type` %in% c( "Propane", @@ -617,6 +660,7 @@ epa_ghg_factor_hub <- list( "Natural Gas", "Kerosene-Type Jet Fuel" )), + "industrial_combustion" = stationary_combustion, "mobile_combustion" = kg_co2_per_unit, "mobile_combustion_other" = transportation_tbl345, "waste" = scope3_cat5_cat12_waste %>% @@ -635,9 +679,36 @@ epa_ghg_factor_hub <- list( ) ) -# manual adjustment of eGRID MROW values -- 2021 Factor Hub used 2019 eGRID -new_values <- c(995.8, 0.107, 0.015) +# manual adjustment of eGRID MROW values -- 2021 Factor Hub used 2019 eGRID; add year to reference +# need to adjust emissions code that applies these factors to 2021 activity data (and 2005!) +new_values_2021 <- c(995.8, 0.107, 0.015) epa_ghg_factor_hub[[1]] <- epa_ghg_factor_hub[[1]] %>% - mutate(across(value, ~ replace(., 1:3, new_values))) + mutate( + across( + value, + ~ replace(., 1:3, new_values_2021) + ), + year = 2021, + Source = "EPA eGRID2021, January 2023" + ) + + +# manually add 2005 eGRID information (CH4 and N2O output emissions rates reported as 28 and 30.71 lb/GWh in 2005, which translate to .028 and .03071 lb/MWh respectively) +eGRID_values_2005 <- c(1821.84, 0.028, 0.03071) + +# Extract/copy the three rows of 2021 data to use as a template for new values +template_rows <- epa_ghg_factor_hub[[1]][1:3, ] + +# Create new rows for 2005 by updating year, source, and value; other columns remain the same as the 2021 values +new_rows_2005 <- template_rows %>% + mutate( + value = c(1821.84, 0.028, 0.03071), + year = 2005, + Source = "EPA eGRID2005, December 2008" + ) + +# Bind the new rows to the original data +epa_ghg_factor_hub[[1]] <- bind_rows(epa_ghg_factor_hub[[1]], new_rows_2005) saveRDS(epa_ghg_factor_hub, "_meta/data/epa_ghg_factor_hub.RDS") + diff --git a/_meta/data-raw/graph_cwg_net_zero.R b/_meta/data-raw/graph_cwg_net_zero.R new file mode 100644 index 00000000..f49aea0c --- /dev/null +++ b/_meta/data-raw/graph_cwg_net_zero.R @@ -0,0 +1,180 @@ +#### Climate working group graphics + +source("R/_load_pkgs.R") +source("R/cprg_colors.R") + +### compare 2020/2021 emissions sequestration + +cprg_county <- read_rds(file.path(here::here(),"_meta/data/cprg_county.RDS")) +county_emissions <- readRDS(file.path(here::here(), "_meta/data/cprg_county_emissions.RDS")) +mpca_economy_projections <- readRDS(file.path(here::here(), "_meta/data/gcam/mpca_economy_wide_gcam.RDS")) +mpca_sector_projections <- readRDS(file.path(here::here(), "_meta/data/gcam/mpca_sector_gcam.RDS")) +mpca_subsector_projections <- readRDS(file.path(here::here(), "_meta/data/gcam/mpca_subsector_gcam.RDS")) + + +# 2020/2021 emissions/sequestration state/metro comparison + +mpca_2020 <- mpca_economy_projections %>% + filter(emissions_year == 2020, scenario == "Current policies") %>% + mutate(geography = "State", + values_emissions = values_emissions) %>% + select(source_sink, values_emissions, geography) + +mc_2021 <- county_emissions %>% + filter(year == 2021) %>% + mutate(source_sink = if_else(emissions_metric_tons_co2e > 0, "Emission", "Sequestration")) %>% + group_by(source_sink) %>% + summarize(values_emissions = sum(emissions_metric_tons_co2e) / 10^6) %>% + mutate(geography = "Metro") + +ggplot(rbind(mpca_2020, mc_2021), aes(x = source_sink, y = values_emissions, fill = source_sink)) + + geom_bar(stat = "identity", col = "black") + + scale_fill_manual(values = c("darkorange", "forestgreen"), guide = "none") + + facet_wrap(.~geography) + theme_bw() + ylab("Million Metric Tons CO2e") + xlab("") + + theme( + text = element_text(size = 20), # Base text size + axis.title = element_text(size = 20), # Axis titles + axis.text = element_text(size = 20), # Axis tick labels + strip.text = element_text(size = 20) # Facet labels + ) + + + +### subsector downscale + +### match county emissions to mpca projections + +county_emissions <- county_emissions %>% + mutate(sector = case_when( + source == "Electricity" ~ "Electricity", + TRUE ~ sector + )) + +## now do this by sector emissions + +unique(mpca_subsector_projections$subsector_mc) +unique(county_emissions$category) + +county_emissions <- county_emissions %>% + mutate(subsector_mc = case_when( + category == "Natural Gas" ~ paste(sector, "natural gas"), + TRUE ~ category + ), + sector = if_else(category == "Electricity", "Electricity", sector)) + +sort(unique(county_emissions$subsector_mc)) +sort(unique(mpca_subsector_projections$subsector_mc)) + +# anchoring to 2020 for now +mpca_subsector_projections_use <- mpca_subsector_projections %>% + filter(emissions_year >= 2025, + #source_sink == "Emission", + !grepl("not_inventoried", subsector_mc)) %>% + # mutate(subsector_mc = if_else(grepl("Natural Gas", subsector_mc), + # "Natural Gas", + # subsector_mc)) %>% + group_by(emissions_year, scenario, subsector_mc) %>% + summarize(proportion_of_2020 = mean(proportion_of_2020)) + +subsector_projections <- county_emissions %>% + filter(year == 2021, + !geog_name %in% c("Chisago", "St. Croix", "Pierce","Sherburne")) %>% + left_join(., mpca_subsector_projections_use, + by = "subsector_mc") %>% + mutate(emissions_metric_tons_co2e = proportion_of_2020 * emissions_metric_tons_co2e) %>% + group_by(emissions_year, sector, scenario) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) %>% + ungroup() + +subsector_inventory_projections <- bind_rows( + county_emissions %>% + filter(year == 2021) %>% + group_by(year, sector) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) %>% + rename(emissions_year = year) %>% + ungroup() %>% + mutate(scenario = "Inventory"), + subsector_projections %>% + mutate(emissions_year = as.numeric(emissions_year))) %>% + mutate(sector = str_replace_all(sector, "Nature", "Natural Systems")) + + +sector_colors_vector <- unlist(sector_colors, use.names = TRUE) + + +### match state colors and order +sector_colors_vector["Electricity"] <- "#fbdb9e" # Change to orange +sector_colors_vector["Transportation"] <- "#1984b0" # Change to green +sector_colors_vector["Residential"] <- "#ee3841" # Change to cyan +sector_colors_vector["Commercial"] <- "#f58a8f" # Change to pink +sector_colors_vector["Industrial"] <- "#954a59" # Change to yellow-green +sector_colors_vector["Waste"] <- "#8e8d80" # Change to gray +sector_colors_vector["Agriculture"] <- "#6ab245" # Change to blue +sector_colors_vector["Natural Systems"] <- "#006400" # Change to light red + +subsector_inventory_projections <- subsector_inventory_projections %>% + mutate(sector = factor( + sector, + levels = c( + "Electricity", + "Transportation", + "Industrial", + "Commercial", + "Residential", + "Agriculture", + "Waste", + "Natural Systems" # Top + ) + )) + +# Create the plots +ggplot(subsector_inventory_projections %>% + filter(scenario %in% c("Inventory","Current policies")), aes( + x = emissions_year, + y = emissions_metric_tons_co2e / 10^6, + fill = sector, # Fill by sector to create stack groups + group = sector # Ensure stacking is by sector +)) + + geom_area(position = "stack", alpha = 0.8) + # Stacked area chart + labs( + title = "Subsector Current Policies Downscale", # Main title + subtitle = "", # Subtitle + x = "Year", # X-axis label + y = "Million Metric Tons CO2e", # Y-axis label + fill = "Sector" # Legend title + ) + + theme_minimal() + # Minimal theme for a clean look + scale_fill_manual(values = sector_colors_vector, guide = "none") + + theme( + text = element_text(size = 14), # Base text size + plot.title = element_text(size = 20, face = "bold"), # Title size + axis.title = element_text(size = 16), # Axis label size + legend.title = element_text(size = 16), # Legend title size + legend.text = element_text(size = 14) # Legend text size + ) + + +ggplot(subsector_inventory_projections %>% + filter(scenario %in% c("Inventory","Net-zero pathway")), aes( + x = emissions_year, + y = emissions_metric_tons_co2e / 10^6, + fill = sector, # Fill by sector to create stack groups + group = sector # Ensure stacking is by sector + )) + + geom_area(position = "stack", alpha = 0.8) + # Stacked area chart + labs( + title = "Subsector Current Policies Downscale", # Main title + subtitle = "", # Subtitle + x = "Year", # X-axis label + y = "Million Metric Tons CO2e", # Y-axis label + fill = "Sector" # Legend title + ) + + theme_minimal() + # Minimal theme for a clean look + scale_fill_manual(values = sector_colors_vector) + + theme( + text = element_text(size = 14), # Base text size + plot.title = element_text(size = 20, face = "bold"), # Title size + axis.title = element_text(size = 16), # Axis label size + legend.title = element_text(size = 16), # Legend title size + legend.text = element_text(size = 14) # Legend text size + ) diff --git a/_meta/data-raw/mpca_ag_inv.csv b/_meta/data-raw/mpca_ag_inv.csv deleted file mode 100644 index 73c2680f..00000000 --- a/_meta/data-raw/mpca_ag_inv.csv +++ /dev/null @@ -1,12 +0,0 @@ -,,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year -Sector,Sources (group),2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 -"Agriculture, Forestry & Land use",Coal,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -"Agriculture, Forestry & Land use",Natural gas,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -"Agriculture, Forestry & Land use",Oil,"2,505,780","2,455,081","2,709,181","2,414,095","2,874,444","2,628,350","2,190,389","2,209,204","2,548,547","2,743,092","2,289,901","2,370,428","2,502,377","2,573,821","2,924,498","2,844,782" -"Agriculture, Forestry & Land use",Other fossil fuel,267,418,641,504,921,"1,150","1,108","1,117","1,135","1,437","1,415","1,533","1,616","2,595","2,916","2,924" -"Agriculture, Forestry & Land use",Animal agriculture,"9,803,177","10,100,366","10,324,249","10,470,483","10,299,708","10,421,373","10,416,208","10,401,178","10,366,593","10,337,984","10,477,663","10,831,383","10,664,611","10,903,489","10,738,468","10,863,939" -"Agriculture, Forestry & Land use",Crop agriculture,"24,872,243","24,439,734","25,433,200","24,529,586","24,746,945","25,573,757","25,711,935","26,581,585","25,911,345","25,876,269","26,516,218","26,831,236","26,661,686","26,761,098","26,147,651","26,463,851" -"Agriculture, Forestry & Land use",Inland waters,"6,731,129","6,732,075","6,733,022","6,733,801","6,734,581","6,735,361","6,736,140","6,736,920","6,736,920","6,736,920","6,736,920","6,736,920","6,736,920","6,736,920","6,736,920","6,736,920" -"Agriculture, Forestry & Land use",Lake carbon burial,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -"Agriculture, Forestry & Land use",Fire,"264,047","208,293","382,221","274,643","373,111","339,684","384,320","199,562","135,880","249,255","199,419","252,220","167,157","255,971","200,960","37,452" -"Agriculture, Forestry & Land use",Forest regrowth,"-15,360,271","-15,380,102","-15,653,915","-15,949,048","-16,145,623","-16,359,195","-16,325,376","-16,899,581","-17,183,128","-17,460,590","-17,714,739","-17,994,175","-18,077,884","-18,144,023","-18,180,421","-18,237,487" diff --git a/_meta/data-raw/mpca_comm_inv.csv b/_meta/data-raw/mpca_comm_inv.csv deleted file mode 100644 index d30d493b..00000000 --- a/_meta/data-raw/mpca_comm_inv.csv +++ /dev/null @@ -1,10 +0,0 @@ -,,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year -Sector,Sources (group),2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 -Commercial,Coal,"183,759","163,029","161,910","179,118","161,575","147,893","93,828","13,136","16,853","33,910","28,402","26,448","25,913","25,184","14,959","10,823" -Commercial,Natural gas,"5,405,072","4,676,454","4,987,417","5,714,045","5,423,417","4,991,451","5,211,267","4,687,771","6,095,505","6,356,848","5,294,210","5,175,952","5,626,406","6,274,431","6,229,943","5,620,791" -Commercial,Oil,"12,630,118","8,019,715","7,747,806","12,171,820","12,510,686","9,887,413","12,332,526","12,480,303","15,008,212","15,232,216","12,960,649","12,237,810","14,640,338","10,985,775","9,924,608","8,130,807" -Commercial,Other fossil fuel,"13,848","12,847","13,638","14,394","16,024","15,812","15,231","13,342","15,464","36,148","38,444","42,788","43,973","47,817","49,698","37,124" -Commercial,Air conditioning,"553,562","599,008","550,417","506,642","489,046","542,017","488,893","418,148","447,799","600,295","774,696","914,294","683,410","613,428","626,745","724,538" -Commercial,Limestone,"1,488",959,892,"1,158","1,142","1,198",924,84,120,287,321,378,310,7,105,105 -Commercial,Medical use,"79,456","79,354","79,237","79,110","79,267","78,952","78,888","78,763","78,762","78,700","78,546","78,566","78,741","78,814","79,029","79,197" -Commercial,Solvent,"73,233","82,831","92,429","102,028","97,413","92,798","88,184","80,152","72,120","64,088","64,088","64,088","80,955","80,955","80,955","80,955" diff --git a/_meta/data-raw/mpca_elec_inv.csv b/_meta/data-raw/mpca_elec_inv.csv deleted file mode 100644 index 3d59ec4d..00000000 --- a/_meta/data-raw/mpca_elec_inv.csv +++ /dev/null @@ -1,11 +0,0 @@ -,,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year -Sector,Sources (group),2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 -Electricity generation,Coal,"39,234,294","38,401,299","37,417,929","37,029,635","34,084,384","32,621,040","32,560,020","26,531,963","27,454,248","32,459,166","28,163,748","27,108,578","25,704,930","26,458,662","20,046,314","15,803,034" -Electricity generation,Natural gas,"1,803,215","1,966,777","2,505,803","1,713,950","1,764,368","2,460,384","2,025,976","3,693,653","3,227,478","2,196,154","3,624,030","4,481,228","3,237,193","4,246,583","5,754,573","5,393,077" -Electricity generation,Oil,"940,256","629,295","486,888","341,921","116,077","70,923","39,437","45,719","47,382","79,990","38,789","39,161","39,222","42,650","59,154","31,886" -Electricity generation,Other fossil fuel,"685,953","646,217","689,795","688,577","674,330","645,550","706,050","747,550","761,152","767,864","765,882","794,910","769,860","789,121","639,828","614,849" -Electricity generation,Inland waters,"5,426","5,426","5,426","5,426","5,426","5,426","5,436","5,436","5,436","6,453","6,453","6,453","6,453","6,453","6,453","6,453" -Electricity generation,Coal storage,"63,078","62,052","67,948","65,584","57,952","56,782","59,618","45,184","45,620","57,857","58,355","42,094","42,584","43,115","39,079","26,867" -Electricity generation,Flue gas desulfurization,"6,211","5,857","5,800","6,012","6,129","6,447","5,935","5,115","5,097","5,224","4,945","5,158","4,755","4,598","4,346","4,298" -Electricity generation,Imported electricity,"14,377,563","14,188,685","14,029,568","14,305,459","12,717,279","13,472,022","14,208,861","13,929,124","15,322,319","10,644,938","9,469,916","7,190,904","8,834,803","7,526,811","4,774,723","4,260,616" -Electricity generation,Transmission,"195,628","183,144","156,384","129,291","100,622","72,306","44,628","83,582","49,984","45,978","47,449","21,743","28,774","25,680","60,396","38,247" diff --git a/_meta/data-raw/mpca_gcam_compile.R b/_meta/data-raw/mpca_gcam_compile.R new file mode 100644 index 00000000..2e17aeb3 --- /dev/null +++ b/_meta/data-raw/mpca_gcam_compile.R @@ -0,0 +1,182 @@ +source("R/_load_pkgs.R") + +demographer_state_population <- readRDS("_meta/data/state_population_demographer.RDS") + +#for comparison +county_emissions <- readRDS("_meta/data/cprg_county_emissions.RDS") + +state_projections <- read_xlsx("_meta/data-raw/Minnesota GCAM Modeling Data.xlsx") %>% + pivot_longer(cols = 6:27, + names_to = "emissions_year", + values_to = "values_emissions") %>% + clean_names() %>% + # sum different GHG gases + group_by(scenario, region, sector, source, units,emissions_year) %>% + summarize(values_emissions = sum(values_emissions)) %>% + ungroup() + +scenarios_annual <- state_projections %>% + filter(sector != "Offsets Needed") %>% + mutate(source_sink = if_else(values_emissions < 0, "Sequestration","Emission")) %>% + group_by(emissions_year, scenario, source_sink, units) %>% + summarize(values_emissions = sum(values_emissions)) %>% + #### add proportion relative to 2005 + group_by(scenario, source_sink, units) %>% + mutate(value_2005 = values_emissions[emissions_year == 2005]) %>% + # Calculate the proportion + mutate(proportion_of_2005 = values_emissions / value_2005) %>% + ungroup() %>% select(-value_2005) %>% + rename(units_emission = units) + +scenarios_annual_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "emissions_year", class(scenarios_annual$emissions_year), "Year of emissions - inventoried or projected", + "scenario", class(scenarios_annual$scenario), "Modeled scenario - MN GCAM", + "source_sink", class(scenarios_annual$source_sink), "Emissions or sequestration activities", + "units_emission", class(scenarios_annual$units_emission), "Units of emissions or sequestration", + "values_emissions", class(scenarios_annual$values_emissions), "Value of emissions or sequestration", + "proportion_of_2005", class(scenarios_annual$proportion_of_2005), "Proportion of emissions or sequestration relative to 2005 baseline" + ) + +saveRDS(scenarios_annual, "_meta/data/gcam/mpca_economy_wide_gcam.RDS") +saveRDS(scenarios_annual_meta, "_meta/data/gcam/mpca_economy_wide_gcam_meta.RDS") + + +scenarios_sector_annual <- state_projections %>% + filter(sector != "Offsets Needed") %>% + mutate(source_sink = if_else(values_emissions < 0, "Sequestration","Emission")) %>% + group_by(emissions_year, scenario, source_sink, sector, units) %>% + summarize(values_emissions = sum(values_emissions)) %>% + #### add proportion relative to 2005 + group_by(scenario, source_sink,sector, units) %>% + mutate(value_2005 = values_emissions[emissions_year == 2005]) %>% + # Calculate the proportion + mutate(proportion_of_2005 = values_emissions / value_2005) %>% + ungroup() %>% select(-value_2005) %>% + rename(units_emission = units) + +scenarios_sector_annual_meta <- + bind_rows( + scenarios_annual_meta, + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "sector", class(scenarios_sector_annual$sector), "Sector of emission of sequestration", + ) + ) + +saveRDS(scenarios_sector_annual, "_meta/data/gcam/mpca_sector_gcam.RDS") +saveRDS(scenarios_sector_annual_meta, "_meta/data/gcam/mpca_sector_gcam_meta.RDS") + +#### homogenize subsectors to match MC inventory work + +state_projections %>% filter(sector == "Agriculture") %>% distinct(source) %>% + print(n = 50) + + +#only labeling categories where we have current emissions +livestock <- c("American Bison", "Beef Cattle","Dairy Cattle","Dairy Heifers", + "Goats", "Horses", "Swine", "Poultry", "Sheep", "Mules and Asses") + +cropland <- c("Biofuels","Cereals","Cropland") # omitting liming, mineral soils, grasslands (emitters?), rice, as these are not accounted for in our inv + + +state_projections %>% filter(sector == "Transportation") %>% distinct(source) %>% + print(n = 50) + +county_emissions %>% filter(sector == "Transportation") %>% distinct(category) %>% + print(n = 50) + +passenger_vehicles <- c("Light-duty trucks", "Motorcycle", "Passenger cars") + +state_projections %>% filter(sector == "Waste") %>% distinct(source) %>% + print(n = 50) + +county_emissions %>% filter(sector == "Energy") %>% distinct(category) %>% + print(n = 50) + +waste <- c("MMSW landfills", "MMSW composting", "MMSW compost preprocessing", + "Yard waste composting", "Yard waste preprocessing") + +state_projections %>% filter(sector == "LULUCF", values_emissions < 0) %>% distinct(source) %>% + print(n = 50) + +sequestration <- c("Aboveground Biomass", "Belowground Biomass", + "Dead Wood", "Litter", "Mineral Soil") + +state_projections %>% filter(sector == "Residential") %>% distinct(source) %>% + print(n = 50) + +county_emissions %>% filter(sector == "Residential") %>% distinct(category) %>% + print(n = 50) + +state_projections <- state_projections %>% + mutate(subsector_mc = case_when( + #agriculture + source %in% livestock ~ "Livestock", + source %in% cropland ~ "Cropland", + #transportation + source %in% passenger_vehicles ~"Passenger vehicles", + source == "Heavy-duty trucks" ~ "Trucks", + source == "Bus" ~ "Buses", + source == "Aviation" ~ "Aviation", + #residential + sector == "Residential" & source == "Natural gas" ~ "Residential natural gas", + #commercial + sector == "Commercial" & source == "Natural gas" ~ "Commercial natural gas", + sector == "Commercial" & source %in% c("Natural gas", + "Biofuel", + "Coal", + "Refined Liquids")~ "Commercial fuel combustion", + #industrial + sector == "Industry" & source == "Natural gas" ~ "Industrial natural gas", + sector == "Industry" & source %in% c("Coal", "Refined Liquids") ~ "Industrial fuel combustion", + sector == "Industry" & source %in% c("Oil refining") ~ "Refinery processes", + sector == "Industry" & source %in% c("Magnesium casting", + "Other industrial process", + "Semiconductor manufacture", + "Paraffinic wax consumption") ~ "Industrial processes", + #waste + source %in% waste ~ "Solid waste", + source == "Wastewater treatment" ~ "Wastewater", + #electricity + sector == "Electricity" ~ "Electricity", + #natural systems + source %in% sequestration & sector != "Agriculture" ~ "Sequestration", + source == "Urban Trees" ~ "Urban tree", + TRUE ~ "not_inventoried" + )) %>% + mutate(subsector_mc = case_when( + subsector_mc == "not_inventoried" & values_emissions < 0 ~ "sequestration_not_inventoried", + subsector_mc == "not_inventoried" & values_emissions >= 0 ~ "emissions_not_inventoried", + TRUE ~ subsector_mc + )) + +county_emissions %>% distinct(sector, category, source) %>% print(n = 50) + +scenarios_sources_annual <- state_projections %>% + filter(sector != "Offsets Needed") %>% + mutate(source_sink = if_else(values_emissions < 0, "Sequestration","Emission")) %>% + group_by(emissions_year, scenario, source_sink, sector, subsector_mc, units) %>% + summarize(values_emissions = sum(values_emissions)) %>% + #### add proportion relative to 2005 + group_by(scenario, subsector_mc, source_sink,sector, units) %>% + mutate(value_2005 = values_emissions[emissions_year == 2005], + value_2020 = values_emissions[emissions_year == 2020]) %>% + # Calculate the proportion + mutate(proportion_of_2005 = values_emissions / value_2005, + proportion_of_2020 = values_emissions / value_2020) %>% + ungroup() %>% select(-value_2005) %>% + rename(units_emission = units) + +scenarios_sources_annual_meta <- + bind_rows( + scenarios_annual_meta, + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "subsector_mc", class(scenarios_sources_annual$subsector_mc), "Subsector match for Met Council labels", + ) + ) + +saveRDS(scenarios_sources_annual, "_meta/data/gcam/mpca_subsector_gcam.RDS") +saveRDS(scenarios_sources_annual_meta, "_meta/data/gcam/mpca_subsector_gcam_meta.RDS") diff --git a/_meta/data-raw/mpca_ind_inv.csv b/_meta/data-raw/mpca_ind_inv.csv deleted file mode 100644 index 5f525349..00000000 --- a/_meta/data-raw/mpca_ind_inv.csv +++ /dev/null @@ -1,23 +0,0 @@ -,,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year -Sector,Sources (group),2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 -Industrial,Coal,"2,552,483","2,683,051","2,758,675","2,426,981","1,989,368","2,234,540","2,133,472","1,694,794","1,707,015","1,563,997","1,848,808","1,623,144","1,626,862","1,549,426","1,079,156","1,003,889" -Industrial,Natural gas,"5,609,708","6,110,108","6,755,080","8,589,880","7,714,691","9,336,892","9,298,037","9,508,301","9,589,397","10,454,902","9,534,614","9,831,225","9,976,438","9,767,775","9,952,868","8,620,627" -Industrial,Oil,"4,611,063","4,321,572","4,198,760","4,359,878","3,565,628","4,147,994","4,012,909","4,627,301","5,126,542","4,989,463","4,676,031","6,264,988","6,111,057","6,495,028","6,167,471","5,912,818" -Industrial,Ammonia manufacture,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Industrial,Coal storage,"6,812","6,863","6,856","6,406","5,081","5,969","5,968","4,219","3,057","2,709","3,199","2,778","2,778","2,778","1,909","1,773" -Industrial,Glass manufacture,"28,233","19,425","31,415","31,741","48,693","31,267","30,550","42,136","26,814","28,078","30,282","28,538","27,152","29,046","30,459","31,218" -Industrial,Industrial processes,"13,174","11,878","10,581","9,285","9,257","9,228","9,200","9,342","9,485","9,627","9,627","9,627","9,627","9,627","9,627","9,627" -Industrial,Insulating foam,0,0,"48,295","55,860","59,532","54,076","55,089","51,934","51,452","57,475","55,272","55,272","52,021",0,0,0 -Industrial,Magnesium casting,"240,522","224,546","208,570","208,570","208,570","184,555","146,513","20,094","20,594","28,842","17,556","12,540",0,0,0,0 -Industrial,Oil refining,"51,920","44,080","40,023","36,577","36,450","35,385","36,334","36,127","36,875","35,881","35,910","37,098","110,317","38,991","39,430","39,589" -Industrial,Other fossil fuels,"24,278","23,761","21,528","20,873","18,162","26,446","22,131","34,326","32,908","32,898","80,405","74,586","126,691","131,663","47,559","46,569" -Industrial,Other industrial VOC and TRI releases,"107,165","108,305","110,107","111,852","111,465","112,131","113,264","93,749","74,517","54,917","54,328","53,072","52,062","52,389","52,158","52,314" -Industrial,Paraffinic wax consumption,"27,375","25,259","21,161","18,508","11,823","16,526","14,578","14,779","16,190","14,511","12,126","12,630","9,170","11,185","9,405","8,297" -Industrial,Peat mining,"116,603","118,317","70,305","82,308","108,029","126,891","101,170","139,237","125,005","100,998","122,261","150,383","146,439","155,870","86,595","85,394" -Industrial,Refinery processes,"2,015,497","2,474,563","2,398,450","2,310,886","2,331,115","2,374,672","2,413,861","2,349,594","2,262,579","2,233,337","2,353,644","2,380,449","2,592,109","2,551,419","2,406,749","2,452,194" -Industrial,Secondary lead production,"8,798","10,950","8,837","9,914","13,043","11,686","10,841","11,352","11,579","11,752","3,722","2,166","14,371","13,788","15,231","14,988" -Industrial,Semiconductor manufacture,"246,706","278,451","273,147","265,893","237,737","187,926","214,812","119,023","117,559","133,535","111,325","67,777","67,777","13,329","9,852","9,852" -Industrial,Solvent,"55,246","51,317","47,374","43,426","43,313","44,838","44,656","45,196","45,785","46,364","46,296","50,059","50,100","52,061","52,106","52,183" -Industrial,Steel production,"34,933","34,569","32,304","34,498","19,008","28,103","30,248","31,030","26,933","27,840","23,699","19,413","21,106","21,548","23,981","12,159" -Industrial,Taconite induration,"1,820,624","1,914,214","1,845,517","1,961,160","1,057,145","2,064,748","2,328,063","2,302,145","2,353,332","2,490,029","1,833,548","1,744,475","2,082,370","2,147,750","1,987,702","1,773,177" -Industrial,Wastewater treatment,"178,620","185,203","187,882","193,785","190,769","193,643","193,364","188,386","171,289","167,700","168,925","156,950","157,290","145,155","152,066","147,407" diff --git a/_meta/data-raw/mpca_res_inv.csv b/_meta/data-raw/mpca_res_inv.csv deleted file mode 100644 index 4e4f2839..00000000 --- a/_meta/data-raw/mpca_res_inv.csv +++ /dev/null @@ -1,12 +0,0 @@ -,,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year -Sector,Sources (group),2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 -Residential,Coal,"2,281","1,910","3,848",0,0,0,0,0,0,0,0,0,0,0,0,0 -Residential,Natural gas,"7,627,718","6,963,042","7,687,848","8,350,459","8,032,489","7,261,593","7,391,457","6,498,451","8,363,877","8,856,663","7,136,853","7,120,158","7,465,094","8,644,820","8,887,544","7,996,299" -Residential,Oil,"2,239,890","1,940,547","1,741,558","2,170,325","1,809,145","1,870,968","1,784,574","1,544,634","1,805,390","2,026,262","1,761,227","1,773,427","2,015,463","2,249,937","2,382,554","2,166,581" -Residential,Crop agriculture,"16,185","16,799","17,318","15,987","15,489","16,535","17,157","17,111","16,396","16,391","15,729","13,789","13,876","14,693","14,881","15,064" -Residential,Air conditioning,"42,906","57,386","73,356","90,868","110,189","127,717","144,452","165,844","185,791","204,597","221,606","232,402","219,863","207,311","174,286","136,256" -Residential,Carbon loss in housing,0,0,0,0,0,"394,017",0,0,0,0,0,0,"566,317","1,238,076",0,0 -Residential,Other fossil fuels,"126,992","137,437","147,882","158,327","170,907","183,486","196,066","208,646","254,472","300,299","346,125","308,925","271,724","234,524","234,524","234,524" -Residential,Product use,"299,434","313,041","334,280","326,722","326,140","324,927","327,180","319,402","323,472","331,259","333,766","332,465","117,080","117,307","117,448","113,888" -Residential,Refrigeration,"1,658","1,702","1,740","1,782","1,804","1,839","1,866","1,894","1,920","1,959","1,969","2,002","2,072","2,110","2,153","2,159" -Residential,Sequestration in Housing,"-1,562,197","-2,293,894","-1,115,405","-790,414","-246,018",0,"-719,443","-3,656","-81,375","-8,967","-40,395","-134,556",0,0,"-1,104,336","-620,231" diff --git a/_meta/data-raw/mpca_tran_inv.csv b/_meta/data-raw/mpca_tran_inv.csv deleted file mode 100644 index 08e9f954..00000000 --- a/_meta/data-raw/mpca_tran_inv.csv +++ /dev/null @@ -1,14 +0,0 @@ -,,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year -Sector,Sources (group),2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 -Transportation,Air conditioning,"1,074,028","1,207,818","1,342,113","1,469,488","1,576,320","1,652,324","1,745,423","1,749,427","1,720,565","1,618,711","1,488,696","1,383,478","1,489,558","1,619,461","1,721,401","1,750,327" -Transportation,Aviation,"5,067,850","4,444,614","4,526,460","4,159,005","4,002,353","3,569,911","3,643,012","3,700,192","3,719,591","3,879,920","3,900,510","4,007,481","4,086,638","4,109,514","4,110,409","2,267,321" -Transportation,Buses,"397,943","394,313","393,386","384,800","347,077","356,127","375,050","386,155","371,129","371,996","270,417","272,030","337,873","855,838","693,700","595,521" -Transportation,Heavy-duty trucks,"7,082,082","7,019,197","7,009,802","6,906,911","6,133,689","6,295,579","6,537,455","6,820,314","6,555,076","6,512,964","5,776,593","6,250,832","6,405,702","10,100,092","8,240,197","6,927,270" -Transportation,Light-duty trucks,"14,593,190","14,940,845","15,081,836","14,741,944","14,749,874","14,868,519","15,536,963","15,558,641","15,401,562","15,381,120","15,165,212","15,246,425","16,042,797","15,255,323","15,636,208","13,290,887" -Transportation,Marine,"601,252","665,800","677,508","867,425","559,565","563,280","437,008","400,621","438,168","449,452","708,169","797,126","766,939","782,414","786,056","813,158" -Transportation,Motorcycle,"224,752","226,435","227,716","226,970","217,093","215,527","208,436","212,949","214,646","216,066","210,897","206,945","204,222","177,019","180,938","156,298" -Transportation,Natural gas transmission,"2,452,972","2,340,212","2,333,928","2,198,960","1,900,654","2,079,424","2,048,344","1,894,918","1,819,035","1,906,418","1,743,295","1,827,681","1,896,834","1,958,836","1,913,072","1,808,540" -Transportation,Off-highway,"565,818","1,028,408","970,602","998,906","737,368","837,507","631,293","644,298","605,783","621,550","1,418,047","1,460,632","1,185,496","1,193,777","1,224,137","1,165,520" -Transportation,Passenger cars,"10,735,694","10,438,368","10,396,880","10,366,339","10,374,364","10,081,883","9,422,899","9,165,546","9,160,739","8,850,675","8,398,893","8,030,306","7,906,161","7,495,925","7,610,945","6,424,203" -Transportation,Railroad,"929,350","870,805","1,625,245","1,197,910","549,207","651,115","778,400","1,108,230","1,111,009","1,104,424","973,950","844,871","811,583","773,363","839,571","718,257" -Transportation,RV,"58,567","59,364","60,327","60,910","56,026","60,481","59,733","67,675","65,980","60,560","54,507","55,561","165,077","225,031","177,255","154,791" diff --git a/_meta/data-raw/mpca_waste_inv.csv b/_meta/data-raw/mpca_waste_inv.csv deleted file mode 100644 index 63227027..00000000 --- a/_meta/data-raw/mpca_waste_inv.csv +++ /dev/null @@ -1,27 +0,0 @@ -,,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year,Year of Year -Sector,Sources (group),2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 -Waste,Coal,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Waste,Natural gas,"14,610","13,178","14,864","17,237","16,228","15,328","17,927","20,145","23,722","22,843","26,708","15,687","12,426","14,128","13,922","9,162" -Waste,Oil,"2,578","2,121","2,884","3,048","2,824","1,657","1,941","1,106","2,385",977,262,764,875,857,871,"2,006" -Waste,Ash disposal,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Waste,Biosolids land application,"25,685","21,606","22,568","19,017","20,345","19,236","22,869","17,648","15,120","15,256","13,070","11,965","11,997","10,271","10,239","19,032" -Waste,City dumps,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Waste,Compost processing,153,110,110,108,101,97,98,91,0,0,0,0,0,0,0,0 -Waste,Composting,"45,207","43,812","43,816","43,752","23,559","23,462","23,498","23,236","20,000","20,000","20,235","29,521","31,358","37,530","37,058","46,035" -Waste,Hazardous waste,"107,345","123,584","115,520","120,901","100,704","112,616","73,570","112,857","128,841","138,800","112,863","122,664",0,0,0,0 -Waste,Industrial and Commercial waste,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Waste,Landfill gas,"13,756","14,494","13,657","13,064","15,588","15,392","17,217","16,508","19,361","16,945","19,873","16,539","11,515","10,490","9,575","7,620" -Waste,Landfills,"2,351,881","2,279,641","2,220,911","2,178,064","2,093,568","1,961,662","1,953,419","1,872,424","1,936,332","1,842,353","1,894,553","1,763,085","1,891,296","1,759,596","1,789,576","1,663,472" -Waste,Limestone,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Waste,Medical waste,"4,836","4,613","5,845","4,847","4,788","4,740","4,506","5,000","4,709","4,567","4,826","4,372","4,951","5,130","5,157","4,579" -Waste,MRF,"9,763","9,759","10,024","10,041","9,332","9,135","9,612","9,935","10,202","9,936","7,892","7,509","8,050","8,132","7,753","7,557" -Waste,Municipal wastewater,"451,632","432,900","413,295","391,517","368,632","347,053","345,334","353,030","357,671","359,867","361,494","365,096","367,614","371,000","372,552","374,128" -Waste,Propane,4,2,2,0,0,0,0,0,5,106,2,1,0,0,0,0 -Waste,RDF,"2,542","2,259","2,472","2,395","2,143","1,782","2,031","2,199","2,430","2,329","2,323",100,"2,232","2,444","1,543","1,461" -Waste,Rural open burning,"48,723","47,269","43,840","44,083","43,468","42,265","39,924","36,854","35,251","34,639","33,523","34,191","33,136","32,568","34,870","30,377" -Waste,Sequestration in landfills,"-993,673","-1,175,770","-1,113,918","-1,018,593","-629,156","-728,570","-904,061","-778,744","-382,734","-414,092","-352,849","-316,092","-486,084","-471,322","-485,984","-903,026" -Waste,Sludge,"5,653","5,989","5,830","6,030","5,750","5,979","6,126","5,509","5,069","5,265","5,688","5,607","5,859","5,939","6,091","5,907" -Waste,Solid waste,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Waste,Solvent,"18,474","24,036","20,330","17,655","10,937","12,399","13,605","11,793","15,112","19,861","2,750","8,275",0,0,0,0 -Waste,Wood,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Waste,Yard waste processing,"2,949","2,908","2,905","2,455","1,324","1,577","1,408","1,408","1,408","1,372","1,388","2,025","2,151","2,574","2,541","3,157" diff --git a/_meta/data-raw/state_demographer_population.R b/_meta/data-raw/state_demographer_population.R new file mode 100644 index 00000000..eec74e68 --- /dev/null +++ b/_meta/data-raw/state_demographer_population.R @@ -0,0 +1,95 @@ +source("R/_load_pkgs.R") + +cprg_county <- readRDS("_meta/data/cprg_county.RDS") +cprg_county_meta <- readRDS("_meta/data/cprg_county_meta.RDS") + +census_county_population <- readRDS("_meta/data/census_county_population.RDS") + +if (!file.exists("_meta/data-raw/mn-county-edr-historical-estimates-sdc-1990-2023_web_tcm36-646254.xlsx")) { + # download directly from census.gov + download.file("https://mn.gov/admin/assets/mn-county-edr-historical-estimates-sdc-1990-2023_web_tcm36-646254.xlsx", + destfile = "_meta/data-raw/population/mn-county-edr-historical-estimates-sdc-1990-2023_web_tcm36-646254.xlsx", + mode = "wb" + ) +} + +mn_demography <- readxl::read_xlsx( + "_meta/data-raw/population/mn-county-edr-historical-estimates-sdc-1990-2023_web_tcm36-646254.xlsx", + sheet = 1, + col_types = "text" +) %>% + clean_names() %>% + mutate(year = as.numeric(year), + population = as.numeric(population)) + +mn_state_population <- mn_demography %>% + filter(geography_type == "State") + +mn_county_population <- mn_demography %>% + filter(geography_type == "County", + geography_name %in% cprg_county$county_name) + +if (!file.exists("_meta/data-raw/Time_Series_Co_2024.xlsx")) { + # download directly from census.gov + download.file("https://doa.wi.gov/DIR/Time_Series_Co_2024.xlsx", + destfile = "_meta/data-raw/population/Time_Series_Co_2024.xlsx", + mode = "wb" + ) +} + +wi_demography <- readxl::read_xlsx( + "_meta/data-raw/population/Time_Series_Co_2024.xlsx", + skip = 3, + sheet = 1, + col_types = "text" +) %>% + clean_names() %>% + select(-contains("census")) %>% # Remove census columns (repeats) + rename_with(~ str_extract(., "\\d{4}"), starts_with("x") | contains("estimate")) %>% + pivot_longer(cols = starts_with("19") | starts_with("20"), + names_to = "year", + values_to = "population") %>% + mutate(year = as.numeric(year), + population = as.numeric(population)) + +wi_state_population <- wi_demography %>% + filter(county_name == "STATE Total") %>% + mutate(state_name = "Wisconsin") + +wi_county_population <- wi_demography %>% + filter(county_name %in% cprg_county[cprg_county$state_name == "Wisconsin", ]$county_name) + +state_population <- bind_rows(mn_state_population %>% + select(state_name = geography_name, + inventory_year = year, + population, + households) %>% + mutate(population_data_source = + "MN State Demographic Center", + state_abb = "MN"), + wi_state_population %>% + select(state_name, + inventory_year = year, + population) %>% + mutate(households = NA, + population_data_source = + "WI Dept of Administration", + state_abb = "WI")) + + +# create metadata +state_population_meta <- + bind_rows( + cprg_county_meta, + tribble( + ~Column, ~Class, ~Description, + "inventory_year", class(state_population$inventory_year), "Population estimate year", + "population", class(state_population$population), "Total state population estimate", + "households", class(state_population$population), "Total state households estimate (Minnesota)", + "population_data_source", class(state_population$population_data_source), "Population estimate data source" + ) + ) %>% + filter(Column %in% names(state_population)) + +saveRDS(state_population, "_meta/data/state_population_demographer.RDS") +saveRDS(state_population_meta, "_meta/data/state_population_demographer_meta.RDS") diff --git a/_meta/data-raw/state_population.R b/_meta/data-raw/state_population.R index 2a6263fc..d3f7b652 100644 --- a/_meta/data-raw/state_population.R +++ b/_meta/data-raw/state_population.R @@ -2,6 +2,8 @@ source("R/_load_pkgs.R") cprg_county_meta <- readRDS("_meta/data/cprg_county_meta.RDS") census_county_population <- readRDS("_meta/data/census_county_population.RDS") +demographer_state_population <- readRDS("_meta/data/state_population_demographer.RDS") + state_population <- census_county_population %>% group_by(state_name, state_abb, population_data_source, population_year) %>% @@ -9,7 +11,17 @@ state_population <- census_county_population %>% state_population = sum(population, na.rm = T), .groups = "keep" ) %>% - clean_names() + clean_names() %>% + mutate(population_year = as.numeric(population_year)) %>% + # use state demography office for 2021 on state ests + filter(population_year < 2021) %>% + bind_rows(., + demographer_state_population %>% + filter(inventory_year >= 2021) %>% + select(- households) %>% + rename(state_population = population, + population_year = inventory_year) + ) # create metadata state_population_meta <- diff --git a/_meta/data-raw/temp_inv_graphs.R b/_meta/data-raw/temp_inv_graphs.R new file mode 100644 index 00000000..3091f478 --- /dev/null +++ b/_meta/data-raw/temp_inv_graphs.R @@ -0,0 +1,201 @@ +#### Create CTU temporary inventory graphs for Dec 10 Climate Summit + +source("R/_load_pkgs.R") + +### directory to save ggplot items in + +wd <- "C:/Users/WilfahPA/OneDrive - Metropolitan Council/CPRG/Climate summit graphics/" + +### county graphs + +cprg_colors <- source("R/cprg_colors.R") + +ctu_emissions <- readRDS("_meta/data/ctu_emissions.RDS") %>% + filter(emissions_year == 2021) %>% + mutate(category = if_else(category %in% c("Electricity","Natural Gas"), + str_to_sentence(paste(sector, category)), + category), + sector = if_else(sector == "Nature", "Natural Systems", sector)) + +#city selector - looks for high proportions of individual sectors + +city_selector <- ctu_emissions %>% + group_by(ctu_name, sector) %>% + summarize(value_emissions = sum(emissions_metric_tons_co2e)) %>% + ungroup() %>% group_by(ctu_name) %>% + # don't use sequestration in calculating total emissions + mutate(city_emissions = sum(if_else(sector == "Natural Systems", 0, value_emissions)), + sector_proportion = value_emissions/city_emissions)%>% + # Filter for cities with at least 6 of the 8 sectors + filter(n_distinct(sector) >= 6) + +ag_city <- city_selector %>% + filter(sector == "Agriculture") %>% + arrange(desc(sector_proportion)) +# Watertown, Belle Plaine, Greenfield, Independence, Waconia + +ind_city <- city_selector %>% + filter(sector == "Industrial", sector_proportion < 0.5) %>% + arrange(desc(sector_proportion)) +# Oak Park Heights, Waconia, Anoka, Cottage Grove, Norwood Young America + +res_city <- city_selector %>% + filter(sector == "Residential") %>% + arrange(desc(sector_proportion)) +#North Oaks, Shorewood, Circle Pines, Mound, Mahtomedi + +comm_city <- city_selector %>% + filter(sector == "Commercial") %>% + arrange(desc(sector_proportion)) +#Osseo, Independence, Minneapolis, Hopkins, Hanover, Stillwater + +elec_city <- city_selector %>% + filter(sector == "Electricity") %>% + arrange(desc(sector_proportion)) +# South Saint Paul, Jackson, Bayport, Hanover, Saint Anthony, Spring Lake Park + +transport_city <- city_selector %>% + filter(sector == "Transportation", city_emissions > 100000) %>% + arrange(desc(sector_proportion)) +# Columbus, Lino Lakes, East Bethel, Brooklyn Center, Inver Grove Heights, Richfield + +nature_city <- city_selector %>% + filter(sector == "Natural Systems", city_emissions > 100000) %>% + arrange(sector_proportion) +# Columbus, East Bethel, Ham Lake, Medina, Hugo, Lino Lakes + +category_colors_vector <- unlist(category_colors, use.names = TRUE) + +for(i in c("Minnetonka")) { + + emissions_subsector_ctu <- ctu_emissions %>% + filter(ctu_name == i) %>% + group_by(emissions_year, sector, category) %>% + summarize(MT_CO2e = sum(emissions_metric_tons_co2e)) %>% + mutate(sector = factor(sector, levels = c("Transportation", "Residential", "Commercial", "Industrial", "Waste", "Agriculture", "Natural Systems"))) + + subsector_comparison <- ggplot( + emissions_subsector_ctu %>% + mutate( + category = factor(category, levels = emissions_subsector_ctu %>% + filter(emissions_year == 2021) %>% + arrange(sector, desc(MT_CO2e)) %>% + pull(category) %>% + unique()) + ) %>% + filter(emissions_year == 2021), + aes(x = sector, y = MT_CO2e / 1000000, fill = category) + ) + + geom_bar(stat = 'identity', position = 'stack', col = 'black') + + labs(fill = "Subsector") + + scale_fill_manual(values = category_colors_vector) + + theme_minimal() + + xlab("") + + ylab(expression(paste("Million metric tons of ", CO[2], "e"))) + + theme( + panel.grid.major.x = element_blank(), + axis.text.x = element_text(size = 14), + text = element_text(size = 20, family = "sans") + ) + + + print(subsector_comparison) +} + + +category_order <- c( + "Passenger vehicles", "Buses", "Trucks", # Transportation + "Residential electricity", "Residential natural gas", # Residential + "Commercial electricity", "Commercial natural gas", "Commercial fuel combustion", # Commercial + "Industrial electricity", "Industrial natural gas", "Industrial fuel combustion", + "Industrial processes", "Refinery processes", # Industrial + "Solid waste", "Wastewater", # Waste + "Livestock", "Cropland", # Agriculture + "Natural systems", "Urban greenery" # Natural Systems +) + +### functionize it + +plot_city_emissions <- function(city, plot_title, file_path) { + + # Filter and preprocess data for the specified city + emissions_subsector_ctu <- ctu_emissions %>% + filter(ctu_name == city) %>% + group_by(emissions_year, sector, category) %>% + summarize(MT_CO2e = sum(emissions_metric_tons_co2e), .groups = "drop") %>% + mutate(sector = factor(sector, levels = c( + "Transportation", "Residential", + "Commercial", "Industrial", "Waste", + "Agriculture", "Natural Systems" + )), + category = factor(category, levels = category_order)) + + # Create the plot + subsector_comparison <- ggplot( + emissions_subsector_ctu %>% + # mutate( + # category = factor(category, levels = emissions_subsector_ctu %>% + # filter(emissions_year == 2021) %>% + # arrange(sector, desc(MT_CO2e)) %>% + # pull(category) %>% + # unique()) + # ) %>% + filter(emissions_year == 2021), + aes(x = sector, y = MT_CO2e / 1e6, fill = category) + ) + + geom_bar(stat = "identity", position = "stack", color = 'black') + + labs(fill = "Subsector") + + ggtitle(plot_title) + + scale_fill_manual(values = category_colors_vector) + + theme_minimal() + + xlab("") + + ylab(expression(paste("Million metric tons of ", CO[2], "e"))) + + theme( + panel.grid.major.x = element_blank(), + axis.text.x = element_text(size = 14), + text = element_text(size = 20, family = "sans") + ) + + # Save the plot + ggsave( + paste0(wd,file_path,".png"), + plot = subsector_comparison, + width = 14, + height = 10, + units = "in", + dpi = 400 + ) +} + +# produce some interesting community profiles + +plot_city_emissions("Bloomington", + "Urban Emissions Inventory - 2021", + file_path = "bloomington") + +plot_city_emissions("Lakeville", + "Suburban Emissions Inventory - 2021", + file_path = "lakeville") + +plot_city_emissions("Belle Plaine", + "Rural Emissions Inventory - 2021", + file_path = "belle plaine") + +plot_city_emissions("Shoreview", + "Example City Inventory - 2021", + file_path = "shoreview") + +plot_city_emissions("Minneapolis", + "Urban - High Commercial Emissions", + file_path = "urban_commercial") + +plot_city_emissions("Mahtomedi", + "Suburban - High Residential Emissions", + file_path = "suburban_residential") + + + + +plot_city_emissions("East Bethel", + "Rural - High Natural Systems Sequestration", + file_path = "rural_natural") diff --git a/_meta/data/cprg_county_emissions.CSV b/_meta/data/cprg_county_emissions.CSV index 30927bba..2defb5f2 100644 --- a/_meta/data/cprg_county_emissions.CSV +++ b/_meta/data/cprg_county_emissions.CSV @@ -2011,6 +2011,23 @@ 2022,"county","55109","St. Croix","Transportation","Trucks","Gasoline fueled vehicles",43521.7234973725,"Air Emissions Modeling","MOVES4",93752,"ACS 5-Year Estimates, Table DP05",0.46 2022,"county","55109","St. Croix","Transportation","Trucks","Diesel fueled vehicles",409843.684025957,"Air Emissions Modeling","MOVES4",93752,"ACS 5-Year Estimates, Table DP05",4.37 2022,"county","55109","St. Croix","Transportation","Trucks","Other fueled vehicles",111.641232853038,"Air Emissions Modeling","MOVES4",93752,"ACS 5-Year Estimates, Table DP05",0 +2005,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",4153081.45399171,"Metropolitan Airport Commission: fuel dispersement reporting","Metropolitan Airport Commission: fuel dispersement reporting",NA,NA,NA +2006,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3650771.68977507,"MPCA state aviation emission proportional analysis","MPCA state aviation emission proportional analysis",NA,NA,NA +2007,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3728588.1240988,"MPCA state aviation emission proportional analysis","MPCA state aviation emission proportional analysis",NA,NA,NA +2008,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3437491.48584434,"MPCA state aviation emission proportional analysis","MPCA state aviation emission proportional analysis",NA,NA,NA +2009,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3320971.97753232,"MPCA state aviation emission proportional analysis","MPCA state aviation emission proportional analysis",NA,NA,NA +2010,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",2975332.01681466,"MPCA state aviation emission proportional analysis","MPCA state aviation emission proportional analysis",NA,NA,NA +2011,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3051381.5277847,"MPCA state aviation emission proportional analysis","MPCA state aviation emission proportional analysis",NA,NA,NA +2012,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3116350.8535896,"MPCA state aviation emission proportional analysis","MPCA state aviation emission proportional analysis",NA,NA,NA +2013,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3151592.57636772,"MPCA state aviation emission proportional analysis","MPCA state aviation emission proportional analysis",NA,NA,NA +2014,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3308986.63341057,"MPCA state aviation emission proportional analysis","MPCA state aviation emission proportional analysis",NA,NA,NA +2015,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3350064.50829267,"MPCA state aviation emission proportional analysis","MPCA state aviation emission proportional analysis",NA,NA,NA +2016,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3468025,"Metropolitan Airport Commission: GHG emission reporting","Metropolitan Airport Commission: GHG emission reporting",NA,NA,NA +2017,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3552246,"Metropolitan Airport Commission: GHG emission reporting","Metropolitan Airport Commission: GHG emission reporting",NA,NA,NA +2018,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3571088,"Metropolitan Airport Commission: GHG emission reporting","Metropolitan Airport Commission: GHG emission reporting",NA,NA,NA +2019,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",3648049,"Metropolitan Airport Commission: GHG emission reporting","Metropolitan Airport Commission: GHG emission reporting",NA,NA,NA +2020,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",2053337,"Metropolitan Airport Commission: GHG emission reporting","Metropolitan Airport Commission: GHG emission reporting",NA,NA,NA +2021,"county",NA,"MSP Airport","Transportation","Aviation","Aviation",2476855.03073956,"Metropolitan Airport Commission: fuel dispersement reporting","Metropolitan Airport Commission: fuel dispersement reporting",NA,NA,NA 2021,"county","27003","Anoka","Energy","Liquid stationary fuels","Propane",11724.06931325,"EIA RECS (2020)","EPA GHG Emission Factors Hub (2021)",360773,"ACS 5-Year Estimates, Table DP05",0.03 2021,"county","27019","Carver","Energy","Liquid stationary fuels","Propane",11032.1942135,"EIA RECS (2020)","EPA GHG Emission Factors Hub (2021)",105694,"ACS 5-Year Estimates, Table DP05",0.1 2021,"county","27025","Chisago","Energy","Liquid stationary fuels","Propane",13062.45065375,"EIA RECS (2020)","EPA GHG Emission Factors Hub (2021)",56328,"ACS 5-Year Estimates, Table DP05",0.23 @@ -2033,6 +2050,15 @@ 2021,"county","27163","Washington","Energy","Liquid stationary fuels","Kerosene",2478.63899375,"EIA RECS (2020)","EPA GHG Emission Factors Hub (2021)",264818,"ACS 5-Year Estimates, Table DP05",0.01 2021,"county","55093","Pierce","Energy","Liquid stationary fuels","Kerosene",1294.8752635,"EIA RECS (2020)","EPA GHG Emission Factors Hub (2021)",42204,"ACS 5-Year Estimates, Table DP05",0.03 2021,"county","55109","St. Croix","Energy","Liquid stationary fuels","Kerosene",1574.6044145,"EIA RECS (2020)","EPA GHG Emission Factors Hub (2021)",92495,"ACS 5-Year Estimates, Table DP05",0.02 +2005,"county","27003","Anoka","Energy","Total energy","Electricity",2112399.67481497,"Individual electric utilities, NREL SLOPE","eGRID MROW",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",6.6 +2005,"county","27019","Carver","Energy","Total energy","Electricity",702253.735749641,"Individual electric utilities, NREL SLOPE","eGRID MROW",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",8.43 +2005,"county","27025","Chisago","Energy","Total energy","Electricity",301411.762664944,"Individual electric utilities, NREL SLOPE","eGRID MROW",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",5.99 +2005,"county","27037","Dakota","Energy","Total energy","Electricity",3917692.643365,"Individual electric utilities, NREL SLOPE","eGRID MROW",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",10.26 +2005,"county","27053","Hennepin","Energy","Total energy","Electricity",11088102.5294024,"Individual electric utilities, NREL SLOPE","eGRID MROW",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",9.93 +2005,"county","27123","Ramsey","Energy","Total energy","Electricity",4896766.1511137,"Individual electric utilities, NREL SLOPE","eGRID MROW",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",9.84 +2005,"county","27139","Scott","Energy","Total energy","Electricity",1028896.99711197,"Individual electric utilities, NREL SLOPE","eGRID MROW",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",8.79 +2005,"county","27141","Sherburne","Energy","Total energy","Electricity",709563.2294967,"Individual electric utilities, NREL SLOPE","eGRID MROW",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",8.74 +2005,"county","27163","Washington","Energy","Total energy","Electricity",1816546.64884461,"Individual electric utilities, NREL SLOPE","eGRID MROW",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",8.26 2021,"county","27003","Anoka","Energy","Commercial energy","Electricity",778328.169866572,"Individual electric utilities, NREL SLOPE","eGRID MROW",360773,"ACS 5-Year Estimates, Table DP05",2.16 2021,"county","27003","Anoka","Energy","Industrial energy","Electricity",595297.095171256,"Individual electric utilities, NREL SLOPE","eGRID MROW",360773,"ACS 5-Year Estimates, Table DP05",1.65 2021,"county","27003","Anoka","Energy","Residential energy","Electricity",645119.047608757,"Individual electric utilities, NREL SLOPE","eGRID MROW",360773,"ACS 5-Year Estimates, Table DP05",1.79 @@ -2110,8 +2136,6 @@ 2021,"county","55109","St. Croix","Energy","Commercial energy","Natural gas",84165.3990908462,"Individual natural gas utilities, NREL SLOPE (2021)","EPA GHG Emission Factors Hub (2021)",92495,"ACS 5-Year Estimates, Table DP05",0.91 2021,"county","55109","St. Croix","Energy","Industrial energy","Natural gas",43891.2451520546,"Individual natural gas utilities, NREL SLOPE (2021)","EPA GHG Emission Factors Hub (2021)",92495,"ACS 5-Year Estimates, Table DP05",0.47 2021,"county","55109","St. Croix","Energy","Residential energy","Natural gas",85346.5079001241,"Individual natural gas utilities, NREL SLOPE (2021)","EPA GHG Emission Factors Hub (2021)",92495,"ACS 5-Year Estimates, Table DP05",0.92 -2021,"county","55093","Pierce","Waste","Wastewater","Wastewater",4097.01445638636,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",42204,"ACS 5-Year Estimates, Table DP05",0.1 -2021,"county","55109","St. Croix","Waste","Wastewater","Wastewater",8979.0861563704,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",92495,"ACS 5-Year Estimates, Table DP05",0.1 2021,"county","27003","Anoka","Waste","Wastewater","Wastewater",34992.7043110344,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",360773,"ACS 5-Year Estimates, Table DP05",0.1 2021,"county","27019","Carver","Waste","Wastewater","Wastewater",10251.651008946,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",105694,"ACS 5-Year Estimates, Table DP05",0.1 2021,"county","27025","Chisago","Waste","Wastewater","Wastewater",5463.46053732388,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",56328,"ACS 5-Year Estimates, Table DP05",0.1 @@ -2121,1556 +2145,3159 @@ 2021,"county","27139","Scott","Waste","Wastewater","Wastewater",14507.1521383052,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",149568,"ACS 5-Year Estimates, Table DP05",0.1 2021,"county","27141","Sherburne","Waste","Wastewater","Wastewater",9340.00732214179,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",96295,"ACS 5-Year Estimates, Table DP05",0.1 2021,"county","27163","Washington","Waste","Wastewater","Wastewater",25685.6748432935,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",264818,"ACS 5-Year Estimates, Table DP05",0.1 -2021,"county","27003","Anoka","Waste","Solid waste","Landfill",97421.9012,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",360773,"ACS 5-Year Estimates, Table DP05",0.27 -2021,"county","27019","Carver","Waste","Solid waste","Landfill",29198,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",105694,"ACS 5-Year Estimates, Table DP05",0.28 -2021,"county","27025","Chisago","Waste","Solid waste","Landfill",20457.7412,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56328,"ACS 5-Year Estimates, Table DP05",0.36 -2021,"county","27037","Dakota","Waste","Solid waste","Landfill",117934.0916,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",435863,"ACS 5-Year Estimates, Table DP05",0.27 -2021,"county","27053","Hennepin","Waste","Solid waste","Landfill",229938.0772,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1270283,"ACS 5-Year Estimates, Table DP05",0.18 -2021,"county","27123","Ramsey","Waste","Solid waste","Landfill",42481.92,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",549377,"ACS 5-Year Estimates, Table DP05",0.08 -2021,"county","27139","Scott","Waste","Solid waste","Landfill",40439.3184,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",149568,"ACS 5-Year Estimates, Table DP05",0.27 -2021,"county","27141","Sherburne","Waste","Solid waste","Landfill",20153.22764,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",96295,"ACS 5-Year Estimates, Table DP05",0.21 -2021,"county","27163","Washington","Waste","Solid waste","Landfill",15712.476,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",264818,"ACS 5-Year Estimates, Table DP05",0.06 -2021,"county","27003","Anoka","Waste","Solid waste","Organics",7561.6646,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",360773,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27019","Carver","Waste","Solid waste","Organics",4809.3374,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",105694,"ACS 5-Year Estimates, Table DP05",0.05 -2021,"county","27025","Chisago","Waste","Solid waste","Organics",1224.4369,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56328,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27037","Dakota","Waste","Solid waste","Organics",23737.4043,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",435863,"ACS 5-Year Estimates, Table DP05",0.05 -2021,"county","27053","Hennepin","Waste","Solid waste","Organics",27869.9224,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1270283,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27123","Ramsey","Waste","Solid waste","Organics",18024.8127,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",549377,"ACS 5-Year Estimates, Table DP05",0.03 -2021,"county","27139","Scott","Waste","Solid waste","Organics",5100.1071,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",149568,"ACS 5-Year Estimates, Table DP05",0.03 -2021,"county","27141","Sherburne","Waste","Solid waste","Organics",1133.0398,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",96295,"ACS 5-Year Estimates, Table DP05",0.01 -2021,"county","27163","Washington","Waste","Solid waste","Organics",6045.0725,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",264818,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27003","Anoka","Waste","Solid waste","Recycling",17823.2724,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",360773,"ACS 5-Year Estimates, Table DP05",0.05 -2021,"county","27019","Carver","Waste","Solid waste","Recycling",3919.4181,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",105694,"ACS 5-Year Estimates, Table DP05",0.04 -2021,"county","27025","Chisago","Waste","Solid waste","Recycling",756.6354,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56328,"ACS 5-Year Estimates, Table DP05",0.01 -2021,"county","27037","Dakota","Waste","Solid waste","Recycling",12578.5404,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",435863,"ACS 5-Year Estimates, Table DP05",0.03 -2021,"county","27053","Hennepin","Waste","Solid waste","Recycling",30815.2845,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1270283,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27123","Ramsey","Waste","Solid waste","Recycling",7134.6672,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",549377,"ACS 5-Year Estimates, Table DP05",0.01 -2021,"county","27139","Scott","Waste","Solid waste","Recycling",5246.8938,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",149568,"ACS 5-Year Estimates, Table DP05",0.04 -2021,"county","27141","Sherburne","Waste","Solid waste","Recycling",3057.6681,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",96295,"ACS 5-Year Estimates, Table DP05",0.03 -2021,"county","27163","Washington","Waste","Solid waste","Recycling",7529.0319,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",264818,"ACS 5-Year Estimates, Table DP05",0.03 -2021,"county","27003","Anoka","Waste","Solid waste","Waste to energy",7958.4314,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",360773,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27019","Carver","Waste","Solid waste","Waste to energy",2.5112,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",105694,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","55093","Pierce","Waste","Wastewater","Wastewater",4097.01445638636,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",42204,"ACS 5-Year Estimates, Table DP05",0.1 +2021,"county","55109","St. Croix","Waste","Wastewater","Wastewater",8979.0861563704,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",92495,"ACS 5-Year Estimates, Table DP05",0.1 +2020,"county","27003","Anoka","Waste","Wastewater","Wastewater",35071.9461021075,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",363887,"Decennial Census, Table P1",0.1 +2020,"county","27019","Carver","Waste","Wastewater","Wastewater",10305.294284021,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",106922,"Decennial Census, Table P1",0.1 +2020,"county","27025","Chisago","Waste","Wastewater","Wastewater",5457.21243201167,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",56621,"Decennial Census, Table P1",0.1 +2020,"county","27037","Dakota","Waste","Wastewater","Wastewater",42396.4521823733,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",439882,"Decennial Census, Table P1",0.1 +2020,"county","27139","Scott","Waste","Wastewater","Wastewater",14546.6550915501,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",150928,"Decennial Census, Table P1",0.1 +2020,"county","27163","Washington","Waste","Wastewater","Wastewater",25788.5840237456,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",267568,"Decennial Census, Table P1",0.1 +2020,"county","27053","Hennepin","Waste","Wastewater","Wastewater",123519.055658343,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",1281565,"Decennial Census, Table P1",0.1 +2020,"county","27123","Ramsey","Waste","Wastewater","Wastewater",53236.4705894723,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",552352,"Decennial Census, Table P1",0.1 +2020,"county","27141","Sherburne","Waste","Wastewater","Wastewater",9366.63562600784,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",97183,"Decennial Census, Table P1",0.1 +2020,"county","55093","Pierce","Waste","Wastewater","Wastewater",4082.45525150677,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",42212,"Decennial Census, Table P1",0.1 +2020,"county","55109","St. Croix","Waste","Wastewater","Wastewater",9046.16067480663,"EPA State GHG Inventory and Projection Tool","EPA State GHG Inventory and Projection Tool",93536,"Decennial Census, Table P1",0.1 +2005,"county","27003","Anoka","Waste","Solid waste","Landfill",40803.2415897429,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0.13 +2005,"county","27019","Carver","Waste","Solid waste","Landfill",35498.4092785782,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.43 +2005,"county","27025","Chisago","Waste","Solid waste","Landfill",17239.9861762877,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.34 +2005,"county","27037","Dakota","Waste","Solid waste","Landfill",134055.666173313,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.35 +2005,"county","27053","Hennepin","Waste","Solid waste","Landfill",347522.373047551,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 +2005,"county","27123","Ramsey","Waste","Solid waste","Landfill",166146.493032369,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0.33 +2005,"county","27139","Scott","Waste","Solid waste","Landfill",37314.9725975383,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.32 +2005,"county","27141","Sherburne","Waste","Solid waste","Landfill",20375.0416052572,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.25 +2005,"county","27163","Washington","Waste","Solid waste","Landfill",18329.2301200799,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2021,"county","27003","Anoka","Waste","Solid waste","Landfill",132683.349964964,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",360773,"ACS 5-Year Estimates, Table DP05",0.37 +2021,"county","27019","Carver","Waste","Solid waste","Landfill",39766.0937074489,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",105694,"ACS 5-Year Estimates, Table DP05",0.38 +2021,"county","27025","Chisago","Waste","Solid waste","Landfill",27565.0629607649,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56328,"ACS 5-Year Estimates, Table DP05",0.49 +2021,"county","27037","Dakota","Waste","Solid waste","Landfill",160619.841696981,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",435863,"ACS 5-Year Estimates, Table DP05",0.37 +2021,"county","27053","Hennepin","Waste","Solid waste","Landfill",313163.200385157,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1270283,"ACS 5-Year Estimates, Table DP05",0.25 +2021,"county","27123","Ramsey","Waste","Solid waste","Landfill",57858.0728677425,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",549377,"ACS 5-Year Estimates, Table DP05",0.11 +2021,"county","27139","Scott","Waste","Solid waste","Landfill",55076.1601808261,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",149568,"ACS 5-Year Estimates, Table DP05",0.37 +2021,"county","27141","Sherburne","Waste","Solid waste","Landfill",27444.0366428011,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",96295,"ACS 5-Year Estimates, Table DP05",0.28 +2021,"county","27163","Washington","Waste","Solid waste","Landfill",21399.5408244414,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",264818,"ACS 5-Year Estimates, Table DP05",0.08 +2005,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27019","Carver","Waste","Solid waste",NA,121.943809416183,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27139","Scott","Waste","Solid waste",NA,5.74877958676292,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27141","Sherburne","Waste","Solid waste",NA,518.261190018779,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2005,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27019","Carver","Waste","Solid waste",NA,121.943809416183,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27139","Scott","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27141","Sherburne","Waste","Solid waste",NA,522.616326069357,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27019","Carver","Waste","Solid waste",NA,121.943809416183,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27139","Scott","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27141","Sherburne","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27019","Carver","Waste","Solid waste",NA,121.943809416183,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27139","Scott","Waste","Solid waste",NA,13.7622299198264,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27141","Sherburne","Waste","Solid waste",NA,87.1027210115595,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27019","Carver","Waste","Solid waste",NA,121.943809416183,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27139","Scott","Waste","Solid waste",NA,4.35513605057797,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27141","Sherburne","Waste","Solid waste",NA,69.6821768092476,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2010,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",244813,"Decennial Census, Table P1",0 +2010,"county","27019","Carver","Waste","Solid waste",NA,121.943809416183,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",63837,"Decennial Census, Table P1",0 +2010,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",40040,"Decennial Census, Table P1",0 +2010,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",293492,"Decennial Census, Table P1",0 +2010,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",891080,"Decennial Census, Table P1",0 +2010,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",390147,"Decennial Census, Table P1",0 +2010,"county","27139","Scott","Waste","Solid waste",NA,4.35513605057797,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",90700,"Decennial Census, Table P1",0 +2010,"county","27141","Sherburne","Waste","Solid waste",NA,69.6821768092476,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",62722,"Decennial Census, Table P1",0 +2010,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",174538,"Decennial Census, Table P1",0 +2011,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",332921,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27019","Carver","Waste","Solid waste",NA,121.943809416183,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",92752,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53762,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",401804,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",515856,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27139","Scott","Waste","Solid waste",NA,4.35513605057797,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",132581,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27141","Sherburne","Waste","Solid waste",NA,26.1308163034678,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",89279,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",241428,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",336119,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27019","Carver","Waste","Solid waste",NA,121.943809416183,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",93804,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53468,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",404669,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",521091,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27139","Scott","Waste","Solid waste",NA,4.35513605057797,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",135140,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27141","Sherburne","Waste","Solid waste",NA,26.1308163034678,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",89474,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",243720,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",339120,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27019","Carver","Waste","Solid waste",NA,113.233537315027,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",95562,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53665,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",407974,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",527261,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27139","Scott","Waste","Solid waste",NA,3.48410884046238,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",137280,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27141","Sherburne","Waste","Solid waste",NA,26.1308163034678,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",90086,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",246002,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",341923,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27019","Carver","Waste","Solid waste",NA,104.523265213871,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",97321,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53808,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",411821,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1211635,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",532966,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27139","Scott","Waste","Solid waste",NA,3.4861839499564,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",139198,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27141","Sherburne","Waste","Solid waste",NA,26.1297787487208,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",90908,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27163","Washington","Waste","Solid waste",NA,87.1047961210535,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",248580,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",344244,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27019","Carver","Waste","Solid waste",NA,104.523265213871,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",98610,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",54144,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",414245,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",536838,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27139","Scott","Waste","Solid waste",NA,3.4861839499564,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",141372,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27141","Sherburne","Waste","Solid waste",NA,26.1297787487208,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",91441,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",250482,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",346813,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27019","Carver","Waste","Solid waste",NA,104.523265213871,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",100389,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",54640,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",417783,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",541635,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27139","Scott","Waste","Solid waste",NA,17.4226193118059,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",143393,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27141","Sherburne","Waste","Solid waste",NA,26.1297787487208,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",93247,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",252655,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",350598,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27019","Carver","Waste","Solid waste",NA,104.523265213871,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",102120,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",55261,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",421840,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",544919,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27139","Scott","Waste","Solid waste",NA,17.4205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",145581,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27141","Sherburne","Waste","Solid waste",NA,26.1308163034678,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",94527,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",255717,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",354004,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27019","Carver","Waste","Solid waste",NA,69.6821768092476,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",103605,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",55980,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",425472,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",548900,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27139","Scott","Waste","Solid waste",NA,17.4205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",147339,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27141","Sherburne","Waste","Solid waste",NA,26.1308163034678,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",96067,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",258969,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",357538,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27019","Carver","Waste","Solid waste",NA,69.6821768092476,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",105128,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56543,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",429453,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",549632,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27139","Scott","Waste","Solid waste",NA,17.4205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",149004,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27141","Sherburne","Waste","Solid waste",NA,5.22616326069357,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",97424,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",262541,"US Census County Intercensal Tables (CO-EST2020)",0 +2020,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",363887,"Decennial Census, Table P1",0 +2020,"county","27019","Carver","Waste","Solid waste",NA,69.6821768092476,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",106922,"Decennial Census, Table P1",0 +2020,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56621,"Decennial Census, Table P1",0 +2020,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",439882,"Decennial Census, Table P1",0 +2020,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1281565,"Decennial Census, Table P1",0 +2020,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",552352,"Decennial Census, Table P1",0 +2020,"county","27139","Scott","Waste","Solid waste",NA,17.4205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",150928,"Decennial Census, Table P1",0 +2020,"county","27141","Sherburne","Waste","Solid waste",NA,29.0923088178609,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",97183,"Decennial Census, Table P1",0 +2020,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",267568,"Decennial Census, Table P1",0 +2021,"county","27003","Anoka","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",360773,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27019","Carver","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",105694,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27025","Chisago","Waste","Solid waste",NA,174.205442023119,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56328,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27037","Dakota","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",435863,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27053","Hennepin","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1270283,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27123","Ramsey","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",549377,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27139","Scott","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",149568,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27141","Sherburne","Waste","Solid waste",NA,2.09046530427743,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",96295,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27163","Washington","Waste","Solid waste",NA,0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",264818,"ACS 5-Year Estimates, Table DP05",0 +2005,"county","27003","Anoka","Waste","Solid waste","Waste to energy",66832.506760473,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0.21 +2005,"county","27019","Carver","Waste","Solid waste","Waste to energy",1866.82646992678,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2005,"county","27025","Chisago","Waste","Solid waste","Waste to energy",5.69786103473767,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27037","Dakota","Waste","Solid waste","Waste to energy",25047.5588345181,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.07 +2005,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",255507.628418641,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0.23 +2005,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",95070.8833140652,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0.19 +2005,"county","27139","Scott","Waste","Solid waste","Waste to energy",8249.46680356655,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.07 +2005,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",11031.3334965565,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.14 +2005,"county","27163","Washington","Waste","Solid waste","Waste to energy",35339.6880995434,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 +2006,"county","27003","Anoka","Waste","Solid waste","Waste to energy",59274.2681985252,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2006,"county","27019","Carver","Waste","Solid waste","Waste to energy",2060.03575774106,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2006,"county","27025","Chisago","Waste","Solid waste","Waste to energy",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27037","Dakota","Waste","Solid waste","Waste to energy",12627.4753082176,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2006,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",247350.88135373,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0.22 +2006,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",84418.9911033065,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 +2006,"county","27139","Scott","Waste","Solid waste","Waste to energy",10815.7937733597,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2006,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",10465.8000693641,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 +2006,"county","27163","Washington","Waste","Solid waste","Waste to energy",31234.1202303315,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.14 +2007,"county","27003","Anoka","Waste","Solid waste","Waste to energy",62241.9266002369,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.19 +2007,"county","27019","Carver","Waste","Solid waste","Waste to energy",1841.44508895386,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2007,"county","27025","Chisago","Waste","Solid waste","Waste to energy",10.3597473358867,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27037","Dakota","Waste","Solid waste","Waste to energy",17038.6868030801,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2007,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",260469.947392531,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0.23 +2007,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",90971.5312932548,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2007,"county","27139","Scott","Waste","Solid waste","Waste to energy",6344.5838018014,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2007,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",10533.1228874264,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 +2007,"county","27163","Washington","Waste","Solid waste","Waste to energy",33461.4659075471,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 +2008,"county","27003","Anoka","Waste","Solid waste","Waste to energy",67062.1719991623,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0.2 +2008,"county","27019","Carver","Waste","Solid waste","Waste to energy",1262.85320024458,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27025","Chisago","Waste","Solid waste","Waste to energy",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27037","Dakota","Waste","Solid waste","Waste to energy",20000.6007248942,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2008,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",252467.560562925,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0.22 +2008,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",90635.3574922053,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2008,"county","27139","Scott","Waste","Solid waste","Waste to energy",2255.83498238932,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2008,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",10117.9197538251,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 +2008,"county","27163","Washington","Waste","Solid waste","Waste to energy",33867.5680031139,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 +2009,"county","27003","Anoka","Waste","Solid waste","Waste to energy",66807.0528612687,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0.2 +2009,"county","27019","Carver","Waste","Solid waste","Waste to energy",1895.31577510047,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2009,"county","27025","Chisago","Waste","Solid waste","Waste to energy",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27037","Dakota","Waste","Solid waste","Waste to energy",21624.9055096878,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2009,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",222242.997710476,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0.19 +2009,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",97100.8758045322,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0.19 +2009,"county","27139","Scott","Waste","Solid waste","Waste to energy",3656.4728222012,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2009,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",8194.51922168438,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2009,"county","27163","Washington","Waste","Solid waste","Waste to energy",35914.1360893183,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 +2010,"county","27003","Anoka","Waste","Solid waste","Waste to energy",62937.2106829376,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",244813,"Decennial Census, Table P1",0.26 +2010,"county","27019","Carver","Waste","Solid waste","Waste to energy",2348.03673367871,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",63837,"Decennial Census, Table P1",0.04 +2010,"county","27025","Chisago","Waste","Solid waste","Waste to energy",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",40040,"Decennial Census, Table P1",0 +2010,"county","27037","Dakota","Waste","Solid waste","Waste to energy",23770.9582495588,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",293492,"Decennial Census, Table P1",0.08 +2010,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",182358.488454679,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",891080,"Decennial Census, Table P1",0.2 +2010,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",94834.681074807,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",390147,"Decennial Census, Table P1",0.24 +2010,"county","27139","Scott","Waste","Solid waste","Waste to energy",5568.88218040588,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",90700,"Decennial Census, Table P1",0.06 +2010,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",7993.06305700336,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",62722,"Decennial Census, Table P1",0.13 +2010,"county","27163","Washington","Waste","Solid waste","Waste to energy",35064.1188204088,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",174538,"Decennial Census, Table P1",0.2 +2011,"county","27003","Anoka","Waste","Solid waste","Waste to energy",66598.8685586804,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",332921,"US Census County Intercensal Tables (CO-EST2020)",0.2 +2011,"county","27019","Carver","Waste","Solid waste","Waste to energy",2498.77105741586,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",92752,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2011,"county","27025","Chisago","Waste","Solid waste","Waste to energy",620.471167314592,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53762,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2011,"county","27037","Dakota","Waste","Solid waste","Waste to energy",17415.7712463591,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",401804,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2011,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",207130.716284251,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1169581,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2011,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",99050.580253146,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",515856,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2011,"county","27139","Scott","Waste","Solid waste","Waste to energy",6948.08570297981,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",132581,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2011,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",8649.51362681549,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",89279,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2011,"county","27163","Washington","Waste","Solid waste","Waste to energy",36643.9802891315,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",241428,"US Census County Intercensal Tables (CO-EST2020)",0.15 +2012,"county","27003","Anoka","Waste","Solid waste","Waste to energy",68613.5286230903,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",336119,"US Census County Intercensal Tables (CO-EST2020)",0.2 +2012,"county","27019","Carver","Waste","Solid waste","Waste to energy",2877.93780990932,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",93804,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2012,"county","27025","Chisago","Waste","Solid waste","Waste to energy",664.593331218134,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53468,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27037","Dakota","Waste","Solid waste","Waste to energy",17756.8918267615,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",404669,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2012,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",232197.678925529,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1184545,"US Census County Intercensal Tables (CO-EST2020)",0.2 +2012,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",101147.911101296,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",521091,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2012,"county","27139","Scott","Waste","Solid waste","Waste to energy",6941.45546468484,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",135140,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2012,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",10174.2612397113,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",89474,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2012,"county","27163","Washington","Waste","Solid waste","Waste to energy",37544.7603199869,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",243720,"US Census County Intercensal Tables (CO-EST2020)",0.15 +2013,"county","27003","Anoka","Waste","Solid waste","Waste to energy",59701.5715170148,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",339120,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2013,"county","27019","Carver","Waste","Solid waste","Waste to energy",2596.1526823732,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",95562,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2013,"county","27025","Chisago","Waste","Solid waste","Waste to energy",696.988261137451,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53665,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27037","Dakota","Waste","Solid waste","Waste to energy",19788.2466240031,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",407974,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2013,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",245043.247634662,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1198531,"US Census County Intercensal Tables (CO-EST2020)",0.2 +2013,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",101622.905516647,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",527261,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2013,"county","27139","Scott","Waste","Solid waste","Waste to energy",4334.3369897566,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",137280,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2013,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",10075.1339973279,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",90086,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2013,"county","27163","Washington","Waste","Solid waste","Waste to energy",37575.3215746277,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",246002,"US Census County Intercensal Tables (CO-EST2020)",0.15 +2014,"county","27003","Anoka","Waste","Solid waste","Waste to energy",55756.1601617421,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",341923,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2014,"county","27019","Carver","Waste","Solid waste","Waste to energy",1792.23628910839,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",97321,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2014,"county","27025","Chisago","Waste","Solid waste","Waste to energy",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53808,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27037","Dakota","Waste","Solid waste","Waste to energy",22464.0761231367,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",411821,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2014,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",263198.704840803,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2014,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",117828.658274174,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",532966,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2014,"county","27139","Scott","Waste","Solid waste","Waste to energy",2177.61889000338,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",139198,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2014,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",10247.8620646591,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",90908,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2014,"county","27163","Washington","Waste","Solid waste","Waste to energy",43543.0540274653,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",248580,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2015,"county","27003","Anoka","Waste","Solid waste","Waste to energy",53537.6202697619,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",344244,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2015,"county","27019","Carver","Waste","Solid waste","Waste to energy",1568.46574665324,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",98610,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2015,"county","27025","Chisago","Waste","Solid waste","Waste to energy",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",54144,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27037","Dakota","Waste","Solid waste","Waste to energy",11066.8000915609,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",414245,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2015,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",248116.984669219,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1222868,"US Census County Intercensal Tables (CO-EST2020)",0.2 +2015,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",120321.213483189,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",536838,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2015,"county","27139","Scott","Waste","Solid waste","Waste to energy",2656.75720428814,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",141372,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2015,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",10374.2509821569,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",91441,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2015,"county","27163","Washington","Waste","Solid waste","Waste to energy",45193.361778072,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",250482,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2016,"county","27003","Anoka","Waste","Solid waste","Waste to energy",51885.240569688,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",346813,"US Census County Intercensal Tables (CO-EST2020)",0.15 +2016,"county","27019","Carver","Waste","Solid waste","Waste to energy",3452.38579968423,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",100389,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2016,"county","27025","Chisago","Waste","Solid waste","Waste to energy",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",54640,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27037","Dakota","Waste","Solid waste","Waste to energy",26515.2553188351,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",417783,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2016,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",227395.936035346,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1236183,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2016,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",110401.755409077,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",541635,"US Census County Intercensal Tables (CO-EST2020)",0.2 +2016,"county","27139","Scott","Waste","Solid waste","Waste to energy",4471.78493753548,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",143393,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2016,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",12184.6168291031,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",93247,"US Census County Intercensal Tables (CO-EST2020)",0.13 +2016,"county","27163","Washington","Waste","Solid waste","Waste to energy",40768.195703548,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",252655,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2017,"county","27003","Anoka","Waste","Solid waste","Waste to energy",60890.8187124379,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",350598,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2017,"county","27019","Carver","Waste","Solid waste","Waste to energy",2533.99419835788,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",102120,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2017,"county","27025","Chisago","Waste","Solid waste","Waste to energy",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",55261,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27037","Dakota","Waste","Solid waste","Waste to energy",24838.6027307532,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",421840,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2017,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",226057.456679549,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2017,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",125317.719623287,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",544919,"US Census County Intercensal Tables (CO-EST2020)",0.23 +2017,"county","27139","Scott","Waste","Solid waste","Waste to energy",4640.32766694302,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",145581,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2017,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",11569.7658247182,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",94527,"US Census County Intercensal Tables (CO-EST2020)",0.12 +2017,"county","27163","Washington","Waste","Solid waste","Waste to energy",43942.9402746305,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",255717,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2018,"county","27003","Anoka","Waste","Solid waste","Waste to energy",68178.8388047502,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",354004,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2018,"county","27019","Carver","Waste","Solid waste","Waste to energy",1571.57367085401,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",103605,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2018,"county","27025","Chisago","Waste","Solid waste","Waste to energy",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",55980,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27037","Dakota","Waste","Solid waste","Waste to energy",5282.79775772537,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",425472,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",231513.417613994,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1258021,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2018,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",132613.053697218,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",548900,"US Census County Intercensal Tables (CO-EST2020)",0.24 +2018,"county","27139","Scott","Waste","Solid waste","Waste to energy",4491.56169519969,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",147339,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2018,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",12130.9585177769,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",96067,"US Census County Intercensal Tables (CO-EST2020)",0.13 +2018,"county","27163","Washington","Waste","Solid waste","Waste to energy",49048.5863529122,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",258969,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2019,"county","27003","Anoka","Waste","Solid waste","Waste to energy",9879.82686067805,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",357538,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2019,"county","27019","Carver","Waste","Solid waste","Waste to energy",76.6621302855613,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",105128,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27025","Chisago","Waste","Solid waste","Waste to energy",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56543,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27037","Dakota","Waste","Solid waste","Waste to energy",3774.77077702969,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",429453,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2019,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",172383.087744953,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1265159,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2019,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",132642.993367019,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",549632,"US Census County Intercensal Tables (CO-EST2020)",0.24 +2019,"county","27139","Scott","Waste","Solid waste","Waste to energy",102.235166584198,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",149004,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",2922.48472345363,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",97424,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2019,"county","27163","Washington","Waste","Solid waste","Waste to energy",49059.7334410456,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",262541,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2020,"county","27003","Anoka","Waste","Solid waste","Waste to energy",8509.23746801391,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",363887,"Decennial Census, Table P1",0.02 +2020,"county","27019","Carver","Waste","Solid waste","Waste to energy",5.17987366794334,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",106922,"Decennial Census, Table P1",0 +2020,"county","27025","Chisago","Waste","Solid waste","Waste to energy",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56621,"Decennial Census, Table P1",0 +2020,"county","27037","Dakota","Waste","Solid waste","Waste to energy",9440.84292706719,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",439882,"Decennial Census, Table P1",0.02 +2020,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",170008.633655568,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1281565,"Decennial Census, Table P1",0.13 +2020,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",119223.857246635,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",552352,"Decennial Census, Table P1",0.22 +2020,"county","27139","Scott","Waste","Solid waste","Waste to energy",34.9382478902778,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",150928,"Decennial Census, Table P1",0 +2020,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",2727.20348617217,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",97183,"Decennial Census, Table P1",0.03 +2020,"county","27163","Washington","Waste","Solid waste","Waste to energy",44096.4872697693,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",267568,"Decennial Census, Table P1",0.16 +2021,"county","27003","Anoka","Waste","Solid waste","Waste to energy",9586.89982488219,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",360773,"ACS 5-Year Estimates, Table DP05",0.03 +2021,"county","27019","Carver","Waste","Solid waste","Waste to energy",3.02504622207891,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",105694,"ACS 5-Year Estimates, Table DP05",0 2021,"county","27025","Chisago","Waste","Solid waste","Waste to energy",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56328,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27037","Dakota","Waste","Solid waste","Waste to energy",4305.762,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",435863,"ACS 5-Year Estimates, Table DP05",0.01 -2021,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",152837.4628,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1270283,"ACS 5-Year Estimates, Table DP05",0.12 -2021,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",101485.117,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",549377,"ACS 5-Year Estimates, Table DP05",0.18 -2021,"county","27139","Scott","Waste","Solid waste","Waste to energy",0.3053,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",149568,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",1756.12,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",96295,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27163","Washington","Waste","Solid waste","Waste to energy",37535.5643,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",264818,"ACS 5-Year Estimates, Table DP05",0.14 -2021,"county","55093","Pierce","Waste","Solid waste","Landfill",15813.0382527193,"Wisconsin DNR","EPA GHG Emission Factors Hub (2021)",42204,"ACS 5-Year Estimates, Table DP05",0.37 -2021,"county","55109","St. Croix","Waste","Solid waste","Landfill",34656.1220070437,"Wisconsin DNR","EPA GHG Emission Factors Hub (2021)",92495,"ACS 5-Year Estimates, Table DP05",0.37 -2005,"county","27003","Anoka","Agriculture","Livestock",NA,3808.49074033124,"USDA livestock census","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2005,"county","27019","Carver","Agriculture","Livestock",NA,65544.4076473047,"USDA livestock census","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.79 -2005,"county","27025","Chisago","Agriculture","Livestock",NA,23398.091215404,"USDA livestock census","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.47 -2005,"county","27037","Dakota","Agriculture","Livestock",NA,59587.7290019641,"USDA livestock census","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 -2005,"county","27053","Hennepin","Agriculture","Livestock",NA,14672.1415003284,"USDA livestock census","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2005,"county","55093","Pierce","Agriculture","Livestock",NA,112462.550219735,"USDA livestock census","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",2.86 -2005,"county","27139","Scott","Agriculture","Livestock",NA,40285.3205058791,"USDA livestock census","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.34 -2005,"county","27141","Sherburne","Agriculture","Livestock",NA,15382.4961534786,"USDA livestock census","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.19 -2005,"county","55109","St. Croix","Agriculture","Livestock",NA,137734.428438065,"USDA livestock census","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",1.79 -2005,"county","27163","Washington","Agriculture","Livestock",NA,14496.3823828067,"USDA livestock census","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.07 -2006,"county","27003","Anoka","Agriculture","Livestock",NA,4219.88907045142,"USDA livestock census","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","27019","Carver","Agriculture","Livestock",NA,64250.0500686587,"USDA livestock census","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.75 -2006,"county","27025","Chisago","Agriculture","Livestock",NA,23324.6503976568,"USDA livestock census","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.45 -2006,"county","27037","Dakota","Agriculture","Livestock",NA,62467.5158883389,"USDA livestock census","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 -2006,"county","27053","Hennepin","Agriculture","Livestock",NA,14671.2982189165,"USDA livestock census","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","55093","Pierce","Agriculture","Livestock",NA,113521.308157035,"USDA livestock census","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",2.84 -2006,"county","27139","Scott","Agriculture","Livestock",NA,39338.1878015736,"USDA livestock census","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.33 -2006,"county","27141","Sherburne","Agriculture","Livestock",NA,15247.9789227601,"USDA livestock census","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 -2006,"county","55109","St. Croix","Agriculture","Livestock",NA,138427.519098048,"USDA livestock census","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",1.74 -2006,"county","27163","Washington","Agriculture","Livestock",NA,14608.408342499,"USDA livestock census","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2007,"county","27003","Anoka","Agriculture","Livestock",NA,4640.34310280212,"USDA livestock census","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","27019","Carver","Agriculture","Livestock",NA,63876.2976643363,"USDA livestock census","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.73 -2007,"county","27025","Chisago","Agriculture","Livestock",NA,23329.4430975699,"USDA livestock census","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.45 -2007,"county","27037","Dakota","Agriculture","Livestock",NA,67746.9326905712,"USDA livestock census","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 -2007,"county","27053","Hennepin","Agriculture","Livestock",NA,14855.0176991564,"USDA livestock census","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","55093","Pierce","Agriculture","Livestock",NA,116668.690510621,"USDA livestock census","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",2.9 -2007,"county","27139","Scott","Agriculture","Livestock",NA,38992.4605758958,"USDA livestock census","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 -2007,"county","27141","Sherburne","Agriculture","Livestock",NA,15542.1116895545,"USDA livestock census","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 -2007,"county","55109","St. Croix","Agriculture","Livestock",NA,141536.537665175,"USDA livestock census","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",1.73 -2007,"county","27163","Washington","Agriculture","Livestock",NA,14775.7058797041,"USDA livestock census","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2008,"county","27003","Anoka","Agriculture","Livestock",NA,4413.93277000863,"USDA livestock census","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","27019","Carver","Agriculture","Livestock",NA,61873.5300445132,"USDA livestock census","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.7 -2008,"county","27025","Chisago","Agriculture","Livestock",NA,23045.6227373959,"USDA livestock census","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.43 -2008,"county","27037","Dakota","Agriculture","Livestock",NA,64167.9639681971,"USDA livestock census","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 -2008,"county","27053","Hennepin","Agriculture","Livestock",NA,15235.6695044924,"USDA livestock census","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","55093","Pierce","Agriculture","Livestock",NA,115633.712919985,"USDA livestock census","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",2.84 -2008,"county","27139","Scott","Agriculture","Livestock",NA,40572.7755727101,"USDA livestock census","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.32 -2008,"county","27141","Sherburne","Agriculture","Livestock",NA,15793.7103431804,"USDA livestock census","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 -2008,"county","55109","St. Croix","Agriculture","Livestock",NA,137341.004981852,"USDA livestock census","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",1.65 -2008,"county","27163","Washington","Agriculture","Livestock",NA,14913.4981345798,"USDA livestock census","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2009,"county","27003","Anoka","Agriculture","Livestock",NA,4186.54284698542,"USDA livestock census","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","27019","Carver","Agriculture","Livestock",NA,60003.6927510909,"USDA livestock census","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.66 -2009,"county","27025","Chisago","Agriculture","Livestock",NA,22794.5853312261,"USDA livestock census","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.43 -2009,"county","27037","Dakota","Agriculture","Livestock",NA,60166.8905587832,"USDA livestock census","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 -2009,"county","27053","Hennepin","Agriculture","Livestock",NA,15620.4297049899,"USDA livestock census","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","55093","Pierce","Agriculture","Livestock",NA,115015.381404293,"USDA livestock census","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",2.83 -2009,"county","27139","Scott","Agriculture","Livestock",NA,42201.0450535608,"USDA livestock census","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.33 -2009,"county","27141","Sherburne","Agriculture","Livestock",NA,15955.285423899,"USDA livestock census","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 -2009,"county","55109","St. Croix","Agriculture","Livestock",NA,133745.6976967,"USDA livestock census","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",1.59 -2009,"county","27163","Washington","Agriculture","Livestock",NA,15053.6396026811,"USDA livestock census","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2010,"county","27003","Anoka","Agriculture","Livestock",NA,3952.33324281545,"USDA livestock census","EPA SIT",244813,"Decennial Census, Table P1",0.02 -2010,"county","27019","Carver","Agriculture","Livestock",NA,57948.2811301402,"USDA livestock census","EPA SIT",63837,"Decennial Census, Table P1",0.91 -2010,"county","27025","Chisago","Agriculture","Livestock",NA,22505.6239888473,"USDA livestock census","EPA SIT",40040,"Decennial Census, Table P1",0.56 -2010,"county","27037","Dakota","Agriculture","Livestock",NA,55827.8752488465,"USDA livestock census","EPA SIT",293492,"Decennial Census, Table P1",0.19 -2010,"county","27053","Hennepin","Agriculture","Livestock",NA,15953.3216528492,"USDA livestock census","EPA SIT",891080,"Decennial Census, Table P1",0.02 -2010,"county","55093","Pierce","Agriculture","Livestock",NA,114398.744173575,"USDA livestock census","EPA SIT",31860,"Decennial Census, Table P1",3.59 -2010,"county","27139","Scott","Agriculture","Livestock",NA,43694.0978739442,"USDA livestock census","EPA SIT",90700,"Decennial Census, Table P1",0.48 -2010,"county","27141","Sherburne","Agriculture","Livestock",NA,16028.7040117057,"USDA livestock census","EPA SIT",62722,"Decennial Census, Table P1",0.26 -2010,"county","55109","St. Croix","Agriculture","Livestock",NA,130126.841061789,"USDA livestock census","EPA SIT",61462,"Decennial Census, Table P1",2.12 -2010,"county","27163","Washington","Agriculture","Livestock",NA,15169.5403647215,"USDA livestock census","EPA SIT",174538,"Decennial Census, Table P1",0.09 -2011,"county","27003","Anoka","Agriculture","Livestock",NA,3715.42914515118,"USDA livestock census","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2011,"county","27019","Carver","Agriculture","Livestock",NA,55625.2019279512,"USDA livestock census","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.6 -2011,"county","27025","Chisago","Agriculture","Livestock",NA,22160.0084293366,"USDA livestock census","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.41 -2011,"county","27037","Dakota","Agriculture","Livestock",NA,51462.9069994317,"USDA livestock census","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.13 -2011,"county","27053","Hennepin","Agriculture","Livestock",NA,16248.3392747345,"USDA livestock census","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2011,"county","55093","Pierce","Agriculture","Livestock",NA,113166.918383205,"USDA livestock census","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",2.77 -2011,"county","27139","Scott","Agriculture","Livestock",NA,45029.1481947977,"USDA livestock census","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.34 -2011,"county","27141","Sherburne","Agriculture","Livestock",NA,16118.3147574443,"USDA livestock census","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.18 -2011,"county","55109","St. Croix","Agriculture","Livestock",NA,125714.435213257,"USDA livestock census","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",1.48 -2011,"county","27163","Washington","Agriculture","Livestock",NA,15252.652942561,"USDA livestock census","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0.06 -2012,"county","27003","Anoka","Agriculture","Livestock",NA,3491.11155961563,"USDA livestock census","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2012,"county","27019","Carver","Agriculture","Livestock",NA,53946.2170380014,"USDA livestock census","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.58 -2012,"county","27025","Chisago","Agriculture","Livestock",NA,21952.0863704396,"USDA livestock census","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.41 -2012,"county","27037","Dakota","Agriculture","Livestock",NA,47457.1352568963,"USDA livestock census","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.12 -2012,"county","27053","Hennepin","Agriculture","Livestock",NA,16669.3997953278,"USDA livestock census","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2012,"county","55093","Pierce","Agriculture","Livestock",NA,113150.226302683,"USDA livestock census","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",2.78 -2012,"county","27139","Scott","Agriculture","Livestock",NA,46783.8639291154,"USDA livestock census","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.35 -2012,"county","27141","Sherburne","Agriculture","Livestock",NA,16261.0881222784,"USDA livestock census","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.18 -2012,"county","55109","St. Croix","Agriculture","Livestock",NA,122669.281452536,"USDA livestock census","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",1.44 -2012,"county","27163","Washington","Agriculture","Livestock",NA,15430.8220647931,"USDA livestock census","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0.06 -2013,"county","27003","Anoka","Agriculture","Livestock",NA,2896.28419918341,"USDA livestock census","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2013,"county","27019","Carver","Agriculture","Livestock",NA,53492.1514385185,"USDA livestock census","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.56 -2013,"county","27025","Chisago","Agriculture","Livestock",NA,22002.882461969,"USDA livestock census","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.41 -2013,"county","27037","Dakota","Agriculture","Livestock",NA,46384.7083589124,"USDA livestock census","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2013,"county","27053","Hennepin","Agriculture","Livestock",NA,15704.8348757192,"USDA livestock census","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2013,"county","55093","Pierce","Agriculture","Livestock",NA,113125.710929689,"USDA livestock census","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",2.77 -2013,"county","27139","Scott","Agriculture","Livestock",NA,43762.7606020587,"USDA livestock census","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.32 -2013,"county","27141","Sherburne","Agriculture","Livestock",NA,16047.8790512153,"USDA livestock census","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.18 -2013,"county","55109","St. Croix","Agriculture","Livestock",NA,124545.148662162,"USDA livestock census","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",1.45 -2013,"county","27163","Washington","Agriculture","Livestock",NA,14844.0778822809,"USDA livestock census","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0.06 -2014,"county","27003","Anoka","Agriculture","Livestock",NA,2296.17055958513,"USDA livestock census","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2014,"county","27019","Carver","Agriculture","Livestock",NA,52872.2118473346,"USDA livestock census","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.54 -2014,"county","27025","Chisago","Agriculture","Livestock",NA,22008.2240968596,"USDA livestock census","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.41 -2014,"county","27037","Dakota","Agriculture","Livestock",NA,45209.5080956372,"USDA livestock census","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2014,"county","27053","Hennepin","Agriculture","Livestock",NA,14701.4416837263,"USDA livestock census","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2014,"county","55093","Pierce","Agriculture","Livestock",NA,112657.844027504,"USDA livestock census","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",2.74 -2014,"county","27139","Scott","Agriculture","Livestock",NA,40622.2429132301,"USDA livestock census","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.29 -2014,"county","27141","Sherburne","Agriculture","Livestock",NA,15815.8354800664,"USDA livestock census","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.17 -2014,"county","55109","St. Croix","Agriculture","Livestock",NA,125928.456420145,"USDA livestock census","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",1.45 -2014,"county","27163","Washington","Agriculture","Livestock",NA,14223.5848414279,"USDA livestock census","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0.06 -2015,"county","27003","Anoka","Agriculture","Livestock",NA,1701.32682323694,"USDA livestock census","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27019","Carver","Agriculture","Livestock",NA,52776.2918046272,"USDA livestock census","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.54 -2015,"county","27025","Chisago","Agriculture","Livestock",NA,22140.4609355482,"USDA livestock census","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.41 -2015,"county","27037","Dakota","Agriculture","Livestock",NA,44308.981326214,"USDA livestock census","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2015,"county","27053","Hennepin","Agriculture","Livestock",NA,13790.4659786979,"USDA livestock census","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2015,"county","55093","Pierce","Agriculture","Livestock",NA,113363.592810849,"USDA livestock census","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",2.76 -2015,"county","27139","Scott","Agriculture","Livestock",NA,37767.7850710792,"USDA livestock census","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.27 -2015,"county","27141","Sherburne","Agriculture","Livestock",NA,15635.951390127,"USDA livestock census","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.17 -2015,"county","55109","St. Croix","Agriculture","Livestock",NA,128773.945861299,"USDA livestock census","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",1.48 -2015,"county","27163","Washington","Agriculture","Livestock",NA,13677.6189660816,"USDA livestock census","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2016,"county","27003","Anoka","Agriculture","Livestock",NA,1101.28651985777,"USDA livestock census","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27019","Carver","Agriculture","Livestock",NA,52498.5570030196,"USDA livestock census","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.52 -2016,"county","27025","Chisago","Agriculture","Livestock",NA,22239.7982710225,"USDA livestock census","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.41 -2016,"county","27037","Dakota","Agriculture","Livestock",NA,43297.1104766612,"USDA livestock census","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2016,"county","27053","Hennepin","Agriculture","Livestock",NA,12837.8700753893,"USDA livestock census","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2016,"county","55093","Pierce","Agriculture","Livestock",NA,114247.729786815,"USDA livestock census","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",2.75 -2016,"county","27139","Scott","Agriculture","Livestock",NA,34773.4854568714,"USDA livestock census","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.24 -2016,"county","27141","Sherburne","Agriculture","Livestock",NA,15441.8699630711,"USDA livestock census","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.17 -2016,"county","55109","St. Croix","Agriculture","Livestock",NA,131944.922216817,"USDA livestock census","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",1.51 -2016,"county","27163","Washington","Agriculture","Livestock",NA,13101.8168299708,"USDA livestock census","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2017,"county","27003","Anoka","Agriculture","Livestock",NA,497.489273252687,"USDA livestock census","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27019","Carver","Agriculture","Livestock",NA,52357.5775221479,"USDA livestock census","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.51 -2017,"county","27025","Chisago","Agriculture","Livestock",NA,22373.120886328,"USDA livestock census","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.4 -2017,"county","27037","Dakota","Agriculture","Livestock",NA,42333.5036924174,"USDA livestock census","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2017,"county","27053","Hennepin","Agriculture","Livestock",NA,11895.452603471,"USDA livestock census","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2017,"county","55093","Pierce","Agriculture","Livestock",NA,114134.276430843,"USDA livestock census","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",2.71 -2017,"county","27139","Scott","Agriculture","Livestock",NA,31802.0727236437,"USDA livestock census","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2017,"county","27141","Sherburne","Agriculture","Livestock",NA,15260.8539694467,"USDA livestock census","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.16 -2017,"county","55109","St. Croix","Agriculture","Livestock",NA,133910.199157556,"USDA livestock census","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",1.51 -2017,"county","27163","Washington","Agriculture","Livestock",NA,12534.1546160431,"USDA livestock census","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2018,"county","27003","Anoka","Agriculture","Livestock",NA,655.936839920012,"USDA livestock census","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27019","Carver","Agriculture","Livestock",NA,51475.1012313351,"USDA livestock census","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.5 -2018,"county","27025","Chisago","Agriculture","Livestock",NA,20660.0130662498,"USDA livestock census","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.37 -2018,"county","27037","Dakota","Agriculture","Livestock",NA,46239.9914560975,"USDA livestock census","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2018,"county","27053","Hennepin","Agriculture","Livestock",NA,10897.8887811295,"USDA livestock census","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2018,"county","55093","Pierce","Agriculture","Livestock",NA,111001.85438187,"USDA livestock census","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",2.61 -2018,"county","27139","Scott","Agriculture","Livestock",NA,30202.3161698067,"USDA livestock census","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.2 -2018,"county","27141","Sherburne","Agriculture","Livestock",NA,15876.3347469863,"USDA livestock census","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.17 -2018,"county","55109","St. Croix","Agriculture","Livestock",NA,128339.286666612,"USDA livestock census","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",1.43 -2018,"county","27163","Washington","Agriculture","Livestock",NA,11028.0655815043,"USDA livestock census","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2019,"county","27003","Anoka","Agriculture","Livestock",NA,814.675150153293,"USDA livestock census","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27019","Carver","Agriculture","Livestock",NA,50613.5731906501,"USDA livestock census","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.48 -2019,"county","27025","Chisago","Agriculture","Livestock",NA,18945.0526085981,"USDA livestock census","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.34 -2019,"county","27037","Dakota","Agriculture","Livestock",NA,50190.009747298,"USDA livestock census","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.12 -2019,"county","27053","Hennepin","Agriculture","Livestock",NA,9895.59253399057,"USDA livestock census","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2019,"county","55093","Pierce","Agriculture","Livestock",NA,107505.698592571,"USDA livestock census","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",2.51 -2019,"county","27139","Scott","Agriculture","Livestock",NA,28604.8828812427,"USDA livestock census","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.19 -2019,"county","27141","Sherburne","Agriculture","Livestock",NA,16483.987674317,"USDA livestock census","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.17 -2019,"county","55109","St. Croix","Agriculture","Livestock",NA,122292.341144515,"USDA livestock census","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",1.35 -2019,"county","27163","Washington","Agriculture","Livestock",NA,9515.85838874917,"USDA livestock census","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2020,"county","27003","Anoka","Agriculture","Livestock",NA,973.704207517516,"USDA livestock census","EPA SIT",363887,"Decennial Census, Table P1",0 -2020,"county","27019","Carver","Agriculture","Livestock",NA,49866.4323911399,"USDA livestock census","EPA SIT",106922,"Decennial Census, Table P1",0.47 -2020,"county","27025","Chisago","Agriculture","Livestock",NA,17251.497338389,"USDA livestock census","EPA SIT",56621,"Decennial Census, Table P1",0.3 -2020,"county","27037","Dakota","Agriculture","Livestock",NA,54259.4032861949,"USDA livestock census","EPA SIT",439882,"Decennial Census, Table P1",0.12 -2020,"county","27053","Hennepin","Agriculture","Livestock",NA,8899.1437277553,"USDA livestock census","EPA SIT",1281565,"Decennial Census, Table P1",0.01 -2020,"county","55093","Pierce","Agriculture","Livestock",NA,104208.312411937,"USDA livestock census","EPA SIT",42212,"Decennial Census, Table P1",2.47 -2020,"county","27139","Scott","Agriculture","Livestock",NA,27050.1602374621,"USDA livestock census","EPA SIT",150928,"Decennial Census, Table P1",0.18 -2020,"county","27141","Sherburne","Agriculture","Livestock",NA,17090.4990535759,"USDA livestock census","EPA SIT",97183,"Decennial Census, Table P1",0.18 -2020,"county","55109","St. Croix","Agriculture","Livestock",NA,116512.357690484,"USDA livestock census","EPA SIT",93536,"Decennial Census, Table P1",1.25 -2020,"county","27163","Washington","Agriculture","Livestock",NA,8006.63602882661,"USDA livestock census","EPA SIT",267568,"Decennial Census, Table P1",0.03 -2021,"county","27003","Anoka","Agriculture","Livestock",NA,1132.44251893912,"USDA livestock census","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27019","Carver","Agriculture","Livestock",NA,48683.1057481602,"USDA livestock census","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.46 -2021,"county","27025","Chisago","Agriculture","Livestock",NA,15460.0531010328,"USDA livestock census","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.27 -2021,"county","27037","Dakota","Agriculture","Livestock",NA,58065.9326241835,"USDA livestock census","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.13 -2021,"county","27053","Hennepin","Agriculture","Livestock",NA,7847.94869243792,"USDA livestock census","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0.01 -2021,"county","55093","Pierce","Agriculture","Livestock",NA,100430.495807821,"USDA livestock census","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",2.38 -2021,"county","27139","Scott","Agriculture","Livestock",NA,25310.1827159449,"USDA livestock census","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.17 -2021,"county","27141","Sherburne","Agriculture","Livestock",NA,17667.2118801568,"USDA livestock census","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.18 -2021,"county","55109","St. Croix","Agriculture","Livestock",NA,110090.878437783,"USDA livestock census","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",1.19 -2021,"county","27163","Washington","Agriculture","Livestock",NA,6454.56127366888,"USDA livestock census","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0.02 -2005,"county","27003","Anoka","Agriculture","Livestock",NA,921.608961029684,"USDA livestock census","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","27019","Carver","Agriculture","Livestock",NA,26171.2585924586,"USDA livestock census","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 -2005,"county","27025","Chisago","Agriculture","Livestock",NA,4688.84542612223,"USDA livestock census","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2005,"county","27037","Dakota","Agriculture","Livestock",NA,15565.2767216727,"USDA livestock census","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2005,"county","27053","Hennepin","Agriculture","Livestock",NA,3062.16183892561,"USDA livestock census","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","55093","Pierce","Agriculture","Livestock",NA,29160.5298246932,"USDA livestock census","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.74 -2005,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","27139","Scott","Agriculture","Livestock",NA,14706.4532300523,"USDA livestock census","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.13 -2005,"county","27141","Sherburne","Agriculture","Livestock",NA,3374.94832973304,"USDA livestock census","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2005,"county","55109","St. Croix","Agriculture","Livestock",NA,39798.589670487,"USDA livestock census","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.52 -2005,"county","27163","Washington","Agriculture","Livestock",NA,1597.94634204421,"USDA livestock census","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","27003","Anoka","Agriculture","Livestock",NA,699.409507302685,"USDA livestock census","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27019","Carver","Agriculture","Livestock",NA,26536.4508018291,"USDA livestock census","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 -2006,"county","27025","Chisago","Agriculture","Livestock",NA,4789.27931406242,"USDA livestock census","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2006,"county","27037","Dakota","Agriculture","Livestock",NA,14691.5862582893,"USDA livestock census","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2006,"county","27053","Hennepin","Agriculture","Livestock",NA,3042.91627570436,"USDA livestock census","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","55093","Pierce","Agriculture","Livestock",NA,28926.2362295648,"USDA livestock census","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.72 -2006,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27139","Scott","Agriculture","Livestock",NA,14474.9992442028,"USDA livestock census","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 -2006,"county","27141","Sherburne","Agriculture","Livestock",NA,2899.23964243897,"USDA livestock census","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2006,"county","55109","St. Croix","Agriculture","Livestock",NA,39587.8075973099,"USDA livestock census","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.5 -2006,"county","27163","Washington","Agriculture","Livestock",NA,1751.02835193865,"USDA livestock census","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","27003","Anoka","Agriculture","Livestock",NA,545.651778180279,"USDA livestock census","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27019","Carver","Agriculture","Livestock",NA,28821.5450269348,"USDA livestock census","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.33 -2007,"county","27025","Chisago","Agriculture","Livestock",NA,5313.48962214375,"USDA livestock census","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 -2007,"county","27037","Dakota","Agriculture","Livestock",NA,14850.7687512186,"USDA livestock census","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2007,"county","27053","Hennepin","Agriculture","Livestock",NA,3252.31390722557,"USDA livestock census","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","55093","Pierce","Agriculture","Livestock",NA,32964.453681826,"USDA livestock census","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.82 -2007,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27139","Scott","Agriculture","Livestock",NA,15289.12983208,"USDA livestock census","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 -2007,"county","27141","Sherburne","Agriculture","Livestock",NA,2586.57983377479,"USDA livestock census","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2007,"county","55109","St. Croix","Agriculture","Livestock",NA,45191.4573426932,"USDA livestock census","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.55 -2007,"county","27163","Washington","Agriculture","Livestock",NA,2063.74836393483,"USDA livestock census","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","27003","Anoka","Agriculture","Livestock",NA,474.079989046647,"USDA livestock census","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27019","Carver","Agriculture","Livestock",NA,25749.4214444619,"USDA livestock census","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.29 -2008,"county","27025","Chisago","Agriculture","Livestock",NA,4496.1898829227,"USDA livestock census","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 -2008,"county","27037","Dakota","Agriculture","Livestock",NA,14943.7762408245,"USDA livestock census","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2008,"county","27053","Hennepin","Agriculture","Livestock",NA,2971.36006854193,"USDA livestock census","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","55093","Pierce","Agriculture","Livestock",NA,32116.1291239555,"USDA livestock census","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.79 -2008,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27139","Scott","Agriculture","Livestock",NA,14107.8215482746,"USDA livestock census","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.11 -2008,"county","27141","Sherburne","Agriculture","Livestock",NA,2851.06081531428,"USDA livestock census","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2008,"county","55109","St. Croix","Agriculture","Livestock",NA,42588.994084526,"USDA livestock census","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.51 -2008,"county","27163","Washington","Agriculture","Livestock",NA,1982.52076750727,"USDA livestock census","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","27003","Anoka","Agriculture","Livestock",NA,461.930691073583,"USDA livestock census","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27019","Carver","Agriculture","Livestock",NA,25429.8375778237,"USDA livestock census","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.28 -2009,"county","27025","Chisago","Agriculture","Livestock",NA,4288.57087160158,"USDA livestock census","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 -2009,"county","27037","Dakota","Agriculture","Livestock",NA,16159.734813182,"USDA livestock census","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2009,"county","27053","Hennepin","Agriculture","Livestock",NA,3077.26140935523,"USDA livestock census","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","55093","Pierce","Agriculture","Livestock",NA,31760.3037211361,"USDA livestock census","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.78 -2009,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27139","Scott","Agriculture","Livestock",NA,14416.9273740211,"USDA livestock census","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.11 -2009,"county","27141","Sherburne","Agriculture","Livestock",NA,3243.55478345828,"USDA livestock census","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2009,"county","55109","St. Croix","Agriculture","Livestock",NA,40717.7812175588,"USDA livestock census","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.48 -2009,"county","27163","Washington","Agriculture","Livestock",NA,2157.72457558856,"USDA livestock census","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2010,"county","27003","Anoka","Agriculture","Livestock",NA,474.114818317091,"USDA livestock census","EPA SIT",244813,"Decennial Census, Table P1",0 -2010,"county","27019","Carver","Agriculture","Livestock",NA,27734.4468975184,"USDA livestock census","EPA SIT",63837,"Decennial Census, Table P1",0.43 -2010,"county","27025","Chisago","Agriculture","Livestock",NA,4335.28565294397,"USDA livestock census","EPA SIT",40040,"Decennial Census, Table P1",0.11 -2010,"county","27037","Dakota","Agriculture","Livestock",NA,19304.844870144,"USDA livestock census","EPA SIT",293492,"Decennial Census, Table P1",0.07 -2010,"county","27053","Hennepin","Agriculture","Livestock",NA,3371.62474249957,"USDA livestock census","EPA SIT",891080,"Decennial Census, Table P1",0 -2010,"county","55093","Pierce","Agriculture","Livestock",NA,35809.1998393082,"USDA livestock census","EPA SIT",31860,"Decennial Census, Table P1",1.12 -2010,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",390147,"Decennial Census, Table P1",0 -2010,"county","27139","Scott","Agriculture","Livestock",NA,16171.9171819426,"USDA livestock census","EPA SIT",90700,"Decennial Census, Table P1",0.18 -2010,"county","27141","Sherburne","Agriculture","Livestock",NA,4095.63414063494,"USDA livestock census","EPA SIT",62722,"Decennial Census, Table P1",0.07 -2010,"county","55109","St. Croix","Agriculture","Livestock",NA,44467.3411140375,"USDA livestock census","EPA SIT",61462,"Decennial Census, Table P1",0.72 -2010,"county","27163","Washington","Agriculture","Livestock",NA,2451.32449849647,"USDA livestock census","EPA SIT",174538,"Decennial Census, Table P1",0.01 -2011,"county","27003","Anoka","Agriculture","Livestock",NA,461.209985438706,"USDA livestock census","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","27019","Carver","Agriculture","Livestock",NA,27851.8707510061,"USDA livestock census","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.3 -2011,"county","27025","Chisago","Agriculture","Livestock",NA,4132.22894199086,"USDA livestock census","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2011,"county","27037","Dakota","Agriculture","Livestock",NA,20952.2395355544,"USDA livestock census","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2011,"county","27053","Hennepin","Agriculture","Livestock",NA,3515.01863012434,"USDA livestock census","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","55093","Pierce","Agriculture","Livestock",NA,36139.7167269577,"USDA livestock census","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.88 -2011,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",515856,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","27139","Scott","Agriculture","Livestock",NA,16772.4448094326,"USDA livestock census","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.13 -2011,"county","27141","Sherburne","Agriculture","Livestock",NA,4604.90673715185,"USDA livestock census","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2011,"county","55109","St. Croix","Agriculture","Livestock",NA,43310.4367813927,"USDA livestock census","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.51 -2011,"county","27163","Washington","Agriculture","Livestock",NA,2656.47350800912,"USDA livestock census","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2012,"county","27003","Anoka","Agriculture","Livestock",NA,466.808192728464,"USDA livestock census","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27019","Carver","Agriculture","Livestock",NA,29443.0905371315,"USDA livestock census","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.31 -2012,"county","27025","Chisago","Agriculture","Livestock",NA,4102.42161634372,"USDA livestock census","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2012,"county","27037","Dakota","Agriculture","Livestock",NA,23833.6631565319,"USDA livestock census","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.06 -2012,"county","27053","Hennepin","Agriculture","Livestock",NA,3835.18345325096,"USDA livestock census","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","55093","Pierce","Agriculture","Livestock",NA,39072.5530889585,"USDA livestock census","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.96 -2012,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",521091,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27139","Scott","Agriculture","Livestock",NA,18288.0405790045,"USDA livestock census","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.14 -2012,"county","27141","Sherburne","Agriculture","Livestock",NA,5396.32343818595,"USDA livestock census","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.06 -2012,"county","55109","St. Croix","Agriculture","Livestock",NA,45178.587279651,"USDA livestock census","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.53 -2012,"county","27163","Washington","Agriculture","Livestock",NA,2999.67318414597,"USDA livestock census","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2013,"county","27003","Anoka","Agriculture","Livestock",NA,383.17720428845,"USDA livestock census","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27019","Carver","Agriculture","Livestock",NA,26806.0886248676,"USDA livestock census","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.28 -2013,"county","27025","Chisago","Agriculture","Livestock",NA,4126.18920202473,"USDA livestock census","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2013,"county","27037","Dakota","Agriculture","Livestock",NA,21005.1041091011,"USDA livestock census","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2013,"county","27053","Hennepin","Agriculture","Livestock",NA,3553.50616449042,"USDA livestock census","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","55093","Pierce","Agriculture","Livestock",NA,38409.9682792748,"USDA livestock census","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.94 -2013,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00132605755948814,"USDA livestock census","EPA SIT",527261,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27139","Scott","Agriculture","Livestock",NA,15704.2207085203,"USDA livestock census","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2013,"county","27141","Sherburne","Agriculture","Livestock",NA,4479.66380929341,"USDA livestock census","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2013,"county","55109","St. Croix","Agriculture","Livestock",NA,45500.726611143,"USDA livestock census","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.53 -2013,"county","27163","Washington","Agriculture","Livestock",NA,2788.80079437852,"USDA livestock census","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2014,"county","27003","Anoka","Agriculture","Livestock",NA,308.219213078013,"USDA livestock census","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27019","Carver","Agriculture","Livestock",NA,25198.5206289255,"USDA livestock census","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.26 -2014,"county","27025","Chisago","Agriculture","Livestock",NA,4244.53974085258,"USDA livestock census","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2014,"county","27037","Dakota","Agriculture","Livestock",NA,19077.402108943,"USDA livestock census","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2014,"county","27053","Hennepin","Agriculture","Livestock",NA,3348.28910368721,"USDA livestock census","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","55093","Pierce","Agriculture","Livestock",NA,38656.2823764111,"USDA livestock census","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.94 -2014,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00265211511897628,"USDA livestock census","EPA SIT",532966,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27139","Scott","Agriculture","Livestock",NA,13713.3363260913,"USDA livestock census","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2014,"county","27141","Sherburne","Agriculture","Livestock",NA,3797.04749812275,"USDA livestock census","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2014,"county","55109","St. Croix","Agriculture","Livestock",NA,46971.7379042526,"USDA livestock census","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.54 -2014,"county","27163","Washington","Agriculture","Livestock",NA,2639.36612679245,"USDA livestock census","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2015,"county","27003","Anoka","Agriculture","Livestock",NA,246.086246286153,"USDA livestock census","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27019","Carver","Agriculture","Livestock",NA,25450.1740532171,"USDA livestock census","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.26 -2015,"county","27025","Chisago","Agriculture","Livestock",NA,4673.06255930575,"USDA livestock census","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.09 -2015,"county","27037","Dakota","Agriculture","Livestock",NA,18500.9672882522,"USDA livestock census","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2015,"county","27053","Hennepin","Agriculture","Livestock",NA,3358.39478051589,"USDA livestock census","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","55093","Pierce","Agriculture","Livestock",NA,42008.2787554054,"USDA livestock census","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",1.02 -2015,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00397817267846442,"USDA livestock census","EPA SIT",536838,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27139","Scott","Agriculture","Livestock",NA,12622.5311783135,"USDA livestock census","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.09 -2015,"county","27141","Sherburne","Agriculture","Livestock",NA,3373.41950170642,"USDA livestock census","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2015,"county","55109","St. Croix","Agriculture","Livestock",NA,52388.3487520173,"USDA livestock census","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.6 -2015,"county","27163","Washington","Agriculture","Livestock",NA,2658.00552292902,"USDA livestock census","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2016,"county","27003","Anoka","Agriculture","Livestock",NA,167.415896882039,"USDA livestock census","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27019","Carver","Agriculture","Livestock",NA,24961.6465723053,"USDA livestock census","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.25 -2016,"county","27025","Chisago","Agriculture","Livestock",NA,4991.12127973769,"USDA livestock census","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.09 -2016,"county","27037","Dakota","Agriculture","Livestock",NA,17367.993909368,"USDA livestock census","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2016,"county","27053","Hennepin","Agriculture","Livestock",NA,3242.53673604227,"USDA livestock census","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","55093","Pierce","Agriculture","Livestock",NA,45135.5409678266,"USDA livestock census","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",1.09 -2016,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00530423023795257,"USDA livestock census","EPA SIT",541635,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27139","Scott","Agriculture","Livestock",NA,10995.8707603319,"USDA livestock census","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2016,"county","27141","Sherburne","Agriculture","Livestock",NA,2833.70003920653,"USDA livestock census","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2016,"county","55109","St. Croix","Agriculture","Livestock",NA,57795.8053443173,"USDA livestock census","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.66 -2016,"county","27163","Washington","Agriculture","Livestock",NA,2578.83953548287,"USDA livestock census","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2017,"county","27003","Anoka","Agriculture","Livestock",NA,74.8928976100577,"USDA livestock census","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27019","Carver","Agriculture","Livestock",NA,25100.2308352347,"USDA livestock census","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.25 -2017,"county","27025","Chisago","Agriculture","Livestock",NA,5524.7079319991,"USDA livestock census","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2017,"county","27037","Dakota","Agriculture","Livestock",NA,16156.5364301129,"USDA livestock census","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2017,"county","27053","Hennepin","Agriculture","Livestock",NA,3246.64117003796,"USDA livestock census","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","55093","Pierce","Agriculture","Livestock",NA,44390.9144159248,"USDA livestock census","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",1.06 -2017,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00663028779744071,"USDA livestock census","EPA SIT",544919,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27139","Scott","Agriculture","Livestock",NA,9630.87460908467,"USDA livestock census","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2017,"county","27141","Sherburne","Agriculture","Livestock",NA,2346.95582022498,"USDA livestock census","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2017,"county","55109","St. Croix","Agriculture","Livestock",NA,58359.3567023758,"USDA livestock census","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.66 -2017,"county","27163","Washington","Agriculture","Livestock",NA,2589.44264922905,"USDA livestock census","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2018,"county","27003","Anoka","Agriculture","Livestock",NA,85.3244016629998,"USDA livestock census","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27019","Carver","Agriculture","Livestock",NA,27371.2386903634,"USDA livestock census","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.26 -2018,"county","27025","Chisago","Agriculture","Livestock",NA,5544.89326972642,"USDA livestock census","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2018,"county","27037","Dakota","Agriculture","Livestock",NA,17467.4820865052,"USDA livestock census","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2018,"county","27053","Hennepin","Agriculture","Livestock",NA,3121.30414131947,"USDA livestock census","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","55093","Pierce","Agriculture","Livestock",NA,44145.1739985515,"USDA livestock census","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",1.04 -2018,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00530423023795257,"USDA livestock census","EPA SIT",548900,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27139","Scott","Agriculture","Livestock",NA,9794.33275108511,"USDA livestock census","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2018,"county","27141","Sherburne","Agriculture","Livestock",NA,2163.38495635434,"USDA livestock census","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2018,"county","55109","St. Croix","Agriculture","Livestock",NA,58191.1007202407,"USDA livestock census","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.65 -2018,"county","27163","Washington","Agriculture","Livestock",NA,2481.28086439883,"USDA livestock census","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2019,"county","27003","Anoka","Agriculture","Livestock",NA,92.7201541728819,"USDA livestock census","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27019","Carver","Agriculture","Livestock",NA,28040.671974411,"USDA livestock census","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.27 -2019,"county","27025","Chisago","Agriculture","Livestock",NA,5213.89121743728,"USDA livestock census","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.09 -2019,"county","27037","Dakota","Agriculture","Livestock",NA,17844.483412108,"USDA livestock census","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2019,"county","27053","Hennepin","Agriculture","Livestock",NA,2781.15397428318,"USDA livestock census","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","55093","Pierce","Agriculture","Livestock",NA,42140.3598196498,"USDA livestock census","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.99 -2019,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00397817267846443,"USDA livestock census","EPA SIT",549632,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27139","Scott","Agriculture","Livestock",NA,9337.90414387885,"USDA livestock census","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.06 -2019,"county","27141","Sherburne","Agriculture","Livestock",NA,1841.42462533594,"USDA livestock census","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2019,"county","55109","St. Croix","Agriculture","Livestock",NA,55701.0339078522,"USDA livestock census","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.61 -2019,"county","27163","Washington","Agriculture","Livestock",NA,2206.29665191489,"USDA livestock census","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2020,"county","27003","Anoka","Agriculture","Livestock",NA,100.139578163197,"USDA livestock census","EPA SIT",363887,"Decennial Census, Table P1",0 -2020,"county","27019","Carver","Agriculture","Livestock",NA,28799.0125356519,"USDA livestock census","EPA SIT",106922,"Decennial Census, Table P1",0.27 -2020,"county","27025","Chisago","Agriculture","Livestock",NA,4898.33047921735,"USDA livestock census","EPA SIT",56621,"Decennial Census, Table P1",0.09 -2020,"county","27037","Dakota","Agriculture","Livestock",NA,18320.8032239439,"USDA livestock census","EPA SIT",439882,"Decennial Census, Table P1",0.04 -2020,"county","27053","Hennepin","Agriculture","Livestock",NA,2444.31049553054,"USDA livestock census","EPA SIT",1281565,"Decennial Census, Table P1",0 -2020,"county","55093","Pierce","Agriculture","Livestock",NA,40278.294061069,"USDA livestock census","EPA SIT",42212,"Decennial Census, Table P1",0.95 -2020,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00265211511897628,"USDA livestock census","EPA SIT",552352,"Decennial Census, Table P1",0 -2020,"county","27139","Scott","Agriculture","Livestock",NA,8914.06774218155,"USDA livestock census","EPA SIT",150928,"Decennial Census, Table P1",0.06 -2020,"county","27141","Sherburne","Agriculture","Livestock",NA,1518.18240632047,"USDA livestock census","EPA SIT",97183,"Decennial Census, Table P1",0.02 -2020,"county","55109","St. Croix","Agriculture","Livestock",NA,53403.7505378577,"USDA livestock census","EPA SIT",93536,"Decennial Census, Table P1",0.57 -2020,"county","27163","Washington","Agriculture","Livestock",NA,1933.18849645882,"USDA livestock census","EPA SIT",267568,"Decennial Census, Table P1",0.01 -2021,"county","27003","Anoka","Agriculture","Livestock",NA,107.511682686603,"USDA livestock census","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27019","Carver","Agriculture","Livestock",NA,29187.4481081717,"USDA livestock census","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.28 -2021,"county","27025","Chisago","Agriculture","Livestock",NA,4500.98490181115,"USDA livestock census","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.08 -2021,"county","27037","Dakota","Agriculture","Livestock",NA,18570.799804216,"USDA livestock census","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.04 -2021,"county","27053","Hennepin","Agriculture","Livestock",NA,2061.06716929907,"USDA livestock census","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","55093","Pierce","Agriculture","Livestock",NA,38019.1283647946,"USDA livestock census","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",0.9 -2021,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00132605755948814,"USDA livestock census","EPA SIT",549377,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27139","Scott","Agriculture","Livestock",NA,8332.591375558,"USDA livestock census","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.06 -2021,"county","27141","Sherburne","Agriculture","Livestock",NA,1168.11257313575,"USDA livestock census","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.01 -2021,"county","55109","St. Croix","Agriculture","Livestock",NA,50577.1264990053,"USDA livestock census","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.55 -2021,"county","27163","Washington","Agriculture","Livestock",NA,1624.91780559504,"USDA livestock census","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0.01 -2005,"county","27003","Anoka","Agriculture","Livestock",NA,300.188392413861,"USDA livestock census","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","27019","Carver","Agriculture","Livestock",NA,8715.84862196644,"USDA livestock census","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 -2005,"county","27025","Chisago","Agriculture","Livestock",NA,1750.87504873145,"USDA livestock census","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2005,"county","27037","Dakota","Agriculture","Livestock",NA,13030.8532569765,"USDA livestock census","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2005,"county","27053","Hennepin","Agriculture","Livestock",NA,1765.46425021513,"USDA livestock census","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","55093","Pierce","Agriculture","Livestock",NA,13472.3229534201,"USDA livestock census","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.34 -2005,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","27139","Scott","Agriculture","Livestock",NA,5580.8285731747,"USDA livestock census","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 -2005,"county","27141","Sherburne","Agriculture","Livestock",NA,2789.31063282772,"USDA livestock census","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2005,"county","55109","St. Croix","Agriculture","Livestock",NA,15507.0129537344,"USDA livestock census","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.2 -2005,"county","27163","Washington","Agriculture","Livestock",NA,1271.68368584543,"USDA livestock census","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","27003","Anoka","Agriculture","Livestock",NA,313.445131942315,"USDA livestock census","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27019","Carver","Agriculture","Livestock",NA,8426.59886660499,"USDA livestock census","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 -2006,"county","27025","Chisago","Agriculture","Livestock",NA,1780.7565934139,"USDA livestock census","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2006,"county","27037","Dakota","Agriculture","Livestock",NA,14265.8140033712,"USDA livestock census","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2006,"county","27053","Hennepin","Agriculture","Livestock",NA,1768.61063832393,"USDA livestock census","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","55093","Pierce","Agriculture","Livestock",NA,13442.1704611639,"USDA livestock census","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.34 -2006,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27139","Scott","Agriculture","Livestock",NA,5422.77449698232,"USDA livestock census","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2006,"county","27141","Sherburne","Agriculture","Livestock",NA,2884.31354630686,"USDA livestock census","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2006,"county","55109","St. Croix","Agriculture","Livestock",NA,15576.6339535614,"USDA livestock census","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.2 -2006,"county","27163","Washington","Agriculture","Livestock",NA,1259.76888828112,"USDA livestock census","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","27003","Anoka","Agriculture","Livestock",NA,324.692852410378,"USDA livestock census","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27019","Carver","Agriculture","Livestock",NA,7996.1982784565,"USDA livestock census","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2007,"county","27025","Chisago","Agriculture","Livestock",NA,1781.29164823385,"USDA livestock census","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2007,"county","27037","Dakota","Agriculture","Livestock",NA,15450.2904774737,"USDA livestock census","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2007,"county","27053","Hennepin","Agriculture","Livestock",NA,1752.4836613825,"USDA livestock census","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","55093","Pierce","Agriculture","Livestock",NA,13271.1738075457,"USDA livestock census","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.33 -2007,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27139","Scott","Agriculture","Livestock",NA,5190.09493105686,"USDA livestock census","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2007,"county","27141","Sherburne","Agriculture","Livestock",NA,2974.48562569111,"USDA livestock census","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2007,"county","55109","St. Croix","Agriculture","Livestock",NA,15461.1230676303,"USDA livestock census","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.19 -2007,"county","27163","Washington","Agriculture","Livestock",NA,1235.47162686746,"USDA livestock census","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","27003","Anoka","Agriculture","Livestock",NA,306.222220183628,"USDA livestock census","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27019","Carver","Agriculture","Livestock",NA,7533.3647806934,"USDA livestock census","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 -2008,"county","27025","Chisago","Agriculture","Livestock",NA,1643.78457930829,"USDA livestock census","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2008,"county","27037","Dakota","Agriculture","Livestock",NA,13936.8311658808,"USDA livestock census","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2008,"county","27053","Hennepin","Agriculture","Livestock",NA,1888.61227005325,"USDA livestock census","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","55093","Pierce","Agriculture","Livestock",NA,12776.8950482555,"USDA livestock census","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 -2008,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27139","Scott","Agriculture","Livestock",NA,5219.7610674868,"USDA livestock census","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2008,"county","27141","Sherburne","Agriculture","Livestock",NA,3069.74593600864,"USDA livestock census","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2008,"county","55109","St. Croix","Agriculture","Livestock",NA,14689.0273178883,"USDA livestock census","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 -2008,"county","27163","Washington","Agriculture","Livestock",NA,1186.31928779189,"USDA livestock census","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","27003","Anoka","Agriculture","Livestock",NA,293.144180407464,"USDA livestock census","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27019","Carver","Agriculture","Livestock",NA,7282.97435199199,"USDA livestock census","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 -2009,"county","27025","Chisago","Agriculture","Livestock",NA,1556.08922088578,"USDA livestock census","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2009,"county","27037","Dakota","Agriculture","Livestock",NA,12543.3614843444,"USDA livestock census","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2009,"county","27053","Hennepin","Agriculture","Livestock",NA,2061.44026545121,"USDA livestock census","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","55093","Pierce","Agriculture","Livestock",NA,12663.7514800989,"USDA livestock census","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 -2009,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27139","Scott","Agriculture","Livestock",NA,5371.60847197931,"USDA livestock census","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2009,"county","27141","Sherburne","Agriculture","Livestock",NA,3186.34661457127,"USDA livestock census","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2009,"county","55109","St. Croix","Agriculture","Livestock",NA,14433.5077222725,"USDA livestock census","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 -2009,"county","27163","Washington","Agriculture","Livestock",NA,1159.02299433274,"USDA livestock census","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2010,"county","27003","Anoka","Agriculture","Livestock",NA,276.449441612184,"USDA livestock census","EPA SIT",244813,"Decennial Census, Table P1",0 -2010,"county","27019","Carver","Agriculture","Livestock",NA,6988.46148495206,"USDA livestock census","EPA SIT",63837,"Decennial Census, Table P1",0.11 -2010,"county","27025","Chisago","Agriculture","Livestock",NA,1457.63488310929,"USDA livestock census","EPA SIT",40040,"Decennial Census, Table P1",0.04 -2010,"county","27037","Dakota","Agriculture","Livestock",NA,10948.4215153551,"USDA livestock census","EPA SIT",293492,"Decennial Census, Table P1",0.04 -2010,"county","27053","Hennepin","Agriculture","Livestock",NA,2206.68646640703,"USDA livestock census","EPA SIT",891080,"Decennial Census, Table P1",0 -2010,"county","55093","Pierce","Agriculture","Livestock",NA,12514.8562148848,"USDA livestock census","EPA SIT",31860,"Decennial Census, Table P1",0.39 -2010,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",390147,"Decennial Census, Table P1",0 -2010,"county","27139","Scott","Agriculture","Livestock",NA,5473.1035208387,"USDA livestock census","EPA SIT",90700,"Decennial Census, Table P1",0.06 -2010,"county","27141","Sherburne","Agriculture","Livestock",NA,3243.34945447306,"USDA livestock census","EPA SIT",62722,"Decennial Census, Table P1",0.05 -2010,"county","55109","St. Croix","Agriculture","Livestock",NA,14148.9793845213,"USDA livestock census","EPA SIT",61462,"Decennial Census, Table P1",0.23 -2010,"county","27163","Washington","Agriculture","Livestock",NA,1120.72736050307,"USDA livestock census","EPA SIT",174538,"Decennial Census, Table P1",0.01 -2011,"county","27003","Anoka","Agriculture","Livestock",NA,259.864887644926,"USDA livestock census","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","27019","Carver","Agriculture","Livestock",NA,6670.69704471403,"USDA livestock census","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2011,"county","27025","Chisago","Agriculture","Livestock",NA,1353.85003246289,"USDA livestock census","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2011,"county","27037","Dakota","Agriculture","Livestock",NA,9403.07038855437,"USDA livestock census","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2011,"county","27053","Hennepin","Agriculture","Livestock",NA,2349.90028186841,"USDA livestock census","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","55093","Pierce","Agriculture","Livestock",NA,12295.815421543,"USDA livestock census","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.3 -2011,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",515856,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","27139","Scott","Agriculture","Livestock",NA,5563.02013094346,"USDA livestock census","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2011,"county","27141","Sherburne","Agriculture","Livestock",NA,3311.55326881114,"USDA livestock census","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2011,"county","55109","St. Croix","Agriculture","Livestock",NA,13768.4245466745,"USDA livestock census","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.16 -2011,"county","27163","Washington","Agriculture","Livestock",NA,1080.64834084319,"USDA livestock census","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27003","Anoka","Agriculture","Livestock",NA,247.921202632361,"USDA livestock census","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27019","Carver","Agriculture","Livestock",NA,6465.4198465927,"USDA livestock census","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2012,"county","27025","Chisago","Agriculture","Livestock",NA,1272.62054290057,"USDA livestock census","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2012,"county","27037","Dakota","Agriculture","Livestock",NA,8034.29664041303,"USDA livestock census","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2012,"county","27053","Hennepin","Agriculture","Livestock",NA,2541.32976293131,"USDA livestock census","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","55093","Pierce","Agriculture","Livestock",NA,12279.3230711235,"USDA livestock census","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.3 -2012,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",521091,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27139","Scott","Agriculture","Livestock",NA,5757.88905895111,"USDA livestock census","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2012,"county","27141","Sherburne","Agriculture","Livestock",NA,3452.48360985006,"USDA livestock census","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2012,"county","55109","St. Croix","Agriculture","Livestock",NA,13607.1863231629,"USDA livestock census","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.16 -2012,"county","27163","Washington","Agriculture","Livestock",NA,1058.41258903277,"USDA livestock census","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27003","Anoka","Agriculture","Livestock",NA,231.230372877057,"USDA livestock census","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27019","Carver","Agriculture","Livestock",NA,6524.14234219788,"USDA livestock census","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2013,"county","27025","Chisago","Agriculture","Livestock",NA,1304.53912134871,"USDA livestock census","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2013,"county","27037","Dakota","Agriculture","Livestock",NA,7976.50369723101,"USDA livestock census","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2013,"county","27053","Hennepin","Agriculture","Livestock",NA,2216.90007706957,"USDA livestock census","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","55093","Pierce","Agriculture","Livestock",NA,12315.2164662551,"USDA livestock census","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.3 -2013,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00801589932,"USDA livestock census","EPA SIT",527261,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27139","Scott","Agriculture","Livestock",NA,5440.16797398824,"USDA livestock census","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2013,"county","27141","Sherburne","Agriculture","Livestock",NA,3274.75027658758,"USDA livestock census","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2013,"county","55109","St. Croix","Agriculture","Livestock",NA,13774.5763227268,"USDA livestock census","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.16 -2013,"county","27163","Washington","Agriculture","Livestock",NA,1014.35230823385,"USDA livestock census","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27003","Anoka","Agriculture","Livestock",NA,213.755842791179,"USDA livestock census","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27019","Carver","Agriculture","Livestock",NA,6559.82160186432,"USDA livestock census","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2014,"county","27025","Chisago","Agriculture","Livestock",NA,1331.5619636385,"USDA livestock census","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2014,"county","27037","Dakota","Agriculture","Livestock",NA,7894.70921092669,"USDA livestock census","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2014,"county","27053","Hennepin","Agriculture","Livestock",NA,1880.67305848968,"USDA livestock census","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","55093","Pierce","Agriculture","Livestock",NA,12277.3644084733,"USDA livestock census","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.3 -2014,"county","27123","Ramsey","Agriculture","Livestock",NA,0.01603179864,"USDA livestock census","EPA SIT",532966,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27139","Scott","Agriculture","Livestock",NA,5100.61767474365,"USDA livestock census","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2014,"county","27141","Sherburne","Agriculture","Livestock",NA,3085.44679019696,"USDA livestock census","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2014,"county","55109","St. Croix","Agriculture","Livestock",NA,13859.545973629,"USDA livestock census","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.16 -2014,"county","27163","Washington","Agriculture","Livestock",NA,966.32582004145,"USDA livestock census","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27003","Anoka","Agriculture","Livestock",NA,202.81850141887,"USDA livestock census","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27019","Carver","Agriculture","Livestock",NA,6742.74189218852,"USDA livestock census","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2015,"county","27025","Chisago","Agriculture","Livestock",NA,1384.51821494746,"USDA livestock census","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2015,"county","27037","Dakota","Agriculture","Livestock",NA,8084.79474735468,"USDA livestock census","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2015,"county","27053","Hennepin","Agriculture","Livestock",NA,1584.16952094183,"USDA livestock census","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","55093","Pierce","Agriculture","Livestock",NA,12507.6323880699,"USDA livestock census","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",0.3 -2015,"county","27123","Ramsey","Agriculture","Livestock",NA,0.02404769796,"USDA livestock census","EPA SIT",536838,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27139","Scott","Agriculture","Livestock",NA,4893.70455294331,"USDA livestock census","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2015,"county","27141","Sherburne","Agriculture","Livestock",NA,3009.74513911122,"USDA livestock census","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2015,"county","55109","St. Croix","Agriculture","Livestock",NA,14213.3989200197,"USDA livestock census","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.16 -2015,"county","27163","Washington","Agriculture","Livestock",NA,938.0302850393,"USDA livestock census","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27003","Anoka","Agriculture","Livestock",NA,186.832155221697,"USDA livestock census","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27019","Carver","Agriculture","Livestock",NA,6852.30713946348,"USDA livestock census","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2016,"county","27025","Chisago","Agriculture","Livestock",NA,1425.22994526863,"USDA livestock census","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2016,"county","27037","Dakota","Agriculture","Livestock",NA,8090.39678221552,"USDA livestock census","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2016,"county","27053","Hennepin","Agriculture","Livestock",NA,1238.96668210745,"USDA livestock census","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","55093","Pierce","Agriculture","Livestock",NA,12685.9538936559,"USDA livestock census","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",0.31 -2016,"county","27123","Ramsey","Agriculture","Livestock",NA,0.03206359728,"USDA livestock census","EPA SIT",541635,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27139","Scott","Agriculture","Livestock",NA,4590.04773370202,"USDA livestock census","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2016,"county","27141","Sherburne","Agriculture","Livestock",NA,2837.71386647106,"USDA livestock census","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2016,"county","55109","St. Croix","Agriculture","Livestock",NA,14540.7076769861,"USDA livestock census","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.17 -2016,"county","27163","Washington","Agriculture","Livestock",NA,897.980994697046,"USDA livestock census","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27003","Anoka","Agriculture","Livestock",NA,166.660790220899,"USDA livestock census","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27019","Carver","Agriculture","Livestock",NA,6915.43120572939,"USDA livestock census","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2017,"county","27025","Chisago","Agriculture","Livestock",NA,1460.68940587094,"USDA livestock census","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2017,"county","27037","Dakota","Agriculture","Livestock",NA,7948.04620134086,"USDA livestock census","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2017,"county","27053","Hennepin","Agriculture","Livestock",NA,878.515046420149,"USDA livestock census","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","55093","Pierce","Agriculture","Livestock",NA,12668.8936120135,"USDA livestock census","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",0.3 -2017,"county","27123","Ramsey","Agriculture","Livestock",NA,0.0400794966,"USDA livestock census","EPA SIT",544919,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27139","Scott","Agriculture","Livestock",NA,4223.91326812511,"USDA livestock census","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2017,"county","27141","Sherburne","Agriculture","Livestock",NA,2601.52998708599,"USDA livestock census","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2017,"county","55109","St. Croix","Agriculture","Livestock",NA,14671.5967186861,"USDA livestock census","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.17 -2017,"county","27163","Washington","Agriculture","Livestock",NA,850.622195941167,"USDA livestock census","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27003","Anoka","Agriculture","Livestock",NA,136.484214106414,"USDA livestock census","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27019","Carver","Agriculture","Livestock",NA,6715.80472971802,"USDA livestock census","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.06 -2018,"county","27025","Chisago","Agriculture","Livestock",NA,1402.53368358368,"USDA livestock census","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2018,"county","27037","Dakota","Agriculture","Livestock",NA,8318.83563819471,"USDA livestock census","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2018,"county","27053","Hennepin","Agriculture","Livestock",NA,873.172016306568,"USDA livestock census","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","55093","Pierce","Agriculture","Livestock",NA,12247.6758701931,"USDA livestock census","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",0.29 -2018,"county","27123","Ramsey","Agriculture","Livestock",NA,0.03206359728,"USDA livestock census","EPA SIT",548900,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27139","Scott","Agriculture","Livestock",NA,3900.13378984086,"USDA livestock census","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2018,"county","27141","Sherburne","Agriculture","Livestock",NA,2525.28527537537,"USDA livestock census","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2018,"county","55109","St. Croix","Agriculture","Livestock",NA,14480.2192302072,"USDA livestock census","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.16 -2018,"county","27163","Washington","Agriculture","Livestock",NA,765.571078721556,"USDA livestock census","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27003","Anoka","Agriculture","Livestock",NA,107.763609003728,"USDA livestock census","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27019","Carver","Agriculture","Livestock",NA,6536.21150548791,"USDA livestock census","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.06 -2019,"county","27025","Chisago","Agriculture","Livestock",NA,1346.18978336427,"USDA livestock census","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2019,"county","27037","Dakota","Agriculture","Livestock",NA,8760.28617978265,"USDA livestock census","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2019,"county","27053","Hennepin","Agriculture","Livestock",NA,868.742030326893,"USDA livestock census","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","55093","Pierce","Agriculture","Livestock",NA,11724.1608689652,"USDA livestock census","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.27 -2019,"county","27123","Ramsey","Agriculture","Livestock",NA,0.02404769796,"USDA livestock census","EPA SIT",549632,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27139","Scott","Agriculture","Livestock",NA,3597.29361696856,"USDA livestock census","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2019,"county","27141","Sherburne","Agriculture","Livestock",NA,2473.25502072732,"USDA livestock census","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2019,"county","55109","St. Croix","Agriculture","Livestock",NA,14143.5232064335,"USDA livestock census","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.16 -2019,"county","27163","Washington","Agriculture","Livestock",NA,682.392416415036,"USDA livestock census","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0 -2020,"county","27003","Anoka","Agriculture","Livestock",NA,79.2372106827944,"USDA livestock census","EPA SIT",363887,"Decennial Census, Table P1",0 -2020,"county","27019","Carver","Agriculture","Livestock",NA,6372.42752648744,"USDA livestock census","EPA SIT",106922,"Decennial Census, Table P1",0.06 -2020,"county","27025","Chisago","Agriculture","Livestock",NA,1292.11645075866,"USDA livestock census","EPA SIT",56621,"Decennial Census, Table P1",0.02 -2020,"county","27037","Dakota","Agriculture","Livestock",NA,9256.38251684743,"USDA livestock census","EPA SIT",439882,"Decennial Census, Table P1",0.02 -2020,"county","27053","Hennepin","Agriculture","Livestock",NA,866.847993651961,"USDA livestock census","EPA SIT",1281565,"Decennial Census, Table P1",0 -2020,"county","55093","Pierce","Agriculture","Livestock",NA,11329.4541982022,"USDA livestock census","EPA SIT",42212,"Decennial Census, Table P1",0.27 -2020,"county","27123","Ramsey","Agriculture","Livestock",NA,0.01603179864,"USDA livestock census","EPA SIT",552352,"Decennial Census, Table P1",0 -2020,"county","27139","Scott","Agriculture","Livestock",NA,3304.02817988976,"USDA livestock census","EPA SIT",150928,"Decennial Census, Table P1",0.02 -2020,"county","27141","Sherburne","Agriculture","Livestock",NA,2436.63482878571,"USDA livestock census","EPA SIT",97183,"Decennial Census, Table P1",0.03 -2020,"county","55109","St. Croix","Agriculture","Livestock",NA,13962.0731937073,"USDA livestock census","EPA SIT",93536,"Decennial Census, Table P1",0.15 -2020,"county","27163","Washington","Agriculture","Livestock",NA,600.037940345387,"USDA livestock census","EPA SIT",267568,"Decennial Census, Table P1",0 -2021,"county","27003","Anoka","Agriculture","Livestock",NA,49.7481807161885,"USDA livestock census","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27019","Carver","Agriculture","Livestock",NA,6146.32267574917,"USDA livestock census","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.06 -2021,"county","27025","Chisago","Agriculture","Livestock",NA,1225.93753695869,"USDA livestock census","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27037","Dakota","Agriculture","Livestock",NA,9659.66417993029,"USDA livestock census","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27053","Hennepin","Agriculture","Livestock",NA,856.638011632978,"USDA livestock census","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","55093","Pierce","Agriculture","Livestock",NA,10830.4860971246,"USDA livestock census","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",0.26 -2021,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00801589932,"USDA livestock census","EPA SIT",549377,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27139","Scott","Agriculture","Livestock",NA,2974.5848086308,"USDA livestock census","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27141","Sherburne","Agriculture","Livestock",NA,2372.64310166748,"USDA livestock census","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","55109","St. Croix","Agriculture","Livestock",NA,13664.2745076354,"USDA livestock census","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.15 -2021,"county","27163","Washington","Agriculture","Livestock",NA,511.278826964973,"USDA livestock census","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0 -2005,"county","27003","Anoka","Agriculture","Livestock",NA,741.996113403305,"USDA livestock census","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","27019","Carver","Agriculture","Livestock",NA,13013.090602555,"USDA livestock census","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 -2005,"county","27025","Chisago","Agriculture","Livestock",NA,4298.4606686802,"USDA livestock census","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2005,"county","27037","Dakota","Agriculture","Livestock",NA,12238.4725418067,"USDA livestock census","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2005,"county","27053","Hennepin","Agriculture","Livestock",NA,2717.9064011712,"USDA livestock census","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","55093","Pierce","Agriculture","Livestock",NA,20367.1121388635,"USDA livestock census","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.52 -2005,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","27139","Scott","Agriculture","Livestock",NA,8082.56584162317,"USDA livestock census","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.07 -2005,"county","27141","Sherburne","Agriculture","Livestock",NA,3160.65404139889,"USDA livestock census","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2005,"county","55109","St. Croix","Agriculture","Livestock",NA,25150.2065394847,"USDA livestock census","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.33 -2005,"county","27163","Washington","Agriculture","Livestock",NA,2711.16788515143,"USDA livestock census","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","27003","Anoka","Agriculture","Livestock",NA,804.085480521349,"USDA livestock census","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27019","Carver","Agriculture","Livestock",NA,12916.0220495967,"USDA livestock census","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 -2006,"county","27025","Chisago","Agriculture","Livestock",NA,4300.1524444134,"USDA livestock census","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 -2006,"county","27037","Dakota","Agriculture","Livestock",NA,12797.0762072706,"USDA livestock census","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2006,"county","27053","Hennepin","Agriculture","Livestock",NA,2738.33781883375,"USDA livestock census","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","55093","Pierce","Agriculture","Livestock",NA,20599.5782451316,"USDA livestock census","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.52 -2006,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27139","Scott","Agriculture","Livestock",NA,7939.73027937261,"USDA livestock census","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.07 -2006,"county","27141","Sherburne","Agriculture","Livestock",NA,3112.30857314582,"USDA livestock census","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2006,"county","55109","St. Croix","Agriculture","Livestock",NA,25470.1970029216,"USDA livestock census","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.32 -2006,"county","27163","Washington","Agriculture","Livestock",NA,2733.70442716604,"USDA livestock census","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","27003","Anoka","Agriculture","Livestock",NA,868.589104087293,"USDA livestock census","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27019","Carver","Agriculture","Livestock",NA,12668.388096638,"USDA livestock census","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 -2007,"county","27025","Chisago","Agriculture","Livestock",NA,4286.84683290359,"USDA livestock census","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 -2007,"county","27037","Dakota","Agriculture","Livestock",NA,13302.6393539678,"USDA livestock census","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2007,"county","27053","Hennepin","Agriculture","Livestock",NA,2745.36944265107,"USDA livestock census","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","55093","Pierce","Agriculture","Livestock",NA,20728.6120075328,"USDA livestock census","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.52 -2007,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27139","Scott","Agriculture","Livestock",NA,7719.5897211252,"USDA livestock census","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2007,"county","27141","Sherburne","Agriculture","Livestock",NA,3064.11027001022,"USDA livestock census","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2007,"county","55109","St. Croix","Agriculture","Livestock",NA,25642.3356370912,"USDA livestock census","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 -2007,"county","27163","Washington","Agriculture","Livestock",NA,2758.66521629615,"USDA livestock census","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","27003","Anoka","Agriculture","Livestock",NA,831.326486051102,"USDA livestock census","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27019","Carver","Agriculture","Livestock",NA,12276.2738650219,"USDA livestock census","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.14 -2008,"county","27025","Chisago","Agriculture","Livestock",NA,4171.01605423449,"USDA livestock census","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 -2008,"county","27037","Dakota","Agriculture","Livestock",NA,12752.1854229959,"USDA livestock census","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2008,"county","27053","Hennepin","Agriculture","Livestock",NA,2787.25669896319,"USDA livestock census","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","55093","Pierce","Agriculture","Livestock",NA,20262.9024639017,"USDA livestock census","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.5 -2008,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27139","Scott","Agriculture","Livestock",NA,7901.7632973079,"USDA livestock census","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2008,"county","27141","Sherburne","Agriculture","Livestock",NA,3150.13008323162,"USDA livestock census","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2008,"county","55109","St. Croix","Agriculture","Livestock",NA,24569.7092445168,"USDA livestock census","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.3 -2008,"county","27163","Washington","Agriculture","Livestock",NA,2766.97481671576,"USDA livestock census","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","27003","Anoka","Agriculture","Livestock",NA,796.111672613451,"USDA livestock census","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27019","Carver","Agriculture","Livestock",NA,12036.9226112051,"USDA livestock census","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.13 -2009,"county","27025","Chisago","Agriculture","Livestock",NA,4087.96946762352,"USDA livestock census","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 -2009,"county","27037","Dakota","Agriculture","Livestock",NA,12264.5668699953,"USDA livestock census","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2009,"county","27053","Hennepin","Agriculture","Livestock",NA,2853.63793794945,"USDA livestock census","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","55093","Pierce","Agriculture","Livestock",NA,20129.9920237216,"USDA livestock census","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.5 -2009,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27139","Scott","Agriculture","Livestock",NA,8172.2881977255,"USDA livestock census","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2009,"county","27141","Sherburne","Agriculture","Livestock",NA,3240.66797002336,"USDA livestock census","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2009,"county","55109","St. Croix","Agriculture","Livestock",NA,23952.6915484665,"USDA livestock census","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.28 -2009,"county","27163","Washington","Agriculture","Livestock",NA,2788.18353710322,"USDA livestock census","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2010,"county","27003","Anoka","Agriculture","Livestock",NA,758.330381049228,"USDA livestock census","EPA SIT",244813,"Decennial Census, Table P1",0 -2010,"county","27019","Carver","Agriculture","Livestock",NA,11758.4547154307,"USDA livestock census","EPA SIT",63837,"Decennial Census, Table P1",0.18 -2010,"county","27025","Chisago","Agriculture","Livestock",NA,3994.9464297394,"USDA livestock census","EPA SIT",40040,"Decennial Census, Table P1",0.1 -2010,"county","27037","Dakota","Agriculture","Livestock",NA,11666.8171177559,"USDA livestock census","EPA SIT",293492,"Decennial Census, Table P1",0.04 -2010,"county","27053","Hennepin","Agriculture","Livestock",NA,2904.13312812963,"USDA livestock census","EPA SIT",891080,"Decennial Census, Table P1",0 -2010,"county","55093","Pierce","Agriculture","Livestock",NA,19982.1407595192,"USDA livestock census","EPA SIT",31860,"Decennial Census, Table P1",0.63 -2010,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",390147,"Decennial Census, Table P1",0 -2010,"county","27139","Scott","Agriculture","Livestock",NA,8408.90369866589,"USDA livestock census","EPA SIT",90700,"Decennial Census, Table P1",0.09 -2010,"county","27141","Sherburne","Agriculture","Livestock",NA,3299.48504647847,"USDA livestock census","EPA SIT",62722,"Decennial Census, Table P1",0.05 -2010,"county","55109","St. Croix","Agriculture","Livestock",NA,23314.8300775047,"USDA livestock census","EPA SIT",61462,"Decennial Census, Table P1",0.38 -2010,"county","27163","Washington","Agriculture","Livestock",NA,2801.86876500265,"USDA livestock census","EPA SIT",174538,"Decennial Census, Table P1",0.02 -2011,"county","27003","Anoka","Agriculture","Livestock",NA,719.811378771835,"USDA livestock census","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","27019","Carver","Agriculture","Livestock",NA,11442.7819474716,"USDA livestock census","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.12 -2011,"county","27025","Chisago","Agriculture","Livestock",NA,3892.90173365583,"USDA livestock census","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2011,"county","27037","Dakota","Agriculture","Livestock",NA,11079.2486178587,"USDA livestock census","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2011,"county","27053","Hennepin","Agriculture","Livestock",NA,2949.10594155089,"USDA livestock census","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","55093","Pierce","Agriculture","Livestock",NA,19746.5464847102,"USDA livestock census","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.48 -2011,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",515856,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","27139","Scott","Agriculture","Livestock",NA,8624.22616721581,"USDA livestock census","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2011,"county","27141","Sherburne","Agriculture","Livestock",NA,3361.62643720173,"USDA livestock census","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2011,"county","55109","St. Croix","Agriculture","Livestock",NA,22558.3597402298,"USDA livestock census","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.27 -2011,"county","27163","Washington","Agriculture","Livestock",NA,2810.85726040616,"USDA livestock census","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2012,"county","27003","Anoka","Agriculture","Livestock",NA,684.874283696398,"USDA livestock census","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27019","Carver","Agriculture","Livestock",NA,11238.39758529,"USDA livestock census","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.12 -2012,"county","27025","Chisago","Agriculture","Livestock",NA,3814.80500259829,"USDA livestock census","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2012,"county","27037","Dakota","Agriculture","Livestock",NA,10610.7824263795,"USDA livestock census","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2012,"county","27053","Hennepin","Agriculture","Livestock",NA,3029.85466985885,"USDA livestock census","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","55093","Pierce","Agriculture","Livestock",NA,19718.3609627402,"USDA livestock census","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.48 -2012,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",521091,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27139","Scott","Agriculture","Livestock",NA,8929.48738538299,"USDA livestock census","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2012,"county","27141","Sherburne","Agriculture","Livestock",NA,3465.06573742914,"USDA livestock census","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2012,"county","55109","St. Croix","Agriculture","Livestock",NA,22027.3301248486,"USDA livestock census","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.26 -2012,"county","27163","Washington","Agriculture","Livestock",NA,2838.00647712102,"USDA livestock census","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2013,"county","27003","Anoka","Agriculture","Livestock",NA,579.018672747976,"USDA livestock census","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27019","Carver","Agriculture","Livestock",NA,10993.3934573829,"USDA livestock census","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.12 -2013,"county","27025","Chisago","Agriculture","Livestock",NA,3843.31711165609,"USDA livestock census","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2013,"county","27037","Dakota","Agriculture","Livestock",NA,10221.8668078015,"USDA livestock census","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2013,"county","27053","Hennepin","Agriculture","Livestock",NA,2825.28367739715,"USDA livestock census","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","55093","Pierce","Agriculture","Livestock",NA,19824.8531537536,"USDA livestock census","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.49 -2013,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00400794966,"USDA livestock census","EPA SIT",527261,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27139","Scott","Agriculture","Livestock",NA,8285.10787000045,"USDA livestock census","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.06 -2013,"county","27141","Sherburne","Agriculture","Livestock",NA,3338.82820680808,"USDA livestock census","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2013,"county","55109","St. Croix","Agriculture","Livestock",NA,22399.3618891723,"USDA livestock census","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.26 -2013,"county","27163","Washington","Agriculture","Livestock",NA,2752.35429762682,"USDA livestock census","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2014,"county","27003","Anoka","Agriculture","Livestock",NA,471.989857860167,"USDA livestock census","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27019","Carver","Agriculture","Livestock",NA,10723.0874623714,"USDA livestock census","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2014,"county","27025","Chisago","Agriculture","Livestock",NA,3865.58202089641,"USDA livestock census","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2014,"county","27037","Dakota","Agriculture","Livestock",NA,9811.81623338831,"USDA livestock census","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2014,"county","27053","Hennepin","Agriculture","Livestock",NA,2611.12251803385,"USDA livestock census","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","55093","Pierce","Agriculture","Livestock",NA,19856.0074242521,"USDA livestock census","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.48 -2014,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00801589932,"USDA livestock census","EPA SIT",532966,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27139","Scott","Agriculture","Livestock",NA,7618.96783116452,"USDA livestock census","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2014,"county","27141","Sherburne","Agriculture","Livestock",NA,3205.67603637059,"USDA livestock census","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2014,"county","55109","St. Croix","Agriculture","Livestock",NA,22689.8567462486,"USDA livestock census","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.26 -2014,"county","27163","Washington","Agriculture","Livestock",NA,2661.27095978105,"USDA livestock census","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2015,"county","27003","Anoka","Agriculture","Livestock",NA,368.375572222006,"USDA livestock census","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27019","Carver","Agriculture","Livestock",NA,10571.270990824,"USDA livestock census","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2015,"county","27025","Chisago","Agriculture","Livestock",NA,3910.42366015311,"USDA livestock census","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2015,"county","27037","Dakota","Agriculture","Livestock",NA,9560.11421045079,"USDA livestock census","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2015,"county","27053","Hennepin","Agriculture","Livestock",NA,2423.9313081974,"USDA livestock census","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","55093","Pierce","Agriculture","Livestock",NA,20118.1676229427,"USDA livestock census","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",0.49 -2015,"county","27123","Ramsey","Agriculture","Livestock",NA,0.01202384898,"USDA livestock census","EPA SIT",536838,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27139","Scott","Agriculture","Livestock",NA,7041.36895491263,"USDA livestock census","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2015,"county","27141","Sherburne","Agriculture","Livestock",NA,3133.45189060925,"USDA livestock census","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2015,"county","55109","St. Croix","Agriculture","Livestock",NA,23240.3632794969,"USDA livestock census","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.27 -2015,"county","27163","Washington","Agriculture","Livestock",NA,2585.27740521159,"USDA livestock census","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2016,"county","27003","Anoka","Agriculture","Livestock",NA,261.758078617554,"USDA livestock census","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27019","Carver","Agriculture","Livestock",NA,10368.0979337913,"USDA livestock census","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2016,"county","27025","Chisago","Agriculture","Livestock",NA,3947.58288613625,"USDA livestock census","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2016,"county","27037","Dakota","Agriculture","Livestock",NA,9207.06675899676,"USDA livestock census","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2016,"county","27053","Hennepin","Agriculture","Livestock",NA,2208.74730178497,"USDA livestock census","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","55093","Pierce","Agriculture","Livestock",NA,20373.7870212356,"USDA livestock census","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",0.49 -2016,"county","27123","Ramsey","Agriculture","Livestock",NA,0.01603179864,"USDA livestock census","EPA SIT",541635,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27139","Scott","Agriculture","Livestock",NA,6402.74251778434,"USDA livestock census","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2016,"county","27141","Sherburne","Agriculture","Livestock",NA,3012.35439229261,"USDA livestock census","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2016,"county","55109","St. Croix","Agriculture","Livestock",NA,23814.3351157455,"USDA livestock census","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.27 -2016,"county","27163","Washington","Agriculture","Livestock",NA,2501.51902983575,"USDA livestock census","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2017,"county","27003","Anoka","Agriculture","Livestock",NA,152.483778192215,"USDA livestock census","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27019","Carver","Agriculture","Livestock",NA,10120.7768093913,"USDA livestock census","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2017,"county","27025","Chisago","Agriculture","Livestock",NA,3976.0185214449,"USDA livestock census","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2017,"county","27037","Dakota","Agriculture","Livestock",NA,8767.4487462812,"USDA livestock census","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2017,"county","27053","Hennepin","Agriculture","Livestock",NA,1981.18931264939,"USDA livestock census","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","55093","Pierce","Agriculture","Livestock",NA,20359.6292409976,"USDA livestock census","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",0.48 -2017,"county","27123","Ramsey","Agriculture","Livestock",NA,0.0200397483,"USDA livestock census","EPA SIT",544919,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27139","Scott","Agriculture","Livestock",NA,5718.49424659689,"USDA livestock census","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2017,"county","27141","Sherburne","Agriculture","Livestock",NA,2857.12555548625,"USDA livestock census","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2017,"county","55109","St. Croix","Agriculture","Livestock",NA,24076.6804375462,"USDA livestock census","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.27 -2017,"county","27163","Washington","Agriculture","Livestock",NA,2409.29796427511,"USDA livestock census","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2018,"county","27003","Anoka","Agriculture","Livestock",NA,186.140635039962,"USDA livestock census","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27019","Carver","Agriculture","Livestock",NA,10138.981178442,"USDA livestock census","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2018,"county","27025","Chisago","Agriculture","Livestock",NA,3706.63572942211,"USDA livestock census","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2018,"county","27037","Dakota","Agriculture","Livestock",NA,9198.59079158773,"USDA livestock census","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2018,"county","27053","Hennepin","Agriculture","Livestock",NA,1841.20921543562,"USDA livestock census","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","55093","Pierce","Agriculture","Livestock",NA,19792.1363077769,"USDA livestock census","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",0.46 -2018,"county","27123","Ramsey","Agriculture","Livestock",NA,0.01603179864,"USDA livestock census","EPA SIT",548900,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27139","Scott","Agriculture","Livestock",NA,5401.76882385455,"USDA livestock census","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2018,"county","27141","Sherburne","Agriculture","Livestock",NA,2862.02308645921,"USDA livestock census","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2018,"county","55109","St. Croix","Agriculture","Livestock",NA,23148.903156353,"USDA livestock census","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.26 -2018,"county","27163","Washington","Agriculture","Livestock",NA,2122.12350257202,"USDA livestock census","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2019,"county","27003","Anoka","Agriculture","Livestock",NA,220.597163120213,"USDA livestock census","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27019","Carver","Agriculture","Livestock",NA,10103.6373545549,"USDA livestock census","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2019,"county","27025","Chisago","Agriculture","Livestock",NA,3425.14299299984,"USDA livestock census","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.06 -2019,"county","27037","Dakota","Agriculture","Livestock",NA,9630.58382793606,"USDA livestock census","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2019,"county","27053","Hennepin","Agriculture","Livestock",NA,1693.48058299692,"USDA livestock census","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","55093","Pierce","Agriculture","Livestock",NA,18505.1264258106,"USDA livestock census","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.43 -2019,"county","27123","Ramsey","Agriculture","Livestock",NA,0.01202384898,"USDA livestock census","EPA SIT",549632,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27139","Scott","Agriculture","Livestock",NA,5068.64801450558,"USDA livestock census","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2019,"county","27141","Sherburne","Agriculture","Livestock",NA,2874.47817894395,"USDA livestock census","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2019,"county","55109","St. Croix","Agriculture","Livestock",NA,21254.4822248259,"USDA livestock census","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.23 -2019,"county","27163","Washington","Agriculture","Livestock",NA,1830.44756397936,"USDA livestock census","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2020,"county","27003","Anoka","Agriculture","Livestock",NA,255.099300582986,"USDA livestock census","EPA SIT",363887,"Decennial Census, Table P1",0 -2020,"county","27019","Carver","Agriculture","Livestock",NA,9976.56871383814,"USDA livestock census","EPA SIT",106922,"Decennial Census, Table P1",0.09 -2020,"county","27025","Chisago","Agriculture","Livestock",NA,3123.22560913262,"USDA livestock census","EPA SIT",56621,"Decennial Census, Table P1",0.06 -2020,"county","27037","Dakota","Agriculture","Livestock",NA,10016.8057310094,"USDA livestock census","EPA SIT",439882,"Decennial Census, Table P1",0.02 -2020,"county","27053","Hennepin","Agriculture","Livestock",NA,1536.62105437886,"USDA livestock census","EPA SIT",1281565,"Decennial Census, Table P1",0 -2020,"county","55093","Pierce","Agriculture","Livestock",NA,17906.5436527815,"USDA livestock census","EPA SIT",42212,"Decennial Census, Table P1",0.42 -2020,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00801589932,"USDA livestock census","EPA SIT",552352,"Decennial Census, Table P1",0 -2020,"county","27139","Scott","Agriculture","Livestock",NA,4699.26611086041,"USDA livestock census","EPA SIT",150928,"Decennial Census, Table P1",0.03 -2020,"county","27141","Sherburne","Agriculture","Livestock",NA,2889.84515645878,"USDA livestock census","EPA SIT",97183,"Decennial Census, Table P1",0.03 -2020,"county","55109","St. Croix","Agriculture","Livestock",NA,20269.0404103537,"USDA livestock census","EPA SIT",93536,"Decennial Census, Table P1",0.22 -2020,"county","27163","Washington","Agriculture","Livestock",NA,1531.03764837877,"USDA livestock census","EPA SIT",267568,"Decennial Census, Table P1",0.01 -2021,"county","27003","Anoka","Agriculture","Livestock",NA,289.130556319624,"USDA livestock census","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27019","Carver","Agriculture","Livestock",NA,9962.21431802723,"USDA livestock census","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.09 -2021,"county","27025","Chisago","Agriculture","Livestock",NA,2847.15151798418,"USDA livestock census","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.05 -2021,"county","27037","Dakota","Agriculture","Livestock",NA,10443.6921540475,"USDA livestock census","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27053","Hennepin","Agriculture","Livestock",NA,1393.65324256939,"USDA livestock census","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","55093","Pierce","Agriculture","Livestock",NA,17277.064898207,"USDA livestock census","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",0.41 -2021,"county","27123","Ramsey","Agriculture","Livestock",NA,0.00400794966,"USDA livestock census","EPA SIT",549377,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27139","Scott","Agriculture","Livestock",NA,4372.95365503828,"USDA livestock census","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.03 -2021,"county","27141","Sherburne","Agriculture","Livestock",NA,2901.57018410567,"USDA livestock census","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.03 -2021,"county","55109","St. Croix","Agriculture","Livestock",NA,19253.6672749911,"USDA livestock census","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.21 -2021,"county","27163","Washington","Agriculture","Livestock",NA,1242.14202557536,"USDA livestock census","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0 -2005,"county","27003","Anoka","Agriculture","Livestock",NA,114.739084481977,"USDA livestock census","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","27019","Carver","Agriculture","Livestock",NA,2383.41135721325,"USDA livestock census","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2005,"county","27025","Chisago","Agriculture","Livestock",NA,655.735786137705,"USDA livestock census","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2005,"county","27037","Dakota","Agriculture","Livestock",NA,2349.0830888943,"USDA livestock census","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2005,"county","27053","Hennepin","Agriculture","Livestock",NA,452.421711060654,"USDA livestock census","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","55093","Pierce","Agriculture","Livestock",NA,3496.12079093433,"USDA livestock census","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2005,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","27139","Scott","Agriculture","Livestock",NA,1462.48313376814,"USDA livestock census","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2005,"county","27141","Sherburne","Agriculture","Livestock",NA,563.52955438692,"USDA livestock census","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2005,"county","55109","St. Croix","Agriculture","Livestock",NA,4321.33818838625,"USDA livestock census","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2005,"county","27163","Washington","Agriculture","Livestock",NA,397.925341416811,"USDA livestock census","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27003","Anoka","Agriculture","Livestock",NA,118.693168447484,"USDA livestock census","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27019","Carver","Agriculture","Livestock",NA,2361.69624575998,"USDA livestock census","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2006,"county","27025","Chisago","Agriculture","Livestock",NA,657.942030428393,"USDA livestock census","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","27037","Dakota","Agriculture","Livestock",NA,2465.63578202575,"USDA livestock census","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","27053","Hennepin","Agriculture","Livestock",NA,453.309448420255,"USDA livestock census","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","55093","Pierce","Agriculture","Livestock",NA,3517.6033720709,"USDA livestock census","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2006,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27139","Scott","Agriculture","Livestock",NA,1433.13610685832,"USDA livestock census","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","27141","Sherburne","Agriculture","Livestock",NA,556.379175916102,"USDA livestock census","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","55109","St. Croix","Agriculture","Livestock",NA,4360.67791835061,"USDA livestock census","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 -2006,"county","27163","Washington","Agriculture","Livestock",NA,401.414658284478,"USDA livestock census","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27003","Anoka","Agriculture","Livestock",NA,122.364484691403,"USDA livestock census","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27019","Carver","Agriculture","Livestock",NA,2310.01444425433,"USDA livestock census","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2007,"county","27025","Chisago","Agriculture","Livestock",NA,655.345925573387,"USDA livestock census","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","27037","Dakota","Agriculture","Livestock",NA,2569.67675538255,"USDA livestock census","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","27053","Hennepin","Agriculture","Livestock",NA,450.756096090879,"USDA livestock census","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","55093","Pierce","Agriculture","Livestock",NA,3513.65291522407,"USDA livestock census","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2007,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27139","Scott","Agriculture","Livestock",NA,1387.6984149527,"USDA livestock census","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","27141","Sherburne","Agriculture","Livestock",NA,548.265918341541,"USDA livestock census","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","55109","St. Croix","Agriculture","Livestock",NA,4365.29084896239,"USDA livestock census","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 -2007,"county","27163","Washington","Agriculture","Livestock",NA,403.93961223986,"USDA livestock census","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27003","Anoka","Agriculture","Livestock",NA,116.744341658091,"USDA livestock census","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27019","Carver","Agriculture","Livestock",NA,2236.64966664424,"USDA livestock census","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2008,"county","27025","Chisago","Agriculture","Livestock",NA,628.195448738371,"USDA livestock census","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","27037","Dakota","Agriculture","Livestock",NA,2455.15844878501,"USDA livestock census","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","27053","Hennepin","Agriculture","Livestock",NA,462.074448515773,"USDA livestock census","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","55093","Pierce","Agriculture","Livestock",NA,3419.43230467299,"USDA livestock census","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 -2008,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27139","Scott","Agriculture","Livestock",NA,1414.23913016579,"USDA livestock census","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","27141","Sherburne","Agriculture","Livestock",NA,573.395515921848,"USDA livestock census","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","55109","St. Croix","Agriculture","Livestock",NA,4164.07245211167,"USDA livestock census","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 -2008,"county","27163","Washington","Agriculture","Livestock",NA,403.233369131466,"USDA livestock census","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27003","Anoka","Agriculture","Livestock",NA,111.867461741868,"USDA livestock census","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27019","Carver","Agriculture","Livestock",NA,2197.60168637338,"USDA livestock census","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 -2009,"county","27025","Chisago","Agriculture","Livestock",NA,609.263481419488,"USDA livestock census","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","27037","Dakota","Agriculture","Livestock",NA,2357.19510593888,"USDA livestock census","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","27053","Hennepin","Agriculture","Livestock",NA,479.299391696158,"USDA livestock census","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","55093","Pierce","Agriculture","Livestock",NA,3400.28667241509,"USDA livestock census","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 -2009,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27139","Scott","Agriculture","Livestock",NA,1460.55479251767,"USDA livestock census","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","27141","Sherburne","Agriculture","Livestock",NA,600.367211521536,"USDA livestock census","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","55109","St. Croix","Agriculture","Livestock",NA,4064.2039054235,"USDA livestock census","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 -2009,"county","27163","Washington","Agriculture","Livestock",NA,406.113071472862,"USDA livestock census","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2010,"county","27003","Anoka","Agriculture","Livestock",NA,106.476154748999,"USDA livestock census","EPA SIT",244813,"Decennial Census, Table P1",0 -2010,"county","27019","Carver","Agriculture","Livestock",NA,2149.66331688868,"USDA livestock census","EPA SIT",63837,"Decennial Census, Table P1",0.03 -2010,"county","27025","Chisago","Agriculture","Livestock",NA,588.332942704676,"USDA livestock census","EPA SIT",40040,"Decennial Census, Table P1",0.01 -2010,"county","27037","Dakota","Agriculture","Livestock",NA,2234.4470908382,"USDA livestock census","EPA SIT",293492,"Decennial Census, Table P1",0.01 -2010,"county","27053","Hennepin","Agriculture","Livestock",NA,492.998869027759,"USDA livestock census","EPA SIT",891080,"Decennial Census, Table P1",0 -2010,"county","55093","Pierce","Agriculture","Livestock",NA,3377.59175541027,"USDA livestock census","EPA SIT",31860,"Decennial Census, Table P1",0.11 -2010,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",390147,"Decennial Census, Table P1",0 -2010,"county","27139","Scott","Agriculture","Livestock",NA,1499.13497652195,"USDA livestock census","EPA SIT",90700,"Decennial Census, Table P1",0.02 -2010,"county","27141","Sherburne","Agriculture","Livestock",NA,620.194056697602,"USDA livestock census","EPA SIT",62722,"Decennial Census, Table P1",0.01 -2010,"county","55109","St. Croix","Agriculture","Livestock",NA,3960.23336597669,"USDA livestock census","EPA SIT",61462,"Decennial Census, Table P1",0.06 -2010,"county","27163","Washington","Agriculture","Livestock",NA,407.421985831946,"USDA livestock census","EPA SIT",174538,"Decennial Census, Table P1",0 -2011,"county","27003","Anoka","Agriculture","Livestock",NA,100.979601160935,"USDA livestock census","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","27019","Carver","Agriculture","Livestock",NA,2094.84348918496,"USDA livestock census","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2011,"county","27025","Chisago","Agriculture","Livestock",NA,565.774521080949,"USDA livestock census","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2011,"county","27037","Dakota","Agriculture","Livestock",NA,2114.94940409706,"USDA livestock census","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2011,"county","27053","Hennepin","Agriculture","Livestock",NA,505.666207163291,"USDA livestock census","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","55093","Pierce","Agriculture","Livestock",NA,3337.68342786867,"USDA livestock census","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2011,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",515856,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","27139","Scott","Agriculture","Livestock",NA,1533.74104043661,"USDA livestock census","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2011,"county","27141","Sherburne","Agriculture","Livestock",NA,640.935381984012,"USDA livestock census","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2011,"county","55109","St. Croix","Agriculture","Livestock",NA,3833.26202602319,"USDA livestock census","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2011,"county","27163","Washington","Agriculture","Livestock",NA,407.878548988125,"USDA livestock census","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27003","Anoka","Agriculture","Livestock",NA,96.2193890707713,"USDA livestock census","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27019","Carver","Agriculture","Livestock",NA,2062.26936652516,"USDA livestock census","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2012,"county","27025","Chisago","Agriculture","Livestock",NA,547.906700124032,"USDA livestock census","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2012,"county","27037","Dakota","Agriculture","Livestock",NA,2020.74667390071,"USDA livestock census","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27053","Hennepin","Agriculture","Livestock",NA,525.706792550078,"USDA livestock census","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","55093","Pierce","Agriculture","Livestock",NA,3338.83090213381,"USDA livestock census","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2012,"county","27123","Ramsey","Agriculture","Livestock",NA,0,"USDA livestock census","EPA SIT",521091,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27139","Scott","Agriculture","Livestock",NA,1586.53797173329,"USDA livestock census","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2012,"county","27141","Sherburne","Agriculture","Livestock",NA,670.714512510783,"USDA livestock census","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2012,"county","55109","St. Croix","Agriculture","Livestock",NA,3751.18897132426,"USDA livestock census","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2012,"county","27163","Washington","Agriculture","Livestock",NA,411.871147071179,"USDA livestock census","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27003","Anoka","Agriculture","Livestock",NA,82.5168352293815,"USDA livestock census","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27019","Carver","Agriculture","Livestock",NA,2004.74514619313,"USDA livestock census","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2013,"county","27025","Chisago","Agriculture","Livestock",NA,553.887082754378,"USDA livestock census","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2013,"county","27037","Dakota","Agriculture","Livestock",NA,1939.84516522819,"USDA livestock census","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27053","Hennepin","Agriculture","Livestock",NA,481.750548529187,"USDA livestock census","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","55093","Pierce","Agriculture","Livestock",NA,3350.55758257495,"USDA livestock census","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2013,"county","27123","Ramsey","Agriculture","Livestock",NA,0.0009017886735,"USDA livestock census","EPA SIT",527261,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27139","Scott","Agriculture","Livestock",NA,1461.30384363691,"USDA livestock census","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2013,"county","27141","Sherburne","Agriculture","Livestock",NA,636.094294440382,"USDA livestock census","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2013,"county","55109","St. Croix","Agriculture","Livestock",NA,3811.19517751463,"USDA livestock census","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2013,"county","27163","Washington","Agriculture","Livestock",NA,397.596474283751,"USDA livestock census","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27003","Anoka","Agriculture","Livestock",NA,68.6251973084442,"USDA livestock census","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27019","Carver","Agriculture","Livestock",NA,1942.1676443462,"USDA livestock census","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2014,"county","27025","Chisago","Agriculture","Livestock",NA,558.700238535371,"USDA livestock census","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2014,"county","27037","Dakota","Agriculture","Livestock",NA,1854.69819962787,"USDA livestock census","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27053","Hennepin","Agriculture","Livestock",NA,435.884399605478,"USDA livestock census","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","55093","Pierce","Agriculture","Livestock",NA,3347.33741088213,"USDA livestock census","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2014,"county","27123","Ramsey","Agriculture","Livestock",NA,0.001803577347,"USDA livestock census","EPA SIT",532966,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27139","Scott","Agriculture","Livestock",NA,1331.82795133485,"USDA livestock census","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2014,"county","27141","Sherburne","Agriculture","Livestock",NA,599.948451374999,"USDA livestock census","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2014,"county","55109","St. Croix","Agriculture","Livestock",NA,3854.67693599561,"USDA livestock census","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2014,"county","27163","Washington","Agriculture","Livestock",NA,382.358017199698,"USDA livestock census","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27003","Anoka","Agriculture","Livestock",NA,55.512870875976,"USDA livestock census","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27019","Carver","Agriculture","Livestock",NA,1903.86301012184,"USDA livestock census","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2015,"county","27025","Chisago","Agriculture","Livestock",NA,568.117048450868,"USDA livestock census","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2015,"county","27037","Dakota","Agriculture","Livestock",NA,1804.04570007356,"USDA livestock census","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27053","Hennepin","Agriculture","Livestock",NA,395.76964522796,"USDA livestock census","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","55093","Pierce","Agriculture","Livestock",NA,3391.35771193797,"USDA livestock census","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2015,"county","27123","Ramsey","Agriculture","Livestock",NA,0.0027053660205,"USDA livestock census","EPA SIT",536838,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27139","Scott","Agriculture","Livestock",NA,1221.25022094765,"USDA livestock census","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2015,"county","27141","Sherburne","Agriculture","Livestock",NA,577.276438665377,"USDA livestock census","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2015,"county","55109","St. Croix","Agriculture","Livestock",NA,3950.14316020992,"USDA livestock census","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2015,"county","27163","Washington","Agriculture","Livestock",NA,370.299914803514,"USDA livestock census","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27003","Anoka","Agriculture","Livestock",NA,41.7570950158531,"USDA livestock census","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27019","Carver","Agriculture","Livestock",NA,1854.65350202903,"USDA livestock census","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2016,"county","27025","Chisago","Agriculture","Livestock",NA,575.779143577405,"USDA livestock census","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2016,"county","27037","Dakota","Agriculture","Livestock",NA,1731.01111022995,"USDA livestock census","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27053","Hennepin","Agriculture","Livestock",NA,349.560321219062,"USDA livestock census","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","55093","Pierce","Agriculture","Livestock",NA,3432.68495928677,"USDA livestock census","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2016,"county","27123","Ramsey","Agriculture","Livestock",NA,0.003607154694,"USDA livestock census","EPA SIT",541635,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27139","Scott","Agriculture","Livestock",NA,1097.66051418414,"USDA livestock census","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2016,"county","27141","Sherburne","Agriculture","Livestock",NA,543.584567512084,"USDA livestock census","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2016,"county","55109","St. Croix","Agriculture","Livestock",NA,4048.39697258255,"USDA livestock census","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2016,"county","27163","Washington","Agriculture","Livestock",NA,356.54717846832,"USDA livestock census","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27003","Anoka","Agriculture","Livestock",NA,27.4569893147099,"USDA livestock census","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27019","Carver","Agriculture","Livestock",NA,1803.59168082866,"USDA livestock census","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2017,"county","27025","Chisago","Agriculture","Livestock",NA,583.522478372907,"USDA livestock census","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2017,"county","27037","Dakota","Agriculture","Livestock",NA,1642.57690329832,"USDA livestock census","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27053","Hennepin","Agriculture","Livestock",NA,301.929907338698,"USDA livestock census","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","55093","Pierce","Agriculture","Livestock",NA,3435.8214752302,"USDA livestock census","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2017,"county","27123","Ramsey","Agriculture","Livestock",NA,0.0045089433675,"USDA livestock census","EPA SIT",544919,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27139","Scott","Agriculture","Livestock",NA,967.82020006397,"USDA livestock census","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2017,"county","27141","Sherburne","Agriculture","Livestock",NA,502.973877858661,"USDA livestock census","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2017,"county","55109","St. Croix","Agriculture","Livestock",NA,4105.21887327904,"USDA livestock census","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2017,"county","27163","Washington","Agriculture","Livestock",NA,342.067594222933,"USDA livestock census","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27003","Anoka","Agriculture","Livestock",NA,29.7203655039191,"USDA livestock census","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27019","Carver","Agriculture","Livestock",NA,1813.7692859186,"USDA livestock census","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2018,"county","27025","Chisago","Agriculture","Livestock",NA,546.539468347,"USDA livestock census","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2018,"county","27037","Dakota","Agriculture","Livestock",NA,1705.69457908145,"USDA livestock census","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27053","Hennepin","Agriculture","Livestock",NA,282.858019583708,"USDA livestock census","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","55093","Pierce","Agriculture","Livestock",NA,3330.46151392135,"USDA livestock census","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2018,"county","27123","Ramsey","Agriculture","Livestock",NA,0.003607154694,"USDA livestock census","EPA SIT",548900,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27139","Scott","Agriculture","Livestock",NA,909.943428494783,"USDA livestock census","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2018,"county","27141","Sherburne","Agriculture","Livestock",NA,493.062611913982,"USDA livestock census","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2018,"county","55109","St. Croix","Agriculture","Livestock",NA,3967.82569892625,"USDA livestock census","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2018,"county","27163","Washington","Agriculture","Livestock",NA,302.915745990392,"USDA livestock census","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27003","Anoka","Agriculture","Livestock",NA,32.1556030761987,"USDA livestock census","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27019","Carver","Agriculture","Livestock",NA,1827.469367192,"USDA livestock census","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2019,"county","27025","Chisago","Agriculture","Livestock",NA,510.136873181173,"USDA livestock census","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2019,"county","27037","Dakota","Agriculture","Livestock",NA,1778.18722076655,"USDA livestock census","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27053","Hennepin","Agriculture","Livestock",NA,263.981937267622,"USDA livestock census","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","55093","Pierce","Agriculture","Livestock",NA,3216.03113574898,"USDA livestock census","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2019,"county","27123","Ramsey","Agriculture","Livestock",NA,0.0027053660205,"USDA livestock census","EPA SIT",549632,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27139","Scott","Agriculture","Livestock",NA,854.950380892806,"USDA livestock census","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2019,"county","27141","Sherburne","Agriculture","Livestock",NA,485.90785547517,"USDA livestock census","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","55109","St. Croix","Agriculture","Livestock",NA,3817.26720181426,"USDA livestock census","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2019,"county","27163","Washington","Agriculture","Livestock",NA,264.129592518676,"USDA livestock census","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0 -2020,"county","27003","Anoka","Agriculture","Livestock",NA,34.6068958354857,"USDA livestock census","EPA SIT",363887,"Decennial Census, Table P1",0 -2020,"county","27019","Carver","Agriculture","Livestock",NA,1845.8206234146,"USDA livestock census","EPA SIT",106922,"Decennial Census, Table P1",0.02 -2020,"county","27025","Chisago","Agriculture","Livestock",NA,474.437307836416,"USDA livestock census","EPA SIT",56621,"Decennial Census, Table P1",0.01 -2020,"county","27037","Dakota","Agriculture","Livestock",NA,1859.58856672502,"USDA livestock census","EPA SIT",439882,"Decennial Census, Table P1",0 -2020,"county","27053","Hennepin","Agriculture","Livestock",NA,245.533471358543,"USDA livestock census","EPA SIT",1281565,"Decennial Census, Table P1",0 -2020,"county","55093","Pierce","Agriculture","Livestock",NA,3111.41530204932,"USDA livestock census","EPA SIT",42212,"Decennial Census, Table P1",0.07 -2020,"county","27123","Ramsey","Agriculture","Livestock",NA,0.001803577347,"USDA livestock census","EPA SIT",552352,"Decennial Census, Table P1",0 -2020,"county","27139","Scott","Agriculture","Livestock",NA,802.086319682956,"USDA livestock census","EPA SIT",150928,"Decennial Census, Table P1",0.01 -2020,"county","27141","Sherburne","Agriculture","Livestock",NA,480.44563902367,"USDA livestock census","EPA SIT",97183,"Decennial Census, Table P1",0 -2020,"county","55109","St. Croix","Agriculture","Livestock",NA,3678.13878821721,"USDA livestock census","EPA SIT",93536,"Decennial Census, Table P1",0.04 -2020,"county","27163","Washington","Agriculture","Livestock",NA,225.480717729844,"USDA livestock census","EPA SIT",267568,"Decennial Census, Table P1",0 -2021,"county","27003","Anoka","Agriculture","Livestock",NA,36.9510663705134,"USDA livestock census","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27019","Carver","Agriculture","Livestock",NA,1847.78127348848,"USDA livestock census","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27025","Chisago","Agriculture","Livestock",NA,435.312408113036,"USDA livestock census","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.01 -2021,"county","27037","Dakota","Agriculture","Livestock",NA,1924.8772880554,"USDA livestock census","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27053","Hennepin","Agriculture","Livestock",NA,224.977384340021,"USDA livestock census","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","55093","Pierce","Agriculture","Livestock",NA,2986.03968544177,"USDA livestock census","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",0.07 -2021,"county","27123","Ramsey","Agriculture","Livestock",NA,0.0009017886735,"USDA livestock census","EPA SIT",549377,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27139","Scott","Agriculture","Livestock",NA,741.171310936357,"USDA livestock census","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27141","Sherburne","Agriculture","Livestock",NA,471.256838919599,"USDA livestock census","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","55109","St. Croix","Agriculture","Livestock",NA,3513.84107974806,"USDA livestock census","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.04 -2021,"county","27163","Washington","Agriculture","Livestock",NA,185.228890513913,"USDA livestock census","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0 -2005,"county","27003","Anoka","Agriculture","Cropland",NA,1481.31027835725,"USDA crop production survey","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27003","Anoka","Agriculture","Cropland",NA,1604.70587488035,"USDA crop production survey","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27003","Anoka","Agriculture","Cropland",NA,2054.36109891254,"USDA crop production survey","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","27003","Anoka","Agriculture","Cropland",NA,362.343568564242,"USDA crop production survey","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27003","Anoka","Agriculture","Cropland",NA,1670.49631546745,"USDA crop production survey","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2010,"county","27003","Anoka","Agriculture","Cropland",NA,3320.61683871865,"USDA crop production survey","EPA SIT",244813,"Decennial Census, Table P1",0.01 -2011,"county","27003","Anoka","Agriculture","Cropland",NA,1756.04918886133,"USDA crop production survey","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2012,"county","27003","Anoka","Agriculture","Cropland",NA,2317.99474738637,"USDA crop production survey","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2013,"county","27003","Anoka","Agriculture","Cropland",NA,2289.22676887326,"USDA crop production survey","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2014,"county","27003","Anoka","Agriculture","Cropland",NA,1692.20169816424,"USDA crop production survey","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27003","Anoka","Agriculture","Cropland",NA,2863.34256333913,"USDA crop production survey","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2016,"county","27003","Anoka","Agriculture","Cropland",NA,3214.60878994465,"USDA crop production survey","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2017,"county","27003","Anoka","Agriculture","Cropland",NA,3211.66735584711,"USDA crop production survey","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2018,"county","27003","Anoka","Agriculture","Cropland",NA,3208.23431766639,"USDA crop production survey","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2020,"county","27003","Anoka","Agriculture","Cropland",NA,2467.2699644557,"USDA crop production survey","EPA SIT",363887,"Decennial Census, Table P1",0.01 -2021,"county","27003","Anoka","Agriculture","Cropland",NA,1845.09496950521,"USDA crop production survey","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0.01 -2005,"county","27019","Carver","Agriculture","Cropland",NA,39313.1818732732,"USDA crop production survey","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.47 -2006,"county","27019","Carver","Agriculture","Cropland",NA,42181.0293035315,"USDA crop production survey","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.49 -2007,"county","27019","Carver","Agriculture","Cropland",NA,33735.916576942,"USDA crop production survey","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.39 -2008,"county","27019","Carver","Agriculture","Cropland",NA,35134.7830254136,"USDA crop production survey","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.4 -2009,"county","27019","Carver","Agriculture","Cropland",NA,35340.2558683435,"USDA crop production survey","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.39 -2010,"county","27019","Carver","Agriculture","Cropland",NA,37849.609545696,"USDA crop production survey","EPA SIT",63837,"Decennial Census, Table P1",0.59 -2011,"county","27019","Carver","Agriculture","Cropland",NA,27471.1663343192,"USDA crop production survey","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.3 -2012,"county","27019","Carver","Agriculture","Cropland",NA,32801.0392131784,"USDA crop production survey","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.35 -2013,"county","27019","Carver","Agriculture","Cropland",NA,26957.0416250452,"USDA crop production survey","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.28 -2014,"county","27019","Carver","Agriculture","Cropland",NA,20068.4648129889,"USDA crop production survey","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.21 -2015,"county","27019","Carver","Agriculture","Cropland",NA,40192.4553046743,"USDA crop production survey","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.41 -2016,"county","27019","Carver","Agriculture","Cropland",NA,40013.7938329929,"USDA crop production survey","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.4 -2017,"county","27019","Carver","Agriculture","Cropland",NA,39585.418701662,"USDA crop production survey","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.39 -2018,"county","27019","Carver","Agriculture","Cropland",NA,35549.2773045657,"USDA crop production survey","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.34 -2019,"county","27019","Carver","Agriculture","Cropland",NA,31713.950985868,"USDA crop production survey","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.3 -2020,"county","27019","Carver","Agriculture","Cropland",NA,40023.1204233685,"USDA crop production survey","EPA SIT",106922,"Decennial Census, Table P1",0.37 -2021,"county","27019","Carver","Agriculture","Cropland",NA,38621.1713594331,"USDA crop production survey","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.37 -2005,"county","27025","Chisago","Agriculture","Cropland",NA,16071.5657712214,"USDA crop production survey","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.32 -2006,"county","27025","Chisago","Agriculture","Cropland",NA,18303.555503124,"USDA crop production survey","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.36 -2007,"county","27025","Chisago","Agriculture","Cropland",NA,11225.8779503197,"USDA crop production survey","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.21 -2008,"county","27025","Chisago","Agriculture","Cropland",NA,15074.493854679,"USDA crop production survey","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.28 -2009,"county","27025","Chisago","Agriculture","Cropland",NA,12908.7151316374,"USDA crop production survey","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.24 -2010,"county","27025","Chisago","Agriculture","Cropland",NA,20122.4193419836,"USDA crop production survey","EPA SIT",40040,"Decennial Census, Table P1",0.5 -2011,"county","27025","Chisago","Agriculture","Cropland",NA,17882.934498536,"USDA crop production survey","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.33 -2012,"county","27025","Chisago","Agriculture","Cropland",NA,17389.7924071992,"USDA crop production survey","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.33 -2013,"county","27025","Chisago","Agriculture","Cropland",NA,11541.3155476683,"USDA crop production survey","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2014,"county","27025","Chisago","Agriculture","Cropland",NA,10412.1177643862,"USDA crop production survey","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.19 -2015,"county","27025","Chisago","Agriculture","Cropland",NA,20326.499969295,"USDA crop production survey","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.38 -2016,"county","27025","Chisago","Agriculture","Cropland",NA,20550.2695975378,"USDA crop production survey","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.38 -2017,"county","27025","Chisago","Agriculture","Cropland",NA,19126.3081765014,"USDA crop production survey","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.35 -2018,"county","27025","Chisago","Agriculture","Cropland",NA,16420.2623562263,"USDA crop production survey","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.29 -2019,"county","27025","Chisago","Agriculture","Cropland",NA,10806.245324825,"USDA crop production survey","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.19 -2020,"county","27025","Chisago","Agriculture","Cropland",NA,16886.3996261001,"USDA crop production survey","EPA SIT",56621,"Decennial Census, Table P1",0.3 -2021,"county","27025","Chisago","Agriculture","Cropland",NA,15031.2130104708,"USDA crop production survey","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.27 -2005,"county","27037","Dakota","Agriculture","Cropland",NA,52045.4191606037,"USDA crop production survey","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.14 -2006,"county","27037","Dakota","Agriculture","Cropland",NA,53009.266173457,"USDA crop production survey","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.14 -2007,"county","27037","Dakota","Agriculture","Cropland",NA,37107.7998694105,"USDA crop production survey","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2008,"county","27037","Dakota","Agriculture","Cropland",NA,38042.7911805331,"USDA crop production survey","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 -2009,"county","27037","Dakota","Agriculture","Cropland",NA,46175.7784350662,"USDA crop production survey","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 -2010,"county","27037","Dakota","Agriculture","Cropland",NA,46756.6718604084,"USDA crop production survey","EPA SIT",293492,"Decennial Census, Table P1",0.16 -2011,"county","27037","Dakota","Agriculture","Cropland",NA,38303.3469766694,"USDA crop production survey","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2012,"county","27037","Dakota","Agriculture","Cropland",NA,36529.123386621,"USDA crop production survey","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.09 -2013,"county","27037","Dakota","Agriculture","Cropland",NA,31445.8537794953,"USDA crop production survey","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2014,"county","27037","Dakota","Agriculture","Cropland",NA,38916.4132440895,"USDA crop production survey","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.09 -2015,"county","27037","Dakota","Agriculture","Cropland",NA,44314.6815440582,"USDA crop production survey","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2016,"county","27037","Dakota","Agriculture","Cropland",NA,47820.7875820285,"USDA crop production survey","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2017,"county","27037","Dakota","Agriculture","Cropland",NA,47956.6546686356,"USDA crop production survey","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2018,"county","27037","Dakota","Agriculture","Cropland",NA,44554.9537444217,"USDA crop production survey","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2019,"county","27037","Dakota","Agriculture","Cropland",NA,8294.56191810488,"USDA crop production survey","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2020,"county","27037","Dakota","Agriculture","Cropland",NA,40155.3379966401,"USDA crop production survey","EPA SIT",439882,"Decennial Census, Table P1",0.09 -2021,"county","27037","Dakota","Agriculture","Cropland",NA,42967.433451776,"USDA crop production survey","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.1 -2005,"county","27053","Hennepin","Agriculture","Cropland",NA,11672.1763692233,"USDA crop production survey","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","27053","Hennepin","Agriculture","Cropland",NA,12713.3449943106,"USDA crop production survey","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","27053","Hennepin","Agriculture","Cropland",NA,9450.41535467932,"USDA crop production survey","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","27053","Hennepin","Agriculture","Cropland",NA,8749.51066532599,"USDA crop production survey","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","27053","Hennepin","Agriculture","Cropland",NA,12316.4277076536,"USDA crop production survey","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2010,"county","27053","Hennepin","Agriculture","Cropland",NA,11938.0634910698,"USDA crop production survey","EPA SIT",891080,"Decennial Census, Table P1",0.01 -2011,"county","27053","Hennepin","Agriculture","Cropland",NA,10324.5460049518,"USDA crop production survey","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2012,"county","27053","Hennepin","Agriculture","Cropland",NA,10593.4756752296,"USDA crop production survey","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2013,"county","27053","Hennepin","Agriculture","Cropland",NA,7753.90557839231,"USDA crop production survey","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2014,"county","27053","Hennepin","Agriculture","Cropland",NA,7253.52046100187,"USDA crop production survey","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2015,"county","27053","Hennepin","Agriculture","Cropland",NA,13898.6436867688,"USDA crop production survey","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2016,"county","27053","Hennepin","Agriculture","Cropland",NA,11500.9925973541,"USDA crop production survey","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2017,"county","27053","Hennepin","Agriculture","Cropland",NA,12006.7318020258,"USDA crop production survey","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2018,"county","27053","Hennepin","Agriculture","Cropland",NA,10894.5915989982,"USDA crop production survey","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2019,"county","27053","Hennepin","Agriculture","Cropland",NA,6792.7931824958,"USDA crop production survey","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2020,"county","27053","Hennepin","Agriculture","Cropland",NA,9315.77086295565,"USDA crop production survey","EPA SIT",1281565,"Decennial Census, Table P1",0.01 -2021,"county","27053","Hennepin","Agriculture","Cropland",NA,9687.50436476516,"USDA crop production survey","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0.01 -2005,"county","27139","Scott","Agriculture","Cropland",NA,31511.7280863868,"USDA crop production survey","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.27 -2006,"county","27139","Scott","Agriculture","Cropland",NA,31146.9302462587,"USDA crop production survey","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.26 -2007,"county","27139","Scott","Agriculture","Cropland",NA,20724.716855601,"USDA crop production survey","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 -2008,"county","27139","Scott","Agriculture","Cropland",NA,21227.0723962718,"USDA crop production survey","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 -2009,"county","27139","Scott","Agriculture","Cropland",NA,26319.8327920543,"USDA crop production survey","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.2 -2010,"county","27139","Scott","Agriculture","Cropland",NA,30635.5748473769,"USDA crop production survey","EPA SIT",90700,"Decennial Census, Table P1",0.34 -2011,"county","27139","Scott","Agriculture","Cropland",NA,21712.6679672682,"USDA crop production survey","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.16 -2012,"county","27139","Scott","Agriculture","Cropland",NA,25558.0640976438,"USDA crop production survey","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.19 -2013,"county","27139","Scott","Agriculture","Cropland",NA,20196.2306780288,"USDA crop production survey","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.15 -2014,"county","27139","Scott","Agriculture","Cropland",NA,19740.4354966771,"USDA crop production survey","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.14 -2015,"county","27139","Scott","Agriculture","Cropland",NA,26589.9767637902,"USDA crop production survey","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.19 -2016,"county","27139","Scott","Agriculture","Cropland",NA,27651.7955687927,"USDA crop production survey","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.19 -2017,"county","27139","Scott","Agriculture","Cropland",NA,26387.1868982895,"USDA crop production survey","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.18 -2018,"county","27139","Scott","Agriculture","Cropland",NA,13.2779575815628,"USDA crop production survey","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0 -2020,"county","27139","Scott","Agriculture","Cropland",NA,30285.5882986116,"USDA crop production survey","EPA SIT",150928,"Decennial Census, Table P1",0.2 -2021,"county","27139","Scott","Agriculture","Cropland",NA,31871.7421939211,"USDA crop production survey","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.21 -2005,"county","27141","Sherburne","Agriculture","Cropland",NA,14441.9582340605,"USDA crop production survey","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 -2006,"county","27141","Sherburne","Agriculture","Cropland",NA,12860.8065860615,"USDA crop production survey","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 -2007,"county","27141","Sherburne","Agriculture","Cropland",NA,9975.46222878301,"USDA crop production survey","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 -2008,"county","27141","Sherburne","Agriculture","Cropland",NA,11182.209121997,"USDA crop production survey","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.13 -2009,"county","27141","Sherburne","Agriculture","Cropland",NA,11063.3588277306,"USDA crop production survey","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.13 -2010,"county","27141","Sherburne","Agriculture","Cropland",NA,12145.297053495,"USDA crop production survey","EPA SIT",62722,"Decennial Census, Table P1",0.19 -2011,"county","27141","Sherburne","Agriculture","Cropland",NA,12554.8608599593,"USDA crop production survey","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.14 -2012,"county","27141","Sherburne","Agriculture","Cropland",NA,8874.45700710481,"USDA crop production survey","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2013,"county","27141","Sherburne","Agriculture","Cropland",NA,8983.83804101781,"USDA crop production survey","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2014,"county","27141","Sherburne","Agriculture","Cropland",NA,2556.82562678243,"USDA crop production survey","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2015,"county","27141","Sherburne","Agriculture","Cropland",NA,2363.62841803705,"USDA crop production survey","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2016,"county","27141","Sherburne","Agriculture","Cropland",NA,3287.17275661065,"USDA crop production survey","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2017,"county","27141","Sherburne","Agriculture","Cropland",NA,2674.22243438134,"USDA crop production survey","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2018,"county","27141","Sherburne","Agriculture","Cropland",NA,724.4749512,"USDA crop production survey","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2019,"county","27141","Sherburne","Agriculture","Cropland",NA,2314.34013578675,"USDA crop production survey","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2020,"county","27141","Sherburne","Agriculture","Cropland",NA,16651.8620023679,"USDA crop production survey","EPA SIT",97183,"Decennial Census, Table P1",0.17 -2021,"county","27141","Sherburne","Agriculture","Cropland",NA,9656.95352441404,"USDA crop production survey","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.1 -2005,"county","27163","Washington","Agriculture","Cropland",NA,32849.5696859857,"USDA crop production survey","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 -2006,"county","27163","Washington","Agriculture","Cropland",NA,34084.3405175288,"USDA crop production survey","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 -2007,"county","27163","Washington","Agriculture","Cropland",NA,26869.8623961553,"USDA crop production survey","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 -2008,"county","27163","Washington","Agriculture","Cropland",NA,21120.6138151781,"USDA crop production survey","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2009,"county","27163","Washington","Agriculture","Cropland",NA,30396.384155705,"USDA crop production survey","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.13 -2010,"county","27163","Washington","Agriculture","Cropland",NA,36451.6761887375,"USDA crop production survey","EPA SIT",174538,"Decennial Census, Table P1",0.21 -2011,"county","27163","Washington","Agriculture","Cropland",NA,32189.4704520084,"USDA crop production survey","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0.13 -2012,"county","27163","Washington","Agriculture","Cropland",NA,24605.0449379601,"USDA crop production survey","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2013,"county","27163","Washington","Agriculture","Cropland",NA,12978.2612639967,"USDA crop production survey","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2014,"county","27163","Washington","Agriculture","Cropland",NA,28613.0168324946,"USDA crop production survey","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0.12 -2015,"county","27163","Washington","Agriculture","Cropland",NA,35009.9228244709,"USDA crop production survey","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0.14 -2016,"county","27163","Washington","Agriculture","Cropland",NA,36826.2964424674,"USDA crop production survey","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0.15 -2017,"county","27163","Washington","Agriculture","Cropland",NA,32653.7831769887,"USDA crop production survey","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0.13 -2018,"county","27163","Washington","Agriculture","Cropland",NA,30140.6700347418,"USDA crop production survey","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0.12 -2019,"county","27163","Washington","Agriculture","Cropland",NA,25309.3802034769,"USDA crop production survey","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2020,"county","27163","Washington","Agriculture","Cropland",NA,28515.9894265849,"USDA crop production survey","EPA SIT",267568,"Decennial Census, Table P1",0.11 -2021,"county","27163","Washington","Agriculture","Cropland",NA,28935.272433867,"USDA crop production survey","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0.11 -2005,"county","55093","Pierce","Agriculture","Cropland",NA,30830.3302178659,"USDA crop production survey","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.78 -2006,"county","55093","Pierce","Agriculture","Cropland",NA,30480.499734404,"USDA crop production survey","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.76 -2007,"county","55093","Pierce","Agriculture","Cropland",NA,24447.9136707078,"USDA crop production survey","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.61 -2008,"county","55093","Pierce","Agriculture","Cropland",NA,23674.3639723773,"USDA crop production survey","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.58 -2009,"county","55093","Pierce","Agriculture","Cropland",NA,32689.7267322956,"USDA crop production survey","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.8 -2010,"county","55093","Pierce","Agriculture","Cropland",NA,36330.2045567337,"USDA crop production survey","EPA SIT",31860,"Decennial Census, Table P1",1.14 -2011,"county","55093","Pierce","Agriculture","Cropland",NA,32711.9608879277,"USDA crop production survey","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.8 -2012,"county","55093","Pierce","Agriculture","Cropland",NA,38805.5915329458,"USDA crop production survey","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.95 -2013,"county","55093","Pierce","Agriculture","Cropland",NA,27349.8314161729,"USDA crop production survey","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.67 -2014,"county","55093","Pierce","Agriculture","Cropland",NA,35738.00584774,"USDA crop production survey","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.87 -2015,"county","55093","Pierce","Agriculture","Cropland",NA,39671.1867672744,"USDA crop production survey","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",0.96 -2016,"county","55093","Pierce","Agriculture","Cropland",NA,48009.4416284964,"USDA crop production survey","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",1.16 -2017,"county","55093","Pierce","Agriculture","Cropland",NA,44482.749952383,"USDA crop production survey","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",1.06 -2018,"county","55093","Pierce","Agriculture","Cropland",NA,43094.7868707161,"USDA crop production survey","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",1.01 -2019,"county","55093","Pierce","Agriculture","Cropland",NA,32371.7235914882,"USDA crop production survey","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.76 -2020,"county","55093","Pierce","Agriculture","Cropland",NA,43334.3084312636,"USDA crop production survey","EPA SIT",42212,"Decennial Census, Table P1",1.03 -2021,"county","55093","Pierce","Agriculture","Cropland",NA,42434.0024266218,"USDA crop production survey","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",1.01 -2005,"county","55109","St. Croix","Agriculture","Cropland",NA,37929.4600832212,"USDA crop production survey","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.49 -2006,"county","55109","St. Croix","Agriculture","Cropland",NA,29928.1572347676,"USDA crop production survey","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.38 -2007,"county","55109","St. Croix","Agriculture","Cropland",NA,22249.0138649554,"USDA crop production survey","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.27 -2008,"county","55109","St. Croix","Agriculture","Cropland",NA,31276.1516591106,"USDA crop production survey","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.38 -2009,"county","55109","St. Croix","Agriculture","Cropland",NA,36582.4795816274,"USDA crop production survey","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.44 -2010,"county","55109","St. Croix","Agriculture","Cropland",NA,44825.141917774,"USDA crop production survey","EPA SIT",61462,"Decennial Census, Table P1",0.73 -2011,"county","55109","St. Croix","Agriculture","Cropland",NA,45362.6139914476,"USDA crop production survey","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.53 -2012,"county","55109","St. Croix","Agriculture","Cropland",NA,42058.6301086141,"USDA crop production survey","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.49 -2013,"county","55109","St. Croix","Agriculture","Cropland",NA,18290.6366599929,"USDA crop production survey","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.21 -2014,"county","55109","St. Croix","Agriculture","Cropland",NA,36069.750219461,"USDA crop production survey","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.42 -2015,"county","55109","St. Croix","Agriculture","Cropland",NA,49861.2581899712,"USDA crop production survey","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.57 -2016,"county","55109","St. Croix","Agriculture","Cropland",NA,54247.2030048942,"USDA crop production survey","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.62 -2017,"county","55109","St. Croix","Agriculture","Cropland",NA,52720.9593369369,"USDA crop production survey","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.59 -2018,"county","55109","St. Croix","Agriculture","Cropland",NA,46678.6353288434,"USDA crop production survey","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.52 -2019,"county","55109","St. Croix","Agriculture","Cropland",NA,42792.6068994962,"USDA crop production survey","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.47 -2020,"county","55109","St. Croix","Agriculture","Cropland",NA,49608.1510651794,"USDA crop production survey","EPA SIT",93536,"Decennial Census, Table P1",0.53 -2021,"county","55109","St. Croix","Agriculture","Cropland",NA,50227.8276487607,"USDA crop production survey","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.54 -2005,"county","27019","Carver","Agriculture","Cropland",NA,19060.7645004735,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.23 -2005,"county","27139","Scott","Agriculture","Cropland",NA,11295.8134465103,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 -2005,"county","27141","Sherburne","Agriculture","Cropland",NA,13548.5221593068,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 -2005,"county","27003","Anoka","Agriculture","Cropland",NA,4032.22258945108,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2005,"county","27025","Chisago","Agriculture","Cropland",NA,8874.18850544742,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 -2005,"county","27053","Hennepin","Agriculture","Cropland",NA,7608.36039612858,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2005,"county","27123","Ramsey","Agriculture","Cropland",NA,20.6490976788531,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","27163","Washington","Agriculture","Cropland",NA,8157.02956862097,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2005,"county","27037","Dakota","Agriculture","Cropland",NA,33933.8461492214,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2005,"county","55093","Pierce","Agriculture","Cropland",NA,15390.5833508971,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.39 -2005,"county","55109","St. Croix","Agriculture","Cropland",NA,17488.609641477,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.23 -2006,"county","27019","Carver","Agriculture","Cropland",NA,19447.5583629448,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.23 -2006,"county","27139","Scott","Agriculture","Cropland",NA,10340.3408892541,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2006,"county","27141","Sherburne","Agriculture","Cropland",NA,13398.1273146318,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 -2006,"county","27003","Anoka","Agriculture","Cropland",NA,3969.37389232062,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","27025","Chisago","Agriculture","Cropland",NA,8599.13889428148,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 -2006,"county","27053","Hennepin","Agriculture","Cropland",NA,7266.26511737628,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","27123","Ramsey","Agriculture","Cropland",NA,26.7306116895409,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27163","Washington","Agriculture","Cropland",NA,7413.28015562739,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2006,"county","27037","Dakota","Agriculture","Cropland",NA,34555.5228638563,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2006,"county","55093","Pierce","Agriculture","Cropland",NA,17076.9635710844,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.43 -2006,"county","55109","St. Croix","Agriculture","Cropland",NA,19478.8014009369,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.24 -2007,"county","27019","Carver","Agriculture","Cropland",NA,23059.2017501863,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.26 -2007,"county","27139","Scott","Agriculture","Cropland",NA,10985.7135810908,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2007,"county","27141","Sherburne","Agriculture","Cropland",NA,15428.5844789963,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 -2007,"county","27003","Anoka","Agriculture","Cropland",NA,4550.83859894817,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","27025","Chisago","Agriculture","Cropland",NA,9706.29632373524,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.19 -2007,"county","27053","Hennepin","Agriculture","Cropland",NA,8081.38242304318,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","27123","Ramsey","Agriculture","Cropland",NA,37.7886953649314,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27163","Washington","Agriculture","Cropland",NA,7811.46317043653,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2007,"county","27037","Dakota","Agriculture","Cropland",NA,40900.8643474861,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 -2007,"county","55093","Pierce","Agriculture","Cropland",NA,19463.8496319675,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.48 -2007,"county","55109","St. Croix","Agriculture","Cropland",NA,22283.3570896197,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.27 -2008,"county","27019","Carver","Agriculture","Cropland",NA,21947.0877684663,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.25 -2008,"county","27139","Scott","Agriculture","Cropland",NA,11165.8150864478,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2008,"county","27141","Sherburne","Agriculture","Cropland",NA,15555.950679898,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 -2008,"county","27003","Anoka","Agriculture","Cropland",NA,4524.25678315108,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","27025","Chisago","Agriculture","Cropland",NA,9407.06963032853,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 -2008,"county","27053","Hennepin","Agriculture","Cropland",NA,7596.64146655573,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","27123","Ramsey","Agriculture","Cropland",NA,39.5152837826237,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27163","Washington","Agriculture","Cropland",NA,8107.7051427787,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2008,"county","27037","Dakota","Agriculture","Cropland",NA,40198.5831063152,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 -2008,"county","55093","Pierce","Agriculture","Cropland",NA,14210.876520932,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.35 -2008,"county","55109","St. Croix","Agriculture","Cropland",NA,16533.3084784078,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.2 -2009,"county","27019","Carver","Agriculture","Cropland",NA,19144.8141786272,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.21 -2009,"county","27139","Scott","Agriculture","Cropland",NA,10414.2687473334,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 -2009,"county","27141","Sherburne","Agriculture","Cropland",NA,14397.2531527075,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 -2009,"county","27003","Anoka","Agriculture","Cropland",NA,4129.76031903661,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","27025","Chisago","Agriculture","Cropland",NA,8366.32606721171,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 -2009,"county","27053","Hennepin","Agriculture","Cropland",NA,6536.47966367282,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","27123","Ramsey","Agriculture","Cropland",NA,37.8400245467605,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27163","Washington","Agriculture","Cropland",NA,7711.5412431245,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 -2009,"county","27037","Dakota","Agriculture","Cropland",NA,36272.1765960309,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2009,"county","55093","Pierce","Agriculture","Cropland",NA,18527.8432670038,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.46 -2009,"county","55109","St. Croix","Agriculture","Cropland",NA,21887.9009786477,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.26 -2010,"county","27019","Carver","Agriculture","Cropland",NA,20709.3124471649,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",63837,"Decennial Census, Table P1",0.32 -2010,"county","27139","Scott","Agriculture","Cropland",NA,12062.1365287319,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90700,"Decennial Census, Table P1",0.13 -2010,"county","27141","Sherburne","Agriculture","Cropland",NA,16551.9176565695,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",62722,"Decennial Census, Table P1",0.26 -2010,"county","27003","Anoka","Agriculture","Cropland",NA,4683.75059966189,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",244813,"Decennial Census, Table P1",0.02 -2010,"county","27025","Chisago","Agriculture","Cropland",NA,9239.58271913631,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40040,"Decennial Census, Table P1",0.23 -2010,"county","27053","Hennepin","Agriculture","Cropland",NA,6964.02212374444,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",891080,"Decennial Census, Table P1",0.01 -2010,"county","27123","Ramsey","Agriculture","Cropland",NA,44.9157724703335,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",390147,"Decennial Census, Table P1",0 -2010,"county","27163","Washington","Agriculture","Cropland",NA,9097.07248230166,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",174538,"Decennial Census, Table P1",0.05 -2010,"county","27037","Dakota","Agriculture","Cropland",NA,40662.1062449971,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",293492,"Decennial Census, Table P1",0.14 -2010,"county","55093","Pierce","Agriculture","Cropland",NA,18721.3988158675,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",31860,"Decennial Census, Table P1",0.59 -2010,"county","55109","St. Croix","Agriculture","Cropland",NA,22440.7364587867,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",61462,"Decennial Census, Table P1",0.37 -2011,"county","27019","Carver","Agriculture","Cropland",NA,20449.9831422337,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2011,"county","27139","Scott","Agriculture","Cropland",NA,12774.410994591,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2011,"county","27141","Sherburne","Agriculture","Cropland",NA,17404.4112282648,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.19 -2011,"county","27003","Anoka","Agriculture","Cropland",NA,4859.6774300542,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2011,"county","27025","Chisago","Agriculture","Cropland",NA,9329.26911127164,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.17 -2011,"county","27053","Hennepin","Agriculture","Cropland",NA,6761.30562522911,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2011,"county","27123","Ramsey","Agriculture","Cropland",NA,48.6692541601654,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",515856,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","27163","Washington","Agriculture","Cropland",NA,9801.5436081425,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2011,"county","27037","Dakota","Agriculture","Cropland",NA,41697.7077680115,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2011,"county","55093","Pierce","Agriculture","Cropland",NA,21588.4452360298,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.53 -2011,"county","55109","St. Croix","Agriculture","Cropland",NA,26238.6978774209,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.31 -2012,"county","27019","Carver","Agriculture","Cropland",NA,21473.4319680096,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.23 -2012,"county","27139","Scott","Agriculture","Cropland",NA,14412.8611074377,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2012,"county","27141","Sherburne","Agriculture","Cropland",NA,19501.9218298703,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2012,"county","27003","Anoka","Agriculture","Cropland",NA,5374.36869364307,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2012,"county","27025","Chisago","Agriculture","Cropland",NA,10033.8646054893,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.19 -2012,"county","27053","Hennepin","Agriculture","Cropland",NA,6966.00248809209,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2012,"county","27123","Ramsey","Agriculture","Cropland",NA,56.0998819795728,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",521091,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27163","Washington","Agriculture","Cropland",NA,11239.2106411647,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2012,"county","27037","Dakota","Agriculture","Cropland",NA,45572.3384126632,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2012,"county","55093","Pierce","Agriculture","Cropland",NA,25417.444368398,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.62 -2012,"county","55109","St. Croix","Agriculture","Cropland",NA,31303.9034082501,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.37 -2013,"county","27019","Carver","Agriculture","Cropland",NA,20718.0480881904,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2013,"county","27139","Scott","Agriculture","Cropland",NA,13190.2420410987,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2013,"county","27141","Sherburne","Agriculture","Cropland",NA,18995.1644820923,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.21 -2013,"county","27003","Anoka","Agriculture","Cropland",NA,4919.1966627886,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2013,"county","27025","Chisago","Agriculture","Cropland",NA,10148.7505138603,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.19 -2013,"county","27053","Hennepin","Agriculture","Cropland",NA,6898.83937066817,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2013,"county","27123","Ramsey","Agriculture","Cropland",NA,63.6079577544319,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",527261,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27163","Washington","Agriculture","Cropland",NA,10646.3500300546,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2013,"county","27037","Dakota","Agriculture","Cropland",NA,44079.9476188204,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2013,"county","55093","Pierce","Agriculture","Cropland",NA,24699.8441573668,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.6 -2013,"county","55109","St. Croix","Agriculture","Cropland",NA,29681.1197445603,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.35 -2014,"county","27019","Carver","Agriculture","Cropland",NA,21210.5679763349,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2014,"county","27139","Scott","Agriculture","Cropland",NA,12792.2364893107,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.09 -2014,"county","27141","Sherburne","Agriculture","Cropland",NA,19624.9889188151,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2014,"county","27003","Anoka","Agriculture","Cropland",NA,4771.52547540285,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2014,"county","27025","Chisago","Agriculture","Cropland",NA,10855.2246392611,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.2 -2014,"county","27053","Hennepin","Agriculture","Cropland",NA,7239.72233477064,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2014,"county","27123","Ramsey","Agriculture","Cropland",NA,74.5481047253554,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",532966,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27163","Washington","Agriculture","Cropland",NA,10703.0628580751,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2014,"county","27037","Dakota","Agriculture","Cropland",NA,45237.948303589,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2014,"county","55093","Pierce","Agriculture","Cropland",NA,25922.4572335112,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.63 -2014,"county","55109","St. Croix","Agriculture","Cropland",NA,30381.9807370512,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.35 -2015,"county","27019","Carver","Agriculture","Cropland",NA,21204.8650646698,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2015,"county","27139","Scott","Agriculture","Cropland",NA,12097.568215549,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.09 -2015,"county","27141","Sherburne","Agriculture","Cropland",NA,19792.8781202779,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2015,"county","27003","Anoka","Agriculture","Cropland",NA,4513.19428354319,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2015,"county","27025","Chisago","Agriculture","Cropland",NA,11304.2197460067,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.21 -2015,"county","27053","Hennepin","Agriculture","Cropland",NA,7409.59954095507,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2015,"county","27123","Ramsey","Agriculture","Cropland",NA,83.686566304263,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",536838,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27163","Washington","Agriculture","Cropland",NA,10509.4214275736,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2015,"county","27037","Dakota","Agriculture","Cropland",NA,45332.7473216226,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2015,"county","55093","Pierce","Agriculture","Cropland",NA,24965.8628449743,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",0.61 -2015,"county","55109","St. Croix","Agriculture","Cropland",NA,28527.7418884446,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.33 -2016,"county","27019","Carver","Agriculture","Cropland",NA,21820.2068229281,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2016,"county","27139","Scott","Agriculture","Cropland",NA,11757.2053124501,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2016,"county","27141","Sherburne","Agriculture","Cropland",NA,20540.4595131819,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2016,"county","27003","Anoka","Agriculture","Cropland",NA,4387.0424714939,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2016,"county","27025","Chisago","Agriculture","Cropland",NA,12084.2951093449,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2016,"county","27053","Hennepin","Agriculture","Cropland",NA,7796.48945950748,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2016,"county","27123","Ramsey","Agriculture","Cropland",NA,95.2761094525088,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",541635,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27163","Washington","Agriculture","Cropland",NA,10623.576510948,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2016,"county","27037","Dakota","Agriculture","Cropland",NA,46755.2455041084,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2016,"county","55093","Pierce","Agriculture","Cropland",NA,25305.2074426153,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",0.61 -2016,"county","55109","St. Croix","Agriculture","Cropland",NA,28179.3428903929,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.32 -2017,"county","27019","Carver","Agriculture","Cropland",NA,22124.9302702558,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2017,"county","27139","Scott","Agriculture","Cropland",NA,11239.6318402662,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2017,"county","27141","Sherburne","Agriculture","Cropland",NA,20998.1060090034,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2017,"county","27003","Anoka","Agriculture","Cropland",NA,4194.77937880311,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2017,"county","27025","Chisago","Agriculture","Cropland",NA,12698.7812254428,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.23 -2017,"county","27053","Hennepin","Agriculture","Cropland",NA,8074.84026276422,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2017,"county","27123","Ramsey","Agriculture","Cropland",NA,105.639774492418,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",544919,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27163","Washington","Agriculture","Cropland",NA,10583.7849069592,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2017,"county","27037","Dakota","Agriculture","Cropland",NA,47513.6894066003,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2017,"county","55093","Pierce","Agriculture","Cropland",NA,25422.4430182095,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",0.6 -2017,"county","55109","St. Croix","Agriculture","Cropland",NA,27577.1465815337,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.31 -2018,"county","27019","Carver","Agriculture","Cropland",NA,22154.827083747,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.21 -2018,"county","27139","Scott","Agriculture","Cropland",NA,11198.7259830585,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2018,"county","27141","Sherburne","Agriculture","Cropland",NA,19907.6678748153,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.21 -2018,"county","27003","Anoka","Agriculture","Cropland",NA,4146.64650551423,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2018,"county","27025","Chisago","Agriculture","Cropland",NA,12257.3073283598,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.22 -2018,"county","27053","Hennepin","Agriculture","Cropland",NA,6993.41759773425,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2018,"county","27123","Ramsey","Agriculture","Cropland",NA,118.850186806523,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",548900,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27163","Washington","Agriculture","Cropland",NA,9806.74452514938,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2018,"county","27037","Dakota","Agriculture","Cropland",NA,46019.3351210344,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.11 -2018,"county","55093","Pierce","Agriculture","Cropland",NA,24782.3285758255,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",0.58 -2018,"county","55109","St. Croix","Agriculture","Cropland",NA,27724.5071640338,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.31 -2019,"county","27019","Carver","Agriculture","Cropland",NA,22184.7238972381,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.21 -2019,"county","27139","Scott","Agriculture","Cropland",NA,11157.8201258507,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2019,"county","27141","Sherburne","Agriculture","Cropland",NA,18817.2297406272,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.19 -2019,"county","27003","Anoka","Agriculture","Cropland",NA,4098.51363222535,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2019,"county","27025","Chisago","Agriculture","Cropland",NA,11815.8334312769,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.21 -2019,"county","27053","Hennepin","Agriculture","Cropland",NA,5911.99493270428,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27123","Ramsey","Agriculture","Cropland",NA,132.060599120629,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",549632,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27163","Washington","Agriculture","Cropland",NA,9029.70414333962,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2019,"county","27037","Dakota","Agriculture","Cropland",NA,44524.9808354685,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.1 -2019,"county","55093","Pierce","Agriculture","Cropland",NA,24142.2141334416,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.56 -2019,"county","55109","St. Croix","Agriculture","Cropland",NA,27871.8677465338,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.31 -2020,"county","27019","Carver","Agriculture","Cropland",NA,22214.6207107292,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",106922,"Decennial Census, Table P1",0.21 -2020,"county","27139","Scott","Agriculture","Cropland",NA,11116.9142686429,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",150928,"Decennial Census, Table P1",0.07 -2020,"county","27141","Sherburne","Agriculture","Cropland",NA,17726.7916064391,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",97183,"Decennial Census, Table P1",0.18 -2020,"county","27003","Anoka","Agriculture","Cropland",NA,4050.38075893647,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",363887,"Decennial Census, Table P1",0.01 -2020,"county","27025","Chisago","Agriculture","Cropland",NA,11374.359534194,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",56621,"Decennial Census, Table P1",0.2 -2020,"county","27053","Hennepin","Agriculture","Cropland",NA,4830.57226767432,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1281565,"Decennial Census, Table P1",0 -2020,"county","27123","Ramsey","Agriculture","Cropland",NA,145.271011434734,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",552352,"Decennial Census, Table P1",0 -2020,"county","27163","Washington","Agriculture","Cropland",NA,8252.66376152985,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",267568,"Decennial Census, Table P1",0.03 -2020,"county","27037","Dakota","Agriculture","Cropland",NA,43030.6265499026,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",439882,"Decennial Census, Table P1",0.1 -2020,"county","55093","Pierce","Agriculture","Cropland",NA,23502.0996910576,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42212,"Decennial Census, Table P1",0.56 -2020,"county","55109","St. Croix","Agriculture","Cropland",NA,28019.2283290338,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",93536,"Decennial Census, Table P1",0.3 -2021,"county","27019","Carver","Agriculture","Cropland",NA,22244.5175242204,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.21 -2021,"county","27139","Scott","Agriculture","Cropland",NA,11076.0084114352,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.07 -2021,"county","27141","Sherburne","Agriculture","Cropland",NA,16636.353472251,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.17 -2021,"county","27003","Anoka","Agriculture","Cropland",NA,4002.24788564759,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0.01 -2021,"county","27025","Chisago","Agriculture","Cropland",NA,10932.885637111,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.19 -2021,"county","27053","Hennepin","Agriculture","Cropland",NA,3749.14960264435,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27123","Ramsey","Agriculture","Cropland",NA,158.481423748839,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",549377,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27163","Washington","Agriculture","Cropland",NA,7475.62337972008,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0.03 -2021,"county","27037","Dakota","Agriculture","Cropland",NA,41536.2722643367,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.1 -2021,"county","55093","Pierce","Agriculture","Cropland",NA,22861.9852486736,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",0.54 -2021,"county","55109","St. Croix","Agriculture","Cropland",NA,28166.5889115338,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.3 -2005,"county","27019","Carver","Agriculture","Cropland",NA,4298.15043597535,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 -2005,"county","27139","Scott","Agriculture","Cropland",NA,2547.17514025256,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 -2005,"county","27141","Sherburne","Agriculture","Cropland",NA,3055.15481419434,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2005,"county","27003","Anoka","Agriculture","Cropland",NA,909.255202243766,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","27025","Chisago","Agriculture","Cropland",NA,2001.10531729558,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2005,"county","27053","Hennepin","Agriculture","Cropland",NA,1715.66452924096,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","27123","Ramsey","Agriculture","Cropland",NA,4.65631523796725,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2005,"county","27163","Washington","Agriculture","Cropland",NA,1839.38793198778,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2005,"county","27037","Dakota","Agriculture","Cropland",NA,7651.98980434248,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 -2005,"county","55093","Pierce","Agriculture","Cropland",NA,3470.53459151284,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 -2005,"county","55109","St. Croix","Agriculture","Cropland",NA,3943.63380090288,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 -2006,"county","27019","Carver","Agriculture","Cropland",NA,4383.29102884985,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 -2006,"county","27139","Scott","Agriculture","Cropland",NA,2330.61254319092,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 -2006,"county","27141","Sherburne","Agriculture","Cropland",NA,3019.80794532611,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2006,"county","27003","Anoka","Agriculture","Cropland",NA,894.658375496204,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27025","Chisago","Agriculture","Cropland",NA,1938.16250182629,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2006,"county","27053","Hennepin","Agriculture","Cropland",NA,1637.7456803486,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27123","Ramsey","Agriculture","Cropland",NA,6.02482060872405,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2006,"county","27163","Washington","Agriculture","Cropland",NA,1670.88144403912,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2006,"county","27037","Dakota","Agriculture","Cropland",NA,7788.47969187542,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 -2006,"county","55093","Pierce","Agriculture","Cropland",NA,3848.98195568628,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 -2006,"county","55109","St. Croix","Agriculture","Cropland",NA,4390.33290658015,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2007,"county","27019","Carver","Agriculture","Cropland",NA,5199.93106905878,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2007,"county","27139","Scott","Agriculture","Cropland",NA,2477.31703746567,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 -2007,"county","27141","Sherburne","Agriculture","Cropland",NA,3479.20004573803,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2007,"county","27003","Anoka","Agriculture","Cropland",NA,1026.23010446367,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27025","Chisago","Agriculture","Cropland",NA,2188.80394759866,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2007,"county","27053","Hennepin","Agriculture","Cropland",NA,1822.38014991946,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27123","Ramsey","Agriculture","Cropland",NA,8.52148366695808,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2007,"county","27163","Washington","Agriculture","Cropland",NA,1761.51240944119,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2007,"county","27037","Dakota","Agriculture","Cropland",NA,9223.28871467256,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 -2007,"county","55093","Pierce","Agriculture","Cropland",NA,4389.16652541703,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.11 -2007,"county","55109","St. Croix","Agriculture","Cropland",NA,5024.97537029043,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2008,"county","27019","Carver","Agriculture","Cropland",NA,4946.72797856905,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2008,"county","27139","Scott","Agriculture","Cropland",NA,2516.70064267116,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 -2008,"county","27141","Sherburne","Agriculture","Cropland",NA,3506.20807978249,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2008,"county","27003","Anoka","Agriculture","Cropland",NA,1019.7374634643,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27025","Chisago","Agriculture","Cropland",NA,2120.2910849773,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2008,"county","27053","Hennepin","Agriculture","Cropland",NA,1712.23258785897,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27123","Ramsey","Agriculture","Cropland",NA,8.9064828067738,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2008,"county","27163","Washington","Agriculture","Cropland",NA,1827.42294990942,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2008,"county","27037","Dakota","Agriculture","Cropland",NA,9060.49394109379,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 -2008,"county","55093","Pierce","Agriculture","Cropland",NA,3203.03728803089,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 -2008,"county","55109","St. Croix","Agriculture","Cropland",NA,3726.4980434426,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2009,"county","27019","Carver","Agriculture","Cropland",NA,4317.81637465657,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 -2009,"county","27139","Scott","Agriculture","Cropland",NA,2348.77704780808,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 -2009,"county","27141","Sherburne","Agriculture","Cropland",NA,3247.07750270229,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2009,"county","27003","Anoka","Agriculture","Cropland",NA,931.403489350653,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27025","Chisago","Agriculture","Cropland",NA,1886.89528932859,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 -2009,"county","27053","Hennepin","Agriculture","Cropland",NA,1474.20176874446,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27123","Ramsey","Agriculture","Cropland",NA,8.53423157210946,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 -2009,"county","27163","Washington","Agriculture","Cropland",NA,1739.2187118,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 -2009,"county","27037","Dakota","Agriculture","Cropland",NA,8180.62774542988,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 -2009,"county","55093","Pierce","Agriculture","Cropland",NA,4178.66813952413,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 -2009,"county","55109","St. Croix","Agriculture","Cropland",NA,4936.47712485885,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 -2010,"county","27019","Carver","Agriculture","Cropland",NA,4667.52739631614,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",63837,"Decennial Census, Table P1",0.07 -2010,"county","27139","Scott","Agriculture","Cropland",NA,2718.60076714759,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90700,"Decennial Census, Table P1",0.03 -2010,"county","27141","Sherburne","Agriculture","Cropland",NA,3730.52120009824,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",62722,"Decennial Census, Table P1",0.06 -2010,"county","27003","Anoka","Agriculture","Cropland",NA,1055.6378584373,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",244813,"Decennial Census, Table P1",0 -2010,"county","27025","Chisago","Agriculture","Cropland",NA,2082.4450634044,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40040,"Decennial Census, Table P1",0.05 -2010,"county","27053","Hennepin","Agriculture","Cropland",NA,1569.57234259019,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",891080,"Decennial Census, Table P1",0 -2010,"county","27123","Ramsey","Agriculture","Cropland",NA,10.1232524772055,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",390147,"Decennial Census, Table P1",0 -2010,"county","27163","Washington","Agriculture","Cropland",NA,2050.3256757435,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",174538,"Decennial Census, Table P1",0.01 -2010,"county","27037","Dakota","Agriculture","Cropland",NA,9164.54833421686,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",293492,"Decennial Census, Table P1",0.03 -2010,"county","55093","Pierce","Agriculture","Cropland",NA,4219.48541716964,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",31860,"Decennial Census, Table P1",0.13 -2010,"county","55109","St. Croix","Agriculture","Cropland",NA,5057.76097019757,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",61462,"Decennial Census, Table P1",0.08 -2011,"county","27019","Carver","Agriculture","Cropland",NA,4608.46868570709,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2011,"county","27139","Scott","Agriculture","Cropland",NA,2878.75411130998,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2011,"county","27141","Sherburne","Agriculture","Cropland",NA,3922.13937687709,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2011,"county","27003","Anoka","Agriculture","Cropland",NA,1095.14375162444,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","27025","Chisago","Agriculture","Cropland",NA,2102.3804401598,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2011,"county","27053","Hennepin","Agriculture","Cropland",NA,1523.68170827549,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","27123","Ramsey","Agriculture","Cropland",NA,10.9677710829322,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",515856,"US Census County Intercensal Tables (CO-EST2020)",0 -2011,"county","27163","Washington","Agriculture","Cropland",NA,2208.80899879233,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2011,"county","27037","Dakota","Agriculture","Cropland",NA,9396.71094974099,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2011,"county","55093","Pierce","Agriculture","Cropland",NA,4865.02473627364,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.12 -2011,"county","55109","St. Croix","Agriculture","Cropland",NA,5912.97394627659,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2012,"county","27019","Carver","Agriculture","Cropland",NA,4839.59234380916,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2012,"county","27139","Scott","Agriculture","Cropland",NA,3248.31039453101,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2012,"county","27141","Sherburne","Agriculture","Cropland",NA,4395.26162925476,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2012,"county","27003","Anoka","Agriculture","Cropland",NA,1211.25275276496,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27025","Chisago","Agriculture","Cropland",NA,2261.39046594352,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2012,"county","27053","Hennepin","Agriculture","Cropland",NA,1569.96852475887,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27123","Ramsey","Agriculture","Cropland",NA,12.6435569182146,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",521091,"US Census County Intercensal Tables (CO-EST2020)",0 -2012,"county","27163","Washington","Agriculture","Cropland",NA,2533.04631744345,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2012,"county","27037","Dakota","Agriculture","Cropland",NA,10270.9031513908,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2012,"county","55093","Pierce","Agriculture","Cropland",NA,5728.47737370303,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.14 -2012,"county","55109","St. Croix","Agriculture","Cropland",NA,7055.14290829734,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2013,"county","27019","Carver","Agriculture","Cropland",NA,4674.69096740089,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2013,"county","27139","Scott","Agriculture","Cropland",NA,2976.16382899038,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2013,"county","27141","Sherburne","Agriculture","Cropland",NA,4285.95027150973,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2013,"county","27003","Anoka","Agriculture","Cropland",NA,1109.93681009527,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27025","Chisago","Agriculture","Cropland",NA,2289.90067768936,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2013,"county","27053","Hennepin","Agriculture","Cropland",NA,1556.61102601625,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27123","Ramsey","Agriculture","Cropland",NA,14.3521022976558,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",527261,"US Census County Intercensal Tables (CO-EST2020)",0 -2013,"county","27163","Washington","Agriculture","Cropland",NA,2402.17592455793,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2013,"county","27037","Dakota","Agriculture","Cropland",NA,9945.92406099594,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2013,"county","55093","Pierce","Agriculture","Cropland",NA,5573.11856248023,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.14 -2013,"county","55109","St. Croix","Agriculture","Cropland",NA,6697.06247333839,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2014,"county","27019","Carver","Agriculture","Cropland",NA,4784.45170215466,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2014,"county","27139","Scott","Agriculture","Cropland",NA,2885.53506506445,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2014,"county","27141","Sherburne","Agriculture","Cropland",NA,4426.79383890859,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2014,"county","27003","Anoka","Agriculture","Cropland",NA,1076.30937597411,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27025","Chisago","Agriculture","Cropland",NA,2448.604773834,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2014,"county","27053","Hennepin","Agriculture","Cropland",NA,1633.05866615015,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27123","Ramsey","Agriculture","Cropland",NA,16.8157593395697,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",532966,"US Census County Intercensal Tables (CO-EST2020)",0 -2014,"county","27163","Washington","Agriculture","Cropland",NA,2414.28175646781,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2014,"county","27037","Dakota","Agriculture","Cropland",NA,10204.2896260287,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2014,"county","55093","Pierce","Agriculture","Cropland",NA,5847.30898169636,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.14 -2014,"county","55109","St. Croix","Agriculture","Cropland",NA,6853.2403099435,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.08 -2015,"county","27019","Carver","Agriculture","Cropland",NA,4782.41610992303,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2015,"county","27139","Scott","Agriculture","Cropland",NA,2728.41185022817,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2015,"county","27141","Sherburne","Agriculture","Cropland",NA,4463.96517475949,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2015,"county","27003","Anoka","Agriculture","Cropland",NA,1017.87834928463,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27025","Chisago","Agriculture","Cropland",NA,2549.48486861566,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2015,"county","27053","Hennepin","Agriculture","Cropland",NA,1671.1159493197,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27123","Ramsey","Agriculture","Cropland",NA,18.8741584375596,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",536838,"US Census County Intercensal Tables (CO-EST2020)",0 -2015,"county","27163","Washington","Agriculture","Cropland",NA,2370.2308969152,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2015,"county","27037","Dakota","Agriculture","Cropland",NA,10224.0717135813,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2015,"county","55093","Pierce","Agriculture","Cropland",NA,5630.64864142268,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",0.14 -2015,"county","55109","St. Croix","Agriculture","Cropland",NA,6433.97314582951,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2016,"county","27019","Carver","Agriculture","Cropland",NA,4921.19654209404,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2016,"county","27139","Scott","Agriculture","Cropland",NA,2651.64847418046,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2016,"county","27141","Sherburne","Agriculture","Cropland",NA,4632.5701286698,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2016,"county","27003","Anoka","Agriculture","Cropland",NA,989.426837973406,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27025","Chisago","Agriculture","Cropland",NA,2725.4183147001,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2016,"county","27053","Hennepin","Agriculture","Cropland",NA,1758.3727450413,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27123","Ramsey","Agriculture","Cropland",NA,21.4879934084393,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",541635,"US Census County Intercensal Tables (CO-EST2020)",0 -2016,"county","27163","Washington","Agriculture","Cropland",NA,2395.976739112,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2016,"county","27037","Dakota","Agriculture","Cropland",NA,10544.8932893616,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2016,"county","55093","Pierce","Agriculture","Cropland",NA,5707.1823550598,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",0.14 -2016,"county","55109","St. Croix","Agriculture","Cropland",NA,6355.3973578732,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2017,"county","27019","Carver","Agriculture","Cropland",NA,4989.92201236358,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2017,"county","27139","Scott","Agriculture","Cropland",NA,2534.91810575359,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2017,"county","27141","Sherburne","Agriculture","Cropland",NA,4735.78493185725,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2017,"county","27003","Anoka","Agriculture","Cropland",NA,946.064991103649,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27025","Chisago","Agriculture","Cropland",NA,2864.00577054987,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2017,"county","27053","Hennepin","Agriculture","Cropland",NA,1821.15028980026,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27123","Ramsey","Agriculture","Cropland",NA,23.8253512974686,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",544919,"US Census County Intercensal Tables (CO-EST2020)",0 -2017,"county","27163","Washington","Agriculture","Cropland",NA,2387.00238311514,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2017,"county","27037","Dakota","Agriculture","Cropland",NA,10715.9481075219,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.03 -2017,"county","55093","Pierce","Agriculture","Cropland",NA,5733.62295270889,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",0.14 -2017,"county","55109","St. Croix","Agriculture","Cropland",NA,6219.58167029202,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2018,"county","27019","Carver","Agriculture","Cropland",NA,4996.6647575798,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2018,"county","27139","Scott","Agriculture","Cropland",NA,2525.69244787253,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2018,"county","27141","Sherburne","Agriculture","Cropland",NA,4489.85415682467,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2018,"county","27003","Anoka","Agriculture","Cropland",NA,935.209396034707,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27025","Chisago","Agriculture","Cropland",NA,2764.43843677619,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2018,"county","27053","Hennepin","Agriculture","Cropland",NA,1577.25280876926,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27123","Ramsey","Agriculture","Cropland",NA,26.8047472274604,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",548900,"US Census County Intercensal Tables (CO-EST2020)",0 -2018,"county","27163","Washington","Agriculture","Cropland",NA,2211.75342827885,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2018,"county","27037","Dakota","Agriculture","Cropland",NA,10378.9205439214,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2018,"county","55093","Pierce","Agriculture","Cropland",NA,5589.25544024817,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",0.13 -2018,"county","55109","St. Croix","Agriculture","Cropland",NA,6252.81647851015,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2019,"county","27019","Carver","Agriculture","Cropland",NA,5003.40750279602,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2019,"county","27139","Scott","Agriculture","Cropland",NA,2516.46678999147,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2019,"county","27141","Sherburne","Agriculture","Cropland",NA,4243.92338179209,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.04 -2019,"county","27003","Anoka","Agriculture","Cropland",NA,924.353800965764,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27025","Chisago","Agriculture","Cropland",NA,2664.8711030025,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.05 -2019,"county","27053","Hennepin","Agriculture","Cropland",NA,1333.35532773826,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27123","Ramsey","Agriculture","Cropland",NA,29.7841431574522,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",549632,"US Census County Intercensal Tables (CO-EST2020)",0 -2019,"county","27163","Washington","Agriculture","Cropland",NA,2036.50447344257,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0.01 -2019,"county","27037","Dakota","Agriculture","Cropland",NA,10041.8929803209,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.02 -2019,"county","55093","Pierce","Agriculture","Cropland",NA,5444.88792778745,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.13 -2019,"county","55109","St. Croix","Agriculture","Cropland",NA,6286.05128672829,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.07 -2020,"county","27019","Carver","Agriculture","Cropland",NA,5010.15024801223,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",106922,"Decennial Census, Table P1",0.05 -2020,"county","27139","Scott","Agriculture","Cropland",NA,2507.24113211041,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",150928,"Decennial Census, Table P1",0.02 -2020,"county","27141","Sherburne","Agriculture","Cropland",NA,3997.99260675951,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",97183,"Decennial Census, Table P1",0.04 -2020,"county","27003","Anoka","Agriculture","Cropland",NA,913.498205896822,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",363887,"Decennial Census, Table P1",0 -2020,"county","27025","Chisago","Agriculture","Cropland",NA,2565.30376922881,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",56621,"Decennial Census, Table P1",0.05 -2020,"county","27053","Hennepin","Agriculture","Cropland",NA,1089.45784670726,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1281565,"Decennial Census, Table P1",0 -2020,"county","27123","Ramsey","Agriculture","Cropland",NA,32.763539087444,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",552352,"Decennial Census, Table P1",0 -2020,"county","27163","Washington","Agriculture","Cropland",NA,1861.25551860629,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",267568,"Decennial Census, Table P1",0.01 -2020,"county","27037","Dakota","Agriculture","Cropland",NA,9704.86541672037,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",439882,"Decennial Census, Table P1",0.02 -2020,"county","55093","Pierce","Agriculture","Cropland",NA,5300.52041532673,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42212,"Decennial Census, Table P1",0.13 -2020,"county","55109","St. Croix","Agriculture","Cropland",NA,6319.28609494642,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",93536,"Decennial Census, Table P1",0.07 -2021,"county","27019","Carver","Agriculture","Cropland",NA,5016.89299322845,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.05 -2021,"county","27139","Scott","Agriculture","Cropland",NA,2498.01547422936,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","27141","Sherburne","Agriculture","Cropland",NA,3752.06183172693,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.04 -2021,"county","27003","Anoka","Agriculture","Cropland",NA,902.64261082788,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27025","Chisago","Agriculture","Cropland",NA,2465.73643545513,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.04 -2021,"county","27053","Hennepin","Agriculture","Cropland",NA,845.560365676257,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27123","Ramsey","Agriculture","Cropland",NA,35.7429350174358,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",549377,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27163","Washington","Agriculture","Cropland",NA,1686.00656377001,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0.01 -2021,"county","27037","Dakota","Agriculture","Cropland",NA,9367.83785311987,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.02 -2021,"county","55093","Pierce","Agriculture","Cropland",NA,5156.15290286602,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",0.12 -2021,"county","55109","St. Croix","Agriculture","Cropland",NA,6352.52090316456,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.07 -2021,"county","27003","Anoka","Nature","Sequestration","Grassland",-34489.6009911476,"ESA WorldCover & NLCD 2021","Various primary literature",360773,"ACS 5-Year Estimates, Table DP05",-0.1 -2021,"county","27003","Anoka","Nature","Sequestration","Tree",-118249.878032248,"ESA WorldCover & NLCD 2021","Various primary literature",360773,"ACS 5-Year Estimates, Table DP05",-0.33 -2021,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-29334.5577542091,"ESA WorldCover & NLCD 2021","Various primary literature",360773,"ACS 5-Year Estimates, Table DP05",-0.08 -2021,"county","27003","Anoka","Nature","Sequestration","Urban tree",-73118.7991063042,"ESA WorldCover & NLCD 2021","Various primary literature",360773,"ACS 5-Year Estimates, Table DP05",-0.2 -2021,"county","27003","Anoka","Nature","Sequestration","Wetland",-26306.630849473,"ESA WorldCover & NLCD 2021","Various primary literature",360773,"ACS 5-Year Estimates, Table DP05",-0.07 -2021,"county","27019","Carver","Nature","Sequestration","Grassland",-18303.0688668415,"ESA WorldCover & NLCD 2021","Various primary literature",105694,"ACS 5-Year Estimates, Table DP05",-0.17 -2021,"county","27019","Carver","Nature","Sequestration","Tree",-57344.4999965799,"ESA WorldCover & NLCD 2021","Various primary literature",105694,"ACS 5-Year Estimates, Table DP05",-0.54 -2021,"county","27019","Carver","Nature","Sequestration","Urban grassland",-11815.493538909,"ESA WorldCover & NLCD 2021","Various primary literature",105694,"ACS 5-Year Estimates, Table DP05",-0.11 -2021,"county","27019","Carver","Nature","Sequestration","Urban tree",-19934.1613854225,"ESA WorldCover & NLCD 2021","Various primary literature",105694,"ACS 5-Year Estimates, Table DP05",-0.19 -2021,"county","27019","Carver","Nature","Sequestration","Wetland",-7098.11128320861,"ESA WorldCover & NLCD 2021","Various primary literature",105694,"ACS 5-Year Estimates, Table DP05",-0.07 -2021,"county","27025","Chisago","Nature","Sequestration","Grassland",-32048.0036716751,"ESA WorldCover & NLCD 2021","Various primary literature",56328,"ACS 5-Year Estimates, Table DP05",-0.57 -2021,"county","27025","Chisago","Nature","Sequestration","Tree",-141553.221162176,"ESA WorldCover & NLCD 2021","Various primary literature",56328,"ACS 5-Year Estimates, Table DP05",-2.51 -2021,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-12250.7640086741,"ESA WorldCover & NLCD 2021","Various primary literature",56328,"ACS 5-Year Estimates, Table DP05",-0.22 -2021,"county","27025","Chisago","Nature","Sequestration","Urban tree",-20639.1485818241,"ESA WorldCover & NLCD 2021","Various primary literature",56328,"ACS 5-Year Estimates, Table DP05",-0.37 -2021,"county","27025","Chisago","Nature","Sequestration","Wetland",-14396.9996883883,"ESA WorldCover & NLCD 2021","Various primary literature",56328,"ACS 5-Year Estimates, Table DP05",-0.26 -2021,"county","27037","Dakota","Nature","Sequestration","Grassland",-18271.9303353252,"ESA WorldCover & NLCD 2021","Various primary literature",435863,"ACS 5-Year Estimates, Table DP05",-0.04 -2021,"county","27037","Dakota","Nature","Sequestration","Tree",-78256.7806503538,"ESA WorldCover & NLCD 2021","Various primary literature",435863,"ACS 5-Year Estimates, Table DP05",-0.18 -2021,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-28670.524425565,"ESA WorldCover & NLCD 2021","Various primary literature",435863,"ACS 5-Year Estimates, Table DP05",-0.07 -2021,"county","27037","Dakota","Nature","Sequestration","Urban tree",-79628.436923987,"ESA WorldCover & NLCD 2021","Various primary literature",435863,"ACS 5-Year Estimates, Table DP05",-0.18 -2021,"county","27037","Dakota","Nature","Sequestration","Wetland",-4737.2185542491,"ESA WorldCover & NLCD 2021","Various primary literature",435863,"ACS 5-Year Estimates, Table DP05",-0.01 -2021,"county","27053","Hennepin","Nature","Sequestration","Grassland",-22112.4007667059,"ESA WorldCover & NLCD 2021","Various primary literature",1270283,"ACS 5-Year Estimates, Table DP05",-0.02 -2021,"county","27053","Hennepin","Nature","Sequestration","Tree",-78210.3910894837,"ESA WorldCover & NLCD 2021","Various primary literature",1270283,"ACS 5-Year Estimates, Table DP05",-0.06 -2021,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-43910.5147126484,"ESA WorldCover & NLCD 2021","Various primary literature",1270283,"ACS 5-Year Estimates, Table DP05",-0.03 -2021,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-181312.265626723,"ESA WorldCover & NLCD 2021","Various primary literature",1270283,"ACS 5-Year Estimates, Table DP05",-0.14 -2021,"county","27053","Hennepin","Nature","Sequestration","Wetland",-19082.1973219573,"ESA WorldCover & NLCD 2021","Various primary literature",1270283,"ACS 5-Year Estimates, Table DP05",-0.02 -2021,"county","55093","Pierce","Nature","Sequestration","Grassland",-24866.021441582,"ESA WorldCover & NLCD 2021","Various primary literature",42204,"ACS 5-Year Estimates, Table DP05",-0.59 -2021,"county","55093","Pierce","Nature","Sequestration","Tree",-183298.900287845,"ESA WorldCover & NLCD 2021","Various primary literature",42204,"ACS 5-Year Estimates, Table DP05",-4.34 -2021,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-10216.4788732948,"ESA WorldCover & NLCD 2021","Various primary literature",42204,"ACS 5-Year Estimates, Table DP05",-0.24 -2021,"county","55093","Pierce","Nature","Sequestration","Urban tree",-17883.0096977736,"ESA WorldCover & NLCD 2021","Various primary literature",42204,"ACS 5-Year Estimates, Table DP05",-0.42 -2021,"county","55093","Pierce","Nature","Sequestration","Wetland",-3845.3269340855,"ESA WorldCover & NLCD 2021","Various primary literature",42204,"ACS 5-Year Estimates, Table DP05",-0.09 -2021,"county","27123","Ramsey","Nature","Sequestration","Grassland",-2482.16762750472,"ESA WorldCover & NLCD 2021","Various primary literature",549377,"ACS 5-Year Estimates, Table DP05",0 -2021,"county","27123","Ramsey","Nature","Sequestration","Tree",-14106.3494898179,"ESA WorldCover & NLCD 2021","Various primary literature",549377,"ACS 5-Year Estimates, Table DP05",-0.03 -2021,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-13487.2947618979,"ESA WorldCover & NLCD 2021","Various primary literature",549377,"ACS 5-Year Estimates, Table DP05",-0.02 -2021,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-71514.3859790958,"ESA WorldCover & NLCD 2021","Various primary literature",549377,"ACS 5-Year Estimates, Table DP05",-0.13 -2021,"county","27123","Ramsey","Nature","Sequestration","Wetland",-3419.68735269416,"ESA WorldCover & NLCD 2021","Various primary literature",549377,"ACS 5-Year Estimates, Table DP05",-0.01 -2021,"county","27139","Scott","Nature","Sequestration","Grassland",-21921.9006583303,"ESA WorldCover & NLCD 2021","Various primary literature",149568,"ACS 5-Year Estimates, Table DP05",-0.15 -2021,"county","27139","Scott","Nature","Sequestration","Tree",-71797.8080060375,"ESA WorldCover & NLCD 2021","Various primary literature",149568,"ACS 5-Year Estimates, Table DP05",-0.48 -2021,"county","27139","Scott","Nature","Sequestration","Urban grassland",-17359.9254581213,"ESA WorldCover & NLCD 2021","Various primary literature",149568,"ACS 5-Year Estimates, Table DP05",-0.12 -2021,"county","27139","Scott","Nature","Sequestration","Urban tree",-24820.7089982919,"ESA WorldCover & NLCD 2021","Various primary literature",149568,"ACS 5-Year Estimates, Table DP05",-0.17 -2021,"county","27139","Scott","Nature","Sequestration","Wetland",-6538.20980190031,"ESA WorldCover & NLCD 2021","Various primary literature",149568,"ACS 5-Year Estimates, Table DP05",-0.04 -2021,"county","27141","Sherburne","Nature","Sequestration","Grassland",-34658.094298833,"ESA WorldCover & NLCD 2021","Various primary literature",96295,"ACS 5-Year Estimates, Table DP05",-0.36 -2021,"county","27141","Sherburne","Nature","Sequestration","Tree",-130286.821683771,"ESA WorldCover & NLCD 2021","Various primary literature",96295,"ACS 5-Year Estimates, Table DP05",-1.35 -2021,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-14251.2765237245,"ESA WorldCover & NLCD 2021","Various primary literature",96295,"ACS 5-Year Estimates, Table DP05",-0.15 -2021,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-25413.7676938118,"ESA WorldCover & NLCD 2021","Various primary literature",96295,"ACS 5-Year Estimates, Table DP05",-0.26 -2021,"county","27141","Sherburne","Nature","Sequestration","Wetland",-17694.3500764328,"ESA WorldCover & NLCD 2021","Various primary literature",96295,"ACS 5-Year Estimates, Table DP05",-0.18 -2021,"county","55109","St. Croix","Nature","Sequestration","Grassland",-46894.1219913274,"ESA WorldCover & NLCD 2021","Various primary literature",92495,"ACS 5-Year Estimates, Table DP05",-0.51 -2021,"county","55109","St. Croix","Nature","Sequestration","Tree",-178860.672929003,"ESA WorldCover & NLCD 2021","Various primary literature",92495,"ACS 5-Year Estimates, Table DP05",-1.93 -2021,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-22659.3411977724,"ESA WorldCover & NLCD 2021","Various primary literature",92495,"ACS 5-Year Estimates, Table DP05",-0.24 -2021,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-28237.579311675,"ESA WorldCover & NLCD 2021","Various primary literature",92495,"ACS 5-Year Estimates, Table DP05",-0.31 -2021,"county","55109","St. Croix","Nature","Sequestration","Wetland",-3113.53363908091,"ESA WorldCover & NLCD 2021","Various primary literature",92495,"ACS 5-Year Estimates, Table DP05",-0.03 -2021,"county","27163","Washington","Nature","Sequestration","Grassland",-26417.8708417566,"ESA WorldCover & NLCD 2021","Various primary literature",264818,"ACS 5-Year Estimates, Table DP05",-0.1 -2021,"county","27163","Washington","Nature","Sequestration","Tree",-110133.967281653,"ESA WorldCover & NLCD 2021","Various primary literature",264818,"ACS 5-Year Estimates, Table DP05",-0.42 -2021,"county","27163","Washington","Nature","Sequestration","Urban grassland",-24680.6999731557,"ESA WorldCover & NLCD 2021","Various primary literature",264818,"ACS 5-Year Estimates, Table DP05",-0.09 -2021,"county","27163","Washington","Nature","Sequestration","Urban tree",-58559.5970853134,"ESA WorldCover & NLCD 2021","Various primary literature",264818,"ACS 5-Year Estimates, Table DP05",-0.22 -2021,"county","27163","Washington","Nature","Sequestration","Wetland",-9861.14313699487,"ESA WorldCover & NLCD 2021","Various primary literature",264818,"ACS 5-Year Estimates, Table DP05",-0.04 +2021,"county","27037","Dakota","Waste","Solid waste","Waste to energy",5186.81469865838,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",435863,"ACS 5-Year Estimates, Table DP05",0.01 +2021,"county","27053","Hennepin","Waste","Solid waste","Waste to energy",184111.336984416,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1270283,"ACS 5-Year Estimates, Table DP05",0.14 +2021,"county","27123","Ramsey","Waste","Solid waste","Waste to energy",122251.182613128,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",549377,"ACS 5-Year Estimates, Table DP05",0.22 +2021,"county","27139","Scott","Waste","Solid waste","Waste to energy",0.367771030423977,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",149568,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27141","Sherburne","Waste","Solid waste","Waste to energy",2115.46040598806,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",96295,"ACS 5-Year Estimates, Table DP05",0.02 +2021,"county","27163","Washington","Waste","Solid waste","Waste to energy",45216.1584020846,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",264818,"ACS 5-Year Estimates, Table DP05",0.17 +2005,"county","27003","Anoka","Waste","Solid waste","Organics",1161.51558939036,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27019","Carver","Waste","Solid waste","Organics",3565.12003555914,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2005,"county","27025","Chisago","Waste","Solid waste","Organics",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27037","Dakota","Waste","Solid waste","Organics",4917.24294061227,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2005,"county","27053","Hennepin","Waste","Solid waste","Organics",20231.3938966102,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2005,"county","27123","Ramsey","Waste","Solid waste","Organics",8632.96484912215,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2005,"county","27139","Scott","Waste","Solid waste","Organics",229.371501039912,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27141","Sherburne","Waste","Solid waste","Organics",4.7400765538896,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27163","Washington","Waste","Solid waste","Organics",851.667229299071,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27003","Anoka","Waste","Solid waste","Organics",1399.83699768626,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27019","Carver","Waste","Solid waste","Organics",3910.49888473446,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2006,"county","27025","Chisago","Waste","Solid waste","Organics",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27037","Dakota","Waste","Solid waste","Organics",6586.03509557744,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2006,"county","27053","Hennepin","Waste","Solid waste","Organics",21883.0856228551,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2006,"county","27123","Ramsey","Waste","Solid waste","Organics",8731.38169282579,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2006,"county","27139","Scott","Waste","Solid waste","Organics",378.053241284925,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27141","Sherburne","Waste","Solid waste","Organics",201.738461536347,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27163","Washington","Waste","Solid waste","Organics",1092.87285366759,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27003","Anoka","Waste","Solid waste","Organics",1127.04157499588,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27019","Carver","Waste","Solid waste","Organics",4036.64517627835,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2007,"county","27025","Chisago","Waste","Solid waste","Organics",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27037","Dakota","Waste","Solid waste","Organics",5858.11600044712,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27053","Hennepin","Waste","Solid waste","Organics",16235.5655998776,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27123","Ramsey","Waste","Solid waste","Organics",10812.1949597028,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2007,"county","27139","Scott","Waste","Solid waste","Organics",419.376264598368,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27141","Sherburne","Waste","Solid waste","Organics",0,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27163","Washington","Waste","Solid waste","Organics",1047.48461215708,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27003","Anoka","Waste","Solid waste","Organics",1117.4208263971,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27019","Carver","Waste","Solid waste","Organics",3887.36088392903,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2008,"county","27025","Chisago","Waste","Solid waste","Organics",6.24243980063088,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27037","Dakota","Waste","Solid waste","Organics",6349.15177830383,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2008,"county","27053","Hennepin","Waste","Solid waste","Organics",7546.36255435339,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27123","Ramsey","Waste","Solid waste","Organics",11572.6157153394,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2008,"county","27139","Scott","Waste","Solid waste","Organics",378.712031585635,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27141","Sherburne","Waste","Solid waste","Organics",201.935295223754,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27163","Washington","Waste","Solid waste","Organics",1677.14754414492,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27003","Anoka","Waste","Solid waste","Organics",1398.32258339743,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27019","Carver","Waste","Solid waste","Organics",4094.72316510559,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2009,"county","27025","Chisago","Waste","Solid waste","Organics",42.0581368806984,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27037","Dakota","Waste","Solid waste","Organics",5668.93070775053,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27053","Hennepin","Waste","Solid waste","Organics",17221.7425439284,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2009,"county","27123","Ramsey","Waste","Solid waste","Organics",13613.2588419292,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2009,"county","27139","Scott","Waste","Solid waste","Organics",396.909105135737,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27141","Sherburne","Waste","Solid waste","Organics",20.1694274382031,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27163","Washington","Waste","Solid waste","Organics",1763.65795826743,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2010,"county","27003","Anoka","Waste","Solid waste","Organics",1391.67844219393,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",244813,"Decennial Census, Table P1",0.01 +2010,"county","27019","Carver","Waste","Solid waste","Organics",4486.30570963924,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",63837,"Decennial Census, Table P1",0.07 +2010,"county","27025","Chisago","Waste","Solid waste","Organics",60.9381028156824,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",40040,"Decennial Census, Table P1",0 +2010,"county","27037","Dakota","Waste","Solid waste","Organics",5778.84022859033,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",293492,"Decennial Census, Table P1",0.02 +2010,"county","27053","Hennepin","Waste","Solid waste","Organics",20073.8225043196,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",891080,"Decennial Census, Table P1",0.02 +2010,"county","27123","Ramsey","Waste","Solid waste","Organics",15820.6080507108,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",390147,"Decennial Census, Table P1",0.04 +2010,"county","27139","Scott","Waste","Solid waste","Organics",435.215350913611,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",90700,"Decennial Census, Table P1",0 +2010,"county","27141","Sherburne","Waste","Solid waste","Organics",266.139230444786,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",62722,"Decennial Census, Table P1",0 +2010,"county","27163","Washington","Waste","Solid waste","Organics",3382.59374701796,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",174538,"Decennial Census, Table P1",0.02 +2011,"county","27003","Anoka","Waste","Solid waste","Organics",1639.61658207459,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",332921,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27019","Carver","Waste","Solid waste","Organics",4524.63204048726,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",92752,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2011,"county","27025","Chisago","Waste","Solid waste","Organics",74.8691074672834,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53762,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27037","Dakota","Waste","Solid waste","Organics",5732.45175058668,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",401804,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2011,"county","27053","Hennepin","Waste","Solid waste","Organics",18996.4593418169,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1169581,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2011,"county","27123","Ramsey","Waste","Solid waste","Organics",17247.8129649748,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",515856,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2011,"county","27139","Scott","Waste","Solid waste","Organics",488.677790621845,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",132581,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27141","Sherburne","Waste","Solid waste","Organics",42.17864730156,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",89279,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27163","Washington","Waste","Solid waste","Organics",3595.70959738785,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",241428,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27003","Anoka","Waste","Solid waste","Organics",1647.30916393958,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",336119,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27019","Carver","Waste","Solid waste","Organics",4389.93754309025,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",93804,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2012,"county","27025","Chisago","Waste","Solid waste","Organics",1359.34549627676,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53468,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2012,"county","27037","Dakota","Waste","Solid waste","Organics",5507.9247684654,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",404669,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27053","Hennepin","Waste","Solid waste","Organics",19939.6542357603,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1184545,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2012,"county","27123","Ramsey","Waste","Solid waste","Organics",17534.0252145211,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",521091,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2012,"county","27139","Scott","Waste","Solid waste","Organics",378.98117152556,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",135140,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27141","Sherburne","Waste","Solid waste","Organics",67.2327637986866,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",89474,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27163","Washington","Waste","Solid waste","Organics",4547.59730968945,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",243720,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2013,"county","27003","Anoka","Waste","Solid waste","Organics",6171.77650685167,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",339120,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2013,"county","27019","Carver","Waste","Solid waste","Organics",3012.76052154,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",95562,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2013,"county","27025","Chisago","Waste","Solid waste","Organics",1239.19660667775,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53665,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2013,"county","27037","Dakota","Waste","Solid waste","Organics",7196.07089702095,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",407974,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2013,"county","27053","Hennepin","Waste","Solid waste","Organics",18080.5801432687,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1198531,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2013,"county","27123","Ramsey","Waste","Solid waste","Organics",20202.3990893509,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",527261,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2013,"county","27139","Scott","Waste","Solid waste","Organics",593.574077953811,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",137280,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27141","Sherburne","Waste","Solid waste","Organics",280.65671914458,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",90086,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27163","Washington","Waste","Solid waste","Organics",5391.55187205338,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",246002,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2014,"county","27003","Anoka","Waste","Solid waste","Organics",13013.5467665395,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",341923,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2014,"county","27019","Carver","Waste","Solid waste","Organics",6312.52866140399,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",97321,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2014,"county","27025","Chisago","Waste","Solid waste","Organics",103.960323063274,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",53808,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27037","Dakota","Waste","Solid waste","Organics",17608.006561888,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",411821,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2014,"county","27053","Hennepin","Waste","Solid waste","Organics",17186.3928204756,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27123","Ramsey","Waste","Solid waste","Organics",40696.0035766857,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",532966,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2014,"county","27139","Scott","Waste","Solid waste","Organics",4925.46576832906,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",139198,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2014,"county","27141","Sherburne","Waste","Solid waste","Organics",5951.98960128428,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",90908,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2014,"county","27163","Washington","Waste","Solid waste","Organics",10956.4901206284,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",248580,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2015,"county","27003","Anoka","Waste","Solid waste","Organics",13718.0466698824,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",344244,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2015,"county","27019","Carver","Waste","Solid waste","Organics",7301.32469860147,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",98610,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2015,"county","27025","Chisago","Waste","Solid waste","Organics",1159.2700785483,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",54144,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2015,"county","27037","Dakota","Waste","Solid waste","Organics",31987.01673707,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",414245,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2015,"county","27053","Hennepin","Waste","Solid waste","Organics",16754.5638123882,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1222868,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27123","Ramsey","Waste","Solid waste","Organics",50749.5492839384,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",536838,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2015,"county","27139","Scott","Waste","Solid waste","Organics",5459.78487234522,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",141372,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2015,"county","27141","Sherburne","Waste","Solid waste","Organics",7948.6383902315,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",91441,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2015,"county","27163","Washington","Waste","Solid waste","Organics",11309.3004457569,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",250482,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2016,"county","27003","Anoka","Waste","Solid waste","Organics",13144.4733047776,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",346813,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2016,"county","27019","Carver","Waste","Solid waste","Organics",12613.8257515837,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",100389,"US Census County Intercensal Tables (CO-EST2020)",0.13 +2016,"county","27025","Chisago","Waste","Solid waste","Organics",586.082346790248,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",54640,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27037","Dakota","Waste","Solid waste","Organics",33184.7657929994,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",417783,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2016,"county","27053","Hennepin","Waste","Solid waste","Organics",56290.4175844534,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1236183,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2016,"county","27123","Ramsey","Waste","Solid waste","Organics",47143.5963007773,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",541635,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2016,"county","27139","Scott","Waste","Solid waste","Organics",7618.13454400453,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",143393,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2016,"county","27141","Sherburne","Waste","Solid waste","Organics",3586.00047448043,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",93247,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2016,"county","27163","Washington","Waste","Solid waste","Organics",11957.8473606937,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",252655,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2017,"county","27003","Anoka","Waste","Solid waste","Organics",16944.323538091,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",350598,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2017,"county","27019","Carver","Waste","Solid waste","Organics",12181.2094087466,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",102120,"US Census County Intercensal Tables (CO-EST2020)",0.12 +2017,"county","27025","Chisago","Waste","Solid waste","Organics",1969.33309355192,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",55261,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2017,"county","27037","Dakota","Waste","Solid waste","Organics",39177.2027085389,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",421840,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2017,"county","27053","Hennepin","Waste","Solid waste","Organics",52647.3875618072,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2017,"county","27123","Ramsey","Waste","Solid waste","Organics",48350.3876552854,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",544919,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2017,"county","27139","Scott","Waste","Solid waste","Organics",7174.73653551442,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",145581,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2017,"county","27141","Sherburne","Waste","Solid waste","Organics",4232.79597130075,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",94527,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2017,"county","27163","Washington","Waste","Solid waste","Organics",16053.2574351982,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",255717,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2018,"county","27003","Anoka","Waste","Solid waste","Organics",18417.84864112,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",354004,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2018,"county","27019","Carver","Waste","Solid waste","Organics",14748.0974411548,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",103605,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2018,"county","27025","Chisago","Waste","Solid waste","Organics",1608.95873100739,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",55980,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2018,"county","27037","Dakota","Waste","Solid waste","Organics",44154.6205193014,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",425472,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2018,"county","27053","Hennepin","Waste","Solid waste","Organics",53644.4064267215,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1258021,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2018,"county","27123","Ramsey","Waste","Solid waste","Organics",45732.1541495621,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",548900,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2018,"county","27139","Scott","Waste","Solid waste","Organics",8015.98363042299,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",147339,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2018,"county","27141","Sherburne","Waste","Solid waste","Organics",2716.62624734276,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",96067,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2018,"county","27163","Washington","Waste","Solid waste","Organics",17305.0072107157,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",258969,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2019,"county","27003","Anoka","Waste","Solid waste","Organics",19749.7217784544,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",357538,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2019,"county","27019","Carver","Waste","Solid waste","Organics",13485.1803666375,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",105128,"US Census County Intercensal Tables (CO-EST2020)",0.13 +2019,"county","27025","Chisago","Waste","Solid waste","Organics",2010.17809219595,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56543,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2019,"county","27037","Dakota","Waste","Solid waste","Organics",39957.8812659224,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",429453,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2019,"county","27053","Hennepin","Waste","Solid waste","Organics",60200.8280948792,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1265159,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2019,"county","27123","Ramsey","Waste","Solid waste","Organics",45052.4311887484,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",549632,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2019,"county","27139","Scott","Waste","Solid waste","Organics",10270.0908824989,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",149004,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2019,"county","27141","Sherburne","Waste","Solid waste","Organics",3156.73030432933,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",97424,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2019,"county","27163","Washington","Waste","Solid waste","Organics",16928.6290642807,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",262541,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2020,"county","27003","Anoka","Waste","Solid waste","Organics",18390.8824259453,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",363887,"Decennial Census, Table P1",0.05 +2020,"county","27019","Carver","Waste","Solid waste","Organics",11606.5876029803,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",106922,"Decennial Census, Table P1",0.11 +2020,"county","27025","Chisago","Waste","Solid waste","Organics",2718.46603976792,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56621,"Decennial Census, Table P1",0.05 +2020,"county","27037","Dakota","Waste","Solid waste","Organics",51063.2861136095,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",439882,"Decennial Census, Table P1",0.12 +2020,"county","27053","Hennepin","Waste","Solid waste","Organics",78768.8246863647,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1281565,"Decennial Census, Table P1",0.06 +2020,"county","27123","Ramsey","Waste","Solid waste","Organics",35643.7648626243,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",552352,"Decennial Census, Table P1",0.06 +2020,"county","27139","Scott","Waste","Solid waste","Organics",8837.09745101962,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",150928,"Decennial Census, Table P1",0.06 +2020,"county","27141","Sherburne","Waste","Solid waste","Organics",4195.77115299804,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",97183,"Decennial Census, Table P1",0.04 +2020,"county","27163","Washington","Waste","Solid waste","Organics",16277.997319063,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",267568,"Decennial Census, Table P1",0.06 +2021,"county","27003","Anoka","Waste","Solid waste","Organics",17867.8310462797,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",360773,"ACS 5-Year Estimates, Table DP05",0.05 +2021,"county","27019","Carver","Waste","Solid waste","Organics",11364.2210615575,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",105694,"ACS 5-Year Estimates, Table DP05",0.11 +2021,"county","27025","Chisago","Waste","Solid waste","Organics",2893.28247328378,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",56328,"ACS 5-Year Estimates, Table DP05",0.05 +2021,"county","27037","Dakota","Waste","Solid waste","Organics",56090.2859285285,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",435863,"ACS 5-Year Estimates, Table DP05",0.13 +2021,"county","27053","Hennepin","Waste","Solid waste","Organics",65855.2172118458,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",1270283,"ACS 5-Year Estimates, Table DP05",0.05 +2021,"county","27123","Ramsey","Waste","Solid waste","Organics",42591.7208711473,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",549377,"ACS 5-Year Estimates, Table DP05",0.08 +2021,"county","27139","Scott","Waste","Solid waste","Organics",12051.2951580438,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",149568,"ACS 5-Year Estimates, Table DP05",0.08 +2021,"county","27141","Sherburne","Waste","Solid waste","Organics",2677.31574805771,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",96295,"ACS 5-Year Estimates, Table DP05",0.03 +2021,"county","27163","Washington","Waste","Solid waste","Organics",14284.2006100762,"MPCA SCORE","EPA GHG Emission Factors Hub (2021)",264818,"ACS 5-Year Estimates, Table DP05",0.05 +2005,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",3808.49074033124,"USDA livestock census","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2005,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",65544.4076473047,"USDA livestock census","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.79 +2005,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",23398.091215404,"USDA livestock census","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.47 +2005,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",59587.7290019641,"USDA livestock census","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 +2005,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",14672.1415003284,"USDA livestock census","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2005,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",112462.550219735,"USDA livestock census","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",2.86 +2005,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",40285.3205058791,"USDA livestock census","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.34 +2005,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",15382.4961534786,"USDA livestock census","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.19 +2005,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",137734.428438065,"USDA livestock census","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",1.79 +2005,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",14496.3823828067,"USDA livestock census","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.07 +2006,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",4219.88907045142,"USDA livestock census","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",64250.0500686587,"USDA livestock census","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.75 +2006,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",23324.6503976568,"USDA livestock census","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.45 +2006,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",62467.5158883389,"USDA livestock census","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 +2006,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",14671.2982189165,"USDA livestock census","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",113521.308157035,"USDA livestock census","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",2.84 +2006,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",39338.1878015736,"USDA livestock census","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.33 +2006,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",15247.9789227601,"USDA livestock census","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2006,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",138427.519098048,"USDA livestock census","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",1.74 +2006,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",14608.408342499,"USDA livestock census","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2007,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",4640.34310280212,"USDA livestock census","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",63876.2976643363,"USDA livestock census","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.73 +2007,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",23329.4430975699,"USDA livestock census","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.45 +2007,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",67746.9326905712,"USDA livestock census","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 +2007,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",14855.0176991564,"USDA livestock census","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",116668.690510621,"USDA livestock census","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",2.9 +2007,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",38992.4605758958,"USDA livestock census","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 +2007,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",15542.1116895545,"USDA livestock census","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2007,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",141536.537665175,"USDA livestock census","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",1.73 +2007,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",14775.7058797041,"USDA livestock census","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2008,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",4413.93277000863,"USDA livestock census","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",61873.5300445132,"USDA livestock census","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.7 +2008,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",23045.6227373959,"USDA livestock census","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.43 +2008,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",64167.9639681971,"USDA livestock census","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 +2008,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",15235.6695044924,"USDA livestock census","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",115633.712919985,"USDA livestock census","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",2.84 +2008,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",40572.7755727101,"USDA livestock census","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.32 +2008,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",15793.7103431804,"USDA livestock census","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2008,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",137341.004981852,"USDA livestock census","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",1.65 +2008,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",14913.4981345798,"USDA livestock census","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2009,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",4186.54284698542,"USDA livestock census","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",60003.6927510909,"USDA livestock census","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.66 +2009,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",22794.5853312261,"USDA livestock census","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.43 +2009,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",60166.8905587832,"USDA livestock census","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 +2009,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",15620.4297049899,"USDA livestock census","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",115015.381404293,"USDA livestock census","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",2.83 +2009,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",42201.0450535608,"USDA livestock census","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.33 +2009,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",15955.285423899,"USDA livestock census","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2009,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",133745.6976967,"USDA livestock census","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",1.59 +2009,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",15053.6396026811,"USDA livestock census","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2010,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",3952.33324281545,"USDA livestock census","EPA SIT",244813,"Decennial Census, Table P1",0.02 +2010,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",57948.2811301402,"USDA livestock census","EPA SIT",63837,"Decennial Census, Table P1",0.91 +2010,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",22505.6239888473,"USDA livestock census","EPA SIT",40040,"Decennial Census, Table P1",0.56 +2010,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",55827.8752488465,"USDA livestock census","EPA SIT",293492,"Decennial Census, Table P1",0.19 +2010,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",15953.3216528492,"USDA livestock census","EPA SIT",891080,"Decennial Census, Table P1",0.02 +2010,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",114398.744173575,"USDA livestock census","EPA SIT",31860,"Decennial Census, Table P1",3.59 +2010,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",43694.0978739442,"USDA livestock census","EPA SIT",90700,"Decennial Census, Table P1",0.48 +2010,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",16028.7040117057,"USDA livestock census","EPA SIT",62722,"Decennial Census, Table P1",0.26 +2010,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",130126.841061789,"USDA livestock census","EPA SIT",61462,"Decennial Census, Table P1",2.12 +2010,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",15169.5403647215,"USDA livestock census","EPA SIT",174538,"Decennial Census, Table P1",0.09 +2011,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",3715.42914515118,"USDA livestock census","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2011,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",55625.2019279512,"USDA livestock census","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.6 +2011,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",22160.0084293366,"USDA livestock census","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.41 +2011,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",51462.9069994317,"USDA livestock census","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.13 +2011,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",16248.3392747345,"USDA livestock census","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2011,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",113166.918383205,"USDA livestock census","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",2.77 +2011,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",45029.1481947977,"USDA livestock census","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.34 +2011,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",16118.3147574443,"USDA livestock census","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2011,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",125714.435213257,"USDA livestock census","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",1.48 +2011,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",15252.652942561,"USDA livestock census","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2012,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",3491.11155961563,"USDA livestock census","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",53946.2170380014,"USDA livestock census","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.58 +2012,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",21952.0863704396,"USDA livestock census","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.41 +2012,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",47457.1352568963,"USDA livestock census","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.12 +2012,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",16669.3997953278,"USDA livestock census","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",113150.226302683,"USDA livestock census","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",2.78 +2012,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",46783.8639291154,"USDA livestock census","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.35 +2012,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",16261.0881222784,"USDA livestock census","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2012,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",122669.281452536,"USDA livestock census","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",1.44 +2012,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",15430.8220647931,"USDA livestock census","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2013,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",2896.28419918341,"USDA livestock census","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",53492.1514385185,"USDA livestock census","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.56 +2013,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",22002.882461969,"USDA livestock census","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.41 +2013,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",46384.7083589124,"USDA livestock census","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2013,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",15704.8348757192,"USDA livestock census","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",113125.710929689,"USDA livestock census","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",2.77 +2013,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",43762.7606020587,"USDA livestock census","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.32 +2013,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",16047.8790512153,"USDA livestock census","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2013,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",124545.148662162,"USDA livestock census","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",1.45 +2013,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",14844.0778822809,"USDA livestock census","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2014,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",2296.17055958513,"USDA livestock census","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",52872.2118473346,"USDA livestock census","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.54 +2014,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",22008.2240968596,"USDA livestock census","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.41 +2014,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",45209.5080956372,"USDA livestock census","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2014,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",14701.4416837263,"USDA livestock census","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",112657.844027504,"USDA livestock census","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",2.74 +2014,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",40622.2429132301,"USDA livestock census","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.29 +2014,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",15815.8354800664,"USDA livestock census","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2014,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",125928.456420145,"USDA livestock census","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",1.45 +2014,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",14223.5848414279,"USDA livestock census","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2015,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",1701.32682323694,"USDA livestock census","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",52776.2918046272,"USDA livestock census","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.54 +2015,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",22140.4609355482,"USDA livestock census","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.41 +2015,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",44308.981326214,"USDA livestock census","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2015,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",13790.4659786979,"USDA livestock census","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",113363.592810849,"USDA livestock census","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",2.76 +2015,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",37767.7850710792,"USDA livestock census","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2015,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",15635.951390127,"USDA livestock census","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2015,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",128773.945861299,"USDA livestock census","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",1.48 +2015,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",13677.6189660816,"USDA livestock census","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2016,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",1101.28651985777,"USDA livestock census","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",52498.5570030196,"USDA livestock census","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.52 +2016,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",22239.7982710225,"USDA livestock census","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.41 +2016,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",43297.1104766612,"USDA livestock census","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2016,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",12837.8700753893,"USDA livestock census","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",114247.729786815,"USDA livestock census","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",2.75 +2016,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",34773.4854568714,"USDA livestock census","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.24 +2016,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",15441.8699630711,"USDA livestock census","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2016,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",131944.922216817,"USDA livestock census","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",1.51 +2016,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",13101.8168299708,"USDA livestock census","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2017,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",497.489273252687,"USDA livestock census","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",52357.5775221479,"USDA livestock census","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.51 +2017,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",22373.120886328,"USDA livestock census","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.4 +2017,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",42333.5036924174,"USDA livestock census","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2017,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",11895.452603471,"USDA livestock census","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",114134.276430843,"USDA livestock census","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",2.71 +2017,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",31802.0727236437,"USDA livestock census","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2017,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",15260.8539694467,"USDA livestock census","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2017,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",133910.199157556,"USDA livestock census","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",1.51 +2017,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",12534.1546160431,"USDA livestock census","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2018,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",655.936839920012,"USDA livestock census","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",51475.1012313351,"USDA livestock census","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.5 +2018,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",20660.0130662498,"USDA livestock census","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.37 +2018,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",46239.9914560975,"USDA livestock census","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2018,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",10897.8887811295,"USDA livestock census","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",111001.85438187,"USDA livestock census","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",2.61 +2018,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",30202.3161698067,"USDA livestock census","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.2 +2018,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",15876.3347469863,"USDA livestock census","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2018,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",128339.286666612,"USDA livestock census","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",1.43 +2018,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",11028.0655815043,"USDA livestock census","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2019,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",814.675150153293,"USDA livestock census","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",50613.5731906501,"USDA livestock census","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.48 +2019,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",18945.0526085981,"USDA livestock census","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.34 +2019,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",50190.009747298,"USDA livestock census","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.12 +2019,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",9895.59253399057,"USDA livestock census","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2019,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",107505.698592571,"USDA livestock census","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",2.51 +2019,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",28604.8828812427,"USDA livestock census","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2019,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",16483.987674317,"USDA livestock census","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2019,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",122292.341144515,"USDA livestock census","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",1.35 +2019,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",9515.85838874917,"USDA livestock census","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2020,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",973.704207517516,"USDA livestock census","EPA SIT",363887,"Decennial Census, Table P1",0 +2020,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",49866.4323911399,"USDA livestock census","EPA SIT",106922,"Decennial Census, Table P1",0.47 +2020,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",17251.497338389,"USDA livestock census","EPA SIT",56621,"Decennial Census, Table P1",0.3 +2020,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",54259.4032861949,"USDA livestock census","EPA SIT",439882,"Decennial Census, Table P1",0.12 +2020,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",8899.1437277553,"USDA livestock census","EPA SIT",1281565,"Decennial Census, Table P1",0.01 +2020,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",104208.312411937,"USDA livestock census","EPA SIT",42212,"Decennial Census, Table P1",2.47 +2020,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",27050.1602374621,"USDA livestock census","EPA SIT",150928,"Decennial Census, Table P1",0.18 +2020,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",17090.4990535759,"USDA livestock census","EPA SIT",97183,"Decennial Census, Table P1",0.18 +2020,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",116512.357690484,"USDA livestock census","EPA SIT",93536,"Decennial Census, Table P1",1.25 +2020,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",8006.63602882661,"USDA livestock census","EPA SIT",267568,"Decennial Census, Table P1",0.03 +2021,"county","27003","Anoka","Agriculture","Livestock","Enteric fermentation",1132.44251893912,"USDA livestock census","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27019","Carver","Agriculture","Livestock","Enteric fermentation",48683.1057481602,"USDA livestock census","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.46 +2021,"county","27025","Chisago","Agriculture","Livestock","Enteric fermentation",15460.0531010328,"USDA livestock census","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.27 +2021,"county","27037","Dakota","Agriculture","Livestock","Enteric fermentation",58065.9326241835,"USDA livestock census","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.13 +2021,"county","27053","Hennepin","Agriculture","Livestock","Enteric fermentation",7847.94869243792,"USDA livestock census","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0.01 +2021,"county","55093","Pierce","Agriculture","Livestock","Enteric fermentation",100430.495807821,"USDA livestock census","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",2.38 +2021,"county","27139","Scott","Agriculture","Livestock","Enteric fermentation",25310.1827159449,"USDA livestock census","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.17 +2021,"county","27141","Sherburne","Agriculture","Livestock","Enteric fermentation",17667.2118801568,"USDA livestock census","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.18 +2021,"county","55109","St. Croix","Agriculture","Livestock","Enteric fermentation",110090.878437783,"USDA livestock census","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",1.19 +2021,"county","27163","Washington","Agriculture","Livestock","Enteric fermentation",6454.56127366888,"USDA livestock census","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0.02 +2005,"county","27003","Anoka","Agriculture","Livestock","Manure management",921.608961029684,"USDA livestock census","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27019","Carver","Agriculture","Livestock","Manure management",26171.2585924586,"USDA livestock census","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 +2005,"county","27025","Chisago","Agriculture","Livestock","Manure management",4688.84542612223,"USDA livestock census","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2005,"county","27037","Dakota","Agriculture","Livestock","Manure management",15565.2767216727,"USDA livestock census","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2005,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3062.16183892561,"USDA livestock census","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","55093","Pierce","Agriculture","Livestock","Manure management",29160.5298246932,"USDA livestock census","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.74 +2005,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27139","Scott","Agriculture","Livestock","Manure management",14706.4532300523,"USDA livestock census","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.13 +2005,"county","27141","Sherburne","Agriculture","Livestock","Manure management",3374.94832973304,"USDA livestock census","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2005,"county","55109","St. Croix","Agriculture","Livestock","Manure management",39798.589670487,"USDA livestock census","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.52 +2005,"county","27163","Washington","Agriculture","Livestock","Manure management",1597.94634204421,"USDA livestock census","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","27003","Anoka","Agriculture","Livestock","Manure management",699.409507302685,"USDA livestock census","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27019","Carver","Agriculture","Livestock","Manure management",26536.4508018291,"USDA livestock census","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 +2006,"county","27025","Chisago","Agriculture","Livestock","Manure management",4789.27931406242,"USDA livestock census","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2006,"county","27037","Dakota","Agriculture","Livestock","Manure management",14691.5862582893,"USDA livestock census","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2006,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3042.91627570436,"USDA livestock census","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","55093","Pierce","Agriculture","Livestock","Manure management",28926.2362295648,"USDA livestock census","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.72 +2006,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27139","Scott","Agriculture","Livestock","Manure management",14474.9992442028,"USDA livestock census","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 +2006,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2899.23964243897,"USDA livestock census","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2006,"county","55109","St. Croix","Agriculture","Livestock","Manure management",39587.8075973099,"USDA livestock census","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.5 +2006,"county","27163","Washington","Agriculture","Livestock","Manure management",1751.02835193865,"USDA livestock census","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27003","Anoka","Agriculture","Livestock","Manure management",545.651778180279,"USDA livestock census","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27019","Carver","Agriculture","Livestock","Manure management",28821.5450269348,"USDA livestock census","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.33 +2007,"county","27025","Chisago","Agriculture","Livestock","Manure management",5313.48962214375,"USDA livestock census","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 +2007,"county","27037","Dakota","Agriculture","Livestock","Manure management",14850.7687512186,"USDA livestock census","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2007,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3252.31390722557,"USDA livestock census","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","55093","Pierce","Agriculture","Livestock","Manure management",32964.453681826,"USDA livestock census","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.82 +2007,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27139","Scott","Agriculture","Livestock","Manure management",15289.12983208,"USDA livestock census","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 +2007,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2586.57983377479,"USDA livestock census","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2007,"county","55109","St. Croix","Agriculture","Livestock","Manure management",45191.4573426932,"USDA livestock census","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.55 +2007,"county","27163","Washington","Agriculture","Livestock","Manure management",2063.74836393483,"USDA livestock census","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27003","Anoka","Agriculture","Livestock","Manure management",474.079989046647,"USDA livestock census","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27019","Carver","Agriculture","Livestock","Manure management",25749.4214444619,"USDA livestock census","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.29 +2008,"county","27025","Chisago","Agriculture","Livestock","Manure management",4496.1898829227,"USDA livestock census","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2008,"county","27037","Dakota","Agriculture","Livestock","Manure management",14943.7762408245,"USDA livestock census","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2008,"county","27053","Hennepin","Agriculture","Livestock","Manure management",2971.36006854193,"USDA livestock census","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","55093","Pierce","Agriculture","Livestock","Manure management",32116.1291239555,"USDA livestock census","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.79 +2008,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27139","Scott","Agriculture","Livestock","Manure management",14107.8215482746,"USDA livestock census","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.11 +2008,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2851.06081531428,"USDA livestock census","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2008,"county","55109","St. Croix","Agriculture","Livestock","Manure management",42588.994084526,"USDA livestock census","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.51 +2008,"county","27163","Washington","Agriculture","Livestock","Manure management",1982.52076750727,"USDA livestock census","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27003","Anoka","Agriculture","Livestock","Manure management",461.930691073583,"USDA livestock census","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27019","Carver","Agriculture","Livestock","Manure management",25429.8375778237,"USDA livestock census","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.28 +2009,"county","27025","Chisago","Agriculture","Livestock","Manure management",4288.57087160158,"USDA livestock census","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2009,"county","27037","Dakota","Agriculture","Livestock","Manure management",16159.734813182,"USDA livestock census","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2009,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3077.26140935523,"USDA livestock census","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","55093","Pierce","Agriculture","Livestock","Manure management",31760.3037211361,"USDA livestock census","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.78 +2009,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27139","Scott","Agriculture","Livestock","Manure management",14416.9273740211,"USDA livestock census","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.11 +2009,"county","27141","Sherburne","Agriculture","Livestock","Manure management",3243.55478345828,"USDA livestock census","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2009,"county","55109","St. Croix","Agriculture","Livestock","Manure management",40717.7812175588,"USDA livestock census","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.48 +2009,"county","27163","Washington","Agriculture","Livestock","Manure management",2157.72457558856,"USDA livestock census","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2010,"county","27003","Anoka","Agriculture","Livestock","Manure management",474.114818317091,"USDA livestock census","EPA SIT",244813,"Decennial Census, Table P1",0 +2010,"county","27019","Carver","Agriculture","Livestock","Manure management",27734.4468975184,"USDA livestock census","EPA SIT",63837,"Decennial Census, Table P1",0.43 +2010,"county","27025","Chisago","Agriculture","Livestock","Manure management",4335.28565294397,"USDA livestock census","EPA SIT",40040,"Decennial Census, Table P1",0.11 +2010,"county","27037","Dakota","Agriculture","Livestock","Manure management",19304.844870144,"USDA livestock census","EPA SIT",293492,"Decennial Census, Table P1",0.07 +2010,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3371.62474249957,"USDA livestock census","EPA SIT",891080,"Decennial Census, Table P1",0 +2010,"county","55093","Pierce","Agriculture","Livestock","Manure management",35809.1998393082,"USDA livestock census","EPA SIT",31860,"Decennial Census, Table P1",1.12 +2010,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",390147,"Decennial Census, Table P1",0 +2010,"county","27139","Scott","Agriculture","Livestock","Manure management",16171.9171819426,"USDA livestock census","EPA SIT",90700,"Decennial Census, Table P1",0.18 +2010,"county","27141","Sherburne","Agriculture","Livestock","Manure management",4095.63414063494,"USDA livestock census","EPA SIT",62722,"Decennial Census, Table P1",0.07 +2010,"county","55109","St. Croix","Agriculture","Livestock","Manure management",44467.3411140375,"USDA livestock census","EPA SIT",61462,"Decennial Census, Table P1",0.72 +2010,"county","27163","Washington","Agriculture","Livestock","Manure management",2451.32449849647,"USDA livestock census","EPA SIT",174538,"Decennial Census, Table P1",0.01 +2011,"county","27003","Anoka","Agriculture","Livestock","Manure management",461.209985438706,"USDA livestock census","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27019","Carver","Agriculture","Livestock","Manure management",27851.8707510061,"USDA livestock census","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.3 +2011,"county","27025","Chisago","Agriculture","Livestock","Manure management",4132.22894199086,"USDA livestock census","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2011,"county","27037","Dakota","Agriculture","Livestock","Manure management",20952.2395355544,"USDA livestock census","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2011,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3515.01863012434,"USDA livestock census","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","55093","Pierce","Agriculture","Livestock","Manure management",36139.7167269577,"USDA livestock census","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.88 +2011,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",515856,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27139","Scott","Agriculture","Livestock","Manure management",16772.4448094326,"USDA livestock census","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.13 +2011,"county","27141","Sherburne","Agriculture","Livestock","Manure management",4604.90673715185,"USDA livestock census","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2011,"county","55109","St. Croix","Agriculture","Livestock","Manure management",43310.4367813927,"USDA livestock census","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.51 +2011,"county","27163","Washington","Agriculture","Livestock","Manure management",2656.47350800912,"USDA livestock census","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27003","Anoka","Agriculture","Livestock","Manure management",466.808192728464,"USDA livestock census","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27019","Carver","Agriculture","Livestock","Manure management",29443.0905371315,"USDA livestock census","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.31 +2012,"county","27025","Chisago","Agriculture","Livestock","Manure management",4102.42161634372,"USDA livestock census","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2012,"county","27037","Dakota","Agriculture","Livestock","Manure management",23833.6631565319,"USDA livestock census","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2012,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3835.18345325096,"USDA livestock census","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","55093","Pierce","Agriculture","Livestock","Manure management",39072.5530889585,"USDA livestock census","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.96 +2012,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",521091,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27139","Scott","Agriculture","Livestock","Manure management",18288.0405790045,"USDA livestock census","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2012,"county","27141","Sherburne","Agriculture","Livestock","Manure management",5396.32343818595,"USDA livestock census","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2012,"county","55109","St. Croix","Agriculture","Livestock","Manure management",45178.587279651,"USDA livestock census","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.53 +2012,"county","27163","Washington","Agriculture","Livestock","Manure management",2999.67318414597,"USDA livestock census","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27003","Anoka","Agriculture","Livestock","Manure management",383.17720428845,"USDA livestock census","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27019","Carver","Agriculture","Livestock","Manure management",26806.0886248676,"USDA livestock census","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.28 +2013,"county","27025","Chisago","Agriculture","Livestock","Manure management",4126.18920202473,"USDA livestock census","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2013,"county","27037","Dakota","Agriculture","Livestock","Manure management",21005.1041091011,"USDA livestock census","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2013,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3553.50616449042,"USDA livestock census","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","55093","Pierce","Agriculture","Livestock","Manure management",38409.9682792748,"USDA livestock census","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.94 +2013,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.00132605755948814,"USDA livestock census","EPA SIT",527261,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27139","Scott","Agriculture","Livestock","Manure management",15704.2207085203,"USDA livestock census","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2013,"county","27141","Sherburne","Agriculture","Livestock","Manure management",4479.66380929341,"USDA livestock census","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2013,"county","55109","St. Croix","Agriculture","Livestock","Manure management",45500.726611143,"USDA livestock census","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.53 +2013,"county","27163","Washington","Agriculture","Livestock","Manure management",2788.80079437852,"USDA livestock census","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27003","Anoka","Agriculture","Livestock","Manure management",308.219213078013,"USDA livestock census","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27019","Carver","Agriculture","Livestock","Manure management",25198.5206289255,"USDA livestock census","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.26 +2014,"county","27025","Chisago","Agriculture","Livestock","Manure management",4244.53974085258,"USDA livestock census","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2014,"county","27037","Dakota","Agriculture","Livestock","Manure management",19077.402108943,"USDA livestock census","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2014,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3348.28910368721,"USDA livestock census","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","55093","Pierce","Agriculture","Livestock","Manure management",38656.2823764111,"USDA livestock census","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.94 +2014,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.00265211511897628,"USDA livestock census","EPA SIT",532966,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27139","Scott","Agriculture","Livestock","Manure management",13713.3363260913,"USDA livestock census","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2014,"county","27141","Sherburne","Agriculture","Livestock","Manure management",3797.04749812275,"USDA livestock census","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2014,"county","55109","St. Croix","Agriculture","Livestock","Manure management",46971.7379042526,"USDA livestock census","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.54 +2014,"county","27163","Washington","Agriculture","Livestock","Manure management",2639.36612679245,"USDA livestock census","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27003","Anoka","Agriculture","Livestock","Manure management",246.086246286153,"USDA livestock census","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27019","Carver","Agriculture","Livestock","Manure management",25450.1740532171,"USDA livestock census","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.26 +2015,"county","27025","Chisago","Agriculture","Livestock","Manure management",4673.06255930575,"USDA livestock census","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2015,"county","27037","Dakota","Agriculture","Livestock","Manure management",18500.9672882522,"USDA livestock census","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2015,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3358.39478051589,"USDA livestock census","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","55093","Pierce","Agriculture","Livestock","Manure management",42008.2787554054,"USDA livestock census","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",1.02 +2015,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.00397817267846442,"USDA livestock census","EPA SIT",536838,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27139","Scott","Agriculture","Livestock","Manure management",12622.5311783135,"USDA livestock census","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2015,"county","27141","Sherburne","Agriculture","Livestock","Manure management",3373.41950170642,"USDA livestock census","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2015,"county","55109","St. Croix","Agriculture","Livestock","Manure management",52388.3487520173,"USDA livestock census","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.6 +2015,"county","27163","Washington","Agriculture","Livestock","Manure management",2658.00552292902,"USDA livestock census","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27003","Anoka","Agriculture","Livestock","Manure management",167.415896882039,"USDA livestock census","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27019","Carver","Agriculture","Livestock","Manure management",24961.6465723053,"USDA livestock census","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.25 +2016,"county","27025","Chisago","Agriculture","Livestock","Manure management",4991.12127973769,"USDA livestock census","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2016,"county","27037","Dakota","Agriculture","Livestock","Manure management",17367.993909368,"USDA livestock census","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2016,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3242.53673604227,"USDA livestock census","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","55093","Pierce","Agriculture","Livestock","Manure management",45135.5409678266,"USDA livestock census","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",1.09 +2016,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.00530423023795257,"USDA livestock census","EPA SIT",541635,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27139","Scott","Agriculture","Livestock","Manure management",10995.8707603319,"USDA livestock census","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2016,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2833.70003920653,"USDA livestock census","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2016,"county","55109","St. Croix","Agriculture","Livestock","Manure management",57795.8053443173,"USDA livestock census","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.66 +2016,"county","27163","Washington","Agriculture","Livestock","Manure management",2578.83953548287,"USDA livestock census","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27003","Anoka","Agriculture","Livestock","Manure management",74.8928976100577,"USDA livestock census","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27019","Carver","Agriculture","Livestock","Manure management",25100.2308352347,"USDA livestock census","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.25 +2017,"county","27025","Chisago","Agriculture","Livestock","Manure management",5524.7079319991,"USDA livestock census","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2017,"county","27037","Dakota","Agriculture","Livestock","Manure management",16156.5364301129,"USDA livestock census","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2017,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3246.64117003796,"USDA livestock census","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","55093","Pierce","Agriculture","Livestock","Manure management",44390.9144159248,"USDA livestock census","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",1.06 +2017,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.00663028779744071,"USDA livestock census","EPA SIT",544919,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27139","Scott","Agriculture","Livestock","Manure management",9630.87460908467,"USDA livestock census","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2017,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2346.95582022498,"USDA livestock census","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2017,"county","55109","St. Croix","Agriculture","Livestock","Manure management",58359.3567023758,"USDA livestock census","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.66 +2017,"county","27163","Washington","Agriculture","Livestock","Manure management",2589.44264922905,"USDA livestock census","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","27003","Anoka","Agriculture","Livestock","Manure management",85.3244016629998,"USDA livestock census","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27019","Carver","Agriculture","Livestock","Manure management",27371.2386903634,"USDA livestock census","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.26 +2018,"county","27025","Chisago","Agriculture","Livestock","Manure management",5544.89326972642,"USDA livestock census","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2018,"county","27037","Dakota","Agriculture","Livestock","Manure management",17467.4820865052,"USDA livestock census","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2018,"county","27053","Hennepin","Agriculture","Livestock","Manure management",3121.30414131947,"USDA livestock census","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","55093","Pierce","Agriculture","Livestock","Manure management",44145.1739985515,"USDA livestock census","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",1.04 +2018,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.00530423023795257,"USDA livestock census","EPA SIT",548900,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27139","Scott","Agriculture","Livestock","Manure management",9794.33275108511,"USDA livestock census","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2018,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2163.38495635434,"USDA livestock census","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2018,"county","55109","St. Croix","Agriculture","Livestock","Manure management",58191.1007202407,"USDA livestock census","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.65 +2018,"county","27163","Washington","Agriculture","Livestock","Manure management",2481.28086439883,"USDA livestock census","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2019,"county","27003","Anoka","Agriculture","Livestock","Manure management",92.7201541728819,"USDA livestock census","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27019","Carver","Agriculture","Livestock","Manure management",28040.671974411,"USDA livestock census","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2019,"county","27025","Chisago","Agriculture","Livestock","Manure management",5213.89121743728,"USDA livestock census","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2019,"county","27037","Dakota","Agriculture","Livestock","Manure management",17844.483412108,"USDA livestock census","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2019,"county","27053","Hennepin","Agriculture","Livestock","Manure management",2781.15397428318,"USDA livestock census","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","55093","Pierce","Agriculture","Livestock","Manure management",42140.3598196498,"USDA livestock census","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.99 +2019,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.00397817267846443,"USDA livestock census","EPA SIT",549632,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27139","Scott","Agriculture","Livestock","Manure management",9337.90414387885,"USDA livestock census","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2019,"county","27141","Sherburne","Agriculture","Livestock","Manure management",1841.42462533594,"USDA livestock census","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2019,"county","55109","St. Croix","Agriculture","Livestock","Manure management",55701.0339078522,"USDA livestock census","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.61 +2019,"county","27163","Washington","Agriculture","Livestock","Manure management",2206.29665191489,"USDA livestock census","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2020,"county","27003","Anoka","Agriculture","Livestock","Manure management",100.139578163197,"USDA livestock census","EPA SIT",363887,"Decennial Census, Table P1",0 +2020,"county","27019","Carver","Agriculture","Livestock","Manure management",28799.0125356519,"USDA livestock census","EPA SIT",106922,"Decennial Census, Table P1",0.27 +2020,"county","27025","Chisago","Agriculture","Livestock","Manure management",4898.33047921735,"USDA livestock census","EPA SIT",56621,"Decennial Census, Table P1",0.09 +2020,"county","27037","Dakota","Agriculture","Livestock","Manure management",18320.8032239439,"USDA livestock census","EPA SIT",439882,"Decennial Census, Table P1",0.04 +2020,"county","27053","Hennepin","Agriculture","Livestock","Manure management",2444.31049553054,"USDA livestock census","EPA SIT",1281565,"Decennial Census, Table P1",0 +2020,"county","55093","Pierce","Agriculture","Livestock","Manure management",40278.294061069,"USDA livestock census","EPA SIT",42212,"Decennial Census, Table P1",0.95 +2020,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.00265211511897628,"USDA livestock census","EPA SIT",552352,"Decennial Census, Table P1",0 +2020,"county","27139","Scott","Agriculture","Livestock","Manure management",8914.06774218155,"USDA livestock census","EPA SIT",150928,"Decennial Census, Table P1",0.06 +2020,"county","27141","Sherburne","Agriculture","Livestock","Manure management",1518.18240632047,"USDA livestock census","EPA SIT",97183,"Decennial Census, Table P1",0.02 +2020,"county","55109","St. Croix","Agriculture","Livestock","Manure management",53403.7505378577,"USDA livestock census","EPA SIT",93536,"Decennial Census, Table P1",0.57 +2020,"county","27163","Washington","Agriculture","Livestock","Manure management",1933.18849645882,"USDA livestock census","EPA SIT",267568,"Decennial Census, Table P1",0.01 +2021,"county","27003","Anoka","Agriculture","Livestock","Manure management",107.511682686603,"USDA livestock census","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27019","Carver","Agriculture","Livestock","Manure management",29187.4481081717,"USDA livestock census","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.28 +2021,"county","27025","Chisago","Agriculture","Livestock","Manure management",4500.98490181115,"USDA livestock census","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.08 +2021,"county","27037","Dakota","Agriculture","Livestock","Manure management",18570.799804216,"USDA livestock census","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.04 +2021,"county","27053","Hennepin","Agriculture","Livestock","Manure management",2061.06716929907,"USDA livestock census","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","55093","Pierce","Agriculture","Livestock","Manure management",38019.1283647946,"USDA livestock census","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",0.9 +2021,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.00132605755948814,"USDA livestock census","EPA SIT",549377,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27139","Scott","Agriculture","Livestock","Manure management",8332.591375558,"USDA livestock census","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.06 +2021,"county","27141","Sherburne","Agriculture","Livestock","Manure management",1168.11257313575,"USDA livestock census","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.01 +2021,"county","55109","St. Croix","Agriculture","Livestock","Manure management",50577.1264990053,"USDA livestock census","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.55 +2021,"county","27163","Washington","Agriculture","Livestock","Manure management",1624.91780559504,"USDA livestock census","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0.01 +2005,"county","27003","Anoka","Agriculture","Livestock","Manure management",300.188392413861,"USDA livestock census","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27019","Carver","Agriculture","Livestock","Manure management",8715.84862196644,"USDA livestock census","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 +2005,"county","27025","Chisago","Agriculture","Livestock","Manure management",1750.87504873145,"USDA livestock census","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2005,"county","27037","Dakota","Agriculture","Livestock","Manure management",13030.8532569765,"USDA livestock census","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2005,"county","27053","Hennepin","Agriculture","Livestock","Manure management",1765.46425021513,"USDA livestock census","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","55093","Pierce","Agriculture","Livestock","Manure management",13472.3229534201,"USDA livestock census","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.34 +2005,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27139","Scott","Agriculture","Livestock","Manure management",5580.8285731747,"USDA livestock census","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2005,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2789.31063282772,"USDA livestock census","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2005,"county","55109","St. Croix","Agriculture","Livestock","Manure management",15507.0129537344,"USDA livestock census","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.2 +2005,"county","27163","Washington","Agriculture","Livestock","Manure management",1271.68368584543,"USDA livestock census","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","27003","Anoka","Agriculture","Livestock","Manure management",313.445131942315,"USDA livestock census","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27019","Carver","Agriculture","Livestock","Manure management",8426.59886660499,"USDA livestock census","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 +2006,"county","27025","Chisago","Agriculture","Livestock","Manure management",1780.7565934139,"USDA livestock census","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2006,"county","27037","Dakota","Agriculture","Livestock","Manure management",14265.8140033712,"USDA livestock census","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2006,"county","27053","Hennepin","Agriculture","Livestock","Manure management",1768.61063832393,"USDA livestock census","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","55093","Pierce","Agriculture","Livestock","Manure management",13442.1704611639,"USDA livestock census","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.34 +2006,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27139","Scott","Agriculture","Livestock","Manure management",5422.77449698232,"USDA livestock census","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2006,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2884.31354630686,"USDA livestock census","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2006,"county","55109","St. Croix","Agriculture","Livestock","Manure management",15576.6339535614,"USDA livestock census","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.2 +2006,"county","27163","Washington","Agriculture","Livestock","Manure management",1259.76888828112,"USDA livestock census","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27003","Anoka","Agriculture","Livestock","Manure management",324.692852410378,"USDA livestock census","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27019","Carver","Agriculture","Livestock","Manure management",7996.1982784565,"USDA livestock census","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2007,"county","27025","Chisago","Agriculture","Livestock","Manure management",1781.29164823385,"USDA livestock census","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2007,"county","27037","Dakota","Agriculture","Livestock","Manure management",15450.2904774737,"USDA livestock census","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2007,"county","27053","Hennepin","Agriculture","Livestock","Manure management",1752.4836613825,"USDA livestock census","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","55093","Pierce","Agriculture","Livestock","Manure management",13271.1738075457,"USDA livestock census","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.33 +2007,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27139","Scott","Agriculture","Livestock","Manure management",5190.09493105686,"USDA livestock census","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2007,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2974.48562569111,"USDA livestock census","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2007,"county","55109","St. Croix","Agriculture","Livestock","Manure management",15461.1230676303,"USDA livestock census","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.19 +2007,"county","27163","Washington","Agriculture","Livestock","Manure management",1235.47162686746,"USDA livestock census","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27003","Anoka","Agriculture","Livestock","Manure management",306.222220183628,"USDA livestock census","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27019","Carver","Agriculture","Livestock","Manure management",7533.3647806934,"USDA livestock census","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2008,"county","27025","Chisago","Agriculture","Livestock","Manure management",1643.78457930829,"USDA livestock census","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2008,"county","27037","Dakota","Agriculture","Livestock","Manure management",13936.8311658808,"USDA livestock census","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2008,"county","27053","Hennepin","Agriculture","Livestock","Manure management",1888.61227005325,"USDA livestock census","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","55093","Pierce","Agriculture","Livestock","Manure management",12776.8950482555,"USDA livestock census","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 +2008,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27139","Scott","Agriculture","Livestock","Manure management",5219.7610674868,"USDA livestock census","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2008,"county","27141","Sherburne","Agriculture","Livestock","Manure management",3069.74593600864,"USDA livestock census","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2008,"county","55109","St. Croix","Agriculture","Livestock","Manure management",14689.0273178883,"USDA livestock census","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2008,"county","27163","Washington","Agriculture","Livestock","Manure management",1186.31928779189,"USDA livestock census","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27003","Anoka","Agriculture","Livestock","Manure management",293.144180407464,"USDA livestock census","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27019","Carver","Agriculture","Livestock","Manure management",7282.97435199199,"USDA livestock census","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2009,"county","27025","Chisago","Agriculture","Livestock","Manure management",1556.08922088578,"USDA livestock census","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2009,"county","27037","Dakota","Agriculture","Livestock","Manure management",12543.3614843444,"USDA livestock census","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2009,"county","27053","Hennepin","Agriculture","Livestock","Manure management",2061.44026545121,"USDA livestock census","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","55093","Pierce","Agriculture","Livestock","Manure management",12663.7514800989,"USDA livestock census","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 +2009,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27139","Scott","Agriculture","Livestock","Manure management",5371.60847197931,"USDA livestock census","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2009,"county","27141","Sherburne","Agriculture","Livestock","Manure management",3186.34661457127,"USDA livestock census","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2009,"county","55109","St. Croix","Agriculture","Livestock","Manure management",14433.5077222725,"USDA livestock census","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 +2009,"county","27163","Washington","Agriculture","Livestock","Manure management",1159.02299433274,"USDA livestock census","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2010,"county","27003","Anoka","Agriculture","Livestock","Manure management",276.449441612184,"USDA livestock census","EPA SIT",244813,"Decennial Census, Table P1",0 +2010,"county","27019","Carver","Agriculture","Livestock","Manure management",6988.46148495206,"USDA livestock census","EPA SIT",63837,"Decennial Census, Table P1",0.11 +2010,"county","27025","Chisago","Agriculture","Livestock","Manure management",1457.63488310929,"USDA livestock census","EPA SIT",40040,"Decennial Census, Table P1",0.04 +2010,"county","27037","Dakota","Agriculture","Livestock","Manure management",10948.4215153551,"USDA livestock census","EPA SIT",293492,"Decennial Census, Table P1",0.04 +2010,"county","27053","Hennepin","Agriculture","Livestock","Manure management",2206.68646640703,"USDA livestock census","EPA SIT",891080,"Decennial Census, Table P1",0 +2010,"county","55093","Pierce","Agriculture","Livestock","Manure management",12514.8562148848,"USDA livestock census","EPA SIT",31860,"Decennial Census, Table P1",0.39 +2010,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",390147,"Decennial Census, Table P1",0 +2010,"county","27139","Scott","Agriculture","Livestock","Manure management",5473.1035208387,"USDA livestock census","EPA SIT",90700,"Decennial Census, Table P1",0.06 +2010,"county","27141","Sherburne","Agriculture","Livestock","Manure management",3243.34945447306,"USDA livestock census","EPA SIT",62722,"Decennial Census, Table P1",0.05 +2010,"county","55109","St. Croix","Agriculture","Livestock","Manure management",14148.9793845213,"USDA livestock census","EPA SIT",61462,"Decennial Census, Table P1",0.23 +2010,"county","27163","Washington","Agriculture","Livestock","Manure management",1120.72736050307,"USDA livestock census","EPA SIT",174538,"Decennial Census, Table P1",0.01 +2011,"county","27003","Anoka","Agriculture","Livestock","Manure management",259.864887644926,"USDA livestock census","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27019","Carver","Agriculture","Livestock","Manure management",6670.69704471403,"USDA livestock census","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2011,"county","27025","Chisago","Agriculture","Livestock","Manure management",1353.85003246289,"USDA livestock census","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2011,"county","27037","Dakota","Agriculture","Livestock","Manure management",9403.07038855437,"USDA livestock census","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2011,"county","27053","Hennepin","Agriculture","Livestock","Manure management",2349.90028186841,"USDA livestock census","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","55093","Pierce","Agriculture","Livestock","Manure management",12295.815421543,"USDA livestock census","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.3 +2011,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",515856,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27139","Scott","Agriculture","Livestock","Manure management",5563.02013094346,"USDA livestock census","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2011,"county","27141","Sherburne","Agriculture","Livestock","Manure management",3311.55326881114,"USDA livestock census","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2011,"county","55109","St. Croix","Agriculture","Livestock","Manure management",13768.4245466745,"USDA livestock census","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2011,"county","27163","Washington","Agriculture","Livestock","Manure management",1080.64834084319,"USDA livestock census","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27003","Anoka","Agriculture","Livestock","Manure management",247.921202632361,"USDA livestock census","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27019","Carver","Agriculture","Livestock","Manure management",6465.4198465927,"USDA livestock census","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2012,"county","27025","Chisago","Agriculture","Livestock","Manure management",1272.62054290057,"USDA livestock census","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2012,"county","27037","Dakota","Agriculture","Livestock","Manure management",8034.29664041303,"USDA livestock census","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2012,"county","27053","Hennepin","Agriculture","Livestock","Manure management",2541.32976293131,"USDA livestock census","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","55093","Pierce","Agriculture","Livestock","Manure management",12279.3230711235,"USDA livestock census","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.3 +2012,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0,"USDA livestock census","EPA SIT",521091,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27139","Scott","Agriculture","Livestock","Manure management",5757.88905895111,"USDA livestock census","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2012,"county","27141","Sherburne","Agriculture","Livestock","Manure management",3452.48360985006,"USDA livestock census","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2012,"county","55109","St. Croix","Agriculture","Livestock","Manure management",13607.1863231629,"USDA livestock census","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2012,"county","27163","Washington","Agriculture","Livestock","Manure management",1058.41258903277,"USDA livestock census","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27003","Anoka","Agriculture","Livestock","Manure management",231.230372877057,"USDA livestock census","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27019","Carver","Agriculture","Livestock","Manure management",6524.14234219788,"USDA livestock census","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2013,"county","27025","Chisago","Agriculture","Livestock","Manure management",1304.53912134871,"USDA livestock census","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2013,"county","27037","Dakota","Agriculture","Livestock","Manure management",7976.50369723101,"USDA livestock census","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2013,"county","27053","Hennepin","Agriculture","Livestock","Manure management",2216.90007706957,"USDA livestock census","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","55093","Pierce","Agriculture","Livestock","Manure management",12315.2164662551,"USDA livestock census","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.3 +2013,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.00801589932,"USDA livestock census","EPA SIT",527261,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27139","Scott","Agriculture","Livestock","Manure management",5440.16797398824,"USDA livestock census","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2013,"county","27141","Sherburne","Agriculture","Livestock","Manure management",3274.75027658758,"USDA livestock census","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2013,"county","55109","St. Croix","Agriculture","Livestock","Manure management",13774.5763227268,"USDA livestock census","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2013,"county","27163","Washington","Agriculture","Livestock","Manure management",1014.35230823385,"USDA livestock census","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27003","Anoka","Agriculture","Livestock","Manure management",213.755842791179,"USDA livestock census","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27019","Carver","Agriculture","Livestock","Manure management",6559.82160186432,"USDA livestock census","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2014,"county","27025","Chisago","Agriculture","Livestock","Manure management",1331.5619636385,"USDA livestock census","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2014,"county","27037","Dakota","Agriculture","Livestock","Manure management",7894.70921092669,"USDA livestock census","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2014,"county","27053","Hennepin","Agriculture","Livestock","Manure management",1880.67305848968,"USDA livestock census","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","55093","Pierce","Agriculture","Livestock","Manure management",12277.3644084733,"USDA livestock census","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.3 +2014,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.01603179864,"USDA livestock census","EPA SIT",532966,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27139","Scott","Agriculture","Livestock","Manure management",5100.61767474365,"USDA livestock census","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2014,"county","27141","Sherburne","Agriculture","Livestock","Manure management",3085.44679019696,"USDA livestock census","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2014,"county","55109","St. Croix","Agriculture","Livestock","Manure management",13859.545973629,"USDA livestock census","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2014,"county","27163","Washington","Agriculture","Livestock","Manure management",966.32582004145,"USDA livestock census","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27003","Anoka","Agriculture","Livestock","Manure management",202.81850141887,"USDA livestock census","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27019","Carver","Agriculture","Livestock","Manure management",6742.74189218852,"USDA livestock census","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2015,"county","27025","Chisago","Agriculture","Livestock","Manure management",1384.51821494746,"USDA livestock census","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2015,"county","27037","Dakota","Agriculture","Livestock","Manure management",8084.79474735468,"USDA livestock census","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2015,"county","27053","Hennepin","Agriculture","Livestock","Manure management",1584.16952094183,"USDA livestock census","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","55093","Pierce","Agriculture","Livestock","Manure management",12507.6323880699,"USDA livestock census","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",0.3 +2015,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.02404769796,"USDA livestock census","EPA SIT",536838,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27139","Scott","Agriculture","Livestock","Manure management",4893.70455294331,"USDA livestock census","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2015,"county","27141","Sherburne","Agriculture","Livestock","Manure management",3009.74513911122,"USDA livestock census","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2015,"county","55109","St. Croix","Agriculture","Livestock","Manure management",14213.3989200197,"USDA livestock census","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2015,"county","27163","Washington","Agriculture","Livestock","Manure management",938.0302850393,"USDA livestock census","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27003","Anoka","Agriculture","Livestock","Manure management",186.832155221697,"USDA livestock census","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27019","Carver","Agriculture","Livestock","Manure management",6852.30713946348,"USDA livestock census","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2016,"county","27025","Chisago","Agriculture","Livestock","Manure management",1425.22994526863,"USDA livestock census","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2016,"county","27037","Dakota","Agriculture","Livestock","Manure management",8090.39678221552,"USDA livestock census","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2016,"county","27053","Hennepin","Agriculture","Livestock","Manure management",1238.96668210745,"USDA livestock census","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","55093","Pierce","Agriculture","Livestock","Manure management",12685.9538936559,"USDA livestock census","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",0.31 +2016,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.03206359728,"USDA livestock census","EPA SIT",541635,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27139","Scott","Agriculture","Livestock","Manure management",4590.04773370202,"USDA livestock census","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2016,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2837.71386647106,"USDA livestock census","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2016,"county","55109","St. Croix","Agriculture","Livestock","Manure management",14540.7076769861,"USDA livestock census","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2016,"county","27163","Washington","Agriculture","Livestock","Manure management",897.980994697046,"USDA livestock census","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27003","Anoka","Agriculture","Livestock","Manure management",166.660790220899,"USDA livestock census","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27019","Carver","Agriculture","Livestock","Manure management",6915.43120572939,"USDA livestock census","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2017,"county","27025","Chisago","Agriculture","Livestock","Manure management",1460.68940587094,"USDA livestock census","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2017,"county","27037","Dakota","Agriculture","Livestock","Manure management",7948.04620134086,"USDA livestock census","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2017,"county","27053","Hennepin","Agriculture","Livestock","Manure management",878.515046420149,"USDA livestock census","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","55093","Pierce","Agriculture","Livestock","Manure management",12668.8936120135,"USDA livestock census","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",0.3 +2017,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.0400794966,"USDA livestock census","EPA SIT",544919,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27139","Scott","Agriculture","Livestock","Manure management",4223.91326812511,"USDA livestock census","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2017,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2601.52998708599,"USDA livestock census","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2017,"county","55109","St. Croix","Agriculture","Livestock","Manure management",14671.5967186861,"USDA livestock census","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2017,"county","27163","Washington","Agriculture","Livestock","Manure management",850.622195941167,"USDA livestock census","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27003","Anoka","Agriculture","Livestock","Manure management",136.484214106414,"USDA livestock census","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27019","Carver","Agriculture","Livestock","Manure management",6715.80472971802,"USDA livestock census","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2018,"county","27025","Chisago","Agriculture","Livestock","Manure management",1402.53368358368,"USDA livestock census","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2018,"county","27037","Dakota","Agriculture","Livestock","Manure management",8318.83563819471,"USDA livestock census","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2018,"county","27053","Hennepin","Agriculture","Livestock","Manure management",873.172016306568,"USDA livestock census","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","55093","Pierce","Agriculture","Livestock","Manure management",12247.6758701931,"USDA livestock census","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",0.29 +2018,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.03206359728,"USDA livestock census","EPA SIT",548900,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27139","Scott","Agriculture","Livestock","Manure management",3900.13378984086,"USDA livestock census","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2018,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2525.28527537537,"USDA livestock census","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2018,"county","55109","St. Croix","Agriculture","Livestock","Manure management",14480.2192302072,"USDA livestock census","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2018,"county","27163","Washington","Agriculture","Livestock","Manure management",765.571078721556,"USDA livestock census","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27003","Anoka","Agriculture","Livestock","Manure management",107.763609003728,"USDA livestock census","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27019","Carver","Agriculture","Livestock","Manure management",6536.21150548791,"USDA livestock census","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2019,"county","27025","Chisago","Agriculture","Livestock","Manure management",1346.18978336427,"USDA livestock census","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2019,"county","27037","Dakota","Agriculture","Livestock","Manure management",8760.28617978265,"USDA livestock census","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2019,"county","27053","Hennepin","Agriculture","Livestock","Manure management",868.742030326893,"USDA livestock census","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","55093","Pierce","Agriculture","Livestock","Manure management",11724.1608689652,"USDA livestock census","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2019,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.02404769796,"USDA livestock census","EPA SIT",549632,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27139","Scott","Agriculture","Livestock","Manure management",3597.29361696856,"USDA livestock census","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2019,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2473.25502072732,"USDA livestock census","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2019,"county","55109","St. Croix","Agriculture","Livestock","Manure management",14143.5232064335,"USDA livestock census","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2019,"county","27163","Washington","Agriculture","Livestock","Manure management",682.392416415036,"USDA livestock census","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0 +2020,"county","27003","Anoka","Agriculture","Livestock","Manure management",79.2372106827944,"USDA livestock census","EPA SIT",363887,"Decennial Census, Table P1",0 +2020,"county","27019","Carver","Agriculture","Livestock","Manure management",6372.42752648744,"USDA livestock census","EPA SIT",106922,"Decennial Census, Table P1",0.06 +2020,"county","27025","Chisago","Agriculture","Livestock","Manure management",1292.11645075866,"USDA livestock census","EPA SIT",56621,"Decennial Census, Table P1",0.02 +2020,"county","27037","Dakota","Agriculture","Livestock","Manure management",9256.38251684743,"USDA livestock census","EPA SIT",439882,"Decennial Census, Table P1",0.02 +2020,"county","27053","Hennepin","Agriculture","Livestock","Manure management",866.847993651961,"USDA livestock census","EPA SIT",1281565,"Decennial Census, Table P1",0 +2020,"county","55093","Pierce","Agriculture","Livestock","Manure management",11329.4541982022,"USDA livestock census","EPA SIT",42212,"Decennial Census, Table P1",0.27 +2020,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.01603179864,"USDA livestock census","EPA SIT",552352,"Decennial Census, Table P1",0 +2020,"county","27139","Scott","Agriculture","Livestock","Manure management",3304.02817988976,"USDA livestock census","EPA SIT",150928,"Decennial Census, Table P1",0.02 +2020,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2436.63482878571,"USDA livestock census","EPA SIT",97183,"Decennial Census, Table P1",0.03 +2020,"county","55109","St. Croix","Agriculture","Livestock","Manure management",13962.0731937073,"USDA livestock census","EPA SIT",93536,"Decennial Census, Table P1",0.15 +2020,"county","27163","Washington","Agriculture","Livestock","Manure management",600.037940345387,"USDA livestock census","EPA SIT",267568,"Decennial Census, Table P1",0 +2021,"county","27003","Anoka","Agriculture","Livestock","Manure management",49.7481807161885,"USDA livestock census","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27019","Carver","Agriculture","Livestock","Manure management",6146.32267574917,"USDA livestock census","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.06 +2021,"county","27025","Chisago","Agriculture","Livestock","Manure management",1225.93753695869,"USDA livestock census","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.02 +2021,"county","27037","Dakota","Agriculture","Livestock","Manure management",9659.66417993029,"USDA livestock census","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.02 +2021,"county","27053","Hennepin","Agriculture","Livestock","Manure management",856.638011632978,"USDA livestock census","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","55093","Pierce","Agriculture","Livestock","Manure management",10830.4860971246,"USDA livestock census","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",0.26 +2021,"county","27123","Ramsey","Agriculture","Livestock","Manure management",0.00801589932,"USDA livestock census","EPA SIT",549377,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27139","Scott","Agriculture","Livestock","Manure management",2974.5848086308,"USDA livestock census","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.02 +2021,"county","27141","Sherburne","Agriculture","Livestock","Manure management",2372.64310166748,"USDA livestock census","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.02 +2021,"county","55109","St. Croix","Agriculture","Livestock","Manure management",13664.2745076354,"USDA livestock census","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.15 +2021,"county","27163","Washington","Agriculture","Livestock","Manure management",511.278826964973,"USDA livestock census","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0 +2005,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",741.996113403305,"USDA livestock census","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",13013.090602555,"USDA livestock census","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 +2005,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",4298.4606686802,"USDA livestock census","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2005,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",12238.4725418067,"USDA livestock census","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2005,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",2717.9064011712,"USDA livestock census","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",20367.1121388635,"USDA livestock census","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.52 +2005,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0,"USDA livestock census","EPA SIT",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",8082.56584162317,"USDA livestock census","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.07 +2005,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",3160.65404139889,"USDA livestock census","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2005,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",25150.2065394847,"USDA livestock census","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.33 +2005,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2711.16788515143,"USDA livestock census","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",804.085480521349,"USDA livestock census","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",12916.0220495967,"USDA livestock census","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 +2006,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",4300.1524444134,"USDA livestock census","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2006,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",12797.0762072706,"USDA livestock census","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2006,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",2738.33781883375,"USDA livestock census","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",20599.5782451316,"USDA livestock census","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.52 +2006,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0,"USDA livestock census","EPA SIT",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",7939.73027937261,"USDA livestock census","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.07 +2006,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",3112.30857314582,"USDA livestock census","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2006,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",25470.1970029216,"USDA livestock census","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.32 +2006,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2733.70442716604,"USDA livestock census","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",868.589104087293,"USDA livestock census","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",12668.388096638,"USDA livestock census","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 +2007,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",4286.84683290359,"USDA livestock census","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2007,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",13302.6393539678,"USDA livestock census","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2007,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",2745.36944265107,"USDA livestock census","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",20728.6120075328,"USDA livestock census","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.52 +2007,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0,"USDA livestock census","EPA SIT",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",7719.5897211252,"USDA livestock census","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2007,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",3064.11027001022,"USDA livestock census","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2007,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",25642.3356370912,"USDA livestock census","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.31 +2007,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2758.66521629615,"USDA livestock census","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",831.326486051102,"USDA livestock census","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",12276.2738650219,"USDA livestock census","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.14 +2008,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",4171.01605423449,"USDA livestock census","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2008,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",12752.1854229959,"USDA livestock census","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2008,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",2787.25669896319,"USDA livestock census","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",20262.9024639017,"USDA livestock census","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.5 +2008,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0,"USDA livestock census","EPA SIT",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",7901.7632973079,"USDA livestock census","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2008,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",3150.13008323162,"USDA livestock census","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2008,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",24569.7092445168,"USDA livestock census","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.3 +2008,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2766.97481671576,"USDA livestock census","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",796.111672613451,"USDA livestock census","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",12036.9226112051,"USDA livestock census","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.13 +2009,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",4087.96946762352,"USDA livestock census","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2009,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",12264.5668699953,"USDA livestock census","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2009,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",2853.63793794945,"USDA livestock census","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",20129.9920237216,"USDA livestock census","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.5 +2009,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0,"USDA livestock census","EPA SIT",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",8172.2881977255,"USDA livestock census","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2009,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",3240.66797002336,"USDA livestock census","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2009,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",23952.6915484665,"USDA livestock census","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.28 +2009,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2788.18353710322,"USDA livestock census","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2010,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",758.330381049228,"USDA livestock census","EPA SIT",244813,"Decennial Census, Table P1",0 +2010,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",11758.4547154307,"USDA livestock census","EPA SIT",63837,"Decennial Census, Table P1",0.18 +2010,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",3994.9464297394,"USDA livestock census","EPA SIT",40040,"Decennial Census, Table P1",0.1 +2010,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",11666.8171177559,"USDA livestock census","EPA SIT",293492,"Decennial Census, Table P1",0.04 +2010,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",2904.13312812963,"USDA livestock census","EPA SIT",891080,"Decennial Census, Table P1",0 +2010,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",19982.1407595192,"USDA livestock census","EPA SIT",31860,"Decennial Census, Table P1",0.63 +2010,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0,"USDA livestock census","EPA SIT",390147,"Decennial Census, Table P1",0 +2010,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",8408.90369866589,"USDA livestock census","EPA SIT",90700,"Decennial Census, Table P1",0.09 +2010,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",3299.48504647847,"USDA livestock census","EPA SIT",62722,"Decennial Census, Table P1",0.05 +2010,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",23314.8300775047,"USDA livestock census","EPA SIT",61462,"Decennial Census, Table P1",0.38 +2010,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2801.86876500265,"USDA livestock census","EPA SIT",174538,"Decennial Census, Table P1",0.02 +2011,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",719.811378771835,"USDA livestock census","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",11442.7819474716,"USDA livestock census","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.12 +2011,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",3892.90173365583,"USDA livestock census","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2011,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",11079.2486178587,"USDA livestock census","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2011,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",2949.10594155089,"USDA livestock census","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",19746.5464847102,"USDA livestock census","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.48 +2011,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0,"USDA livestock census","EPA SIT",515856,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",8624.22616721581,"USDA livestock census","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2011,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",3361.62643720173,"USDA livestock census","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2011,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",22558.3597402298,"USDA livestock census","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2011,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2810.85726040616,"USDA livestock census","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",684.874283696398,"USDA livestock census","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",11238.39758529,"USDA livestock census","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.12 +2012,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",3814.80500259829,"USDA livestock census","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2012,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",10610.7824263795,"USDA livestock census","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2012,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",3029.85466985885,"USDA livestock census","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",19718.3609627402,"USDA livestock census","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.48 +2012,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0,"USDA livestock census","EPA SIT",521091,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",8929.48738538299,"USDA livestock census","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2012,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",3465.06573742914,"USDA livestock census","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2012,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",22027.3301248486,"USDA livestock census","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.26 +2012,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2838.00647712102,"USDA livestock census","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",579.018672747976,"USDA livestock census","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",10993.3934573829,"USDA livestock census","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.12 +2013,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",3843.31711165609,"USDA livestock census","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2013,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",10221.8668078015,"USDA livestock census","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2013,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",2825.28367739715,"USDA livestock census","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",19824.8531537536,"USDA livestock census","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.49 +2013,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0.00400794966,"USDA livestock census","EPA SIT",527261,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",8285.10787000045,"USDA livestock census","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2013,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",3338.82820680808,"USDA livestock census","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2013,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",22399.3618891723,"USDA livestock census","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.26 +2013,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2752.35429762682,"USDA livestock census","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",471.989857860167,"USDA livestock census","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",10723.0874623714,"USDA livestock census","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2014,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",3865.58202089641,"USDA livestock census","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2014,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",9811.81623338831,"USDA livestock census","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2014,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",2611.12251803385,"USDA livestock census","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",19856.0074242521,"USDA livestock census","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.48 +2014,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0.00801589932,"USDA livestock census","EPA SIT",532966,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",7618.96783116452,"USDA livestock census","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2014,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",3205.67603637059,"USDA livestock census","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2014,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",22689.8567462486,"USDA livestock census","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.26 +2014,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2661.27095978105,"USDA livestock census","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",368.375572222006,"USDA livestock census","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",10571.270990824,"USDA livestock census","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2015,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",3910.42366015311,"USDA livestock census","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2015,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",9560.11421045079,"USDA livestock census","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2015,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",2423.9313081974,"USDA livestock census","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",20118.1676229427,"USDA livestock census","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",0.49 +2015,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0.01202384898,"USDA livestock census","EPA SIT",536838,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",7041.36895491263,"USDA livestock census","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2015,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",3133.45189060925,"USDA livestock census","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2015,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",23240.3632794969,"USDA livestock census","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2015,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2585.27740521159,"USDA livestock census","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",261.758078617554,"USDA livestock census","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",10368.0979337913,"USDA livestock census","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2016,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",3947.58288613625,"USDA livestock census","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2016,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",9207.06675899676,"USDA livestock census","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2016,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",2208.74730178497,"USDA livestock census","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",20373.7870212356,"USDA livestock census","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",0.49 +2016,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0.01603179864,"USDA livestock census","EPA SIT",541635,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",6402.74251778434,"USDA livestock census","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2016,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",3012.35439229261,"USDA livestock census","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2016,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",23814.3351157455,"USDA livestock census","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2016,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2501.51902983575,"USDA livestock census","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",152.483778192215,"USDA livestock census","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",10120.7768093913,"USDA livestock census","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2017,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",3976.0185214449,"USDA livestock census","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2017,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",8767.4487462812,"USDA livestock census","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2017,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",1981.18931264939,"USDA livestock census","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",20359.6292409976,"USDA livestock census","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",0.48 +2017,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0.0200397483,"USDA livestock census","EPA SIT",544919,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",5718.49424659689,"USDA livestock census","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2017,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",2857.12555548625,"USDA livestock census","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2017,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",24076.6804375462,"USDA livestock census","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2017,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2409.29796427511,"USDA livestock census","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",186.140635039962,"USDA livestock census","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",10138.981178442,"USDA livestock census","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2018,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",3706.63572942211,"USDA livestock census","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2018,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",9198.59079158773,"USDA livestock census","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2018,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",1841.20921543562,"USDA livestock census","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",19792.1363077769,"USDA livestock census","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",0.46 +2018,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0.01603179864,"USDA livestock census","EPA SIT",548900,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",5401.76882385455,"USDA livestock census","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2018,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",2862.02308645921,"USDA livestock census","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2018,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",23148.903156353,"USDA livestock census","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.26 +2018,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",2122.12350257202,"USDA livestock census","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2019,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",220.597163120213,"USDA livestock census","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",10103.6373545549,"USDA livestock census","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2019,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",3425.14299299984,"USDA livestock census","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.06 +2019,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",9630.58382793606,"USDA livestock census","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2019,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",1693.48058299692,"USDA livestock census","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",18505.1264258106,"USDA livestock census","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.43 +2019,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0.01202384898,"USDA livestock census","EPA SIT",549632,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",5068.64801450558,"USDA livestock census","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2019,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",2874.47817894395,"USDA livestock census","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2019,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",21254.4822248259,"USDA livestock census","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.23 +2019,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",1830.44756397936,"USDA livestock census","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2020,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",255.099300582986,"USDA livestock census","EPA SIT",363887,"Decennial Census, Table P1",0 +2020,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",9976.56871383814,"USDA livestock census","EPA SIT",106922,"Decennial Census, Table P1",0.09 +2020,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",3123.22560913262,"USDA livestock census","EPA SIT",56621,"Decennial Census, Table P1",0.06 +2020,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",10016.8057310094,"USDA livestock census","EPA SIT",439882,"Decennial Census, Table P1",0.02 +2020,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",1536.62105437886,"USDA livestock census","EPA SIT",1281565,"Decennial Census, Table P1",0 +2020,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",17906.5436527815,"USDA livestock census","EPA SIT",42212,"Decennial Census, Table P1",0.42 +2020,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0.00801589932,"USDA livestock census","EPA SIT",552352,"Decennial Census, Table P1",0 +2020,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",4699.26611086041,"USDA livestock census","EPA SIT",150928,"Decennial Census, Table P1",0.03 +2020,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",2889.84515645878,"USDA livestock census","EPA SIT",97183,"Decennial Census, Table P1",0.03 +2020,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",20269.0404103537,"USDA livestock census","EPA SIT",93536,"Decennial Census, Table P1",0.22 +2020,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",1531.03764837877,"USDA livestock census","EPA SIT",267568,"Decennial Census, Table P1",0.01 +2021,"county","27003","Anoka","Agriculture","Livestock","Direct manure soil emissions",289.130556319624,"USDA livestock census","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27019","Carver","Agriculture","Livestock","Direct manure soil emissions",9962.21431802723,"USDA livestock census","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.09 +2021,"county","27025","Chisago","Agriculture","Livestock","Direct manure soil emissions",2847.15151798418,"USDA livestock census","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.05 +2021,"county","27037","Dakota","Agriculture","Livestock","Direct manure soil emissions",10443.6921540475,"USDA livestock census","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.02 +2021,"county","27053","Hennepin","Agriculture","Livestock","Direct manure soil emissions",1393.65324256939,"USDA livestock census","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","55093","Pierce","Agriculture","Livestock","Direct manure soil emissions",17277.064898207,"USDA livestock census","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",0.41 +2021,"county","27123","Ramsey","Agriculture","Livestock","Direct manure soil emissions",0.00400794966,"USDA livestock census","EPA SIT",549377,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27139","Scott","Agriculture","Livestock","Direct manure soil emissions",4372.95365503828,"USDA livestock census","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.03 +2021,"county","27141","Sherburne","Agriculture","Livestock","Direct manure soil emissions",2901.57018410567,"USDA livestock census","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.03 +2021,"county","55109","St. Croix","Agriculture","Livestock","Direct manure soil emissions",19253.6672749911,"USDA livestock census","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.21 +2021,"county","27163","Washington","Agriculture","Livestock","Direct manure soil emissions",1242.14202557536,"USDA livestock census","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0 +2005,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",114.739084481977,"USDA livestock census","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",2383.41135721325,"USDA livestock census","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2005,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",655.735786137705,"USDA livestock census","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2005,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",2349.0830888943,"USDA livestock census","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2005,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",452.421711060654,"USDA livestock census","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3496.12079093433,"USDA livestock census","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2005,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0,"USDA livestock census","EPA SIT",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",1462.48313376814,"USDA livestock census","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2005,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",563.52955438692,"USDA livestock census","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2005,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",4321.33818838625,"USDA livestock census","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2005,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",397.925341416811,"USDA livestock census","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",118.693168447484,"USDA livestock census","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",2361.69624575998,"USDA livestock census","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2006,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",657.942030428393,"USDA livestock census","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",2465.63578202575,"USDA livestock census","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",453.309448420255,"USDA livestock census","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3517.6033720709,"USDA livestock census","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2006,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0,"USDA livestock census","EPA SIT",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",1433.13610685832,"USDA livestock census","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",556.379175916102,"USDA livestock census","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",4360.67791835061,"USDA livestock census","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2006,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",401.414658284478,"USDA livestock census","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",122.364484691403,"USDA livestock census","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",2310.01444425433,"USDA livestock census","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2007,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",655.345925573387,"USDA livestock census","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",2569.67675538255,"USDA livestock census","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",450.756096090879,"USDA livestock census","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3513.65291522407,"USDA livestock census","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2007,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0,"USDA livestock census","EPA SIT",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",1387.6984149527,"USDA livestock census","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",548.265918341541,"USDA livestock census","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",4365.29084896239,"USDA livestock census","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2007,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",403.93961223986,"USDA livestock census","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",116.744341658091,"USDA livestock census","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",2236.64966664424,"USDA livestock census","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2008,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",628.195448738371,"USDA livestock census","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",2455.15844878501,"USDA livestock census","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",462.074448515773,"USDA livestock census","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3419.43230467299,"USDA livestock census","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2008,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0,"USDA livestock census","EPA SIT",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",1414.23913016579,"USDA livestock census","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",573.395515921848,"USDA livestock census","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",4164.07245211167,"USDA livestock census","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2008,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",403.233369131466,"USDA livestock census","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",111.867461741868,"USDA livestock census","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",2197.60168637338,"USDA livestock census","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2009,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",609.263481419488,"USDA livestock census","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",2357.19510593888,"USDA livestock census","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",479.299391696158,"USDA livestock census","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3400.28667241509,"USDA livestock census","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2009,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0,"USDA livestock census","EPA SIT",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",1460.55479251767,"USDA livestock census","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",600.367211521536,"USDA livestock census","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",4064.2039054235,"USDA livestock census","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2009,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",406.113071472862,"USDA livestock census","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2010,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",106.476154748999,"USDA livestock census","EPA SIT",244813,"Decennial Census, Table P1",0 +2010,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",2149.66331688868,"USDA livestock census","EPA SIT",63837,"Decennial Census, Table P1",0.03 +2010,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",588.332942704676,"USDA livestock census","EPA SIT",40040,"Decennial Census, Table P1",0.01 +2010,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",2234.4470908382,"USDA livestock census","EPA SIT",293492,"Decennial Census, Table P1",0.01 +2010,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",492.998869027759,"USDA livestock census","EPA SIT",891080,"Decennial Census, Table P1",0 +2010,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3377.59175541027,"USDA livestock census","EPA SIT",31860,"Decennial Census, Table P1",0.11 +2010,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0,"USDA livestock census","EPA SIT",390147,"Decennial Census, Table P1",0 +2010,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",1499.13497652195,"USDA livestock census","EPA SIT",90700,"Decennial Census, Table P1",0.02 +2010,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",620.194056697602,"USDA livestock census","EPA SIT",62722,"Decennial Census, Table P1",0.01 +2010,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",3960.23336597669,"USDA livestock census","EPA SIT",61462,"Decennial Census, Table P1",0.06 +2010,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",407.421985831946,"USDA livestock census","EPA SIT",174538,"Decennial Census, Table P1",0 +2011,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",100.979601160935,"USDA livestock census","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",2094.84348918496,"USDA livestock census","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2011,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",565.774521080949,"USDA livestock census","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2011,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",2114.94940409706,"USDA livestock census","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2011,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",505.666207163291,"USDA livestock census","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3337.68342786867,"USDA livestock census","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2011,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0,"USDA livestock census","EPA SIT",515856,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",1533.74104043661,"USDA livestock census","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2011,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",640.935381984012,"USDA livestock census","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2011,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",3833.26202602319,"USDA livestock census","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2011,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",407.878548988125,"USDA livestock census","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",96.2193890707713,"USDA livestock census","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",2062.26936652516,"USDA livestock census","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2012,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",547.906700124032,"USDA livestock census","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",2020.74667390071,"USDA livestock census","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",525.706792550078,"USDA livestock census","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3338.83090213381,"USDA livestock census","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2012,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0,"USDA livestock census","EPA SIT",521091,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",1586.53797173329,"USDA livestock census","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",670.714512510783,"USDA livestock census","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",3751.18897132426,"USDA livestock census","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2012,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",411.871147071179,"USDA livestock census","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",82.5168352293815,"USDA livestock census","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",2004.74514619313,"USDA livestock census","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2013,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",553.887082754378,"USDA livestock census","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",1939.84516522819,"USDA livestock census","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",481.750548529187,"USDA livestock census","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3350.55758257495,"USDA livestock census","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2013,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0.0009017886735,"USDA livestock census","EPA SIT",527261,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",1461.30384363691,"USDA livestock census","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",636.094294440382,"USDA livestock census","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",3811.19517751463,"USDA livestock census","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2013,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",397.596474283751,"USDA livestock census","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",68.6251973084442,"USDA livestock census","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",1942.1676443462,"USDA livestock census","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2014,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",558.700238535371,"USDA livestock census","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",1854.69819962787,"USDA livestock census","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",435.884399605478,"USDA livestock census","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3347.33741088213,"USDA livestock census","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2014,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0.001803577347,"USDA livestock census","EPA SIT",532966,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",1331.82795133485,"USDA livestock census","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",599.948451374999,"USDA livestock census","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",3854.67693599561,"USDA livestock census","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2014,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",382.358017199698,"USDA livestock census","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",55.512870875976,"USDA livestock census","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",1903.86301012184,"USDA livestock census","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2015,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",568.117048450868,"USDA livestock census","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",1804.04570007356,"USDA livestock census","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",395.76964522796,"USDA livestock census","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3391.35771193797,"USDA livestock census","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2015,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0.0027053660205,"USDA livestock census","EPA SIT",536838,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",1221.25022094765,"USDA livestock census","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",577.276438665377,"USDA livestock census","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",3950.14316020992,"USDA livestock census","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2015,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",370.299914803514,"USDA livestock census","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",41.7570950158531,"USDA livestock census","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",1854.65350202903,"USDA livestock census","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2016,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",575.779143577405,"USDA livestock census","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",1731.01111022995,"USDA livestock census","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",349.560321219062,"USDA livestock census","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3432.68495928677,"USDA livestock census","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2016,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0.003607154694,"USDA livestock census","EPA SIT",541635,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",1097.66051418414,"USDA livestock census","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",543.584567512084,"USDA livestock census","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",4048.39697258255,"USDA livestock census","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2016,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",356.54717846832,"USDA livestock census","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",27.4569893147099,"USDA livestock census","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",1803.59168082866,"USDA livestock census","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2017,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",583.522478372907,"USDA livestock census","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",1642.57690329832,"USDA livestock census","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",301.929907338698,"USDA livestock census","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3435.8214752302,"USDA livestock census","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2017,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0.0045089433675,"USDA livestock census","EPA SIT",544919,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",967.82020006397,"USDA livestock census","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",502.973877858661,"USDA livestock census","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",4105.21887327904,"USDA livestock census","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2017,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",342.067594222933,"USDA livestock census","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",29.7203655039191,"USDA livestock census","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",1813.7692859186,"USDA livestock census","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2018,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",546.539468347,"USDA livestock census","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",1705.69457908145,"USDA livestock census","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",282.858019583708,"USDA livestock census","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3330.46151392135,"USDA livestock census","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2018,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0.003607154694,"USDA livestock census","EPA SIT",548900,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",909.943428494783,"USDA livestock census","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",493.062611913982,"USDA livestock census","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",3967.82569892625,"USDA livestock census","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2018,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",302.915745990392,"USDA livestock census","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",32.1556030761987,"USDA livestock census","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",1827.469367192,"USDA livestock census","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2019,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",510.136873181173,"USDA livestock census","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2019,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",1778.18722076655,"USDA livestock census","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",263.981937267622,"USDA livestock census","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3216.03113574898,"USDA livestock census","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2019,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0.0027053660205,"USDA livestock census","EPA SIT",549632,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",854.950380892806,"USDA livestock census","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2019,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",485.90785547517,"USDA livestock census","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",3817.26720181426,"USDA livestock census","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2019,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",264.129592518676,"USDA livestock census","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0 +2020,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",34.6068958354857,"USDA livestock census","EPA SIT",363887,"Decennial Census, Table P1",0 +2020,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",1845.8206234146,"USDA livestock census","EPA SIT",106922,"Decennial Census, Table P1",0.02 +2020,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",474.437307836416,"USDA livestock census","EPA SIT",56621,"Decennial Census, Table P1",0.01 +2020,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",1859.58856672502,"USDA livestock census","EPA SIT",439882,"Decennial Census, Table P1",0 +2020,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",245.533471358543,"USDA livestock census","EPA SIT",1281565,"Decennial Census, Table P1",0 +2020,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",3111.41530204932,"USDA livestock census","EPA SIT",42212,"Decennial Census, Table P1",0.07 +2020,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0.001803577347,"USDA livestock census","EPA SIT",552352,"Decennial Census, Table P1",0 +2020,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",802.086319682956,"USDA livestock census","EPA SIT",150928,"Decennial Census, Table P1",0.01 +2020,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",480.44563902367,"USDA livestock census","EPA SIT",97183,"Decennial Census, Table P1",0 +2020,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",3678.13878821721,"USDA livestock census","EPA SIT",93536,"Decennial Census, Table P1",0.04 +2020,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",225.480717729844,"USDA livestock census","EPA SIT",267568,"Decennial Census, Table P1",0 +2021,"county","27003","Anoka","Agriculture","Livestock","Indirect manure runoff emissions",36.9510663705134,"USDA livestock census","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27019","Carver","Agriculture","Livestock","Indirect manure runoff emissions",1847.78127348848,"USDA livestock census","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.02 +2021,"county","27025","Chisago","Agriculture","Livestock","Indirect manure runoff emissions",435.312408113036,"USDA livestock census","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.01 +2021,"county","27037","Dakota","Agriculture","Livestock","Indirect manure runoff emissions",1924.8772880554,"USDA livestock census","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27053","Hennepin","Agriculture","Livestock","Indirect manure runoff emissions",224.977384340021,"USDA livestock census","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","55093","Pierce","Agriculture","Livestock","Indirect manure runoff emissions",2986.03968544177,"USDA livestock census","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",0.07 +2021,"county","27123","Ramsey","Agriculture","Livestock","Indirect manure runoff emissions",0.0009017886735,"USDA livestock census","EPA SIT",549377,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27139","Scott","Agriculture","Livestock","Indirect manure runoff emissions",741.171310936357,"USDA livestock census","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27141","Sherburne","Agriculture","Livestock","Indirect manure runoff emissions",471.256838919599,"USDA livestock census","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","55109","St. Croix","Agriculture","Livestock","Indirect manure runoff emissions",3513.84107974806,"USDA livestock census","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.04 +2021,"county","27163","Washington","Agriculture","Livestock","Indirect manure runoff emissions",185.228890513913,"USDA livestock census","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0 +2005,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",1481.31027835725,"USDA crop production survey","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",1604.70587488035,"USDA crop production survey","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",2054.36109891254,"USDA crop production survey","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",362.343568564242,"USDA crop production survey","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",1670.49631546745,"USDA crop production survey","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2010,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",3320.61683871865,"USDA crop production survey","EPA SIT",244813,"Decennial Census, Table P1",0.01 +2011,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",1756.04918886133,"USDA crop production survey","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",2317.99474738637,"USDA crop production survey","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",2289.22676887326,"USDA crop production survey","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",1692.20169816424,"USDA crop production survey","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",2863.34256333913,"USDA crop production survey","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",3214.60878994465,"USDA crop production survey","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",3211.66735584711,"USDA crop production survey","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",3208.23431766639,"USDA crop production survey","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2020,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",2467.2699644557,"USDA crop production survey","EPA SIT",363887,"Decennial Census, Table P1",0.01 +2021,"county","27003","Anoka","Agriculture","Cropland","Soil residue emissions",1845.09496950521,"USDA crop production survey","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0.01 +2005,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",39313.1818732732,"USDA crop production survey","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.47 +2006,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",42181.0293035315,"USDA crop production survey","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.49 +2007,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",33735.916576942,"USDA crop production survey","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.39 +2008,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",35134.7830254136,"USDA crop production survey","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.4 +2009,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",35340.2558683435,"USDA crop production survey","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.39 +2010,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",37849.609545696,"USDA crop production survey","EPA SIT",63837,"Decennial Census, Table P1",0.59 +2011,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",27471.1663343192,"USDA crop production survey","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.3 +2012,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",32801.0392131784,"USDA crop production survey","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.35 +2013,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",26957.0416250452,"USDA crop production survey","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.28 +2014,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",20068.4648129889,"USDA crop production survey","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.21 +2015,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",40192.4553046743,"USDA crop production survey","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.41 +2016,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",40013.7938329929,"USDA crop production survey","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.4 +2017,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",39585.418701662,"USDA crop production survey","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.39 +2018,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",35549.2773045657,"USDA crop production survey","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.34 +2019,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",31713.950985868,"USDA crop production survey","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.3 +2020,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",40023.1204233685,"USDA crop production survey","EPA SIT",106922,"Decennial Census, Table P1",0.37 +2021,"county","27019","Carver","Agriculture","Cropland","Soil residue emissions",38621.1713594331,"USDA crop production survey","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.37 +2005,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",16071.5657712214,"USDA crop production survey","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.32 +2006,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",18303.555503124,"USDA crop production survey","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.36 +2007,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",11225.8779503197,"USDA crop production survey","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.21 +2008,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",15074.493854679,"USDA crop production survey","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.28 +2009,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",12908.7151316374,"USDA crop production survey","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.24 +2010,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",20122.4193419836,"USDA crop production survey","EPA SIT",40040,"Decennial Census, Table P1",0.5 +2011,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",17882.934498536,"USDA crop production survey","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.33 +2012,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",17389.7924071992,"USDA crop production survey","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.33 +2013,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",11541.3155476683,"USDA crop production survey","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2014,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",10412.1177643862,"USDA crop production survey","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2015,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",20326.499969295,"USDA crop production survey","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.38 +2016,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",20550.2695975378,"USDA crop production survey","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.38 +2017,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",19126.3081765014,"USDA crop production survey","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.35 +2018,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",16420.2623562263,"USDA crop production survey","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.29 +2019,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",10806.245324825,"USDA crop production survey","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2020,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",16886.3996261001,"USDA crop production survey","EPA SIT",56621,"Decennial Census, Table P1",0.3 +2021,"county","27025","Chisago","Agriculture","Cropland","Soil residue emissions",15031.2130104708,"USDA crop production survey","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.27 +2005,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",52045.4191606037,"USDA crop production survey","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.14 +2006,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",53009.266173457,"USDA crop production survey","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.14 +2007,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",37107.7998694105,"USDA crop production survey","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2008,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",38042.7911805331,"USDA crop production survey","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 +2009,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",46175.7784350662,"USDA crop production survey","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 +2010,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",46756.6718604084,"USDA crop production survey","EPA SIT",293492,"Decennial Census, Table P1",0.16 +2011,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",38303.3469766694,"USDA crop production survey","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2012,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",36529.123386621,"USDA crop production survey","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2013,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",31445.8537794953,"USDA crop production survey","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2014,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",38916.4132440895,"USDA crop production survey","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2015,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",44314.6815440582,"USDA crop production survey","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2016,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",47820.7875820285,"USDA crop production survey","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2017,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",47956.6546686356,"USDA crop production survey","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2018,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",44554.9537444217,"USDA crop production survey","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2019,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",8294.56191810488,"USDA crop production survey","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2020,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",40155.3379966401,"USDA crop production survey","EPA SIT",439882,"Decennial Census, Table P1",0.09 +2021,"county","27037","Dakota","Agriculture","Cropland","Soil residue emissions",42967.433451776,"USDA crop production survey","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.1 +2005,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",11672.1763692233,"USDA crop production survey","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",12713.3449943106,"USDA crop production survey","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",9450.41535467932,"USDA crop production survey","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",8749.51066532599,"USDA crop production survey","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",12316.4277076536,"USDA crop production survey","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2010,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",11938.0634910698,"USDA crop production survey","EPA SIT",891080,"Decennial Census, Table P1",0.01 +2011,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",10324.5460049518,"USDA crop production survey","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",10593.4756752296,"USDA crop production survey","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",7753.90557839231,"USDA crop production survey","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",7253.52046100187,"USDA crop production survey","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",13898.6436867688,"USDA crop production survey","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",11500.9925973541,"USDA crop production survey","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",12006.7318020258,"USDA crop production survey","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",10894.5915989982,"USDA crop production survey","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2019,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",6792.7931824958,"USDA crop production survey","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2020,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",9315.77086295565,"USDA crop production survey","EPA SIT",1281565,"Decennial Census, Table P1",0.01 +2021,"county","27053","Hennepin","Agriculture","Cropland","Soil residue emissions",9687.50436476516,"USDA crop production survey","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0.01 +2005,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",31511.7280863868,"USDA crop production survey","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.27 +2006,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",31146.9302462587,"USDA crop production survey","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.26 +2007,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",20724.716855601,"USDA crop production survey","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 +2008,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",21227.0723962718,"USDA crop production survey","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 +2009,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",26319.8327920543,"USDA crop production survey","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.2 +2010,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",30635.5748473769,"USDA crop production survey","EPA SIT",90700,"Decennial Census, Table P1",0.34 +2011,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",21712.6679672682,"USDA crop production survey","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2012,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",25558.0640976438,"USDA crop production survey","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2013,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",20196.2306780288,"USDA crop production survey","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.15 +2014,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",19740.4354966771,"USDA crop production survey","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2015,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",26589.9767637902,"USDA crop production survey","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2016,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",27651.7955687927,"USDA crop production survey","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2017,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",26387.1868982895,"USDA crop production survey","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2018,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",13.2779575815628,"USDA crop production survey","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0 +2020,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",30285.5882986116,"USDA crop production survey","EPA SIT",150928,"Decennial Census, Table P1",0.2 +2021,"county","27139","Scott","Agriculture","Cropland","Soil residue emissions",31871.7421939211,"USDA crop production survey","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.21 +2005,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",14441.9582340605,"USDA crop production survey","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2006,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",12860.8065860615,"USDA crop production survey","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 +2007,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",9975.46222878301,"USDA crop production survey","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 +2008,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",11182.209121997,"USDA crop production survey","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.13 +2009,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",11063.3588277306,"USDA crop production survey","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.13 +2010,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",12145.297053495,"USDA crop production survey","EPA SIT",62722,"Decennial Census, Table P1",0.19 +2011,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",12554.8608599593,"USDA crop production survey","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2012,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",8874.45700710481,"USDA crop production survey","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2013,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",8983.83804101781,"USDA crop production survey","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2014,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",2556.82562678243,"USDA crop production survey","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2015,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",2363.62841803705,"USDA crop production survey","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2016,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",3287.17275661065,"USDA crop production survey","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2017,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",2674.22243438134,"USDA crop production survey","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2018,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",724.4749512,"USDA crop production survey","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2019,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",2314.34013578675,"USDA crop production survey","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2020,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",16651.8620023679,"USDA crop production survey","EPA SIT",97183,"Decennial Census, Table P1",0.17 +2021,"county","27141","Sherburne","Agriculture","Cropland","Soil residue emissions",9656.95352441404,"USDA crop production survey","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.1 +2005,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",32849.5696859857,"USDA crop production survey","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 +2006,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",34084.3405175288,"USDA crop production survey","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.15 +2007,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",26869.8623961553,"USDA crop production survey","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.12 +2008,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",21120.6138151781,"USDA crop production survey","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2009,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",30396.384155705,"USDA crop production survey","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.13 +2010,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",36451.6761887375,"USDA crop production survey","EPA SIT",174538,"Decennial Census, Table P1",0.21 +2011,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",32189.4704520084,"USDA crop production survey","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0.13 +2012,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",24605.0449379601,"USDA crop production survey","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2013,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",12978.2612639967,"USDA crop production survey","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2014,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",28613.0168324946,"USDA crop production survey","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0.12 +2015,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",35009.9228244709,"USDA crop production survey","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2016,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",36826.2964424674,"USDA crop production survey","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0.15 +2017,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",32653.7831769887,"USDA crop production survey","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0.13 +2018,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",30140.6700347418,"USDA crop production survey","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0.12 +2019,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",25309.3802034769,"USDA crop production survey","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2020,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",28515.9894265849,"USDA crop production survey","EPA SIT",267568,"Decennial Census, Table P1",0.11 +2021,"county","27163","Washington","Agriculture","Cropland","Soil residue emissions",28935.272433867,"USDA crop production survey","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0.11 +2005,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",30830.3302178659,"USDA crop production survey","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.78 +2006,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",30480.499734404,"USDA crop production survey","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.76 +2007,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",24447.9136707078,"USDA crop production survey","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.61 +2008,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",23674.3639723773,"USDA crop production survey","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.58 +2009,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",32689.7267322956,"USDA crop production survey","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.8 +2010,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",36330.2045567337,"USDA crop production survey","EPA SIT",31860,"Decennial Census, Table P1",1.14 +2011,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",32711.9608879277,"USDA crop production survey","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.8 +2012,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",38805.5915329458,"USDA crop production survey","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.95 +2013,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",27349.8314161729,"USDA crop production survey","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.67 +2014,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",35738.00584774,"USDA crop production survey","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.87 +2015,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",39671.1867672744,"USDA crop production survey","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",0.96 +2016,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",48009.4416284964,"USDA crop production survey","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",1.16 +2017,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",44482.749952383,"USDA crop production survey","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",1.06 +2018,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",43094.7868707161,"USDA crop production survey","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",1.01 +2019,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",32371.7235914882,"USDA crop production survey","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.76 +2020,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",43334.3084312636,"USDA crop production survey","EPA SIT",42212,"Decennial Census, Table P1",1.03 +2021,"county","55093","Pierce","Agriculture","Cropland","Soil residue emissions",42434.0024266218,"USDA crop production survey","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",1.01 +2005,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",37929.4600832212,"USDA crop production survey","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.49 +2006,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",29928.1572347676,"USDA crop production survey","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.38 +2007,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",22249.0138649554,"USDA crop production survey","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.27 +2008,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",31276.1516591106,"USDA crop production survey","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.38 +2009,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",36582.4795816274,"USDA crop production survey","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.44 +2010,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",44825.141917774,"USDA crop production survey","EPA SIT",61462,"Decennial Census, Table P1",0.73 +2011,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",45362.6139914476,"USDA crop production survey","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.53 +2012,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",42058.6301086141,"USDA crop production survey","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.49 +2013,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",18290.6366599929,"USDA crop production survey","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.21 +2014,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",36069.750219461,"USDA crop production survey","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.42 +2015,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",49861.2581899712,"USDA crop production survey","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.57 +2016,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",54247.2030048942,"USDA crop production survey","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.62 +2017,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",52720.9593369369,"USDA crop production survey","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.59 +2018,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",46678.6353288434,"USDA crop production survey","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.52 +2019,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",42792.6068994962,"USDA crop production survey","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.47 +2020,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",49608.1510651794,"USDA crop production survey","EPA SIT",93536,"Decennial Census, Table P1",0.53 +2021,"county","55109","St. Croix","Agriculture","Cropland","Soil residue emissions",50227.8276487607,"USDA crop production survey","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.54 +2005,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",19060.7645004735,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.23 +2005,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",11295.8134465103,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 +2005,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",13548.5221593068,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 +2005,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4032.22258945108,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2005,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",8874.18850544742,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2005,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",7608.36039612858,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2005,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",20.6490976788531,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",8157.02956862097,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2005,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",33933.8461492214,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2005,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",15390.5833508971,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.39 +2005,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",17488.609641477,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.23 +2006,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",19447.5583629448,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.23 +2006,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",10340.3408892541,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2006,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",13398.1273146318,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 +2006,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",3969.37389232062,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",8599.13889428148,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.17 +2006,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",7266.26511737628,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",26.7306116895409,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",7413.28015562739,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2006,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",34555.5228638563,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2006,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",17076.9635710844,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.43 +2006,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",19478.8014009369,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.24 +2007,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",23059.2017501863,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.26 +2007,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",10985.7135810908,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2007,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",15428.5844789963,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2007,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4550.83859894817,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",9706.29632373524,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.19 +2007,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",8081.38242304318,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",37.7886953649314,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",7811.46317043653,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2007,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",40900.8643474861,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 +2007,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",19463.8496319675,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.48 +2007,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",22283.3570896197,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.27 +2008,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",21947.0877684663,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.25 +2008,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",11165.8150864478,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2008,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",15555.950679898,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2008,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4524.25678315108,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",9407.06963032853,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.18 +2008,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",7596.64146655573,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",39.5152837826237,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",8107.7051427787,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2008,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",40198.5831063152,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 +2008,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",14210.876520932,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.35 +2008,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",16533.3084784078,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.2 +2009,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",19144.8141786272,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.21 +2009,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",10414.2687473334,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2009,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",14397.2531527075,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 +2009,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4129.76031903661,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",8366.32606721171,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.16 +2009,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",6536.47966367282,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",37.8400245467605,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",7711.5412431245,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.03 +2009,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",36272.1765960309,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2009,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",18527.8432670038,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.46 +2009,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",21887.9009786477,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.26 +2010,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",20709.3124471649,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",63837,"Decennial Census, Table P1",0.32 +2010,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",12062.1365287319,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90700,"Decennial Census, Table P1",0.13 +2010,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",16551.9176565695,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",62722,"Decennial Census, Table P1",0.26 +2010,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4683.75059966189,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",244813,"Decennial Census, Table P1",0.02 +2010,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",9239.58271913631,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40040,"Decennial Census, Table P1",0.23 +2010,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",6964.02212374444,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",891080,"Decennial Census, Table P1",0.01 +2010,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",44.9157724703335,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",390147,"Decennial Census, Table P1",0 +2010,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",9097.07248230166,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",174538,"Decennial Census, Table P1",0.05 +2010,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",40662.1062449971,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",293492,"Decennial Census, Table P1",0.14 +2010,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",18721.3988158675,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",31860,"Decennial Census, Table P1",0.59 +2010,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",22440.7364587867,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",61462,"Decennial Census, Table P1",0.37 +2011,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",20449.9831422337,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2011,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",12774.410994591,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2011,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",17404.4112282648,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2011,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4859.6774300542,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2011,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",9329.26911127164,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2011,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",6761.30562522911,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2011,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",48.6692541601654,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",515856,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",9801.5436081425,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2011,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",41697.7077680115,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2011,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",21588.4452360298,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.53 +2011,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",26238.6978774209,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.31 +2012,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",21473.4319680096,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.23 +2012,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",14412.8611074377,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2012,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",19501.9218298703,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2012,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",5374.36869364307,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2012,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",10033.8646054893,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2012,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",6966.00248809209,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",56.0998819795728,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",521091,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",11239.2106411647,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2012,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",45572.3384126632,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2012,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",25417.444368398,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.62 +2012,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",31303.9034082501,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.37 +2013,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",20718.0480881904,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2013,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",13190.2420410987,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2013,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",18995.1644820923,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.21 +2013,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4919.1966627886,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",10148.7505138603,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2013,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",6898.83937066817,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",63.6079577544319,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",527261,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",10646.3500300546,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2013,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",44079.9476188204,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2013,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",24699.8441573668,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.6 +2013,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",29681.1197445603,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.35 +2014,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",21210.5679763349,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2014,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",12792.2364893107,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2014,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",19624.9889188151,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2014,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4771.52547540285,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",10855.2246392611,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.2 +2014,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",7239.72233477064,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",74.5481047253554,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",532966,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",10703.0628580751,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2014,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",45237.948303589,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2014,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",25922.4572335112,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.63 +2014,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",30381.9807370512,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.35 +2015,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",21204.8650646698,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2015,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",12097.568215549,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2015,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",19792.8781202779,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2015,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4513.19428354319,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",11304.2197460067,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.21 +2015,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",7409.59954095507,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",83.686566304263,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",536838,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",10509.4214275736,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2015,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",45332.7473216226,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2015,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",24965.8628449743,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",0.61 +2015,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",28527.7418884446,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.33 +2016,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",21820.2068229281,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2016,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",11757.2053124501,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2016,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",20540.4595131819,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2016,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4387.0424714939,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",12084.2951093449,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2016,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",7796.48945950748,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",95.2761094525088,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",541635,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",10623.576510948,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2016,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",46755.2455041084,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2016,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",25305.2074426153,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",0.61 +2016,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",28179.3428903929,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.32 +2017,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",22124.9302702558,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2017,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",11239.6318402662,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2017,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",20998.1060090034,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2017,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4194.77937880311,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",12698.7812254428,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.23 +2017,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",8074.84026276422,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",105.639774492418,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",544919,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",10583.7849069592,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2017,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",47513.6894066003,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2017,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",25422.4430182095,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",0.6 +2017,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",27577.1465815337,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.31 +2018,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",22154.827083747,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.21 +2018,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",11198.7259830585,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2018,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",19907.6678748153,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.21 +2018,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4146.64650551423,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",12257.3073283598,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2018,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",6993.41759773425,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",118.850186806523,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",548900,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",9806.74452514938,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2018,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",46019.3351210344,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.11 +2018,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",24782.3285758255,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",0.58 +2018,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",27724.5071640338,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.31 +2019,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",22184.7238972381,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.21 +2019,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",11157.8201258507,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2019,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",18817.2297406272,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2019,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4098.51363222535,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2019,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",11815.8334312769,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.21 +2019,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",5911.99493270428,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",132.060599120629,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",549632,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",9029.70414333962,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2019,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",44524.9808354685,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2019,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",24142.2141334416,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.56 +2019,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",27871.8677465338,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.31 +2020,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",22214.6207107292,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",106922,"Decennial Census, Table P1",0.21 +2020,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",11116.9142686429,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",150928,"Decennial Census, Table P1",0.07 +2020,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",17726.7916064391,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",97183,"Decennial Census, Table P1",0.18 +2020,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4050.38075893647,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",363887,"Decennial Census, Table P1",0.01 +2020,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",11374.359534194,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",56621,"Decennial Census, Table P1",0.2 +2020,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",4830.57226767432,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1281565,"Decennial Census, Table P1",0 +2020,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",145.271011434734,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",552352,"Decennial Census, Table P1",0 +2020,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",8252.66376152985,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",267568,"Decennial Census, Table P1",0.03 +2020,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",43030.6265499026,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",439882,"Decennial Census, Table P1",0.1 +2020,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",23502.0996910576,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42212,"Decennial Census, Table P1",0.56 +2020,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",28019.2283290338,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",93536,"Decennial Census, Table P1",0.3 +2021,"county","27019","Carver","Agriculture","Cropland","Onsite fertilizer emissions",22244.5175242204,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.21 +2021,"county","27139","Scott","Agriculture","Cropland","Onsite fertilizer emissions",11076.0084114352,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.07 +2021,"county","27141","Sherburne","Agriculture","Cropland","Onsite fertilizer emissions",16636.353472251,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.17 +2021,"county","27003","Anoka","Agriculture","Cropland","Onsite fertilizer emissions",4002.24788564759,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0.01 +2021,"county","27025","Chisago","Agriculture","Cropland","Onsite fertilizer emissions",10932.885637111,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.19 +2021,"county","27053","Hennepin","Agriculture","Cropland","Onsite fertilizer emissions",3749.14960264435,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27123","Ramsey","Agriculture","Cropland","Onsite fertilizer emissions",158.481423748839,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",549377,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27163","Washington","Agriculture","Cropland","Onsite fertilizer emissions",7475.62337972008,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0.03 +2021,"county","27037","Dakota","Agriculture","Cropland","Onsite fertilizer emissions",41536.2722643367,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.1 +2021,"county","55093","Pierce","Agriculture","Cropland","Onsite fertilizer emissions",22861.9852486736,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",0.54 +2021,"county","55109","St. Croix","Agriculture","Cropland","Onsite fertilizer emissions",28166.5889115338,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.3 +2005,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4298.15043597535,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2005,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2547.17514025256,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2005,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",3055.15481419434,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2005,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",909.255202243766,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2001.10531729558,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2005,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1715.66452924096,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",4.65631523796725,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",1839.38793198778,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2005,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",7651.98980434248,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2005,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",3470.53459151284,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",0.09 +2005,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",3943.63380090288,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2006,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4383.29102884985,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2006,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2330.61254319092,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2006,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",3019.80794532611,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2006,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",894.658375496204,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",1938.16250182629,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2006,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1637.7456803486,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",6.02482060872405,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",1670.88144403912,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2006,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",7788.47969187542,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2006,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",3848.98195568628,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 +2006,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",4390.33290658015,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2007,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",5199.93106905878,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2007,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2477.31703746567,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2007,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",3479.20004573803,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2007,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",1026.23010446367,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2188.80394759866,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2007,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1822.38014991946,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",8.52148366695808,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",1761.51240944119,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2007,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",9223.28871467256,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2007,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",4389.16652541703,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",0.11 +2007,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",5024.97537029043,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2008,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4946.72797856905,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2008,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2516.70064267116,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2008,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",3506.20807978249,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2008,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",1019.7374634643,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2120.2910849773,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2008,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1712.23258785897,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",8.9064828067738,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",1827.42294990942,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2008,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",9060.49394109379,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2008,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",3203.03728803089,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",0.08 +2008,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",3726.4980434426,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2009,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4317.81637465657,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0.05 +2009,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2348.77704780808,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2009,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",3247.07750270229,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2009,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",931.403489350653,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",1886.89528932859,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",0.04 +2009,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1474.20176874446,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",8.53423157210946,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",1739.2187118,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0.01 +2009,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",8180.62774542988,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",0.02 +2009,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",4178.66813952413,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",0.1 +2009,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",4936.47712485885,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",0.06 +2010,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4667.52739631614,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",63837,"Decennial Census, Table P1",0.07 +2010,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2718.60076714759,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90700,"Decennial Census, Table P1",0.03 +2010,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",3730.52120009824,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",62722,"Decennial Census, Table P1",0.06 +2010,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",1055.6378584373,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",244813,"Decennial Census, Table P1",0 +2010,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2082.4450634044,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40040,"Decennial Census, Table P1",0.05 +2010,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1569.57234259019,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",891080,"Decennial Census, Table P1",0 +2010,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",10.1232524772055,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",390147,"Decennial Census, Table P1",0 +2010,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",2050.3256757435,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",174538,"Decennial Census, Table P1",0.01 +2010,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",9164.54833421686,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",293492,"Decennial Census, Table P1",0.03 +2010,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",4219.48541716964,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",31860,"Decennial Census, Table P1",0.13 +2010,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",5057.76097019757,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",61462,"Decennial Census, Table P1",0.08 +2011,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4608.46868570709,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",92752,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2011,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2878.75411130998,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",132581,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2011,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",3922.13937687709,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",89279,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2011,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",1095.14375162444,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",332921,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2102.3804401598,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53762,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2011,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1523.68170827549,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",10.9677710829322,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",515856,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",2208.80899879233,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",241428,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2011,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",9396.71094974099,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",401804,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2011,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",4865.02473627364,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40906,"US Census County Intercensal Tables (CO-EST2020)",0.12 +2011,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",5912.97394627659,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",84836,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2012,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4839.59234380916,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",93804,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2012,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",3248.31039453101,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",135140,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2012,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",4395.26162925476,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",89474,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2012,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",1211.25275276496,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",336119,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2261.39046594352,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53468,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2012,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1569.96852475887,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",12.6435569182146,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",521091,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",2533.04631744345,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",243720,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",10270.9031513908,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",404669,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2012,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",5728.47737370303,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40744,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2012,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",7055.14290829734,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85075,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2013,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4674.69096740089,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",95562,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2013,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2976.16382899038,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",137280,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2013,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",4285.95027150973,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90086,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2013,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",1109.93681009527,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",339120,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2289.90067768936,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53665,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2013,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1556.61102601625,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",14.3521022976558,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",527261,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",2402.17592455793,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",246002,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",9945.92406099594,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",407974,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2013,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",5573.11856248023,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",40845,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2013,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",6697.06247333839,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",85700,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2014,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4784.45170215466,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",97321,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2014,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2885.53506506445,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",139198,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2014,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",4426.79383890859,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90908,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2014,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",1076.30937597411,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",341923,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2448.604773834,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",53808,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2014,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1633.05866615015,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1211635,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",16.8157593395697,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",532966,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",2414.28175646781,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",248580,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",10204.2896260287,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",411821,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2014,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",5847.30898169636,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",41076,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2014,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",6853.2403099435,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",86599,"US Census County Intercensal Tables (CO-EST2020)",0.08 +2015,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4782.41610992303,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",98610,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2015,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2728.41185022817,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",141372,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2015,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",4463.96517475949,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",91441,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2015,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",1017.87834928463,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",344244,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2549.48486861566,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",54144,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2015,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1671.1159493197,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",18.8741584375596,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",536838,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",2370.2308969152,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",250482,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",10224.0717135813,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",414245,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2015,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",5630.64864142268,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",41117,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2015,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",6433.97314582951,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87207,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2016,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4921.19654209404,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",100389,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2016,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2651.64847418046,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",143393,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2016,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",4632.5701286698,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",93247,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2016,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",989.426837973406,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",346813,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2725.4183147001,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",54640,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2016,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1758.3727450413,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",21.4879934084393,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",541635,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",2395.976739112,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",252655,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",10544.8932893616,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",417783,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2016,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",5707.1823550598,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",41528,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2016,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",6355.3973578732,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",87643,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2017,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4989.92201236358,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",102120,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2017,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2534.91810575359,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",145581,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2017,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",4735.78493185725,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",94527,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2017,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",946.064991103649,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",350598,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2864.00577054987,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",55261,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2017,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1821.15028980026,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",23.8253512974686,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",544919,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",2387.00238311514,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",255717,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",10715.9481075219,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",421840,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2017,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",5733.62295270889,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42075,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2017,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",6219.58167029202,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",88615,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2018,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",4996.6647575798,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",103605,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2018,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2525.69244787253,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",147339,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2018,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",4489.85415682467,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",96067,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2018,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",935.209396034707,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",354004,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2764.43843677619,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",55980,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2018,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1577.25280876926,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",26.8047472274604,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",548900,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",2211.75342827885,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",258969,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",10378.9205439214,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",425472,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2018,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",5589.25544024817,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42608,"US Census County Intercensal Tables (CO-EST2020)",0.13 +2018,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",6252.81647851015,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",89721,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2019,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",5003.40750279602,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",105128,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2019,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2516.46678999147,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",149004,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2019,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",4243.92338179209,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",97424,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2019,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",924.353800965764,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",357538,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2664.8711030025,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",56543,"US Census County Intercensal Tables (CO-EST2020)",0.05 +2019,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1333.35532773826,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",29.7841431574522,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",549632,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",2036.50447344257,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",262541,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2019,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",10041.8929803209,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",429453,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2019,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",5444.88792778745,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42768,"US Census County Intercensal Tables (CO-EST2020)",0.13 +2019,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",6286.05128672829,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",90691,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2020,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",5010.15024801223,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",106922,"Decennial Census, Table P1",0.05 +2020,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2507.24113211041,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",150928,"Decennial Census, Table P1",0.02 +2020,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",3997.99260675951,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",97183,"Decennial Census, Table P1",0.04 +2020,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",913.498205896822,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",363887,"Decennial Census, Table P1",0 +2020,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2565.30376922881,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",56621,"Decennial Census, Table P1",0.05 +2020,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",1089.45784670726,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1281565,"Decennial Census, Table P1",0 +2020,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",32.763539087444,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",552352,"Decennial Census, Table P1",0 +2020,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",1861.25551860629,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",267568,"Decennial Census, Table P1",0.01 +2020,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",9704.86541672037,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",439882,"Decennial Census, Table P1",0.02 +2020,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",5300.52041532673,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42212,"Decennial Census, Table P1",0.13 +2020,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",6319.28609494642,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",93536,"Decennial Census, Table P1",0.07 +2021,"county","27019","Carver","Agriculture","Cropland","Runoff fertilizer emissions",5016.89299322845,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",105694,"ACS 5-Year Estimates, Table DP05",0.05 +2021,"county","27139","Scott","Agriculture","Cropland","Runoff fertilizer emissions",2498.01547422936,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",149568,"ACS 5-Year Estimates, Table DP05",0.02 +2021,"county","27141","Sherburne","Agriculture","Cropland","Runoff fertilizer emissions",3752.06183172693,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",96295,"ACS 5-Year Estimates, Table DP05",0.04 +2021,"county","27003","Anoka","Agriculture","Cropland","Runoff fertilizer emissions",902.64261082788,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",360773,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27025","Chisago","Agriculture","Cropland","Runoff fertilizer emissions",2465.73643545513,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",56328,"ACS 5-Year Estimates, Table DP05",0.04 +2021,"county","27053","Hennepin","Agriculture","Cropland","Runoff fertilizer emissions",845.560365676257,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",1270283,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27123","Ramsey","Agriculture","Cropland","Runoff fertilizer emissions",35.7429350174358,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",549377,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27163","Washington","Agriculture","Cropland","Runoff fertilizer emissions",1686.00656377001,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",264818,"ACS 5-Year Estimates, Table DP05",0.01 +2021,"county","27037","Dakota","Agriculture","Cropland","Runoff fertilizer emissions",9367.83785311987,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",435863,"ACS 5-Year Estimates, Table DP05",0.02 +2021,"county","55093","Pierce","Agriculture","Cropland","Runoff fertilizer emissions",5156.15290286602,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",42204,"ACS 5-Year Estimates, Table DP05",0.12 +2021,"county","55109","St. Croix","Agriculture","Cropland","Runoff fertilizer emissions",6352.52090316456,"USDA fertilizer purchase census and EPA SIT fertilizer application data","EPA SIT",92495,"ACS 5-Year Estimates, Table DP05",0.07 +2011,"county","27037","Dakota","Industrial","Fuel combustion","Coal",4873.44329748169,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",401804,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2011,"county","27037","Dakota","Industrial","Fuel combustion","Fuel gas",2298472.65828313,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",401804,"US Census County Intercensal Tables (CO-EST2020)",5.72 +2011,"county","27037","Dakota","Industrial","Fuel combustion","Natural gas",334309.378046796,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",401804,"US Census County Intercensal Tables (CO-EST2020)",0.83 +2011,"county","27037","Dakota","Industrial","Fuel combustion","Petroleum products",188.938530335366,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",401804,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27037","Dakota","Industrial","Fuel combustion","Coal",4925.41283411172,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",404669,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2012,"county","27037","Dakota","Industrial","Fuel combustion","Fuel gas",1806196.92138471,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",404669,"US Census County Intercensal Tables (CO-EST2020)",4.46 +2012,"county","27037","Dakota","Industrial","Fuel combustion","Natural gas",307828.536766699,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",404669,"US Census County Intercensal Tables (CO-EST2020)",0.76 +2012,"county","27037","Dakota","Industrial","Fuel combustion","Petroleum products",188.938530335366,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",404669,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27037","Dakota","Industrial","Fuel combustion","Coal",4821.47376085165,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",407974,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27037","Dakota","Industrial","Fuel combustion","Fuel gas",1768826.76320668,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",407974,"US Census County Intercensal Tables (CO-EST2020)",4.34 +2013,"county","27037","Dakota","Industrial","Fuel combustion","Natural gas",502051.354459223,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",407974,"US Census County Intercensal Tables (CO-EST2020)",1.23 +2013,"county","27037","Dakota","Industrial","Fuel combustion","Petroleum products",1328.81561417683,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",407974,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27037","Dakota","Industrial","Fuel combustion","Coal",4679.59692585165,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",411821,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27037","Dakota","Industrial","Fuel combustion","Fuel gas",1768283.73324102,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",411821,"US Census County Intercensal Tables (CO-EST2020)",4.29 +2014,"county","27037","Dakota","Industrial","Fuel combustion","Natural gas",290530.013177233,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",411821,"US Census County Intercensal Tables (CO-EST2020)",0.71 +2014,"county","27037","Dakota","Industrial","Fuel combustion","Petroleum products",1136.75413292683,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",411821,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27037","Dakota","Industrial","Fuel combustion","Coal",4854.47441661172,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",414245,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27037","Dakota","Industrial","Fuel combustion","Fuel gas",1832755.50823325,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",414245,"US Census County Intercensal Tables (CO-EST2020)",4.42 +2015,"county","27037","Dakota","Industrial","Fuel combustion","Natural gas",274419.291559272,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",414245,"US Census County Intercensal Tables (CO-EST2020)",0.66 +2015,"county","27037","Dakota","Industrial","Fuel combustion","Petroleum products",1300.53037996984,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",414245,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27037","Dakota","Industrial","Fuel combustion","Coal",4469.25022634158,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",417783,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27037","Dakota","Industrial","Fuel combustion","Fuel gas",1675229.16526629,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",417783,"US Census County Intercensal Tables (CO-EST2020)",4.01 +2016,"county","27037","Dakota","Industrial","Fuel combustion","Natural gas",490839.985293883,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",417783,"US Census County Intercensal Tables (CO-EST2020)",1.17 +2016,"county","27037","Dakota","Industrial","Fuel combustion","Petroleum products",1111.59184963447,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",417783,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27037","Dakota","Industrial","Fuel combustion","Coal",4433.78101759158,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",421840,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27037","Dakota","Industrial","Fuel combustion","Fuel gas",1296494.58119524,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",421840,"US Census County Intercensal Tables (CO-EST2020)",3.07 +2017,"county","27037","Dakota","Industrial","Fuel combustion","Natural gas",443044.844493932,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",421840,"US Census County Intercensal Tables (CO-EST2020)",1.05 +2017,"county","27037","Dakota","Industrial","Fuel combustion","Petroleum products",858.632825549108,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",421840,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27037","Dakota","Industrial","Fuel combustion","Coal",3627.86342830128,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",425472,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","27037","Dakota","Industrial","Fuel combustion","Fuel gas",1377059.60220722,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",425472,"US Census County Intercensal Tables (CO-EST2020)",3.24 +2018,"county","27037","Dakota","Industrial","Fuel combustion","Natural gas",440359.724224272,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",425472,"US Census County Intercensal Tables (CO-EST2020)",1.03 +2018,"county","27037","Dakota","Industrial","Fuel combustion","Petroleum products",725.486203547076,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",425472,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27037","Dakota","Industrial","Fuel combustion","Coal",5310.63702438187,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",429453,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2019,"county","27037","Dakota","Industrial","Fuel combustion","Fuel gas",1273341.99303769,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",429453,"US Census County Intercensal Tables (CO-EST2020)",2.97 +2019,"county","27037","Dakota","Industrial","Fuel combustion","Natural gas",548838.583118544,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",429453,"US Census County Intercensal Tables (CO-EST2020)",1.28 +2019,"county","27037","Dakota","Industrial","Fuel combustion","Petroleum products",372.771426168699,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",429453,"US Census County Intercensal Tables (CO-EST2020)",0 +2020,"county","27037","Dakota","Industrial","Fuel combustion","Coal",6116.55461367216,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",439882,"Decennial Census, Table P1",0.01 +2020,"county","27037","Dakota","Industrial","Fuel combustion","Fuel gas",1320239.53550524,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",439882,"Decennial Census, Table P1",3 +2020,"county","27037","Dakota","Industrial","Fuel combustion","Natural gas",596096.699864563,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",439882,"Decennial Census, Table P1",1.36 +2020,"county","27037","Dakota","Industrial","Fuel combustion","Petroleum products",797.735282713742,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",439882,"Decennial Census, Table P1",0 +2021,"county","27037","Dakota","Industrial","Fuel combustion","Coal",6203.9933590522,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",435863,"ACS 5-Year Estimates, Table DP05",0.01 +2021,"county","27037","Dakota","Industrial","Fuel combustion","Fuel gas",1262086.58569042,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",435863,"ACS 5-Year Estimates, Table DP05",2.9 +2021,"county","27037","Dakota","Industrial","Fuel combustion","Natural gas",648725.057149903,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",435863,"ACS 5-Year Estimates, Table DP05",1.49 +2021,"county","27037","Dakota","Industrial","Fuel combustion","Petroleum products",668.460546533752,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",435863,"ACS 5-Year Estimates, Table DP05",0 +2022,"county","27037","Dakota","Industrial","Fuel combustion","Coal",4889.94362536172,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",439179,"ACS 5-Year Estimates, Table DP05",0.01 +2022,"county","27037","Dakota","Industrial","Fuel combustion","Fuel gas",1433237.89544618,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",439179,"ACS 5-Year Estimates, Table DP05",3.26 +2022,"county","27037","Dakota","Industrial","Fuel combustion","Natural gas",625095.998776893,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",439179,"ACS 5-Year Estimates, Table DP05",1.42 +2022,"county","27037","Dakota","Industrial","Fuel combustion","Petroleum products",953.282944340086,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",439179,"ACS 5-Year Estimates, Table DP05",0 +2011,"county","27053","Hennepin","Industrial","Fuel combustion","Coal",41922.0276785714,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1169581,"US Census County Intercensal Tables (CO-EST2020)",0.04 +2011,"county","27053","Hennepin","Industrial","Fuel combustion","Natural gas",160570.19212568,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1169581,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2011,"county","27053","Hennepin","Industrial","Fuel combustion","Other",356601.383926119,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1169581,"US Census County Intercensal Tables (CO-EST2020)",0.3 +2011,"county","27053","Hennepin","Industrial","Fuel combustion","Petroleum products",128.0409875,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27053","Hennepin","Industrial","Fuel combustion","Coal",1688.945,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27053","Hennepin","Industrial","Fuel combustion","Natural gas",161107.216179612,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1184545,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2012,"county","27053","Hennepin","Industrial","Fuel combustion","Other",353342.750811635,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1184545,"US Census County Intercensal Tables (CO-EST2020)",0.3 +2012,"county","27053","Hennepin","Industrial","Fuel combustion","Petroleum products",64.02049375,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27053","Hennepin","Industrial","Fuel combustion","Coal",5944.64194078947,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27053","Hennepin","Industrial","Fuel combustion","Natural gas",213285.848887767,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1198531,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2013,"county","27053","Hennepin","Industrial","Fuel combustion","Other",323243.076493711,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1198531,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2013,"county","27053","Hennepin","Industrial","Fuel combustion","Petroleum products",2276.63121676829,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27053","Hennepin","Industrial","Fuel combustion","Coal",12121.037612782,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27053","Hennepin","Industrial","Fuel combustion","Natural gas",169162.576988592,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2014,"county","27053","Hennepin","Industrial","Fuel combustion","Other",341536.946155975,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.28 +2014,"county","27053","Hennepin","Industrial","Fuel combustion","Petroleum products",16304.2012014634,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27053","Hennepin","Industrial","Fuel combustion","Coal",9579.68334116541,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1222868,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27053","Hennepin","Industrial","Fuel combustion","Natural gas",172921.745366116,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1222868,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2015,"county","27053","Hennepin","Industrial","Fuel combustion","Other",327997.095962579,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1222868,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2015,"county","27053","Hennepin","Industrial","Fuel combustion","Petroleum products",3092.92011902439,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27053","Hennepin","Industrial","Fuel combustion","Coal",12375.0143045113,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1236183,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27053","Hennepin","Industrial","Fuel combustion","Natural gas",161644.240233544,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1236183,"US Census County Intercensal Tables (CO-EST2020)",0.13 +2016,"county","27053","Hennepin","Industrial","Fuel combustion","Other",337897.936613522,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1236183,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2016,"county","27053","Hennepin","Industrial","Fuel combustion","Petroleum products",1492.54564788053,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27053","Hennepin","Industrial","Fuel combustion","Coal",9355.86638157895,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27053","Hennepin","Industrial","Fuel combustion","Natural gas",150366.735100971,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.12 +2017,"county","27053","Hennepin","Industrial","Fuel combustion","Other",362056.070671384,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.29 +2017,"county","27053","Hennepin","Industrial","Fuel combustion","Petroleum products",1892.14549234756,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27053","Hennepin","Industrial","Fuel combustion","Coal",6038.29584586466,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27053","Hennepin","Industrial","Fuel combustion","Natural gas",237364.631837961,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1258021,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2018,"county","27053","Hennepin","Industrial","Fuel combustion","Other",351590.681144654,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1258021,"US Census County Intercensal Tables (CO-EST2020)",0.28 +2018,"county","27053","Hennepin","Industrial","Fuel combustion","Petroleum products",4802.73574478659,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27053","Hennepin","Industrial","Fuel combustion","Coal",3527.10130639098,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27053","Hennepin","Industrial","Fuel combustion","Natural gas",230383.319136845,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1265159,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2019,"county","27053","Hennepin","Industrial","Fuel combustion","Other",343951.972300943,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1265159,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2019,"county","27053","Hennepin","Industrial","Fuel combustion","Petroleum products",4528.05393690492,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 +2020,"county","27053","Hennepin","Industrial","Fuel combustion","Coal",2017.52734492481,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1281565,"Decennial Census, Table P1",0 +2020,"county","27053","Hennepin","Industrial","Fuel combustion","Natural gas",220179.862112136,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1281565,"Decennial Census, Table P1",0.17 +2020,"county","27053","Hennepin","Industrial","Fuel combustion","Other",328171.950733648,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1281565,"Decennial Census, Table P1",0.26 +2020,"county","27053","Hennepin","Industrial","Fuel combustion","Petroleum products",752.268408506098,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1281565,"Decennial Census, Table P1",0 +2021,"county","27053","Hennepin","Industrial","Fuel combustion","Coal",6082.74176691729,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1270283,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27053","Hennepin","Industrial","Fuel combustion","Natural gas",237901.655891893,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1270283,"ACS 5-Year Estimates, Table DP05",0.19 +2021,"county","27053","Hennepin","Industrial","Fuel combustion","Other",367531.055310063,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1270283,"ACS 5-Year Estimates, Table DP05",0.29 +2021,"county","27053","Hennepin","Industrial","Fuel combustion","Petroleum products",7204.28499814024,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1270283,"ACS 5-Year Estimates, Table DP05",0.01 +2022,"county","27053","Hennepin","Industrial","Fuel combustion","Coal",1973.08142387218,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1270787,"ACS 5-Year Estimates, Table DP05",0 +2022,"county","27053","Hennepin","Industrial","Fuel combustion","Natural gas",249716.185078398,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1270787,"ACS 5-Year Estimates, Table DP05",0.2 +2022,"county","27053","Hennepin","Industrial","Fuel combustion","Other",363779.135992453,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1270787,"ACS 5-Year Estimates, Table DP05",0.29 +2022,"county","27053","Hennepin","Industrial","Fuel combustion","Petroleum products",1197.28891384146,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",1270787,"ACS 5-Year Estimates, Table DP05",0 +2011,"county","27123","Ramsey","Industrial","Fuel combustion","Natural gas",284507.714614203,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",515856,"US Census County Intercensal Tables (CO-EST2020)",0.55 +2011,"county","27123","Ramsey","Industrial","Fuel combustion","Petroleum products",1564.96980901822,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",515856,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27123","Ramsey","Industrial","Fuel combustion","Natural gas",176522.106961023,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",521091,"US Census County Intercensal Tables (CO-EST2020)",0.34 +2012,"county","27123","Ramsey","Industrial","Fuel combustion","Petroleum products",64.02049375,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",521091,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27123","Ramsey","Industrial","Fuel combustion","Natural gas",255623.44967165,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",527261,"US Census County Intercensal Tables (CO-EST2020)",0.48 +2013,"county","27123","Ramsey","Industrial","Fuel combustion","Petroleum products",1069.09827152778,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",527261,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27123","Ramsey","Industrial","Fuel combustion","Natural gas",245419.992646942,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",532966,"US Census County Intercensal Tables (CO-EST2020)",0.46 +2014,"county","27123","Ramsey","Industrial","Fuel combustion","Petroleum products",10541.1866947832,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",532966,"US Census County Intercensal Tables (CO-EST2020)",0.02 +2015,"county","27123","Ramsey","Industrial","Fuel combustion","Natural gas",243271.896431214,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",536838,"US Census County Intercensal Tables (CO-EST2020)",0.45 +2015,"county","27123","Ramsey","Industrial","Fuel combustion","Petroleum products",2212.61072301829,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",536838,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27123","Ramsey","Industrial","Fuel combustion","Natural gas",241123.800215485,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",541635,"US Census County Intercensal Tables (CO-EST2020)",0.45 +2016,"county","27123","Ramsey","Industrial","Fuel combustion","Petroleum products",188.938530335366,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",541635,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27123","Ramsey","Industrial","Fuel combustion","Natural gas",236827.607784029,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",544919,"US Census County Intercensal Tables (CO-EST2020)",0.43 +2017,"county","27123","Ramsey","Industrial","Fuel combustion","Petroleum products",64.02049375,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",544919,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27123","Ramsey","Industrial","Fuel combustion","Natural gas",269586.075073883,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",548900,"US Census County Intercensal Tables (CO-EST2020)",0.49 +2018,"county","27123","Ramsey","Industrial","Fuel combustion","Petroleum products",2524.52150193089,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",548900,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27123","Ramsey","Industrial","Fuel combustion","Natural gas",270123.099127816,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",549632,"US Census County Intercensal Tables (CO-EST2020)",0.49 +2019,"county","27123","Ramsey","Industrial","Fuel combustion","Petroleum products",3594.1062204607,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",549632,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2020,"county","27123","Ramsey","Industrial","Fuel combustion","Natural gas",237901.655891893,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",552352,"Decennial Census, Table P1",0.43 +2020,"county","27123","Ramsey","Industrial","Fuel combustion","Petroleum products",252.959024085366,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",552352,"Decennial Census, Table P1",0 +2021,"county","27123","Ramsey","Industrial","Fuel combustion","Natural gas",207291.284817767,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",549377,"ACS 5-Year Estimates, Table DP05",0.38 +2021,"county","27123","Ramsey","Industrial","Fuel combustion","Petroleum products",6765.87315655488,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",549377,"ACS 5-Year Estimates, Table DP05",0.01 +2022,"county","27123","Ramsey","Industrial","Fuel combustion","Natural gas",200309.97211665,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",547202,"ACS 5-Year Estimates, Table DP05",0.37 +2022,"county","27123","Ramsey","Industrial","Fuel combustion","Petroleum products",6323.97560213415,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",547202,"ACS 5-Year Estimates, Table DP05",0.01 +2011,"county","27139","Scott","Industrial","Fuel combustion","Natural gas",60683.7180943204,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",132581,"US Census County Intercensal Tables (CO-EST2020)",0.46 +2012,"county","27139","Scott","Industrial","Fuel combustion","Natural gas",55850.501608932,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",135140,"US Census County Intercensal Tables (CO-EST2020)",0.41 +2013,"county","27139","Scott","Industrial","Fuel combustion","Natural gas",54776.453501068,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",137280,"US Census County Intercensal Tables (CO-EST2020)",0.4 +2014,"county","27139","Scott","Industrial","Fuel combustion","Natural gas",54239.4294471359,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",139198,"US Census County Intercensal Tables (CO-EST2020)",0.39 +2015,"county","27139","Scott","Industrial","Fuel combustion","Natural gas",53165.3813392718,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",141372,"US Census County Intercensal Tables (CO-EST2020)",0.38 +2016,"county","27139","Scott","Industrial","Fuel combustion","Natural gas",54239.4294471359,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",143393,"US Census County Intercensal Tables (CO-EST2020)",0.38 +2017,"county","27139","Scott","Industrial","Fuel combustion","Natural gas",49943.2370156796,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",145581,"US Census County Intercensal Tables (CO-EST2020)",0.34 +2018,"county","27139","Scott","Industrial","Fuel combustion","Natural gas",52091.3332314078,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",147339,"US Census County Intercensal Tables (CO-EST2020)",0.35 +2019,"county","27139","Scott","Industrial","Fuel combustion","Natural gas",53165.3813392718,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",149004,"US Census County Intercensal Tables (CO-EST2020)",0.36 +2020,"county","27139","Scott","Industrial","Fuel combustion","Natural gas",54776.453501068,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",150928,"Decennial Census, Table P1",0.36 +2021,"county","27139","Scott","Industrial","Fuel combustion","Natural gas",54239.4294471359,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",149568,"ACS 5-Year Estimates, Table DP05",0.36 +2022,"county","27139","Scott","Industrial","Fuel combustion","Natural gas",54776.453501068,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",151347,"ACS 5-Year Estimates, Table DP05",0.36 +2011,"county","27163","Washington","Industrial","Fuel combustion","Fuel gas",58844.0594646369,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",241428,"US Census County Intercensal Tables (CO-EST2020)",0.24 +2011,"county","27163","Washington","Industrial","Fuel combustion","Natural gas",101770.026378155,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",241428,"US Census County Intercensal Tables (CO-EST2020)",0.42 +2011,"county","27163","Washington","Industrial","Fuel combustion","Other",7736.82026031746,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",241428,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2011,"county","27163","Washington","Industrial","Fuel combustion","Petroleum products",6999.586147315,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",241428,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2012,"county","27163","Washington","Industrial","Fuel combustion","Fuel gas",422768.897026133,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",243720,"US Census County Intercensal Tables (CO-EST2020)",1.73 +2012,"county","27163","Washington","Industrial","Fuel combustion","Natural gas",87262.4406059223,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",243720,"US Census County Intercensal Tables (CO-EST2020)",0.36 +2012,"county","27163","Washington","Industrial","Fuel combustion","Other",6484.69432380952,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",243720,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2012,"county","27163","Washington","Industrial","Fuel combustion","Petroleum products",7146.87316814024,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",243720,"US Census County Intercensal Tables (CO-EST2020)",0.03 +2013,"county","27163","Washington","Industrial","Fuel combustion","Fuel gas",388509.028621321,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",246002,"US Census County Intercensal Tables (CO-EST2020)",1.58 +2013,"county","27163","Washington","Industrial","Fuel combustion","Natural gas",93442.1853841748,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",246002,"US Census County Intercensal Tables (CO-EST2020)",0.38 +2013,"county","27163","Washington","Industrial","Fuel combustion","Other",2174.74504761905,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",246002,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2013,"county","27163","Washington","Industrial","Fuel combustion","Petroleum products",1453.7336507622,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",246002,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27163","Washington","Industrial","Fuel combustion","Fuel gas",531571.168049673,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",248580,"US Census County Intercensal Tables (CO-EST2020)",2.14 +2014,"county","27163","Washington","Industrial","Fuel combustion","Natural gas",100423.498085291,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",248580,"US Census County Intercensal Tables (CO-EST2020)",0.4 +2014,"county","27163","Washington","Industrial","Fuel combustion","Other",3677.29617142857,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",248580,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2014,"county","27163","Washington","Industrial","Fuel combustion","Petroleum products",929.215769709801,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",248580,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27163","Washington","Industrial","Fuel combustion","Fuel gas",520809.407065434,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",250482,"US Census County Intercensal Tables (CO-EST2020)",2.08 +2015,"county","27163","Washington","Industrial","Fuel combustion","Natural gas",95590.2815999029,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",250482,"US Census County Intercensal Tables (CO-EST2020)",0.38 +2015,"county","27163","Washington","Industrial","Fuel combustion","Other",1977.04095238095,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",250482,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2015,"county","27163","Washington","Industrial","Fuel combustion","Petroleum products",848.492235624435,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",250482,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27163","Washington","Industrial","Fuel combustion","Fuel gas",505061.727724548,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",252655,"US Census County Intercensal Tables (CO-EST2020)",2 +2016,"county","27163","Washington","Industrial","Fuel combustion","Natural gas",85923.8486291262,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",252655,"US Census County Intercensal Tables (CO-EST2020)",0.34 +2016,"county","27163","Washington","Industrial","Fuel combustion","Other",1950.68040634921,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",252655,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2016,"county","27163","Washington","Industrial","Fuel combustion","Petroleum products",663.039418124436,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",252655,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27163","Washington","Industrial","Fuel combustion","Fuel gas",497459.379329015,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",255717,"US Census County Intercensal Tables (CO-EST2020)",1.95 +2017,"county","27163","Washington","Industrial","Fuel combustion","Natural gas",125126.604566165,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",255717,"US Census County Intercensal Tables (CO-EST2020)",0.49 +2017,"county","27163","Washington","Industrial","Fuel combustion","Other",2741.49678730159,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",255717,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27163","Washington","Industrial","Fuel combustion","Petroleum products",663.039418124436,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",255717,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27163","Washington","Industrial","Fuel combustion","Fuel gas",465766.533652525,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",258969,"US Census County Intercensal Tables (CO-EST2020)",1.8 +2018,"county","27163","Washington","Industrial","Fuel combustion","Natural gas",154662.927532427,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",258969,"US Census County Intercensal Tables (CO-EST2020)",0.6 +2018,"county","27163","Washington","Industrial","Fuel combustion","Other",2741.49678730159,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",258969,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2018,"county","27163","Washington","Industrial","Fuel combustion","Petroleum products",784.471741874435,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",258969,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27163","Washington","Industrial","Fuel combustion","Fuel gas",473862.50470316,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",262541,"US Census County Intercensal Tables (CO-EST2020)",1.8 +2019,"county","27163","Washington","Industrial","Fuel combustion","Natural gas",135330.061590874,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",262541,"US Census County Intercensal Tables (CO-EST2020)",0.52 +2019,"county","27163","Washington","Industrial","Fuel combustion","Other",2517.43214603175,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",262541,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2019,"county","27163","Washington","Industrial","Fuel combustion","Petroleum products",505.918048170732,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",262541,"US Census County Intercensal Tables (CO-EST2020)",0 +2020,"county","27163","Washington","Industrial","Fuel combustion","Fuel gas",497015.092860708,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",267568,"Decennial Census, Table P1",1.86 +2020,"county","27163","Washington","Industrial","Fuel combustion","Natural gas",127811.724835825,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",267568,"Decennial Census, Table P1",0.48 +2020,"county","27163","Washington","Industrial","Fuel combustion","Other",2003.4014984127,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",267568,"Decennial Census, Table P1",0.01 +2020,"county","27163","Washington","Industrial","Fuel combustion","Petroleum products",1927.83453855127,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",267568,"Decennial Census, Table P1",0.01 +2021,"county","27163","Washington","Industrial","Fuel combustion","Fuel gas",504370.594366808,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",264818,"ACS 5-Year Estimates, Table DP05",1.9 +2021,"county","27163","Washington","Industrial","Fuel combustion","Natural gas",151440.783208835,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",264818,"ACS 5-Year Estimates, Table DP05",0.57 +2021,"county","27163","Washington","Industrial","Fuel combustion","Other",2108.84368253968,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",264818,"ACS 5-Year Estimates, Table DP05",0.01 +2021,"county","27163","Washington","Industrial","Fuel combustion","Petroleum products",2148.97640225497,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",264818,"ACS 5-Year Estimates, Table DP05",0.01 +2022,"county","27163","Washington","Industrial","Fuel combustion","Fuel gas",447649.271162188,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",268651,"ACS 5-Year Estimates, Table DP05",1.67 +2022,"county","27163","Washington","Industrial","Fuel combustion","Natural gas",133181.965375146,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",268651,"ACS 5-Year Estimates, Table DP05",0.5 +2022,"county","27163","Washington","Industrial","Fuel combustion","Petroleum products",278.553693703704,"EPA FLIGHT Subpart C Analysis","EPA Emission Factor Hub",268651,"ACS 5-Year Estimates, Table DP05",0 +2011,"county","27037","Dakota","Industrial","Process","Process",1102196.58184225,"EPA FLIGHT","EPA Emission Factor Hub",401804,"US Census County Intercensal Tables (CO-EST2020)",2.74 +2012,"county","27037","Dakota","Industrial","Process","Process",1710918.19048415,"EPA FLIGHT","EPA Emission Factor Hub",404669,"US Census County Intercensal Tables (CO-EST2020)",4.23 +2013,"county","27037","Dakota","Industrial","Process","Process",1477442.59295906,"EPA FLIGHT","EPA Emission Factor Hub",407974,"US Census County Intercensal Tables (CO-EST2020)",3.62 +2014,"county","27037","Dakota","Industrial","Process","Process",1956187.90252297,"EPA FLIGHT","EPA Emission Factor Hub",411821,"US Census County Intercensal Tables (CO-EST2020)",4.75 +2015,"county","27037","Dakota","Industrial","Process","Process",2116282.1954109,"EPA FLIGHT","EPA Emission Factor Hub",414245,"US Census County Intercensal Tables (CO-EST2020)",5.11 +2016,"county","27037","Dakota","Industrial","Process","Process",1997207.00736385,"EPA FLIGHT","EPA Emission Factor Hub",417783,"US Census County Intercensal Tables (CO-EST2020)",4.78 +2017,"county","27037","Dakota","Industrial","Process","Process",2641351.16046769,"EPA FLIGHT","EPA Emission Factor Hub",421840,"US Census County Intercensal Tables (CO-EST2020)",6.26 +2018,"county","27037","Dakota","Industrial","Process","Process",2644729.32393666,"EPA FLIGHT","EPA Emission Factor Hub",425472,"US Census County Intercensal Tables (CO-EST2020)",6.22 +2019,"county","27037","Dakota","Industrial","Process","Process",2564464.01539322,"EPA FLIGHT","EPA Emission Factor Hub",429453,"US Census County Intercensal Tables (CO-EST2020)",5.97 +2020,"county","27037","Dakota","Industrial","Process","Process",2596790.47473381,"EPA FLIGHT","EPA Emission Factor Hub",439882,"Decennial Census, Table P1",5.9 +2021,"county","27037","Dakota","Industrial","Process","Process",2776365.90325409,"EPA FLIGHT","EPA Emission Factor Hub",435863,"ACS 5-Year Estimates, Table DP05",6.37 +2022,"county","27037","Dakota","Industrial","Process","Process",2543772.87920723,"EPA FLIGHT","EPA Emission Factor Hub",439179,"ACS 5-Year Estimates, Table DP05",5.79 +2011,"county","27053","Hennepin","Industrial","Process","Process",479235.35528213,"EPA FLIGHT","EPA Emission Factor Hub",1169581,"US Census County Intercensal Tables (CO-EST2020)",0.41 +2012,"county","27053","Hennepin","Industrial","Process","Process",297977.067515003,"EPA FLIGHT","EPA Emission Factor Hub",1184545,"US Census County Intercensal Tables (CO-EST2020)",0.25 +2013,"county","27053","Hennepin","Industrial","Process","Process",328228.801460964,"EPA FLIGHT","EPA Emission Factor Hub",1198531,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2014,"county","27053","Hennepin","Industrial","Process","Process",373669.238041188,"EPA FLIGHT","EPA Emission Factor Hub",1211635,"US Census County Intercensal Tables (CO-EST2020)",0.31 +2015,"county","27053","Hennepin","Industrial","Process","Process",334747.555211115,"EPA FLIGHT","EPA Emission Factor Hub",1222868,"US Census County Intercensal Tables (CO-EST2020)",0.27 +2016,"county","27053","Hennepin","Industrial","Process","Process",282810.263200542,"EPA FLIGHT","EPA Emission Factor Hub",1236183,"US Census County Intercensal Tables (CO-EST2020)",0.23 +2017,"county","27053","Hennepin","Industrial","Process","Process",264072.182353719,"EPA FLIGHT","EPA Emission Factor Hub",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.21 +2018,"county","27053","Hennepin","Industrial","Process","Process",295400.655426734,"EPA FLIGHT","EPA Emission Factor Hub",1258021,"US Census County Intercensal Tables (CO-EST2020)",0.23 +2019,"county","27053","Hennepin","Industrial","Process","Process",233830.553318916,"EPA FLIGHT","EPA Emission Factor Hub",1265159,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2020,"county","27053","Hennepin","Industrial","Process","Process",247921.391400785,"EPA FLIGHT","EPA Emission Factor Hub",1281565,"Decennial Census, Table P1",0.19 +2021,"county","27053","Hennepin","Industrial","Process","Process",242646.262032986,"EPA FLIGHT","EPA Emission Factor Hub",1270283,"ACS 5-Year Estimates, Table DP05",0.19 +2022,"county","27053","Hennepin","Industrial","Process","Process",247476.308591435,"EPA FLIGHT","EPA Emission Factor Hub",1270787,"ACS 5-Year Estimates, Table DP05",0.19 +2011,"county","27123","Ramsey","Industrial","Process","Process",114973.315576779,"EPA FLIGHT","EPA Emission Factor Hub",515856,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2012,"county","27123","Ramsey","Industrial","Process","Process",167332.872545227,"EPA FLIGHT","EPA Emission Factor Hub",521091,"US Census County Intercensal Tables (CO-EST2020)",0.32 +2013,"county","27123","Ramsey","Industrial","Process","Process",96368.4520568218,"EPA FLIGHT","EPA Emission Factor Hub",527261,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2014,"county","27123","Ramsey","Industrial","Process","Process",117406.820658275,"EPA FLIGHT","EPA Emission Factor Hub",532966,"US Census County Intercensal Tables (CO-EST2020)",0.22 +2015,"county","27123","Ramsey","Industrial","Process","Process",78498.4928457681,"EPA FLIGHT","EPA Emission Factor Hub",536838,"US Census County Intercensal Tables (CO-EST2020)",0.15 +2016,"county","27123","Ramsey","Industrial","Process","Process",74539.2612541792,"EPA FLIGHT","EPA Emission Factor Hub",541635,"US Census County Intercensal Tables (CO-EST2020)",0.14 +2017,"county","27123","Ramsey","Industrial","Process","Process",97113.3717222209,"EPA FLIGHT","EPA Emission Factor Hub",544919,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2018,"county","27123","Ramsey","Industrial","Process","Process",90289.4034241856,"EPA FLIGHT","EPA Emission Factor Hub",548900,"US Census County Intercensal Tables (CO-EST2020)",0.16 +2019,"county","27123","Ramsey","Industrial","Process","Process",96992.7946517237,"EPA FLIGHT","EPA Emission Factor Hub",549632,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2020,"county","27123","Ramsey","Industrial","Process","Process",69555.3850840214,"EPA FLIGHT","EPA Emission Factor Hub",552352,"Decennial Census, Table P1",0.13 +2021,"county","27123","Ramsey","Industrial","Process","Process",70103.8420256781,"EPA FLIGHT","EPA Emission Factor Hub",549377,"ACS 5-Year Estimates, Table DP05",0.13 +2022,"county","27123","Ramsey","Industrial","Process","Process",68870.0522812154,"EPA FLIGHT","EPA Emission Factor Hub",547202,"ACS 5-Year Estimates, Table DP05",0.13 +2011,"county","27139","Scott","Industrial","Process","Process",26666.2819056796,"EPA FLIGHT","EPA Emission Factor Hub",132581,"US Census County Intercensal Tables (CO-EST2020)",0.2 +2012,"county","27139","Scott","Industrial","Process","Process",37490.498391068,"EPA FLIGHT","EPA Emission Factor Hub",135140,"US Census County Intercensal Tables (CO-EST2020)",0.28 +2013,"county","27139","Scott","Industrial","Process","Process",23518.546498932,"EPA FLIGHT","EPA Emission Factor Hub",137280,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2014,"county","27139","Scott","Industrial","Process","Process",24823.5705528641,"EPA FLIGHT","EPA Emission Factor Hub",139198,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2015,"county","27139","Scott","Industrial","Process","Process",26784.6186607282,"EPA FLIGHT","EPA Emission Factor Hub",141372,"US Census County Intercensal Tables (CO-EST2020)",0.19 +2016,"county","27139","Scott","Industrial","Process","Process",25351.5705528641,"EPA FLIGHT","EPA Emission Factor Hub",143393,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2017,"county","27139","Scott","Industrial","Process","Process",24090.7629843204,"EPA FLIGHT","EPA Emission Factor Hub",145581,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2018,"county","27139","Scott","Industrial","Process","Process",25595.6667685922,"EPA FLIGHT","EPA Emission Factor Hub",147339,"US Census County Intercensal Tables (CO-EST2020)",0.17 +2019,"county","27139","Scott","Industrial","Process","Process",27229.6186607282,"EPA FLIGHT","EPA Emission Factor Hub",149004,"US Census County Intercensal Tables (CO-EST2020)",0.18 +2020,"county","27139","Scott","Industrial","Process","Process",27786.546498932,"EPA FLIGHT","EPA Emission Factor Hub",150928,"Decennial Census, Table P1",0.18 +2021,"county","27139","Scott","Industrial","Process","Process",26673.5705528641,"EPA FLIGHT","EPA Emission Factor Hub",149568,"ACS 5-Year Estimates, Table DP05",0.18 +2022,"county","27139","Scott","Industrial","Process","Process",24755.546498932,"EPA FLIGHT","EPA Emission Factor Hub",151347,"ACS 5-Year Estimates, Table DP05",0.16 +2011,"county","27141","Sherburne","Industrial","Process","Process",18573,"EPA FLIGHT","EPA Emission Factor Hub",89279,"US Census County Intercensal Tables (CO-EST2020)",0.21 +2012,"county","27141","Sherburne","Industrial","Process","Process",23478,"EPA FLIGHT","EPA Emission Factor Hub",89474,"US Census County Intercensal Tables (CO-EST2020)",0.26 +2013,"county","27141","Sherburne","Industrial","Process","Process",28469,"EPA FLIGHT","EPA Emission Factor Hub",90086,"US Census County Intercensal Tables (CO-EST2020)",0.32 +2014,"county","27141","Sherburne","Industrial","Process","Process",95617,"EPA FLIGHT","EPA Emission Factor Hub",90908,"US Census County Intercensal Tables (CO-EST2020)",1.05 +2015,"county","27141","Sherburne","Industrial","Process","Process",123912,"EPA FLIGHT","EPA Emission Factor Hub",91441,"US Census County Intercensal Tables (CO-EST2020)",1.36 +2016,"county","27141","Sherburne","Industrial","Process","Process",148709,"EPA FLIGHT","EPA Emission Factor Hub",93247,"US Census County Intercensal Tables (CO-EST2020)",1.59 +2017,"county","27141","Sherburne","Industrial","Process","Process",156166,"EPA FLIGHT","EPA Emission Factor Hub",94527,"US Census County Intercensal Tables (CO-EST2020)",1.65 +2018,"county","27141","Sherburne","Industrial","Process","Process",163067,"EPA FLIGHT","EPA Emission Factor Hub",96067,"US Census County Intercensal Tables (CO-EST2020)",1.7 +2019,"county","27141","Sherburne","Industrial","Process","Process",169461,"EPA FLIGHT","EPA Emission Factor Hub",97424,"US Census County Intercensal Tables (CO-EST2020)",1.74 +2020,"county","27141","Sherburne","Industrial","Process","Process",176513,"EPA FLIGHT","EPA Emission Factor Hub",97183,"Decennial Census, Table P1",1.82 +2021,"county","27141","Sherburne","Industrial","Process","Process",204901,"EPA FLIGHT","EPA Emission Factor Hub",96295,"ACS 5-Year Estimates, Table DP05",2.13 +2022,"county","27141","Sherburne","Industrial","Process","Process",216506,"EPA FLIGHT","EPA Emission Factor Hub",97820,"ACS 5-Year Estimates, Table DP05",2.21 +2011,"county","27163","Washington","Industrial","Process","Process",709389.507749575,"EPA FLIGHT","EPA Emission Factor Hub",241428,"US Census County Intercensal Tables (CO-EST2020)",2.94 +2012,"county","27163","Washington","Industrial","Process","Process",303910.094875995,"EPA FLIGHT","EPA Emission Factor Hub",243720,"US Census County Intercensal Tables (CO-EST2020)",1.25 +2013,"county","27163","Washington","Industrial","Process","Process",266569.307296123,"EPA FLIGHT","EPA Emission Factor Hub",246002,"US Census County Intercensal Tables (CO-EST2020)",1.08 +2014,"county","27163","Washington","Industrial","Process","Process",273818.821923897,"EPA FLIGHT","EPA Emission Factor Hub",248580,"US Census County Intercensal Tables (CO-EST2020)",1.1 +2015,"county","27163","Washington","Industrial","Process","Process",274423.778146657,"EPA FLIGHT","EPA Emission Factor Hub",250482,"US Census County Intercensal Tables (CO-EST2020)",1.1 +2016,"county","27163","Washington","Industrial","Process","Process",289773.703821852,"EPA FLIGHT","EPA Emission Factor Hub",252655,"US Census County Intercensal Tables (CO-EST2020)",1.15 +2017,"county","27163","Washington","Industrial","Process","Process",274424.479899394,"EPA FLIGHT","EPA Emission Factor Hub",255717,"US Census County Intercensal Tables (CO-EST2020)",1.07 +2018,"county","27163","Washington","Industrial","Process","Process",281407.570285871,"EPA FLIGHT","EPA Emission Factor Hub",258969,"US Census County Intercensal Tables (CO-EST2020)",1.09 +2019,"county","27163","Washington","Industrial","Process","Process",316906.083511763,"EPA FLIGHT","EPA Emission Factor Hub",262541,"US Census County Intercensal Tables (CO-EST2020)",1.21 +2020,"county","27163","Washington","Industrial","Process","Process",289444.946266502,"EPA FLIGHT","EPA Emission Factor Hub",267568,"Decennial Census, Table P1",1.08 +2021,"county","27163","Washington","Industrial","Process","Process",275778.802339563,"EPA FLIGHT","EPA Emission Factor Hub",264818,"ACS 5-Year Estimates, Table DP05",1.04 +2022,"county","27163","Washington","Industrial","Process","Process",243354.209768963,"EPA FLIGHT","EPA Emission Factor Hub",268651,"ACS 5-Year Estimates, Table DP05",0.91 +2017,"county","27003","Anoka","Industrial","Other","Small point source",25745.648992918,"EPA NEI","EPA NEI",350598,"US Census County Intercensal Tables (CO-EST2020)",0.07 +2017,"county","27019","Carver","Industrial","Other","Small point source",15534.63148776,"EPA NEI","EPA NEI",102120,"US Census County Intercensal Tables (CO-EST2020)",0.15 +2017,"county","27025","Chisago","Industrial","Other","Small point source",18513.82617392,"EPA NEI","EPA NEI",55261,"US Census County Intercensal Tables (CO-EST2020)",0.34 +2017,"county","27037","Dakota","Industrial","Other","Small point source",0,"EPA NEI","EPA NEI",421840,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27053","Hennepin","Industrial","Other","Small point source",111882.685843592,"EPA NEI","EPA NEI",1248707,"US Census County Intercensal Tables (CO-EST2020)",0.09 +2017,"county","27123","Ramsey","Industrial","Other","Small point source",348448.160118616,"EPA NEI","EPA NEI",544919,"US Census County Intercensal Tables (CO-EST2020)",0.64 +2017,"county","27139","Scott","Industrial","Other","Small point source",66869.458078098,"EPA NEI","EPA NEI",145581,"US Census County Intercensal Tables (CO-EST2020)",0.46 +2017,"county","27141","Sherburne","Industrial","Other","Small point source",1120.30344285257,"EPA NEI","EPA NEI",94527,"US Census County Intercensal Tables (CO-EST2020)",0.01 +2017,"county","27163","Washington","Industrial","Other","Small point source",24554.1658300259,"EPA NEI","EPA NEI",255717,"US Census County Intercensal Tables (CO-EST2020)",0.1 +2020,"county","27003","Anoka","Industrial","Other","Small point source",29619.146469778,"EPA NEI","EPA NEI",363887,"Decennial Census, Table P1",0.08 +2020,"county","27019","Carver","Industrial","Other","Small point source",26146.87857628,"EPA NEI","EPA NEI",106922,"Decennial Census, Table P1",0.24 +2020,"county","27025","Chisago","Industrial","Other","Small point source",11173.79444258,"EPA NEI","EPA NEI",56621,"Decennial Census, Table P1",0.2 +2020,"county","27037","Dakota","Industrial","Other","Small point source",0,"EPA NEI","EPA NEI",439882,"Decennial Census, Table P1",0 +2020,"county","27053","Hennepin","Industrial","Other","Small point source",154489.463782388,"EPA NEI","EPA NEI",1281565,"Decennial Census, Table P1",0.12 +2020,"county","55093","Pierce","Industrial","Other","Small point source",7342.75328556,"EPA NEI","EPA NEI",42212,"Decennial Census, Table P1",0.17 +2020,"county","27123","Ramsey","Industrial","Other","Small point source",369753.569672666,"EPA NEI","EPA NEI",552352,"Decennial Census, Table P1",0.67 +2020,"county","27139","Scott","Industrial","Other","Small point source",55930.211722064,"EPA NEI","EPA NEI",150928,"Decennial Census, Table P1",0.37 +2020,"county","27141","Sherburne","Industrial","Other","Small point source",0,"EPA NEI","EPA NEI",97183,"Decennial Census, Table P1",0 +2020,"county","55109","St. Croix","Industrial","Other","Small point source",6714.98144548,"EPA NEI","EPA NEI",93536,"Decennial Census, Table P1",0.07 +2020,"county","27163","Washington","Industrial","Other","Small point source",15697.7003228301,"EPA NEI","EPA NEI",267568,"Decennial Census, Table P1",0.06 +2005,"county","27003","Anoka","Nature","Sequestration","Grassland",-776.043065501259,"NLCD 2021","Various primary literature",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27003","Anoka","Nature","Sequestration","Tree",-78524.4117366807,"NLCD 2021","Various primary literature",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.25 +2005,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-16572.5190280976,"NLCD 2021","Various primary literature",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2005,"county","27003","Anoka","Nature","Sequestration","Urban tree",-17078.4653301599,"NLCD 2021","Various primary literature",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2005,"county","27003","Anoka","Nature","Sequestration","Wetland",-313411.22274022,"NLCD 2021","Various primary literature",319830,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.98 +2005,"county","27019","Carver","Nature","Sequestration","Grassland",-293.565949661017,"NLCD 2021","Various primary literature",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27019","Carver","Nature","Sequestration","Tree",-36735.8454912042,"NLCD 2021","Various primary literature",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.44 +2005,"county","27019","Carver","Nature","Sequestration","Urban grassland",-9033.90845469499,"NLCD 2021","Various primary literature",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.11 +2005,"county","27019","Carver","Nature","Sequestration","Urban tree",-6308.94683739211,"NLCD 2021","Various primary literature",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.08 +2005,"county","27019","Carver","Nature","Sequestration","Wetland",-68245.4188846538,"NLCD 2021","Various primary literature",83258,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.82 +2005,"county","27025","Chisago","Nature","Sequestration","Grassland",-1015.29338585392,"NLCD 2021","Various primary literature",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2005,"county","27025","Chisago","Nature","Sequestration","Tree",-102466.524814346,"NLCD 2021","Various primary literature",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",-2.04 +2005,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10631.4073664645,"NLCD 2021","Various primary literature",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.21 +2005,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3022.58745625644,"NLCD 2021","Various primary literature",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2005,"county","27025","Chisago","Nature","Sequestration","Wetland",-164314.483578701,"NLCD 2021","Various primary literature",50283,"US Census County Intercensal Tables (CO-EST00INT-01)",-3.27 +2005,"county","27037","Dakota","Nature","Sequestration","Grassland",-2706.4258314744,"NLCD 2021","Various primary literature",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2005,"county","27037","Dakota","Nature","Sequestration","Tree",-53861.8347183943,"NLCD 2021","Various primary literature",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.14 +2005,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-16397.0937889952,"NLCD 2021","Various primary literature",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.04 +2005,"county","27037","Dakota","Nature","Sequestration","Urban tree",-30495.180758549,"NLCD 2021","Various primary literature",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.08 +2005,"county","27037","Dakota","Nature","Sequestration","Wetland",-41488.3281378774,"NLCD 2021","Various primary literature",381829,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.11 +2005,"county","27053","Hennepin","Nature","Sequestration","Grassland",-717.396258387643,"NLCD 2021","Various primary literature",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27053","Hennepin","Nature","Sequestration","Tree",-51734.2619136313,"NLCD 2021","Various primary literature",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2005,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19298.8605228542,"NLCD 2021","Various primary literature",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2005,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66082.2291384499,"NLCD 2021","Various primary literature",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2005,"county","27053","Hennepin","Nature","Sequestration","Wetland",-123436.672225634,"NLCD 2021","Various primary literature",1117015,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.11 +2005,"county","55093","Pierce","Nature","Sequestration","Grassland",-226.253820571359,"NLCD 2021","Various primary literature",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2005,"county","55093","Pierce","Nature","Sequestration","Tree",-153356.869261395,"NLCD 2021","Various primary literature",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",-3.9 +2005,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11959.3161449151,"NLCD 2021","Various primary literature",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.3 +2005,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2591.2753446305,"NLCD 2021","Various primary literature",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.07 +2005,"county","55093","Pierce","Nature","Sequestration","Wetland",-6816.01809019978,"NLCD 2021","Various primary literature",39318,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.17 +2005,"county","27123","Ramsey","Nature","Sequestration","Grassland",-216.807209256907,"NLCD 2021","Various primary literature",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27123","Ramsey","Nature","Sequestration","Tree",-10906.9549482223,"NLCD 2021","Various primary literature",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2005,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4728.3049594498,"NLCD 2021","Various primary literature",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2005,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-27949.1479019689,"NLCD 2021","Various primary literature",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2005,"county","27123","Ramsey","Nature","Sequestration","Wetland",-22339.044719233,"NLCD 2021","Various primary literature",497560,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.04 +2005,"county","27139","Scott","Nature","Sequestration","Grassland",-612.095206932642,"NLCD 2021","Various primary literature",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2005,"county","27139","Scott","Nature","Sequestration","Tree",-50125.1624203051,"NLCD 2021","Various primary literature",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.43 +2005,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10819.8042590562,"NLCD 2021","Various primary literature",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.09 +2005,"county","27139","Scott","Nature","Sequestration","Urban tree",-7804.36973382242,"NLCD 2021","Various primary literature",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.07 +2005,"county","27139","Scott","Nature","Sequestration","Wetland",-81253.3753369267,"NLCD 2021","Various primary literature",117111,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.69 +2005,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1450.80843391191,"NLCD 2021","Various primary literature",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2005,"county","27141","Sherburne","Nature","Sequestration","Tree",-95359.1420594581,"NLCD 2021","Various primary literature",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.17 +2005,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-11373.1261140669,"NLCD 2021","Various primary literature",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.14 +2005,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-4716.70722885456,"NLCD 2021","Various primary literature",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2005,"county","27141","Sherburne","Nature","Sequestration","Wetland",-183296.892368559,"NLCD 2021","Various primary literature",81179,"US Census County Intercensal Tables (CO-EST00INT-01)",-2.26 +2005,"county","55109","St. Croix","Nature","Sequestration","Grassland",-960.981588680146,"NLCD 2021","Various primary literature",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2005,"county","55109","St. Croix","Nature","Sequestration","Tree",-143256.687696051,"NLCD 2021","Various primary literature",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.86 +2005,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-20380.4641729652,"NLCD 2021","Various primary literature",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.26 +2005,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4377.60977876795,"NLCD 2021","Various primary literature",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2005,"county","55109","St. Croix","Nature","Sequestration","Wetland",-22332.3916765101,"NLCD 2021","Various primary literature",77061,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.29 +2005,"county","27163","Washington","Nature","Sequestration","Grassland",-976.414969768458,"NLCD 2021","Various primary literature",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2005,"county","27163","Washington","Nature","Sequestration","Tree",-80007.2553039034,"NLCD 2021","Various primary literature",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.36 +2005,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11743.1499364261,"NLCD 2021","Various primary literature",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2005,"county","27163","Washington","Nature","Sequestration","Urban tree",-17257.4202454383,"NLCD 2021","Various primary literature",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.08 +2005,"county","27163","Washington","Nature","Sequestration","Wetland",-55279.2822311162,"NLCD 2021","Various primary literature",219972,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.25 +2006,"county","27003","Anoka","Nature","Sequestration","Grassland",-763.819253791726,"NLCD 2021","Various primary literature",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27003","Anoka","Nature","Sequestration","Tree",-78351.0148098005,"NLCD 2021","Various primary literature",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.24 +2006,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-16572.5190280976,"NLCD 2021","Various primary literature",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2006,"county","27003","Anoka","Nature","Sequestration","Urban tree",-17078.4653301599,"NLCD 2021","Various primary literature",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2006,"county","27003","Anoka","Nature","Sequestration","Wetland",-308209.242408244,"NLCD 2021","Various primary literature",323590,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.95 +2006,"county","27019","Carver","Nature","Sequestration","Grassland",-289.544938553604,"NLCD 2021","Various primary literature",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27019","Carver","Nature","Sequestration","Tree",-36959.7397053517,"NLCD 2021","Various primary literature",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.43 +2006,"county","27019","Carver","Nature","Sequestration","Urban grassland",-9033.90845469499,"NLCD 2021","Various primary literature",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.11 +2006,"county","27019","Carver","Nature","Sequestration","Urban tree",-6308.94683739211,"NLCD 2021","Various primary literature",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.07 +2006,"county","27019","Carver","Nature","Sequestration","Wetland",-65031.749333108,"NLCD 2021","Various primary literature",85657,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.76 +2006,"county","27025","Chisago","Nature","Sequestration","Grassland",-1004.01644414587,"NLCD 2021","Various primary literature",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2006,"county","27025","Chisago","Nature","Sequestration","Tree",-102754.487718125,"NLCD 2021","Various primary literature",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",-2 +2006,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10631.4073664645,"NLCD 2021","Various primary literature",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.21 +2006,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3022.58745625644,"NLCD 2021","Various primary literature",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2006,"county","27025","Chisago","Nature","Sequestration","Wetland",-161839.992106815,"NLCD 2021","Various primary literature",51444,"US Census County Intercensal Tables (CO-EST00INT-01)",-3.15 +2006,"county","27037","Dakota","Nature","Sequestration","Grassland",-2662.71710912366,"NLCD 2021","Various primary literature",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2006,"county","27037","Dakota","Nature","Sequestration","Tree",-53498.8523636899,"NLCD 2021","Various primary literature",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.14 +2006,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-16397.0937889952,"NLCD 2021","Various primary literature",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.04 +2006,"county","27037","Dakota","Nature","Sequestration","Urban tree",-30495.180758549,"NLCD 2021","Various primary literature",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.08 +2006,"county","27037","Dakota","Nature","Sequestration","Wetland",-40533.529162205,"NLCD 2021","Various primary literature",386228,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.1 +2006,"county","27053","Hennepin","Nature","Sequestration","Grassland",-692.221367943392,"NLCD 2021","Various primary literature",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27053","Hennepin","Nature","Sequestration","Tree",-51526.5919162056,"NLCD 2021","Various primary literature",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2006,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19298.8605228542,"NLCD 2021","Various primary literature",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2006,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66082.2291384499,"NLCD 2021","Various primary literature",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2006,"county","27053","Hennepin","Nature","Sequestration","Wetland",-121239.801323018,"NLCD 2021","Various primary literature",1119507,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.11 +2006,"county","55093","Pierce","Nature","Sequestration","Grassland",-227.292915505469,"NLCD 2021","Various primary literature",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2006,"county","55093","Pierce","Nature","Sequestration","Tree",-153431.340467967,"NLCD 2021","Various primary literature",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",-3.84 +2006,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11959.3161449151,"NLCD 2021","Various primary literature",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.3 +2006,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2591.2753446305,"NLCD 2021","Various primary literature",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2006,"county","55093","Pierce","Nature","Sequestration","Wetland",-7113.54977353259,"NLCD 2021","Various primary literature",39915,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.18 +2006,"county","27123","Ramsey","Nature","Sequestration","Grassland",-210.92593944405,"NLCD 2021","Various primary literature",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27123","Ramsey","Nature","Sequestration","Tree",-10850.2818603682,"NLCD 2021","Various primary literature",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2006,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4728.3049594498,"NLCD 2021","Various primary literature",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2006,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-27949.1479019689,"NLCD 2021","Various primary literature",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2006,"county","27123","Ramsey","Nature","Sequestration","Wetland",-22116.0808893844,"NLCD 2021","Various primary literature",497158,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.04 +2006,"county","27139","Scott","Nature","Sequestration","Grassland",-597.541353710261,"NLCD 2021","Various primary literature",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27139","Scott","Nature","Sequestration","Tree",-50156.7986337455,"NLCD 2021","Various primary literature",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.41 +2006,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10819.8042590562,"NLCD 2021","Various primary literature",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.09 +2006,"county","27139","Scott","Nature","Sequestration","Urban tree",-7804.36973382242,"NLCD 2021","Various primary literature",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2006,"county","27139","Scott","Nature","Sequestration","Wetland",-78081.5098415336,"NLCD 2021","Various primary literature",121013,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.65 +2006,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1446.46459349334,"NLCD 2021","Various primary literature",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2006,"county","27141","Sherburne","Nature","Sequestration","Tree",-94911.7842363528,"NLCD 2021","Various primary literature",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.13 +2006,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-11373.1261140669,"NLCD 2021","Various primary literature",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.14 +2006,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-4716.70722885456,"NLCD 2021","Various primary literature",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2006,"county","27141","Sherburne","Nature","Sequestration","Wetland",-182753.518316165,"NLCD 2021","Various primary literature",84079,"US Census County Intercensal Tables (CO-EST00INT-01)",-2.17 +2006,"county","55109","St. Croix","Nature","Sequestration","Grassland",-968.008966091924,"NLCD 2021","Various primary literature",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2006,"county","55109","St. Croix","Nature","Sequestration","Tree",-143209.555217651,"NLCD 2021","Various primary literature",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.79 +2006,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-20380.4641729652,"NLCD 2021","Various primary literature",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.26 +2006,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4377.60977876795,"NLCD 2021","Various primary literature",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2006,"county","55109","St. Croix","Nature","Sequestration","Wetland",-22875.8220133106,"NLCD 2021","Various primary literature",79784,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.29 +2006,"county","27163","Washington","Nature","Sequestration","Grassland",-972.189368776948,"NLCD 2021","Various primary literature",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2006,"county","27163","Washington","Nature","Sequestration","Tree",-80039.2070931308,"NLCD 2021","Various primary literature",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.36 +2006,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11743.1499364261,"NLCD 2021","Various primary literature",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2006,"county","27163","Washington","Nature","Sequestration","Urban tree",-17257.4202454383,"NLCD 2021","Various primary literature",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.08 +2006,"county","27163","Washington","Nature","Sequestration","Wetland",-55140.2210016632,"NLCD 2021","Various primary literature",225091,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.24 +2007,"county","27003","Anoka","Nature","Sequestration","Grassland",-740.217466157915,"NLCD 2021","Various primary literature",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27003","Anoka","Nature","Sequestration","Tree",-78613.6362977103,"NLCD 2021","Various primary literature",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.24 +2007,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-16572.5190280976,"NLCD 2021","Various primary literature",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2007,"county","27003","Anoka","Nature","Sequestration","Urban tree",-17078.4653301599,"NLCD 2021","Various primary literature",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2007,"county","27003","Anoka","Nature","Sequestration","Wetland",-306264.380466318,"NLCD 2021","Various primary literature",325767,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.94 +2007,"county","27019","Carver","Nature","Sequestration","Grassland",-282.476439438684,"NLCD 2021","Various primary literature",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27019","Carver","Nature","Sequestration","Tree",-36995.3282375037,"NLCD 2021","Various primary literature",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.42 +2007,"county","27019","Carver","Nature","Sequestration","Urban grassland",-9033.90845469499,"NLCD 2021","Various primary literature",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.1 +2007,"county","27019","Carver","Nature","Sequestration","Urban tree",-6308.94683739211,"NLCD 2021","Various primary literature",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.07 +2007,"county","27019","Carver","Nature","Sequestration","Wetland",-63992.1524716772,"NLCD 2021","Various primary literature",87270,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.73 +2007,"county","27025","Chisago","Nature","Sequestration","Grassland",-1026.51283720213,"NLCD 2021","Various primary literature",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2007,"county","27025","Chisago","Nature","Sequestration","Tree",-102949.94734183,"NLCD 2021","Various primary literature",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.97 +2007,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10631.4073664645,"NLCD 2021","Various primary literature",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.2 +2007,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3022.58745625644,"NLCD 2021","Various primary literature",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2007,"county","27025","Chisago","Nature","Sequestration","Wetland",-161210.504226722,"NLCD 2021","Various primary literature",52312,"US Census County Intercensal Tables (CO-EST00INT-01)",-3.08 +2007,"county","27037","Dakota","Nature","Sequestration","Grassland",-2649.88854638179,"NLCD 2021","Various primary literature",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2007,"county","27037","Dakota","Nature","Sequestration","Tree",-53492.5131097468,"NLCD 2021","Various primary literature",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.14 +2007,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-16397.0937889952,"NLCD 2021","Various primary literature",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.04 +2007,"county","27037","Dakota","Nature","Sequestration","Urban tree",-30495.180758549,"NLCD 2021","Various primary literature",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.08 +2007,"county","27037","Dakota","Nature","Sequestration","Wetland",-39956.5939589545,"NLCD 2021","Various primary literature",390767,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.1 +2007,"county","27053","Hennepin","Nature","Sequestration","Grassland",-663.286845118526,"NLCD 2021","Various primary literature",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27053","Hennepin","Nature","Sequestration","Tree",-51528.3304048091,"NLCD 2021","Various primary literature",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2007,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19298.8605228542,"NLCD 2021","Various primary literature",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2007,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66082.2291384499,"NLCD 2021","Various primary literature",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2007,"county","27053","Hennepin","Nature","Sequestration","Wetland",-119611.647333248,"NLCD 2021","Various primary literature",1126585,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.11 +2007,"county","55093","Pierce","Nature","Sequestration","Grassland",-231.387290136913,"NLCD 2021","Various primary literature",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2007,"county","55093","Pierce","Nature","Sequestration","Tree",-153648.460370872,"NLCD 2021","Various primary literature",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",-3.82 +2007,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11959.3161449151,"NLCD 2021","Various primary literature",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.3 +2007,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2591.2753446305,"NLCD 2021","Various primary literature",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2007,"county","55093","Pierce","Nature","Sequestration","Wetland",-7510.2001447305,"NLCD 2021","Various primary literature",40238,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.19 +2007,"county","27123","Ramsey","Nature","Sequestration","Grassland",-209.709018235436,"NLCD 2021","Various primary literature",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27123","Ramsey","Nature","Sequestration","Tree",-10818.3078324686,"NLCD 2021","Various primary literature",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2007,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4728.3049594498,"NLCD 2021","Various primary literature",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2007,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-27949.1479019689,"NLCD 2021","Various primary literature",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2007,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21958.3360628836,"NLCD 2021","Various primary literature",499605,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.04 +2007,"county","27139","Scott","Nature","Sequestration","Grassland",-567.286512706947,"NLCD 2021","Various primary literature",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27139","Scott","Nature","Sequestration","Tree",-50218.4378403215,"NLCD 2021","Various primary literature",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.4 +2007,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10819.8042590562,"NLCD 2021","Various primary literature",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.09 +2007,"county","27139","Scott","Nature","Sequestration","Urban tree",-7804.36973382242,"NLCD 2021","Various primary literature",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2007,"county","27139","Scott","Nature","Sequestration","Wetland",-76812.0330301861,"NLCD 2021","Various primary literature",124050,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.62 +2007,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1482.95063181109,"NLCD 2021","Various primary literature",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2007,"county","27141","Sherburne","Nature","Sequestration","Tree",-95110.3514264608,"NLCD 2021","Various primary literature",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.11 +2007,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-11373.1261140669,"NLCD 2021","Various primary literature",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.13 +2007,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-4716.70722885456,"NLCD 2021","Various primary literature",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2007,"county","27141","Sherburne","Nature","Sequestration","Wetland",-181725.227756122,"NLCD 2021","Various primary literature",85968,"US Census County Intercensal Tables (CO-EST00INT-01)",-2.11 +2007,"county","55109","St. Croix","Nature","Sequestration","Grassland",-978.911201118234,"NLCD 2021","Various primary literature",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2007,"county","55109","St. Croix","Nature","Sequestration","Tree",-143271.867030021,"NLCD 2021","Various primary literature",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.75 +2007,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-20380.4641729652,"NLCD 2021","Various primary literature",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.25 +2007,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4377.60977876795,"NLCD 2021","Various primary literature",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2007,"county","55109","St. Croix","Nature","Sequestration","Wetland",-23126.2250295948,"NLCD 2021","Various primary literature",81708,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.28 +2007,"county","27163","Washington","Nature","Sequestration","Grassland",-993.793980550319,"NLCD 2021","Various primary literature",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2007,"county","27163","Washington","Nature","Sequestration","Tree",-79896.070891221,"NLCD 2021","Various primary literature",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.35 +2007,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11743.1499364261,"NLCD 2021","Various primary literature",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2007,"county","27163","Washington","Nature","Sequestration","Urban tree",-17257.4202454383,"NLCD 2021","Various primary literature",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.08 +2007,"county","27163","Washington","Nature","Sequestration","Wetland",-55834.3850997396,"NLCD 2021","Various primary literature",229756,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.24 +2008,"county","27003","Anoka","Nature","Sequestration","Grassland",-716.615678524104,"NLCD 2021","Various primary literature",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27003","Anoka","Nature","Sequestration","Tree",-78876.2577856202,"NLCD 2021","Various primary literature",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.24 +2008,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-16572.5190280976,"NLCD 2021","Various primary literature",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2008,"county","27003","Anoka","Nature","Sequestration","Urban tree",-17078.4653301599,"NLCD 2021","Various primary literature",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2008,"county","27003","Anoka","Nature","Sequestration","Wetland",-304319.518524391,"NLCD 2021","Various primary literature",327427,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.93 +2008,"county","27019","Carver","Nature","Sequestration","Grassland",-275.407940323765,"NLCD 2021","Various primary literature",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27019","Carver","Nature","Sequestration","Tree",-37030.9167696558,"NLCD 2021","Various primary literature",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.42 +2008,"county","27019","Carver","Nature","Sequestration","Urban grassland",-9033.90845469499,"NLCD 2021","Various primary literature",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.1 +2008,"county","27019","Carver","Nature","Sequestration","Urban tree",-6308.94683739211,"NLCD 2021","Various primary literature",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.07 +2008,"county","27019","Carver","Nature","Sequestration","Wetland",-62952.5556102464,"NLCD 2021","Various primary literature",88812,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.71 +2008,"county","27025","Chisago","Nature","Sequestration","Grassland",-1049.00923025839,"NLCD 2021","Various primary literature",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2008,"county","27025","Chisago","Nature","Sequestration","Tree",-103145.406965534,"NLCD 2021","Various primary literature",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.95 +2008,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10631.4073664645,"NLCD 2021","Various primary literature",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.2 +2008,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3022.58745625644,"NLCD 2021","Various primary literature",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2008,"county","27025","Chisago","Nature","Sequestration","Wetland",-160581.016346629,"NLCD 2021","Various primary literature",53012,"US Census County Intercensal Tables (CO-EST00INT-01)",-3.03 +2008,"county","27037","Dakota","Nature","Sequestration","Grassland",-2637.05998363993,"NLCD 2021","Various primary literature",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2008,"county","27037","Dakota","Nature","Sequestration","Tree",-53486.1738558038,"NLCD 2021","Various primary literature",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.14 +2008,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-16397.0937889952,"NLCD 2021","Various primary literature",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.04 +2008,"county","27037","Dakota","Nature","Sequestration","Urban tree",-30495.180758549,"NLCD 2021","Various primary literature",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.08 +2008,"county","27037","Dakota","Nature","Sequestration","Wetland",-39379.6587557039,"NLCD 2021","Various primary literature",393900,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.1 +2008,"county","27053","Hennepin","Nature","Sequestration","Grassland",-634.352322293659,"NLCD 2021","Various primary literature",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27053","Hennepin","Nature","Sequestration","Tree",-51530.0688934125,"NLCD 2021","Various primary literature",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2008,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19298.8605228542,"NLCD 2021","Various primary literature",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2008,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66082.2291384499,"NLCD 2021","Various primary literature",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2008,"county","27053","Hennepin","Nature","Sequestration","Wetland",-117983.493343478,"NLCD 2021","Various primary literature",1135173,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.1 +2008,"county","55093","Pierce","Nature","Sequestration","Grassland",-235.481664768357,"NLCD 2021","Various primary literature",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2008,"county","55093","Pierce","Nature","Sequestration","Tree",-153865.580273776,"NLCD 2021","Various primary literature",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",-3.78 +2008,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11959.3161449151,"NLCD 2021","Various primary literature",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.29 +2008,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2591.2753446305,"NLCD 2021","Various primary literature",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2008,"county","55093","Pierce","Nature","Sequestration","Wetland",-7906.85051592841,"NLCD 2021","Various primary literature",40758,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.19 +2008,"county","27123","Ramsey","Nature","Sequestration","Grassland",-208.492097026822,"NLCD 2021","Various primary literature",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27123","Ramsey","Nature","Sequestration","Tree",-10786.333804569,"NLCD 2021","Various primary literature",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2008,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4728.3049594498,"NLCD 2021","Various primary literature",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2008,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-27949.1479019689,"NLCD 2021","Various primary literature",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2008,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21800.5912363829,"NLCD 2021","Various primary literature",502890,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.04 +2008,"county","27139","Scott","Nature","Sequestration","Grassland",-537.031671703633,"NLCD 2021","Various primary literature",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27139","Scott","Nature","Sequestration","Tree",-50280.0770468975,"NLCD 2021","Various primary literature",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.4 +2008,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10819.8042590562,"NLCD 2021","Various primary literature",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.09 +2008,"county","27139","Scott","Nature","Sequestration","Urban tree",-7804.36973382242,"NLCD 2021","Various primary literature",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2008,"county","27139","Scott","Nature","Sequestration","Wetland",-75542.5562188385,"NLCD 2021","Various primary literature",126613,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.6 +2008,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1519.43667012885,"NLCD 2021","Various primary literature",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2008,"county","27141","Sherburne","Nature","Sequestration","Tree",-95308.9186165689,"NLCD 2021","Various primary literature",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.09 +2008,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-11373.1261140669,"NLCD 2021","Various primary literature",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.13 +2008,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-4716.70722885456,"NLCD 2021","Various primary literature",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2008,"county","27141","Sherburne","Nature","Sequestration","Wetland",-180696.937196078,"NLCD 2021","Various primary literature",87495,"US Census County Intercensal Tables (CO-EST00INT-01)",-2.07 +2008,"county","55109","St. Croix","Nature","Sequestration","Grassland",-989.813436144544,"NLCD 2021","Various primary literature",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2008,"county","55109","St. Croix","Nature","Sequestration","Tree",-143334.17884239,"NLCD 2021","Various primary literature",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.72 +2008,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-20380.4641729652,"NLCD 2021","Various primary literature",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.24 +2008,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4377.60977876795,"NLCD 2021","Various primary literature",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2008,"county","55109","St. Croix","Nature","Sequestration","Wetland",-23376.628045879,"NLCD 2021","Various primary literature",83192,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.28 +2008,"county","27163","Washington","Nature","Sequestration","Grassland",-1015.39859232369,"NLCD 2021","Various primary literature",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2008,"county","27163","Washington","Nature","Sequestration","Tree",-79752.9346893111,"NLCD 2021","Various primary literature",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.34 +2008,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11743.1499364261,"NLCD 2021","Various primary literature",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2008,"county","27163","Washington","Nature","Sequestration","Urban tree",-17257.4202454383,"NLCD 2021","Various primary literature",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.07 +2008,"county","27163","Washington","Nature","Sequestration","Wetland",-56528.5491978159,"NLCD 2021","Various primary literature",233306,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.24 +2009,"county","27003","Anoka","Nature","Sequestration","Grassland",-709.94613347174,"NLCD 2021","Various primary literature",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27003","Anoka","Nature","Sequestration","Tree",-78952.0980373865,"NLCD 2021","Various primary literature",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.24 +2009,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-16572.5190280976,"NLCD 2021","Various primary literature",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2009,"county","27003","Anoka","Nature","Sequestration","Urban tree",-17078.4653301599,"NLCD 2021","Various primary literature",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2009,"county","27003","Anoka","Nature","Sequestration","Wetland",-302969.712398571,"NLCD 2021","Various primary literature",329635,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.92 +2009,"county","27019","Carver","Nature","Sequestration","Grassland",-293.370782472862,"NLCD 2021","Various primary literature",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27019","Carver","Nature","Sequestration","Tree",-37071.3390290693,"NLCD 2021","Various primary literature",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.41 +2009,"county","27019","Carver","Nature","Sequestration","Urban grassland",-9033.90845469499,"NLCD 2021","Various primary literature",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.1 +2009,"county","27019","Carver","Nature","Sequestration","Urban tree",-6308.94683739211,"NLCD 2021","Various primary literature",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.07 +2009,"county","27019","Carver","Nature","Sequestration","Wetland",-62547.9185555886,"NLCD 2021","Various primary literature",90242,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.69 +2009,"county","27025","Chisago","Nature","Sequestration","Grassland",-1052.79344634125,"NLCD 2021","Various primary literature",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2009,"county","27025","Chisago","Nature","Sequestration","Tree",-103252.279658801,"NLCD 2021","Various primary literature",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.93 +2009,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10631.4073664645,"NLCD 2021","Various primary literature",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.2 +2009,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3022.58745625644,"NLCD 2021","Various primary literature",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2009,"county","27025","Chisago","Nature","Sequestration","Wetland",-160311.171445181,"NLCD 2021","Various primary literature",53526,"US Census County Intercensal Tables (CO-EST00INT-01)",-3 +2009,"county","27037","Dakota","Nature","Sequestration","Grassland",-2632.94371038163,"NLCD 2021","Various primary literature",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2009,"county","27037","Dakota","Nature","Sequestration","Tree",-53516.5469922287,"NLCD 2021","Various primary literature",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.13 +2009,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-16397.0937889952,"NLCD 2021","Various primary literature",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.04 +2009,"county","27037","Dakota","Nature","Sequestration","Urban tree",-30495.180758549,"NLCD 2021","Various primary literature",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.08 +2009,"county","27037","Dakota","Nature","Sequestration","Wetland",-38910.4612069445,"NLCD 2021","Various primary literature",396906,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.1 +2009,"county","27053","Hennepin","Nature","Sequestration","Grassland",-634.201941441724,"NLCD 2021","Various primary literature",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27053","Hennepin","Nature","Sequestration","Tree",-51454.3903376753,"NLCD 2021","Various primary literature",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.04 +2009,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19298.8605228542,"NLCD 2021","Various primary literature",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2009,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66082.2291384499,"NLCD 2021","Various primary literature",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2009,"county","27053","Hennepin","Nature","Sequestration","Wetland",-117133.26020944,"NLCD 2021","Various primary literature",1146721,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.1 +2009,"county","55093","Pierce","Nature","Sequestration","Grassland",-239.979558000804,"NLCD 2021","Various primary literature",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2009,"county","55093","Pierce","Nature","Sequestration","Tree",-153902.01254407,"NLCD 2021","Various primary literature",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",-3.79 +2009,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11959.3161449151,"NLCD 2021","Various primary literature",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.29 +2009,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2591.2753446305,"NLCD 2021","Various primary literature",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2009,"county","55093","Pierce","Nature","Sequestration","Wetland",-7734.87653629718,"NLCD 2021","Various primary literature",40613,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.19 +2009,"county","27123","Ramsey","Nature","Sequestration","Grassland",-208.271207678842,"NLCD 2021","Various primary literature",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27123","Ramsey","Nature","Sequestration","Tree",-10790.0667636286,"NLCD 2021","Various primary literature",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2009,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4728.3049594498,"NLCD 2021","Various primary literature",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2009,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-27949.1479019689,"NLCD 2021","Various primary literature",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2009,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21635.6453128305,"NLCD 2021","Various primary literature",506590,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.04 +2009,"county","27139","Scott","Nature","Sequestration","Grassland",-536.624976743956,"NLCD 2021","Various primary literature",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27139","Scott","Nature","Sequestration","Tree",-50257.4004354505,"NLCD 2021","Various primary literature",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.39 +2009,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10819.8042590562,"NLCD 2021","Various primary literature",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.08 +2009,"county","27139","Scott","Nature","Sequestration","Urban tree",-7804.36973382242,"NLCD 2021","Various primary literature",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.06 +2009,"county","27139","Scott","Nature","Sequestration","Wetland",-74587.4391572261,"NLCD 2021","Various primary literature",128530,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.58 +2009,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1527.5183976368,"NLCD 2021","Various primary literature",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.02 +2009,"county","27141","Sherburne","Nature","Sequestration","Tree",-95505.0036309722,"NLCD 2021","Various primary literature",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.09 +2009,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-11373.1261140669,"NLCD 2021","Various primary literature",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.13 +2009,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-4716.70722885456,"NLCD 2021","Various primary literature",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2009,"county","27141","Sherburne","Nature","Sequestration","Wetland",-179520.148039478,"NLCD 2021","Various primary literature",87880,"US Census County Intercensal Tables (CO-EST00INT-01)",-2.04 +2009,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1004.2004023974,"NLCD 2021","Various primary literature",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.01 +2009,"county","55109","St. Croix","Nature","Sequestration","Tree",-143318.610806761,"NLCD 2021","Various primary literature",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",-1.71 +2009,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-20380.4641729652,"NLCD 2021","Various primary literature",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.24 +2009,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4377.60977876795,"NLCD 2021","Various primary literature",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2009,"county","55109","St. Croix","Nature","Sequestration","Wetland",-23140.3396765158,"NLCD 2021","Various primary literature",84055,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.28 +2009,"county","27163","Washington","Nature","Sequestration","Grassland",-1014.96813937874,"NLCD 2021","Various primary literature",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",0 +2009,"county","27163","Washington","Nature","Sequestration","Tree",-79744.9676482816,"NLCD 2021","Various primary literature",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.34 +2009,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11743.1499364261,"NLCD 2021","Various primary literature",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.05 +2009,"county","27163","Washington","Nature","Sequestration","Urban tree",-17257.4202454383,"NLCD 2021","Various primary literature",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.07 +2009,"county","27163","Washington","Nature","Sequestration","Wetland",-56087.1258043391,"NLCD 2021","Various primary literature",235684,"US Census County Intercensal Tables (CO-EST00INT-01)",-0.24 +2010,"county","27003","Anoka","Nature","Sequestration","Grassland",-703.276588419377,"NLCD 2021","Various primary literature",244813,"Decennial Census, Table P1",0 +2010,"county","27003","Anoka","Nature","Sequestration","Tree",-79027.9382891529,"NLCD 2021","Various primary literature",244813,"Decennial Census, Table P1",-0.32 +2010,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-16572.5190280976,"NLCD 2021","Various primary literature",244813,"Decennial Census, Table P1",-0.07 +2010,"county","27003","Anoka","Nature","Sequestration","Urban tree",-17078.4653301599,"NLCD 2021","Various primary literature",244813,"Decennial Census, Table P1",-0.07 +2010,"county","27003","Anoka","Nature","Sequestration","Wetland",-301619.906272751,"NLCD 2021","Various primary literature",244813,"Decennial Census, Table P1",-1.23 +2010,"county","27019","Carver","Nature","Sequestration","Grassland",-311.333624621958,"NLCD 2021","Various primary literature",63837,"Decennial Census, Table P1",0 +2010,"county","27019","Carver","Nature","Sequestration","Tree",-37111.7612884829,"NLCD 2021","Various primary literature",63837,"Decennial Census, Table P1",-0.58 +2010,"county","27019","Carver","Nature","Sequestration","Urban grassland",-9033.90845469499,"NLCD 2021","Various primary literature",63837,"Decennial Census, Table P1",-0.14 +2010,"county","27019","Carver","Nature","Sequestration","Urban tree",-6308.94683739211,"NLCD 2021","Various primary literature",63837,"Decennial Census, Table P1",-0.1 +2010,"county","27019","Carver","Nature","Sequestration","Wetland",-62143.2815009309,"NLCD 2021","Various primary literature",63837,"Decennial Census, Table P1",-0.97 +2010,"county","27025","Chisago","Nature","Sequestration","Grassland",-1056.57766242411,"NLCD 2021","Various primary literature",40040,"Decennial Census, Table P1",-0.03 +2010,"county","27025","Chisago","Nature","Sequestration","Tree",-103359.152352068,"NLCD 2021","Various primary literature",40040,"Decennial Census, Table P1",-2.58 +2010,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10631.4073664645,"NLCD 2021","Various primary literature",40040,"Decennial Census, Table P1",-0.27 +2010,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3022.58745625644,"NLCD 2021","Various primary literature",40040,"Decennial Census, Table P1",-0.08 +2010,"county","27025","Chisago","Nature","Sequestration","Wetland",-160041.326543733,"NLCD 2021","Various primary literature",40040,"Decennial Census, Table P1",-4 +2010,"county","27037","Dakota","Nature","Sequestration","Grassland",-2628.82743712332,"NLCD 2021","Various primary literature",293492,"Decennial Census, Table P1",-0.01 +2010,"county","27037","Dakota","Nature","Sequestration","Tree",-53546.9201286535,"NLCD 2021","Various primary literature",293492,"Decennial Census, Table P1",-0.18 +2010,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-16397.0937889952,"NLCD 2021","Various primary literature",293492,"Decennial Census, Table P1",-0.06 +2010,"county","27037","Dakota","Nature","Sequestration","Urban tree",-30495.180758549,"NLCD 2021","Various primary literature",293492,"Decennial Census, Table P1",-0.1 +2010,"county","27037","Dakota","Nature","Sequestration","Wetland",-38441.263658185,"NLCD 2021","Various primary literature",293492,"Decennial Census, Table P1",-0.13 +2010,"county","27053","Hennepin","Nature","Sequestration","Grassland",-634.051560589789,"NLCD 2021","Various primary literature",891080,"Decennial Census, Table P1",0 +2010,"county","27053","Hennepin","Nature","Sequestration","Tree",-51378.711781938,"NLCD 2021","Various primary literature",891080,"Decennial Census, Table P1",-0.06 +2010,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19298.8605228542,"NLCD 2021","Various primary literature",891080,"Decennial Census, Table P1",-0.02 +2010,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66082.2291384499,"NLCD 2021","Various primary literature",891080,"Decennial Census, Table P1",-0.07 +2010,"county","27053","Hennepin","Nature","Sequestration","Wetland",-116283.027075402,"NLCD 2021","Various primary literature",891080,"Decennial Census, Table P1",-0.13 +2010,"county","55093","Pierce","Nature","Sequestration","Grassland",-244.477451233251,"NLCD 2021","Various primary literature",31860,"Decennial Census, Table P1",-0.01 +2010,"county","55093","Pierce","Nature","Sequestration","Tree",-153938.444814364,"NLCD 2021","Various primary literature",31860,"Decennial Census, Table P1",-4.83 +2010,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11959.3161449151,"NLCD 2021","Various primary literature",31860,"Decennial Census, Table P1",-0.38 +2010,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2591.2753446305,"NLCD 2021","Various primary literature",31860,"Decennial Census, Table P1",-0.08 +2010,"county","55093","Pierce","Nature","Sequestration","Wetland",-7562.90255666594,"NLCD 2021","Various primary literature",31860,"Decennial Census, Table P1",-0.24 +2010,"county","27123","Ramsey","Nature","Sequestration","Grassland",-208.050318330862,"NLCD 2021","Various primary literature",390147,"Decennial Census, Table P1",0 +2010,"county","27123","Ramsey","Nature","Sequestration","Tree",-10793.7997226882,"NLCD 2021","Various primary literature",390147,"Decennial Census, Table P1",-0.03 +2010,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4728.3049594498,"NLCD 2021","Various primary literature",390147,"Decennial Census, Table P1",-0.01 +2010,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-27949.1479019689,"NLCD 2021","Various primary literature",390147,"Decennial Census, Table P1",-0.07 +2010,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21470.6993892781,"NLCD 2021","Various primary literature",390147,"Decennial Census, Table P1",-0.06 +2010,"county","27139","Scott","Nature","Sequestration","Grassland",-536.218281784279,"NLCD 2021","Various primary literature",90700,"Decennial Census, Table P1",-0.01 +2010,"county","27139","Scott","Nature","Sequestration","Tree",-50234.7238240036,"NLCD 2021","Various primary literature",90700,"Decennial Census, Table P1",-0.55 +2010,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10819.8042590562,"NLCD 2021","Various primary literature",90700,"Decennial Census, Table P1",-0.12 +2010,"county","27139","Scott","Nature","Sequestration","Urban tree",-7804.36973382242,"NLCD 2021","Various primary literature",90700,"Decennial Census, Table P1",-0.09 +2010,"county","27139","Scott","Nature","Sequestration","Wetland",-73632.3220956137,"NLCD 2021","Various primary literature",90700,"Decennial Census, Table P1",-0.81 +2010,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1535.60012514476,"NLCD 2021","Various primary literature",62722,"Decennial Census, Table P1",-0.02 +2010,"county","27141","Sherburne","Nature","Sequestration","Tree",-95701.0886453755,"NLCD 2021","Various primary literature",62722,"Decennial Census, Table P1",-1.53 +2010,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-11373.1261140669,"NLCD 2021","Various primary literature",62722,"Decennial Census, Table P1",-0.18 +2010,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-4716.70722885456,"NLCD 2021","Various primary literature",62722,"Decennial Census, Table P1",-0.08 +2010,"county","27141","Sherburne","Nature","Sequestration","Wetland",-178343.358882879,"NLCD 2021","Various primary literature",62722,"Decennial Census, Table P1",-2.84 +2010,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1018.58736865026,"NLCD 2021","Various primary literature",61462,"Decennial Census, Table P1",-0.02 +2010,"county","55109","St. Croix","Nature","Sequestration","Tree",-143303.042771131,"NLCD 2021","Various primary literature",61462,"Decennial Census, Table P1",-2.33 +2010,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-20380.4641729652,"NLCD 2021","Various primary literature",61462,"Decennial Census, Table P1",-0.33 +2010,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4377.60977876795,"NLCD 2021","Various primary literature",61462,"Decennial Census, Table P1",-0.07 +2010,"county","55109","St. Croix","Nature","Sequestration","Wetland",-22904.0513071527,"NLCD 2021","Various primary literature",61462,"Decennial Census, Table P1",-0.37 +2010,"county","27163","Washington","Nature","Sequestration","Grassland",-1014.5376864338,"NLCD 2021","Various primary literature",174538,"Decennial Census, Table P1",-0.01 +2010,"county","27163","Washington","Nature","Sequestration","Tree",-79737.000607252,"NLCD 2021","Various primary literature",174538,"Decennial Census, Table P1",-0.46 +2010,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11743.1499364261,"NLCD 2021","Various primary literature",174538,"Decennial Census, Table P1",-0.07 +2010,"county","27163","Washington","Nature","Sequestration","Urban tree",-17257.4202454383,"NLCD 2021","Various primary literature",174538,"Decennial Census, Table P1",-0.1 +2010,"county","27163","Washington","Nature","Sequestration","Wetland",-55645.7024108622,"NLCD 2021","Various primary literature",174538,"Decennial Census, Table P1",-0.32 +2011,"county","27003","Anoka","Nature","Sequestration","Grassland",-696.607043367014,"NLCD 2021","Various primary literature",332921,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27003","Anoka","Nature","Sequestration","Tree",-79103.7785409193,"NLCD 2021","Various primary literature",332921,"US Census County Intercensal Tables (CO-EST2020)",-0.24 +2011,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-16572.5190280976,"NLCD 2021","Various primary literature",332921,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2011,"county","27003","Anoka","Nature","Sequestration","Urban tree",-17078.4653301599,"NLCD 2021","Various primary literature",332921,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2011,"county","27003","Anoka","Nature","Sequestration","Wetland",-300270.100146931,"NLCD 2021","Various primary literature",332921,"US Census County Intercensal Tables (CO-EST2020)",-0.9 +2011,"county","27019","Carver","Nature","Sequestration","Grassland",-329.296466771055,"NLCD 2021","Various primary literature",92752,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27019","Carver","Nature","Sequestration","Tree",-37152.1835478965,"NLCD 2021","Various primary literature",92752,"US Census County Intercensal Tables (CO-EST2020)",-0.4 +2011,"county","27019","Carver","Nature","Sequestration","Urban grassland",-9033.90845469499,"NLCD 2021","Various primary literature",92752,"US Census County Intercensal Tables (CO-EST2020)",-0.1 +2011,"county","27019","Carver","Nature","Sequestration","Urban tree",-6308.94683739211,"NLCD 2021","Various primary literature",92752,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2011,"county","27019","Carver","Nature","Sequestration","Wetland",-61738.6444462731,"NLCD 2021","Various primary literature",92752,"US Census County Intercensal Tables (CO-EST2020)",-0.67 +2011,"county","27025","Chisago","Nature","Sequestration","Grassland",-1060.36187850697,"NLCD 2021","Various primary literature",53762,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2011,"county","27025","Chisago","Nature","Sequestration","Tree",-103466.025045335,"NLCD 2021","Various primary literature",53762,"US Census County Intercensal Tables (CO-EST2020)",-1.92 +2011,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10631.4073664645,"NLCD 2021","Various primary literature",53762,"US Census County Intercensal Tables (CO-EST2020)",-0.2 +2011,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3022.58745625644,"NLCD 2021","Various primary literature",53762,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2011,"county","27025","Chisago","Nature","Sequestration","Wetland",-159771.481642285,"NLCD 2021","Various primary literature",53762,"US Census County Intercensal Tables (CO-EST2020)",-2.97 +2011,"county","27037","Dakota","Nature","Sequestration","Grassland",-2624.71116386502,"NLCD 2021","Various primary literature",401804,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2011,"county","27037","Dakota","Nature","Sequestration","Tree",-53577.2932650784,"NLCD 2021","Various primary literature",401804,"US Census County Intercensal Tables (CO-EST2020)",-0.13 +2011,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-16397.0937889952,"NLCD 2021","Various primary literature",401804,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2011,"county","27037","Dakota","Nature","Sequestration","Urban tree",-30495.180758549,"NLCD 2021","Various primary literature",401804,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2011,"county","27037","Dakota","Nature","Sequestration","Wetland",-37972.0661094255,"NLCD 2021","Various primary literature",401804,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2011,"county","27053","Hennepin","Nature","Sequestration","Grassland",-633.901179737853,"NLCD 2021","Various primary literature",1169581,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27053","Hennepin","Nature","Sequestration","Tree",-51303.0332262008,"NLCD 2021","Various primary literature",1169581,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2011,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19298.8605228542,"NLCD 2021","Various primary literature",1169581,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2011,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66082.2291384499,"NLCD 2021","Various primary literature",1169581,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2011,"county","27053","Hennepin","Nature","Sequestration","Wetland",-115432.793941364,"NLCD 2021","Various primary literature",1169581,"US Census County Intercensal Tables (CO-EST2020)",-0.1 +2011,"county","55093","Pierce","Nature","Sequestration","Grassland",-248.975344465698,"NLCD 2021","Various primary literature",40906,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2011,"county","55093","Pierce","Nature","Sequestration","Tree",-153974.877084658,"NLCD 2021","Various primary literature",40906,"US Census County Intercensal Tables (CO-EST2020)",-3.76 +2011,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11959.3161449151,"NLCD 2021","Various primary literature",40906,"US Census County Intercensal Tables (CO-EST2020)",-0.29 +2011,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2591.2753446305,"NLCD 2021","Various primary literature",40906,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2011,"county","55093","Pierce","Nature","Sequestration","Wetland",-7390.92857703471,"NLCD 2021","Various primary literature",40906,"US Census County Intercensal Tables (CO-EST2020)",-0.18 +2011,"county","27123","Ramsey","Nature","Sequestration","Grassland",-207.829428982882,"NLCD 2021","Various primary literature",515856,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27123","Ramsey","Nature","Sequestration","Tree",-10797.5326817478,"NLCD 2021","Various primary literature",515856,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2011,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4728.3049594498,"NLCD 2021","Various primary literature",515856,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2011,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-27949.1479019689,"NLCD 2021","Various primary literature",515856,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2011,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21305.7534657257,"NLCD 2021","Various primary literature",515856,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2011,"county","27139","Scott","Nature","Sequestration","Grassland",-535.811586824602,"NLCD 2021","Various primary literature",132581,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27139","Scott","Nature","Sequestration","Tree",-50212.0472125566,"NLCD 2021","Various primary literature",132581,"US Census County Intercensal Tables (CO-EST2020)",-0.38 +2011,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10819.8042590562,"NLCD 2021","Various primary literature",132581,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2011,"county","27139","Scott","Nature","Sequestration","Urban tree",-7804.36973382242,"NLCD 2021","Various primary literature",132581,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2011,"county","27139","Scott","Nature","Sequestration","Wetland",-72677.2050340014,"NLCD 2021","Various primary literature",132581,"US Census County Intercensal Tables (CO-EST2020)",-0.55 +2011,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1543.68185265271,"NLCD 2021","Various primary literature",89279,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2011,"county","27141","Sherburne","Nature","Sequestration","Tree",-95897.1736597788,"NLCD 2021","Various primary literature",89279,"US Census County Intercensal Tables (CO-EST2020)",-1.07 +2011,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-11373.1261140669,"NLCD 2021","Various primary literature",89279,"US Census County Intercensal Tables (CO-EST2020)",-0.13 +2011,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-4716.70722885456,"NLCD 2021","Various primary literature",89279,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2011,"county","27141","Sherburne","Nature","Sequestration","Wetland",-177166.569726279,"NLCD 2021","Various primary literature",89279,"US Census County Intercensal Tables (CO-EST2020)",-1.98 +2011,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1032.97433490312,"NLCD 2021","Various primary literature",84836,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2011,"county","55109","St. Croix","Nature","Sequestration","Tree",-143287.474735502,"NLCD 2021","Various primary literature",84836,"US Census County Intercensal Tables (CO-EST2020)",-1.69 +2011,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-20380.4641729652,"NLCD 2021","Various primary literature",84836,"US Census County Intercensal Tables (CO-EST2020)",-0.24 +2011,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4377.60977876795,"NLCD 2021","Various primary literature",84836,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2011,"county","55109","St. Croix","Nature","Sequestration","Wetland",-22667.7629377895,"NLCD 2021","Various primary literature",84836,"US Census County Intercensal Tables (CO-EST2020)",-0.27 +2011,"county","27163","Washington","Nature","Sequestration","Grassland",-1014.10723348885,"NLCD 2021","Various primary literature",241428,"US Census County Intercensal Tables (CO-EST2020)",0 +2011,"county","27163","Washington","Nature","Sequestration","Tree",-79729.0335662225,"NLCD 2021","Various primary literature",241428,"US Census County Intercensal Tables (CO-EST2020)",-0.33 +2011,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11743.1499364261,"NLCD 2021","Various primary literature",241428,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2011,"county","27163","Washington","Nature","Sequestration","Urban tree",-17257.4202454383,"NLCD 2021","Various primary literature",241428,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2011,"county","27163","Washington","Nature","Sequestration","Wetland",-55204.2790173854,"NLCD 2021","Various primary literature",241428,"US Census County Intercensal Tables (CO-EST2020)",-0.23 +2012,"county","27003","Anoka","Nature","Sequestration","Grassland",-689.937498314651,"NLCD 2021","Various primary literature",336119,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27003","Anoka","Nature","Sequestration","Tree",-79179.6187926856,"NLCD 2021","Various primary literature",336119,"US Census County Intercensal Tables (CO-EST2020)",-0.24 +2012,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-16572.5190280976,"NLCD 2021","Various primary literature",336119,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2012,"county","27003","Anoka","Nature","Sequestration","Urban tree",-17078.4653301599,"NLCD 2021","Various primary literature",336119,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2012,"county","27003","Anoka","Nature","Sequestration","Wetland",-298920.294021111,"NLCD 2021","Various primary literature",336119,"US Census County Intercensal Tables (CO-EST2020)",-0.89 +2012,"county","27019","Carver","Nature","Sequestration","Grassland",-347.259308920152,"NLCD 2021","Various primary literature",93804,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27019","Carver","Nature","Sequestration","Tree",-37192.6058073101,"NLCD 2021","Various primary literature",93804,"US Census County Intercensal Tables (CO-EST2020)",-0.4 +2012,"county","27019","Carver","Nature","Sequestration","Urban grassland",-9033.90845469499,"NLCD 2021","Various primary literature",93804,"US Census County Intercensal Tables (CO-EST2020)",-0.1 +2012,"county","27019","Carver","Nature","Sequestration","Urban tree",-6308.94683739211,"NLCD 2021","Various primary literature",93804,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2012,"county","27019","Carver","Nature","Sequestration","Wetland",-61334.0073916153,"NLCD 2021","Various primary literature",93804,"US Census County Intercensal Tables (CO-EST2020)",-0.65 +2012,"county","27025","Chisago","Nature","Sequestration","Grassland",-1064.14609458983,"NLCD 2021","Various primary literature",53468,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2012,"county","27025","Chisago","Nature","Sequestration","Tree",-103572.897738602,"NLCD 2021","Various primary literature",53468,"US Census County Intercensal Tables (CO-EST2020)",-1.94 +2012,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10631.4073664645,"NLCD 2021","Various primary literature",53468,"US Census County Intercensal Tables (CO-EST2020)",-0.2 +2012,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3022.58745625644,"NLCD 2021","Various primary literature",53468,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2012,"county","27025","Chisago","Nature","Sequestration","Wetland",-159501.636740837,"NLCD 2021","Various primary literature",53468,"US Census County Intercensal Tables (CO-EST2020)",-2.98 +2012,"county","27037","Dakota","Nature","Sequestration","Grassland",-2620.59489060672,"NLCD 2021","Various primary literature",404669,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2012,"county","27037","Dakota","Nature","Sequestration","Tree",-53607.6664015033,"NLCD 2021","Various primary literature",404669,"US Census County Intercensal Tables (CO-EST2020)",-0.13 +2012,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-16397.0937889952,"NLCD 2021","Various primary literature",404669,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2012,"county","27037","Dakota","Nature","Sequestration","Urban tree",-30495.180758549,"NLCD 2021","Various primary literature",404669,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2012,"county","27037","Dakota","Nature","Sequestration","Wetland",-37502.8685606661,"NLCD 2021","Various primary literature",404669,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2012,"county","27053","Hennepin","Nature","Sequestration","Grassland",-633.750798885918,"NLCD 2021","Various primary literature",1184545,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27053","Hennepin","Nature","Sequestration","Tree",-51227.3546704636,"NLCD 2021","Various primary literature",1184545,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2012,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19298.8605228542,"NLCD 2021","Various primary literature",1184545,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2012,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66082.2291384499,"NLCD 2021","Various primary literature",1184545,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2012,"county","27053","Hennepin","Nature","Sequestration","Wetland",-114582.560807326,"NLCD 2021","Various primary literature",1184545,"US Census County Intercensal Tables (CO-EST2020)",-0.1 +2012,"county","55093","Pierce","Nature","Sequestration","Grassland",-253.473237698146,"NLCD 2021","Various primary literature",40744,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2012,"county","55093","Pierce","Nature","Sequestration","Tree",-154011.309354952,"NLCD 2021","Various primary literature",40744,"US Census County Intercensal Tables (CO-EST2020)",-3.78 +2012,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11959.3161449151,"NLCD 2021","Various primary literature",40744,"US Census County Intercensal Tables (CO-EST2020)",-0.29 +2012,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2591.2753446305,"NLCD 2021","Various primary literature",40744,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2012,"county","55093","Pierce","Nature","Sequestration","Wetland",-7218.95459740348,"NLCD 2021","Various primary literature",40744,"US Census County Intercensal Tables (CO-EST2020)",-0.18 +2012,"county","27123","Ramsey","Nature","Sequestration","Grassland",-207.608539634901,"NLCD 2021","Various primary literature",521091,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27123","Ramsey","Nature","Sequestration","Tree",-10801.2656408074,"NLCD 2021","Various primary literature",521091,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2012,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4728.3049594498,"NLCD 2021","Various primary literature",521091,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2012,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-27949.1479019689,"NLCD 2021","Various primary literature",521091,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2012,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21140.8075421734,"NLCD 2021","Various primary literature",521091,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2012,"county","27139","Scott","Nature","Sequestration","Grassland",-535.404891864925,"NLCD 2021","Various primary literature",135140,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27139","Scott","Nature","Sequestration","Tree",-50189.3706011096,"NLCD 2021","Various primary literature",135140,"US Census County Intercensal Tables (CO-EST2020)",-0.37 +2012,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10819.8042590562,"NLCD 2021","Various primary literature",135140,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2012,"county","27139","Scott","Nature","Sequestration","Urban tree",-7804.36973382242,"NLCD 2021","Various primary literature",135140,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2012,"county","27139","Scott","Nature","Sequestration","Wetland",-71722.087972389,"NLCD 2021","Various primary literature",135140,"US Census County Intercensal Tables (CO-EST2020)",-0.53 +2012,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1551.76358016066,"NLCD 2021","Various primary literature",89474,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2012,"county","27141","Sherburne","Nature","Sequestration","Tree",-96093.2586741822,"NLCD 2021","Various primary literature",89474,"US Census County Intercensal Tables (CO-EST2020)",-1.07 +2012,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-11373.1261140669,"NLCD 2021","Various primary literature",89474,"US Census County Intercensal Tables (CO-EST2020)",-0.13 +2012,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-4716.70722885456,"NLCD 2021","Various primary literature",89474,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2012,"county","27141","Sherburne","Nature","Sequestration","Wetland",-175989.780569679,"NLCD 2021","Various primary literature",89474,"US Census County Intercensal Tables (CO-EST2020)",-1.97 +2012,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1047.36130115597,"NLCD 2021","Various primary literature",85075,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2012,"county","55109","St. Croix","Nature","Sequestration","Tree",-143271.906699873,"NLCD 2021","Various primary literature",85075,"US Census County Intercensal Tables (CO-EST2020)",-1.68 +2012,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-20380.4641729652,"NLCD 2021","Various primary literature",85075,"US Census County Intercensal Tables (CO-EST2020)",-0.24 +2012,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4377.60977876795,"NLCD 2021","Various primary literature",85075,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2012,"county","55109","St. Croix","Nature","Sequestration","Wetland",-22431.4745684264,"NLCD 2021","Various primary literature",85075,"US Census County Intercensal Tables (CO-EST2020)",-0.26 +2012,"county","27163","Washington","Nature","Sequestration","Grassland",-1013.67678054391,"NLCD 2021","Various primary literature",243720,"US Census County Intercensal Tables (CO-EST2020)",0 +2012,"county","27163","Washington","Nature","Sequestration","Tree",-79721.0665251929,"NLCD 2021","Various primary literature",243720,"US Census County Intercensal Tables (CO-EST2020)",-0.33 +2012,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11743.1499364261,"NLCD 2021","Various primary literature",243720,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2012,"county","27163","Washington","Nature","Sequestration","Urban tree",-17257.4202454383,"NLCD 2021","Various primary literature",243720,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2012,"county","27163","Washington","Nature","Sequestration","Wetland",-54762.8556239085,"NLCD 2021","Various primary literature",243720,"US Census County Intercensal Tables (CO-EST2020)",-0.22 +2013,"county","27003","Anoka","Nature","Sequestration","Grassland",-683.267953262288,"NLCD 2021","Various primary literature",339120,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27003","Anoka","Nature","Sequestration","Tree",-79255.459044452,"NLCD 2021","Various primary literature",339120,"US Census County Intercensal Tables (CO-EST2020)",-0.23 +2013,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-16572.5190280976,"NLCD 2021","Various primary literature",339120,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2013,"county","27003","Anoka","Nature","Sequestration","Urban tree",-17078.4653301599,"NLCD 2021","Various primary literature",339120,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2013,"county","27003","Anoka","Nature","Sequestration","Wetland",-297570.487895291,"NLCD 2021","Various primary literature",339120,"US Census County Intercensal Tables (CO-EST2020)",-0.88 +2013,"county","27019","Carver","Nature","Sequestration","Grassland",-365.222151069248,"NLCD 2021","Various primary literature",95562,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27019","Carver","Nature","Sequestration","Tree",-37233.0280667237,"NLCD 2021","Various primary literature",95562,"US Census County Intercensal Tables (CO-EST2020)",-0.39 +2013,"county","27019","Carver","Nature","Sequestration","Urban grassland",-9033.90845469499,"NLCD 2021","Various primary literature",95562,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2013,"county","27019","Carver","Nature","Sequestration","Urban tree",-6308.94683739211,"NLCD 2021","Various primary literature",95562,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2013,"county","27019","Carver","Nature","Sequestration","Wetland",-60929.3703369575,"NLCD 2021","Various primary literature",95562,"US Census County Intercensal Tables (CO-EST2020)",-0.64 +2013,"county","27025","Chisago","Nature","Sequestration","Grassland",-1067.93031067269,"NLCD 2021","Various primary literature",53665,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2013,"county","27025","Chisago","Nature","Sequestration","Tree",-103679.770431869,"NLCD 2021","Various primary literature",53665,"US Census County Intercensal Tables (CO-EST2020)",-1.93 +2013,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10631.4073664645,"NLCD 2021","Various primary literature",53665,"US Census County Intercensal Tables (CO-EST2020)",-0.2 +2013,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3022.58745625644,"NLCD 2021","Various primary literature",53665,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2013,"county","27025","Chisago","Nature","Sequestration","Wetland",-159231.791839389,"NLCD 2021","Various primary literature",53665,"US Census County Intercensal Tables (CO-EST2020)",-2.97 +2013,"county","27037","Dakota","Nature","Sequestration","Grassland",-2616.47861734842,"NLCD 2021","Various primary literature",407974,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2013,"county","27037","Dakota","Nature","Sequestration","Tree",-53638.0395379281,"NLCD 2021","Various primary literature",407974,"US Census County Intercensal Tables (CO-EST2020)",-0.13 +2013,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-16397.0937889952,"NLCD 2021","Various primary literature",407974,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2013,"county","27037","Dakota","Nature","Sequestration","Urban tree",-30495.180758549,"NLCD 2021","Various primary literature",407974,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2013,"county","27037","Dakota","Nature","Sequestration","Wetland",-37033.6710119066,"NLCD 2021","Various primary literature",407974,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2013,"county","27053","Hennepin","Nature","Sequestration","Grassland",-633.600418033983,"NLCD 2021","Various primary literature",1198531,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27053","Hennepin","Nature","Sequestration","Tree",-51151.6761147263,"NLCD 2021","Various primary literature",1198531,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2013,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19298.8605228542,"NLCD 2021","Various primary literature",1198531,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2013,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66082.2291384499,"NLCD 2021","Various primary literature",1198531,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2013,"county","27053","Hennepin","Nature","Sequestration","Wetland",-113732.327673288,"NLCD 2021","Various primary literature",1198531,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2013,"county","55093","Pierce","Nature","Sequestration","Grassland",-257.971130930593,"NLCD 2021","Various primary literature",40845,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2013,"county","55093","Pierce","Nature","Sequestration","Tree",-154047.741625245,"NLCD 2021","Various primary literature",40845,"US Census County Intercensal Tables (CO-EST2020)",-3.77 +2013,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11959.3161449151,"NLCD 2021","Various primary literature",40845,"US Census County Intercensal Tables (CO-EST2020)",-0.29 +2013,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2591.2753446305,"NLCD 2021","Various primary literature",40845,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2013,"county","55093","Pierce","Nature","Sequestration","Wetland",-7046.98061777225,"NLCD 2021","Various primary literature",40845,"US Census County Intercensal Tables (CO-EST2020)",-0.17 +2013,"county","27123","Ramsey","Nature","Sequestration","Grassland",-207.387650286921,"NLCD 2021","Various primary literature",527261,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27123","Ramsey","Nature","Sequestration","Tree",-10804.998599867,"NLCD 2021","Various primary literature",527261,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2013,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4728.3049594498,"NLCD 2021","Various primary literature",527261,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2013,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-27949.1479019689,"NLCD 2021","Various primary literature",527261,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2013,"county","27123","Ramsey","Nature","Sequestration","Wetland",-20975.861618621,"NLCD 2021","Various primary literature",527261,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2013,"county","27139","Scott","Nature","Sequestration","Grassland",-534.998196905248,"NLCD 2021","Various primary literature",137280,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27139","Scott","Nature","Sequestration","Tree",-50166.6939896626,"NLCD 2021","Various primary literature",137280,"US Census County Intercensal Tables (CO-EST2020)",-0.37 +2013,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10819.8042590562,"NLCD 2021","Various primary literature",137280,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2013,"county","27139","Scott","Nature","Sequestration","Urban tree",-7804.36973382242,"NLCD 2021","Various primary literature",137280,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2013,"county","27139","Scott","Nature","Sequestration","Wetland",-70766.9709107766,"NLCD 2021","Various primary literature",137280,"US Census County Intercensal Tables (CO-EST2020)",-0.52 +2013,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1559.84530766862,"NLCD 2021","Various primary literature",90086,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2013,"county","27141","Sherburne","Nature","Sequestration","Tree",-96289.3436885855,"NLCD 2021","Various primary literature",90086,"US Census County Intercensal Tables (CO-EST2020)",-1.07 +2013,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-11373.1261140669,"NLCD 2021","Various primary literature",90086,"US Census County Intercensal Tables (CO-EST2020)",-0.13 +2013,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-4716.70722885456,"NLCD 2021","Various primary literature",90086,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2013,"county","27141","Sherburne","Nature","Sequestration","Wetland",-174812.99141308,"NLCD 2021","Various primary literature",90086,"US Census County Intercensal Tables (CO-EST2020)",-1.94 +2013,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1061.74826740883,"NLCD 2021","Various primary literature",85700,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2013,"county","55109","St. Croix","Nature","Sequestration","Tree",-143256.338664243,"NLCD 2021","Various primary literature",85700,"US Census County Intercensal Tables (CO-EST2020)",-1.67 +2013,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-20380.4641729652,"NLCD 2021","Various primary literature",85700,"US Census County Intercensal Tables (CO-EST2020)",-0.24 +2013,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4377.60977876795,"NLCD 2021","Various primary literature",85700,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2013,"county","55109","St. Croix","Nature","Sequestration","Wetland",-22195.1861990633,"NLCD 2021","Various primary literature",85700,"US Census County Intercensal Tables (CO-EST2020)",-0.26 +2013,"county","27163","Washington","Nature","Sequestration","Grassland",-1013.24632759896,"NLCD 2021","Various primary literature",246002,"US Census County Intercensal Tables (CO-EST2020)",0 +2013,"county","27163","Washington","Nature","Sequestration","Tree",-79713.0994841634,"NLCD 2021","Various primary literature",246002,"US Census County Intercensal Tables (CO-EST2020)",-0.32 +2013,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11743.1499364261,"NLCD 2021","Various primary literature",246002,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2013,"county","27163","Washington","Nature","Sequestration","Urban tree",-17257.4202454383,"NLCD 2021","Various primary literature",246002,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2013,"county","27163","Washington","Nature","Sequestration","Wetland",-54321.4322304316,"NLCD 2021","Various primary literature",246002,"US Census County Intercensal Tables (CO-EST2020)",-0.22 +2014,"county","27003","Anoka","Nature","Sequestration","Grassland",-707.318511916178,"NLCD 2021","Various primary literature",341923,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27003","Anoka","Nature","Sequestration","Tree",-79151.4204346558,"NLCD 2021","Various primary literature",341923,"US Census County Intercensal Tables (CO-EST2020)",-0.23 +2014,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-16443.45546496,"NLCD 2021","Various primary literature",341923,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2014,"county","27003","Anoka","Nature","Sequestration","Urban tree",-17372.1872417371,"NLCD 2021","Various primary literature",341923,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2014,"county","27003","Anoka","Nature","Sequestration","Wetland",-299231.000690035,"NLCD 2021","Various primary literature",341923,"US Census County Intercensal Tables (CO-EST2020)",-0.88 +2014,"county","27019","Carver","Nature","Sequestration","Grassland",-345.036144831995,"NLCD 2021","Various primary literature",97321,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27019","Carver","Nature","Sequestration","Tree",-37169.837894801,"NLCD 2021","Various primary literature",97321,"US Census County Intercensal Tables (CO-EST2020)",-0.38 +2014,"county","27019","Carver","Nature","Sequestration","Urban grassland",-8988.86938020494,"NLCD 2021","Various primary literature",97321,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2014,"county","27019","Carver","Nature","Sequestration","Urban tree",-6387.16219540818,"NLCD 2021","Various primary literature",97321,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2014,"county","27019","Carver","Nature","Sequestration","Wetland",-62234.8882150628,"NLCD 2021","Various primary literature",97321,"US Census County Intercensal Tables (CO-EST2020)",-0.64 +2014,"county","27025","Chisago","Nature","Sequestration","Grassland",-1072.30233557358,"NLCD 2021","Various primary literature",53808,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2014,"county","27025","Chisago","Nature","Sequestration","Tree",-103684.910454026,"NLCD 2021","Various primary literature",53808,"US Census County Intercensal Tables (CO-EST2020)",-1.93 +2014,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10537.4104289965,"NLCD 2021","Various primary literature",53808,"US Census County Intercensal Tables (CO-EST2020)",-0.2 +2014,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3096.97366953214,"NLCD 2021","Various primary literature",53808,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2014,"county","27025","Chisago","Nature","Sequestration","Wetland",-159828.081731108,"NLCD 2021","Various primary literature",53808,"US Census County Intercensal Tables (CO-EST2020)",-2.97 +2014,"county","27037","Dakota","Nature","Sequestration","Grassland",-2638.23531813078,"NLCD 2021","Various primary literature",411821,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2014,"county","27037","Dakota","Nature","Sequestration","Tree",-53412.6420388991,"NLCD 2021","Various primary literature",411821,"US Census County Intercensal Tables (CO-EST2020)",-0.13 +2014,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-16311.8576938548,"NLCD 2021","Various primary literature",411821,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2014,"county","27037","Dakota","Nature","Sequestration","Urban tree",-30900.2113808138,"NLCD 2021","Various primary literature",411821,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2014,"county","27037","Dakota","Nature","Sequestration","Wetland",-37432.2883387968,"NLCD 2021","Various primary literature",411821,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2014,"county","27053","Hennepin","Nature","Sequestration","Grassland",-717.622926146292,"NLCD 2021","Various primary literature",1211635,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27053","Hennepin","Nature","Sequestration","Tree",-50978.4171311314,"NLCD 2021","Various primary literature",1211635,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2014,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19288.1294852964,"NLCD 2021","Various primary literature",1211635,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2014,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66405.5013894203,"NLCD 2021","Various primary literature",1211635,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2014,"county","27053","Hennepin","Nature","Sequestration","Wetland",-115283.812989401,"NLCD 2021","Various primary literature",1211635,"US Census County Intercensal Tables (CO-EST2020)",-0.1 +2014,"county","55093","Pierce","Nature","Sequestration","Grassland",-274.220489919026,"NLCD 2021","Various primary literature",41076,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2014,"county","55093","Pierce","Nature","Sequestration","Tree",-153752.954754046,"NLCD 2021","Various primary literature",41076,"US Census County Intercensal Tables (CO-EST2020)",-3.74 +2014,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11954.7340773307,"NLCD 2021","Various primary literature",41076,"US Census County Intercensal Tables (CO-EST2020)",-0.29 +2014,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2614.10651367816,"NLCD 2021","Various primary literature",41076,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2014,"county","55093","Pierce","Nature","Sequestration","Wetland",-6573.67237135868,"NLCD 2021","Various primary literature",41076,"US Census County Intercensal Tables (CO-EST2020)",-0.16 +2014,"county","27123","Ramsey","Nature","Sequestration","Grassland",-216.347949642393,"NLCD 2021","Various primary literature",532966,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27123","Ramsey","Nature","Sequestration","Tree",-10770.036514664,"NLCD 2021","Various primary literature",532966,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2014,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4711.42003160059,"NLCD 2021","Various primary literature",532966,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2014,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-28188.9252296941,"NLCD 2021","Various primary literature",532966,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2014,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21102.4907245197,"NLCD 2021","Various primary literature",532966,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2014,"county","27139","Scott","Nature","Sequestration","Grassland",-600.240836737889,"NLCD 2021","Various primary literature",139198,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27139","Scott","Nature","Sequestration","Tree",-50027.2070451562,"NLCD 2021","Various primary literature",139198,"US Census County Intercensal Tables (CO-EST2020)",-0.36 +2014,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10749.5678949088,"NLCD 2021","Various primary literature",139198,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2014,"county","27139","Scott","Nature","Sequestration","Urban tree",-7912.52219979836,"NLCD 2021","Various primary literature",139198,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2014,"county","27139","Scott","Nature","Sequestration","Wetland",-72416.2270758942,"NLCD 2021","Various primary literature",139198,"US Census County Intercensal Tables (CO-EST2020)",-0.52 +2014,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1582.01192447215,"NLCD 2021","Various primary literature",90908,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2014,"county","27141","Sherburne","Nature","Sequestration","Tree",-96208.5743233052,"NLCD 2021","Various primary literature",90908,"US Census County Intercensal Tables (CO-EST2020)",-1.06 +2014,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-11234.9846705334,"NLCD 2021","Various primary literature",90908,"US Census County Intercensal Tables (CO-EST2020)",-0.12 +2014,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-4876.68799139799,"NLCD 2021","Various primary literature",90908,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2014,"county","27141","Sherburne","Nature","Sequestration","Wetland",-175701.353460265,"NLCD 2021","Various primary literature",90908,"US Census County Intercensal Tables (CO-EST2020)",-1.93 +2014,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1081.29503107113,"NLCD 2021","Various primary literature",86599,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2014,"county","55109","St. Croix","Nature","Sequestration","Tree",-142978.153771686,"NLCD 2021","Various primary literature",86599,"US Census County Intercensal Tables (CO-EST2020)",-1.65 +2014,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-20257.1242809442,"NLCD 2021","Various primary literature",86599,"US Census County Intercensal Tables (CO-EST2020)",-0.23 +2014,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4465.73081300496,"NLCD 2021","Various primary literature",86599,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2014,"county","55109","St. Croix","Nature","Sequestration","Wetland",-21722.580567456,"NLCD 2021","Various primary literature",86599,"US Census County Intercensal Tables (CO-EST2020)",-0.25 +2014,"county","27163","Washington","Nature","Sequestration","Grassland",-999.274906669638,"NLCD 2021","Various primary literature",248580,"US Census County Intercensal Tables (CO-EST2020)",0 +2014,"county","27163","Washington","Nature","Sequestration","Tree",-79620.0176826955,"NLCD 2021","Various primary literature",248580,"US Census County Intercensal Tables (CO-EST2020)",-0.32 +2014,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11712.7748413806,"NLCD 2021","Various primary literature",248580,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2014,"county","27163","Washington","Nature","Sequestration","Urban tree",-17541.2400807499,"NLCD 2021","Various primary literature",248580,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2014,"county","27163","Washington","Nature","Sequestration","Wetland",-54169.0071538349,"NLCD 2021","Various primary literature",248580,"US Census County Intercensal Tables (CO-EST2020)",-0.22 +2015,"county","27003","Anoka","Nature","Sequestration","Grassland",-731.369070570068,"NLCD 2021","Various primary literature",344244,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27003","Anoka","Nature","Sequestration","Tree",-79047.3818248597,"NLCD 2021","Various primary literature",344244,"US Census County Intercensal Tables (CO-EST2020)",-0.23 +2015,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-16314.3919018224,"NLCD 2021","Various primary literature",344244,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2015,"county","27003","Anoka","Nature","Sequestration","Urban tree",-17665.9091533142,"NLCD 2021","Various primary literature",344244,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2015,"county","27003","Anoka","Nature","Sequestration","Wetland",-300891.513484778,"NLCD 2021","Various primary literature",344244,"US Census County Intercensal Tables (CO-EST2020)",-0.87 +2015,"county","27019","Carver","Nature","Sequestration","Grassland",-324.850138594742,"NLCD 2021","Various primary literature",98610,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27019","Carver","Nature","Sequestration","Tree",-37106.6477228782,"NLCD 2021","Various primary literature",98610,"US Census County Intercensal Tables (CO-EST2020)",-0.38 +2015,"county","27019","Carver","Nature","Sequestration","Urban grassland",-8943.8303057149,"NLCD 2021","Various primary literature",98610,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2015,"county","27019","Carver","Nature","Sequestration","Urban tree",-6465.37755342425,"NLCD 2021","Various primary literature",98610,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2015,"county","27019","Carver","Nature","Sequestration","Wetland",-63540.4060931681,"NLCD 2021","Various primary literature",98610,"US Census County Intercensal Tables (CO-EST2020)",-0.64 +2015,"county","27025","Chisago","Nature","Sequestration","Grassland",-1076.67436047447,"NLCD 2021","Various primary literature",54144,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2015,"county","27025","Chisago","Nature","Sequestration","Tree",-103690.050476184,"NLCD 2021","Various primary literature",54144,"US Census County Intercensal Tables (CO-EST2020)",-1.92 +2015,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10443.4134915285,"NLCD 2021","Various primary literature",54144,"US Census County Intercensal Tables (CO-EST2020)",-0.19 +2015,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3171.35988280785,"NLCD 2021","Various primary literature",54144,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2015,"county","27025","Chisago","Nature","Sequestration","Wetland",-160424.371622826,"NLCD 2021","Various primary literature",54144,"US Census County Intercensal Tables (CO-EST2020)",-2.96 +2015,"county","27037","Dakota","Nature","Sequestration","Grassland",-2659.99201891314,"NLCD 2021","Various primary literature",414245,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2015,"county","27037","Dakota","Nature","Sequestration","Tree",-53187.2445398701,"NLCD 2021","Various primary literature",414245,"US Census County Intercensal Tables (CO-EST2020)",-0.13 +2015,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-16226.6215987144,"NLCD 2021","Various primary literature",414245,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2015,"county","27037","Dakota","Nature","Sequestration","Urban tree",-31305.2420030786,"NLCD 2021","Various primary literature",414245,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2015,"county","27037","Dakota","Nature","Sequestration","Wetland",-37830.9056656871,"NLCD 2021","Various primary literature",414245,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2015,"county","27053","Hennepin","Nature","Sequestration","Grassland",-801.6454342586,"NLCD 2021","Various primary literature",1222868,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27053","Hennepin","Nature","Sequestration","Tree",-50805.1581475364,"NLCD 2021","Various primary literature",1222868,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2015,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19277.3984477385,"NLCD 2021","Various primary literature",1222868,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2015,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66728.7736403908,"NLCD 2021","Various primary literature",1222868,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2015,"county","27053","Hennepin","Nature","Sequestration","Wetland",-116835.298305515,"NLCD 2021","Various primary literature",1222868,"US Census County Intercensal Tables (CO-EST2020)",-0.1 +2015,"county","55093","Pierce","Nature","Sequestration","Grassland",-290.46984890746,"NLCD 2021","Various primary literature",41117,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2015,"county","55093","Pierce","Nature","Sequestration","Tree",-153458.167882847,"NLCD 2021","Various primary literature",41117,"US Census County Intercensal Tables (CO-EST2020)",-3.73 +2015,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11950.1520097463,"NLCD 2021","Various primary literature",41117,"US Census County Intercensal Tables (CO-EST2020)",-0.29 +2015,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2636.93768272581,"NLCD 2021","Various primary literature",41117,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2015,"county","55093","Pierce","Nature","Sequestration","Wetland",-6100.36412494511,"NLCD 2021","Various primary literature",41117,"US Census County Intercensal Tables (CO-EST2020)",-0.15 +2015,"county","27123","Ramsey","Nature","Sequestration","Grassland",-225.308248997864,"NLCD 2021","Various primary literature",536838,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27123","Ramsey","Nature","Sequestration","Tree",-10735.074429461,"NLCD 2021","Various primary literature",536838,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2015,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4694.53510375137,"NLCD 2021","Various primary literature",536838,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2015,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-28428.7025574193,"NLCD 2021","Various primary literature",536838,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2015,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21229.1198304185,"NLCD 2021","Various primary literature",536838,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2015,"county","27139","Scott","Nature","Sequestration","Grassland",-665.48347657053,"NLCD 2021","Various primary literature",141372,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27139","Scott","Nature","Sequestration","Tree",-49887.7201006499,"NLCD 2021","Various primary literature",141372,"US Census County Intercensal Tables (CO-EST2020)",-0.35 +2015,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10679.3315307615,"NLCD 2021","Various primary literature",141372,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2015,"county","27139","Scott","Nature","Sequestration","Urban tree",-8020.67466577431,"NLCD 2021","Various primary literature",141372,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2015,"county","27139","Scott","Nature","Sequestration","Wetland",-74065.4832410118,"NLCD 2021","Various primary literature",141372,"US Census County Intercensal Tables (CO-EST2020)",-0.52 +2015,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1604.17854127568,"NLCD 2021","Various primary literature",91441,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2015,"county","27141","Sherburne","Nature","Sequestration","Tree",-96127.8049580249,"NLCD 2021","Various primary literature",91441,"US Census County Intercensal Tables (CO-EST2020)",-1.05 +2015,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-11096.8432269998,"NLCD 2021","Various primary literature",91441,"US Census County Intercensal Tables (CO-EST2020)",-0.12 +2015,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-5036.66875394142,"NLCD 2021","Various primary literature",91441,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2015,"county","27141","Sherburne","Nature","Sequestration","Wetland",-176589.715507451,"NLCD 2021","Various primary literature",91441,"US Census County Intercensal Tables (CO-EST2020)",-1.93 +2015,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1100.84179473343,"NLCD 2021","Various primary literature",87207,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2015,"county","55109","St. Croix","Nature","Sequestration","Tree",-142699.968879129,"NLCD 2021","Various primary literature",87207,"US Census County Intercensal Tables (CO-EST2020)",-1.64 +2015,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-20133.7843889233,"NLCD 2021","Various primary literature",87207,"US Census County Intercensal Tables (CO-EST2020)",-0.23 +2015,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4553.85184724198,"NLCD 2021","Various primary literature",87207,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2015,"county","55109","St. Croix","Nature","Sequestration","Wetland",-21249.9749358488,"NLCD 2021","Various primary literature",87207,"US Census County Intercensal Tables (CO-EST2020)",-0.24 +2015,"county","27163","Washington","Nature","Sequestration","Grassland",-985.303485740312,"NLCD 2021","Various primary literature",250482,"US Census County Intercensal Tables (CO-EST2020)",0 +2015,"county","27163","Washington","Nature","Sequestration","Tree",-79526.9358812276,"NLCD 2021","Various primary literature",250482,"US Census County Intercensal Tables (CO-EST2020)",-0.32 +2015,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11682.3997463352,"NLCD 2021","Various primary literature",250482,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2015,"county","27163","Washington","Nature","Sequestration","Urban tree",-17825.0599160614,"NLCD 2021","Various primary literature",250482,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2015,"county","27163","Washington","Nature","Sequestration","Wetland",-54016.5820772381,"NLCD 2021","Various primary literature",250482,"US Census County Intercensal Tables (CO-EST2020)",-0.22 +2016,"county","27003","Anoka","Nature","Sequestration","Grassland",-755.419629223958,"NLCD 2021","Various primary literature",346813,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27003","Anoka","Nature","Sequestration","Tree",-78943.3432150635,"NLCD 2021","Various primary literature",346813,"US Census County Intercensal Tables (CO-EST2020)",-0.23 +2016,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-16185.3283386848,"NLCD 2021","Various primary literature",346813,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2016,"county","27003","Anoka","Nature","Sequestration","Urban tree",-17959.6310648914,"NLCD 2021","Various primary literature",346813,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2016,"county","27003","Anoka","Nature","Sequestration","Wetland",-302552.026279522,"NLCD 2021","Various primary literature",346813,"US Census County Intercensal Tables (CO-EST2020)",-0.87 +2016,"county","27019","Carver","Nature","Sequestration","Grassland",-304.664132357488,"NLCD 2021","Various primary literature",100389,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27019","Carver","Nature","Sequestration","Tree",-37043.4575509555,"NLCD 2021","Various primary literature",100389,"US Census County Intercensal Tables (CO-EST2020)",-0.37 +2016,"county","27019","Carver","Nature","Sequestration","Urban grassland",-8898.79123122486,"NLCD 2021","Various primary literature",100389,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2016,"county","27019","Carver","Nature","Sequestration","Urban tree",-6543.59291144032,"NLCD 2021","Various primary literature",100389,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2016,"county","27019","Carver","Nature","Sequestration","Wetland",-64845.9239712734,"NLCD 2021","Various primary literature",100389,"US Census County Intercensal Tables (CO-EST2020)",-0.65 +2016,"county","27025","Chisago","Nature","Sequestration","Grassland",-1081.04638537536,"NLCD 2021","Various primary literature",54640,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2016,"county","27025","Chisago","Nature","Sequestration","Tree",-103695.190498341,"NLCD 2021","Various primary literature",54640,"US Census County Intercensal Tables (CO-EST2020)",-1.9 +2016,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10349.4165540604,"NLCD 2021","Various primary literature",54640,"US Census County Intercensal Tables (CO-EST2020)",-0.19 +2016,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3245.74609608356,"NLCD 2021","Various primary literature",54640,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2016,"county","27025","Chisago","Nature","Sequestration","Wetland",-161020.661514545,"NLCD 2021","Various primary literature",54640,"US Census County Intercensal Tables (CO-EST2020)",-2.95 +2016,"county","27037","Dakota","Nature","Sequestration","Grassland",-2681.74871969551,"NLCD 2021","Various primary literature",417783,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2016,"county","27037","Dakota","Nature","Sequestration","Tree",-52961.8470408411,"NLCD 2021","Various primary literature",417783,"US Census County Intercensal Tables (CO-EST2020)",-0.13 +2016,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-16141.3855035741,"NLCD 2021","Various primary literature",417783,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2016,"county","27037","Dakota","Nature","Sequestration","Urban tree",-31710.2726253434,"NLCD 2021","Various primary literature",417783,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2016,"county","27037","Dakota","Nature","Sequestration","Wetland",-38229.5229925773,"NLCD 2021","Various primary literature",417783,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2016,"county","27053","Hennepin","Nature","Sequestration","Grassland",-885.667942370909,"NLCD 2021","Various primary literature",1236183,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27053","Hennepin","Nature","Sequestration","Tree",-50631.8991639414,"NLCD 2021","Various primary literature",1236183,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2016,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19266.6674101807,"NLCD 2021","Various primary literature",1236183,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2016,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-67052.0458913613,"NLCD 2021","Various primary literature",1236183,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2016,"county","27053","Hennepin","Nature","Sequestration","Wetland",-118386.783621629,"NLCD 2021","Various primary literature",1236183,"US Census County Intercensal Tables (CO-EST2020)",-0.1 +2016,"county","55093","Pierce","Nature","Sequestration","Grassland",-306.719207895893,"NLCD 2021","Various primary literature",41528,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2016,"county","55093","Pierce","Nature","Sequestration","Tree",-153163.381011648,"NLCD 2021","Various primary literature",41528,"US Census County Intercensal Tables (CO-EST2020)",-3.69 +2016,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11945.5699421619,"NLCD 2021","Various primary literature",41528,"US Census County Intercensal Tables (CO-EST2020)",-0.29 +2016,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2659.76885177347,"NLCD 2021","Various primary literature",41528,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2016,"county","55093","Pierce","Nature","Sequestration","Wetland",-5627.05587853154,"NLCD 2021","Various primary literature",41528,"US Census County Intercensal Tables (CO-EST2020)",-0.14 +2016,"county","27123","Ramsey","Nature","Sequestration","Grassland",-234.268548353336,"NLCD 2021","Various primary literature",541635,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27123","Ramsey","Nature","Sequestration","Tree",-10700.1123442579,"NLCD 2021","Various primary literature",541635,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2016,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4677.65017590215,"NLCD 2021","Various primary literature",541635,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2016,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-28668.4798851445,"NLCD 2021","Various primary literature",541635,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2016,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21355.7489363172,"NLCD 2021","Various primary literature",541635,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2016,"county","27139","Scott","Nature","Sequestration","Grassland",-730.726116403171,"NLCD 2021","Various primary literature",143393,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2016,"county","27139","Scott","Nature","Sequestration","Tree",-49748.2331561435,"NLCD 2021","Various primary literature",143393,"US Census County Intercensal Tables (CO-EST2020)",-0.35 +2016,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10609.0951666142,"NLCD 2021","Various primary literature",143393,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2016,"county","27139","Scott","Nature","Sequestration","Urban tree",-8128.82713175025,"NLCD 2021","Various primary literature",143393,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2016,"county","27139","Scott","Nature","Sequestration","Wetland",-75714.7394061294,"NLCD 2021","Various primary literature",143393,"US Census County Intercensal Tables (CO-EST2020)",-0.53 +2016,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1626.34515807921,"NLCD 2021","Various primary literature",93247,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2016,"county","27141","Sherburne","Nature","Sequestration","Tree",-96047.0355927447,"NLCD 2021","Various primary literature",93247,"US Census County Intercensal Tables (CO-EST2020)",-1.03 +2016,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-10958.7017834663,"NLCD 2021","Various primary literature",93247,"US Census County Intercensal Tables (CO-EST2020)",-0.12 +2016,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-5196.64951648485,"NLCD 2021","Various primary literature",93247,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2016,"county","27141","Sherburne","Nature","Sequestration","Wetland",-177478.077554636,"NLCD 2021","Various primary literature",93247,"US Census County Intercensal Tables (CO-EST2020)",-1.9 +2016,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1120.38855839574,"NLCD 2021","Various primary literature",87643,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2016,"county","55109","St. Croix","Nature","Sequestration","Tree",-142421.783986573,"NLCD 2021","Various primary literature",87643,"US Census County Intercensal Tables (CO-EST2020)",-1.63 +2016,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-20010.4444969023,"NLCD 2021","Various primary literature",87643,"US Census County Intercensal Tables (CO-EST2020)",-0.23 +2016,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4641.972881479,"NLCD 2021","Various primary literature",87643,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2016,"county","55109","St. Croix","Nature","Sequestration","Wetland",-20777.3693042415,"NLCD 2021","Various primary literature",87643,"US Census County Intercensal Tables (CO-EST2020)",-0.24 +2016,"county","27163","Washington","Nature","Sequestration","Grassland",-971.332064810987,"NLCD 2021","Various primary literature",252655,"US Census County Intercensal Tables (CO-EST2020)",0 +2016,"county","27163","Washington","Nature","Sequestration","Tree",-79433.8540797597,"NLCD 2021","Various primary literature",252655,"US Census County Intercensal Tables (CO-EST2020)",-0.31 +2016,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11652.0246512897,"NLCD 2021","Various primary literature",252655,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2016,"county","27163","Washington","Nature","Sequestration","Urban tree",-18108.8797513729,"NLCD 2021","Various primary literature",252655,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2016,"county","27163","Washington","Nature","Sequestration","Wetland",-53864.1570006414,"NLCD 2021","Various primary literature",252655,"US Census County Intercensal Tables (CO-EST2020)",-0.21 +2017,"county","27003","Anoka","Nature","Sequestration","Grassland",-765.917836014455,"NLCD 2021","Various primary literature",350598,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27003","Anoka","Nature","Sequestration","Tree",-78844.4117449565,"NLCD 2021","Various primary literature",350598,"US Census County Intercensal Tables (CO-EST2020)",-0.22 +2017,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-15928.9500228577,"NLCD 2021","Various primary literature",350598,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2017,"county","27003","Anoka","Nature","Sequestration","Urban tree",-18227.1975772205,"NLCD 2021","Various primary literature",350598,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2017,"county","27003","Anoka","Nature","Sequestration","Wetland",-303030.766821918,"NLCD 2021","Various primary literature",350598,"US Census County Intercensal Tables (CO-EST2020)",-0.86 +2017,"county","27019","Carver","Nature","Sequestration","Grassland",-314.273036667487,"NLCD 2021","Various primary literature",102120,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27019","Carver","Nature","Sequestration","Tree",-37036.5935003667,"NLCD 2021","Various primary literature",102120,"US Census County Intercensal Tables (CO-EST2020)",-0.36 +2017,"county","27019","Carver","Nature","Sequestration","Urban grassland",-8812.44180676698,"NLCD 2021","Various primary literature",102120,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2017,"county","27019","Carver","Nature","Sequestration","Urban tree",-6626.15673999801,"NLCD 2021","Various primary literature",102120,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2017,"county","27019","Carver","Nature","Sequestration","Wetland",-65059.4442294281,"NLCD 2021","Various primary literature",102120,"US Census County Intercensal Tables (CO-EST2020)",-0.64 +2017,"county","27025","Chisago","Nature","Sequestration","Grassland",-1072.44907139081,"NLCD 2021","Various primary literature",55261,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2017,"county","27025","Chisago","Nature","Sequestration","Tree",-103725.683135752,"NLCD 2021","Various primary literature",55261,"US Census County Intercensal Tables (CO-EST2020)",-1.88 +2017,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10503.4875699584,"NLCD 2021","Various primary literature",55261,"US Census County Intercensal Tables (CO-EST2020)",-0.19 +2017,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3323.21841672316,"NLCD 2021","Various primary literature",55261,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2017,"county","27025","Chisago","Nature","Sequestration","Wetland",-161569.066923768,"NLCD 2021","Various primary literature",55261,"US Census County Intercensal Tables (CO-EST2020)",-2.92 +2017,"county","27037","Dakota","Nature","Sequestration","Grassland",-2701.94144727985,"NLCD 2021","Various primary literature",421840,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2017,"county","27037","Dakota","Nature","Sequestration","Tree",-52953.5489290666,"NLCD 2021","Various primary literature",421840,"US Census County Intercensal Tables (CO-EST2020)",-0.13 +2017,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-15917.6582125276,"NLCD 2021","Various primary literature",421840,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2017,"county","27037","Dakota","Nature","Sequestration","Urban tree",-32032.0259730276,"NLCD 2021","Various primary literature",421840,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2017,"county","27037","Dakota","Nature","Sequestration","Wetland",-38486.7409622486,"NLCD 2021","Various primary literature",421840,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2017,"county","27053","Hennepin","Nature","Sequestration","Grassland",-910.527951470876,"NLCD 2021","Various primary literature",1248707,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27053","Hennepin","Nature","Sequestration","Tree",-50651.8298169341,"NLCD 2021","Various primary literature",1248707,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2017,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19085.815893299,"NLCD 2021","Various primary literature",1248707,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2017,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-67116.6361291177,"NLCD 2021","Various primary literature",1248707,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2017,"county","27053","Hennepin","Nature","Sequestration","Wetland",-118512.557954626,"NLCD 2021","Various primary literature",1248707,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2017,"county","55093","Pierce","Nature","Sequestration","Grassland",-311.724432968953,"NLCD 2021","Various primary literature",42075,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2017,"county","55093","Pierce","Nature","Sequestration","Tree",-153161.530328852,"NLCD 2021","Various primary literature",42075,"US Census County Intercensal Tables (CO-EST2020)",-3.64 +2017,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11905.4498893181,"NLCD 2021","Various primary literature",42075,"US Census County Intercensal Tables (CO-EST2020)",-0.28 +2017,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2666.52913294099,"NLCD 2021","Various primary literature",42075,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2017,"county","55093","Pierce","Nature","Sequestration","Wetland",-5907.79959090923,"NLCD 2021","Various primary literature",42075,"US Census County Intercensal Tables (CO-EST2020)",-0.14 +2017,"county","27123","Ramsey","Nature","Sequestration","Grassland",-245.618929227121,"NLCD 2021","Various primary literature",544919,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27123","Ramsey","Nature","Sequestration","Tree",-10685.1698323312,"NLCD 2021","Various primary literature",544919,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2017,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4641.75651079662,"NLCD 2021","Various primary literature",544919,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2017,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-28752.5097314439,"NLCD 2021","Various primary literature",544919,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2017,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21365.1966185956,"NLCD 2021","Various primary literature",544919,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2017,"county","27139","Scott","Nature","Sequestration","Grassland",-845.746358827865,"NLCD 2021","Various primary literature",145581,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2017,"county","27139","Scott","Nature","Sequestration","Tree",-49704.4669399188,"NLCD 2021","Various primary literature",145581,"US Census County Intercensal Tables (CO-EST2020)",-0.34 +2017,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10419.927450991,"NLCD 2021","Various primary literature",145581,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2017,"county","27139","Scott","Nature","Sequestration","Urban tree",-8255.746650451,"NLCD 2021","Various primary literature",145581,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2017,"county","27139","Scott","Nature","Sequestration","Wetland",-75986.8353268504,"NLCD 2021","Various primary literature",145581,"US Census County Intercensal Tables (CO-EST2020)",-0.52 +2017,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1587.51117619011,"NLCD 2021","Various primary literature",94527,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2017,"county","27141","Sherburne","Nature","Sequestration","Tree",-96069.031628219,"NLCD 2021","Various primary literature",94527,"US Census County Intercensal Tables (CO-EST2020)",-1.02 +2017,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-10822.7724933617,"NLCD 2021","Various primary literature",94527,"US Census County Intercensal Tables (CO-EST2020)",-0.11 +2017,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-5345.78339793025,"NLCD 2021","Various primary literature",94527,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2017,"county","27141","Sherburne","Nature","Sequestration","Wetland",-177717.160982255,"NLCD 2021","Various primary literature",94527,"US Census County Intercensal Tables (CO-EST2020)",-1.88 +2017,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1121.96858202987,"NLCD 2021","Various primary literature",88615,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2017,"county","55109","St. Croix","Nature","Sequestration","Tree",-142398.493737613,"NLCD 2021","Various primary literature",88615,"US Census County Intercensal Tables (CO-EST2020)",-1.61 +2017,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-19882.3317146524,"NLCD 2021","Various primary literature",88615,"US Census County Intercensal Tables (CO-EST2020)",-0.22 +2017,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4718.36695553514,"NLCD 2021","Various primary literature",88615,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2017,"county","55109","St. Croix","Nature","Sequestration","Wetland",-21204.6456649025,"NLCD 2021","Various primary literature",88615,"US Census County Intercensal Tables (CO-EST2020)",-0.24 +2017,"county","27163","Washington","Nature","Sequestration","Grassland",-1018.35030435627,"NLCD 2021","Various primary literature",255717,"US Census County Intercensal Tables (CO-EST2020)",0 +2017,"county","27163","Washington","Nature","Sequestration","Tree",-79430.349368839,"NLCD 2021","Various primary literature",255717,"US Census County Intercensal Tables (CO-EST2020)",-0.31 +2017,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11537.2218691879,"NLCD 2021","Various primary literature",255717,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2017,"county","27163","Washington","Nature","Sequestration","Urban tree",-18334.3980067132,"NLCD 2021","Various primary literature",255717,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2017,"county","27163","Washington","Nature","Sequestration","Wetland",-54787.8604073263,"NLCD 2021","Various primary literature",255717,"US Census County Intercensal Tables (CO-EST2020)",-0.21 +2018,"county","27003","Anoka","Nature","Sequestration","Grassland",-776.416042804952,"NLCD 2021","Various primary literature",354004,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27003","Anoka","Nature","Sequestration","Tree",-78745.4802748495,"NLCD 2021","Various primary literature",354004,"US Census County Intercensal Tables (CO-EST2020)",-0.22 +2018,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-15672.5717070307,"NLCD 2021","Various primary literature",354004,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2018,"county","27003","Anoka","Nature","Sequestration","Urban tree",-18494.7640895496,"NLCD 2021","Various primary literature",354004,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2018,"county","27003","Anoka","Nature","Sequestration","Wetland",-303509.507364313,"NLCD 2021","Various primary literature",354004,"US Census County Intercensal Tables (CO-EST2020)",-0.86 +2018,"county","27019","Carver","Nature","Sequestration","Grassland",-323.881940977486,"NLCD 2021","Various primary literature",103605,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27019","Carver","Nature","Sequestration","Tree",-37029.729449778,"NLCD 2021","Various primary literature",103605,"US Census County Intercensal Tables (CO-EST2020)",-0.36 +2018,"county","27019","Carver","Nature","Sequestration","Urban grassland",-8726.09238230911,"NLCD 2021","Various primary literature",103605,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2018,"county","27019","Carver","Nature","Sequestration","Urban tree",-6708.72056855571,"NLCD 2021","Various primary literature",103605,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2018,"county","27019","Carver","Nature","Sequestration","Wetland",-65272.9644875827,"NLCD 2021","Various primary literature",103605,"US Census County Intercensal Tables (CO-EST2020)",-0.63 +2018,"county","27025","Chisago","Nature","Sequestration","Grassland",-1063.85175740626,"NLCD 2021","Various primary literature",55980,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2018,"county","27025","Chisago","Nature","Sequestration","Tree",-103756.175773162,"NLCD 2021","Various primary literature",55980,"US Census County Intercensal Tables (CO-EST2020)",-1.85 +2018,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10657.5585858565,"NLCD 2021","Various primary literature",55980,"US Census County Intercensal Tables (CO-EST2020)",-0.19 +2018,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3400.69073736277,"NLCD 2021","Various primary literature",55980,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2018,"county","27025","Chisago","Nature","Sequestration","Wetland",-162117.472332991,"NLCD 2021","Various primary literature",55980,"US Census County Intercensal Tables (CO-EST2020)",-2.9 +2018,"county","27037","Dakota","Nature","Sequestration","Grassland",-2722.1341748642,"NLCD 2021","Various primary literature",425472,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2018,"county","27037","Dakota","Nature","Sequestration","Tree",-52945.2508172921,"NLCD 2021","Various primary literature",425472,"US Census County Intercensal Tables (CO-EST2020)",-0.12 +2018,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-15693.9309214811,"NLCD 2021","Various primary literature",425472,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2018,"county","27037","Dakota","Nature","Sequestration","Urban tree",-32353.7793207117,"NLCD 2021","Various primary literature",425472,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2018,"county","27037","Dakota","Nature","Sequestration","Wetland",-38743.9589319199,"NLCD 2021","Various primary literature",425472,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2018,"county","27053","Hennepin","Nature","Sequestration","Grassland",-935.387960570843,"NLCD 2021","Various primary literature",1258021,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27053","Hennepin","Nature","Sequestration","Tree",-50671.7604699268,"NLCD 2021","Various primary literature",1258021,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2018,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-18904.9643764173,"NLCD 2021","Various primary literature",1258021,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2018,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-67181.2263668741,"NLCD 2021","Various primary literature",1258021,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2018,"county","27053","Hennepin","Nature","Sequestration","Wetland",-118638.332287624,"NLCD 2021","Various primary literature",1258021,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2018,"county","55093","Pierce","Nature","Sequestration","Grassland",-316.729658042013,"NLCD 2021","Various primary literature",42608,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2018,"county","55093","Pierce","Nature","Sequestration","Tree",-153159.679646055,"NLCD 2021","Various primary literature",42608,"US Census County Intercensal Tables (CO-EST2020)",-3.59 +2018,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11865.3298364743,"NLCD 2021","Various primary literature",42608,"US Census County Intercensal Tables (CO-EST2020)",-0.28 +2018,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2673.28941410851,"NLCD 2021","Various primary literature",42608,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2018,"county","55093","Pierce","Nature","Sequestration","Wetland",-6188.54330328692,"NLCD 2021","Various primary literature",42608,"US Census County Intercensal Tables (CO-EST2020)",-0.15 +2018,"county","27123","Ramsey","Nature","Sequestration","Grassland",-256.969310100906,"NLCD 2021","Various primary literature",548900,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27123","Ramsey","Nature","Sequestration","Tree",-10670.2273204045,"NLCD 2021","Various primary literature",548900,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2018,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4605.86284569109,"NLCD 2021","Various primary literature",548900,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2018,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-28836.5395777434,"NLCD 2021","Various primary literature",548900,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2018,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21374.644300874,"NLCD 2021","Various primary literature",548900,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2018,"county","27139","Scott","Nature","Sequestration","Grassland",-960.76660125256,"NLCD 2021","Various primary literature",147339,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2018,"county","27139","Scott","Nature","Sequestration","Tree",-49660.700723694,"NLCD 2021","Various primary literature",147339,"US Census County Intercensal Tables (CO-EST2020)",-0.34 +2018,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10230.7597353678,"NLCD 2021","Various primary literature",147339,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2018,"county","27139","Scott","Nature","Sequestration","Urban tree",-8382.66616915175,"NLCD 2021","Various primary literature",147339,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2018,"county","27139","Scott","Nature","Sequestration","Wetland",-76258.9312475714,"NLCD 2021","Various primary literature",147339,"US Census County Intercensal Tables (CO-EST2020)",-0.52 +2018,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1548.67719430101,"NLCD 2021","Various primary literature",96067,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2018,"county","27141","Sherburne","Nature","Sequestration","Tree",-96091.0276636933,"NLCD 2021","Various primary literature",96067,"US Census County Intercensal Tables (CO-EST2020)",-1 +2018,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-10686.8432032571,"NLCD 2021","Various primary literature",96067,"US Census County Intercensal Tables (CO-EST2020)",-0.11 +2018,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-5494.91727937566,"NLCD 2021","Various primary literature",96067,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2018,"county","27141","Sherburne","Nature","Sequestration","Wetland",-177956.244409874,"NLCD 2021","Various primary literature",96067,"US Census County Intercensal Tables (CO-EST2020)",-1.85 +2018,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1123.54860566401,"NLCD 2021","Various primary literature",89721,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2018,"county","55109","St. Croix","Nature","Sequestration","Tree",-142375.203488653,"NLCD 2021","Various primary literature",89721,"US Census County Intercensal Tables (CO-EST2020)",-1.59 +2018,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-19754.2189324026,"NLCD 2021","Various primary literature",89721,"US Census County Intercensal Tables (CO-EST2020)",-0.22 +2018,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4794.76102959129,"NLCD 2021","Various primary literature",89721,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2018,"county","55109","St. Croix","Nature","Sequestration","Wetland",-21631.9220255635,"NLCD 2021","Various primary literature",89721,"US Census County Intercensal Tables (CO-EST2020)",-0.24 +2018,"county","27163","Washington","Nature","Sequestration","Grassland",-1065.36854390156,"NLCD 2021","Various primary literature",258969,"US Census County Intercensal Tables (CO-EST2020)",0 +2018,"county","27163","Washington","Nature","Sequestration","Tree",-79426.8446579184,"NLCD 2021","Various primary literature",258969,"US Census County Intercensal Tables (CO-EST2020)",-0.31 +2018,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11422.4190870861,"NLCD 2021","Various primary literature",258969,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2018,"county","27163","Washington","Nature","Sequestration","Urban tree",-18559.9162620535,"NLCD 2021","Various primary literature",258969,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2018,"county","27163","Washington","Nature","Sequestration","Wetland",-55711.5638140113,"NLCD 2021","Various primary literature",258969,"US Census County Intercensal Tables (CO-EST2020)",-0.22 +2019,"county","27003","Anoka","Nature","Sequestration","Grassland",-786.914249595449,"NLCD 2021","Various primary literature",357538,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27003","Anoka","Nature","Sequestration","Tree",-78646.5488047425,"NLCD 2021","Various primary literature",357538,"US Census County Intercensal Tables (CO-EST2020)",-0.22 +2019,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-15416.1933912036,"NLCD 2021","Various primary literature",357538,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2019,"county","27003","Anoka","Nature","Sequestration","Urban tree",-18762.3306018787,"NLCD 2021","Various primary literature",357538,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2019,"county","27003","Anoka","Nature","Sequestration","Wetland",-303988.247906708,"NLCD 2021","Various primary literature",357538,"US Census County Intercensal Tables (CO-EST2020)",-0.85 +2019,"county","27019","Carver","Nature","Sequestration","Grassland",-333.490845287484,"NLCD 2021","Various primary literature",105128,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27019","Carver","Nature","Sequestration","Tree",-37022.8653991893,"NLCD 2021","Various primary literature",105128,"US Census County Intercensal Tables (CO-EST2020)",-0.35 +2019,"county","27019","Carver","Nature","Sequestration","Urban grassland",-8639.74295785123,"NLCD 2021","Various primary literature",105128,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2019,"county","27019","Carver","Nature","Sequestration","Urban tree",-6791.2843971134,"NLCD 2021","Various primary literature",105128,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2019,"county","27019","Carver","Nature","Sequestration","Wetland",-65486.4847457373,"NLCD 2021","Various primary literature",105128,"US Census County Intercensal Tables (CO-EST2020)",-0.62 +2019,"county","27025","Chisago","Nature","Sequestration","Grassland",-1055.25444342172,"NLCD 2021","Various primary literature",56543,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2019,"county","27025","Chisago","Nature","Sequestration","Tree",-103786.668410573,"NLCD 2021","Various primary literature",56543,"US Census County Intercensal Tables (CO-EST2020)",-1.84 +2019,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10811.6296017545,"NLCD 2021","Various primary literature",56543,"US Census County Intercensal Tables (CO-EST2020)",-0.19 +2019,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3478.16305800237,"NLCD 2021","Various primary literature",56543,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2019,"county","27025","Chisago","Nature","Sequestration","Wetland",-162665.877742214,"NLCD 2021","Various primary literature",56543,"US Census County Intercensal Tables (CO-EST2020)",-2.88 +2019,"county","27037","Dakota","Nature","Sequestration","Grassland",-2742.32690244854,"NLCD 2021","Various primary literature",429453,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2019,"county","27037","Dakota","Nature","Sequestration","Tree",-52936.9527055176,"NLCD 2021","Various primary literature",429453,"US Census County Intercensal Tables (CO-EST2020)",-0.12 +2019,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-15470.2036304347,"NLCD 2021","Various primary literature",429453,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2019,"county","27037","Dakota","Nature","Sequestration","Urban tree",-32675.5326683958,"NLCD 2021","Various primary literature",429453,"US Census County Intercensal Tables (CO-EST2020)",-0.08 +2019,"county","27037","Dakota","Nature","Sequestration","Wetland",-39001.1769015913,"NLCD 2021","Various primary literature",429453,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2019,"county","27053","Hennepin","Nature","Sequestration","Grassland",-960.24796967081,"NLCD 2021","Various primary literature",1265159,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27053","Hennepin","Nature","Sequestration","Tree",-50691.6911229195,"NLCD 2021","Various primary literature",1265159,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2019,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-18724.1128595355,"NLCD 2021","Various primary literature",1265159,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2019,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-67245.8166046305,"NLCD 2021","Various primary literature",1265159,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2019,"county","27053","Hennepin","Nature","Sequestration","Wetland",-118764.106620622,"NLCD 2021","Various primary literature",1265159,"US Census County Intercensal Tables (CO-EST2020)",-0.09 +2019,"county","55093","Pierce","Nature","Sequestration","Grassland",-321.734883115072,"NLCD 2021","Various primary literature",42768,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2019,"county","55093","Pierce","Nature","Sequestration","Tree",-153157.828963259,"NLCD 2021","Various primary literature",42768,"US Census County Intercensal Tables (CO-EST2020)",-3.58 +2019,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11825.2097836305,"NLCD 2021","Various primary literature",42768,"US Census County Intercensal Tables (CO-EST2020)",-0.28 +2019,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2680.04969527603,"NLCD 2021","Various primary literature",42768,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2019,"county","55093","Pierce","Nature","Sequestration","Wetland",-6469.28701566462,"NLCD 2021","Various primary literature",42768,"US Census County Intercensal Tables (CO-EST2020)",-0.15 +2019,"county","27123","Ramsey","Nature","Sequestration","Grassland",-268.319690974691,"NLCD 2021","Various primary literature",549632,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27123","Ramsey","Nature","Sequestration","Tree",-10655.2848084778,"NLCD 2021","Various primary literature",549632,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2019,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4569.96918058556,"NLCD 2021","Various primary literature",549632,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2019,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-28920.5694240428,"NLCD 2021","Various primary literature",549632,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2019,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21384.0919831524,"NLCD 2021","Various primary literature",549632,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2019,"county","27139","Scott","Nature","Sequestration","Grassland",-1075.78684367726,"NLCD 2021","Various primary literature",149004,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2019,"county","27139","Scott","Nature","Sequestration","Tree",-49616.9345074693,"NLCD 2021","Various primary literature",149004,"US Census County Intercensal Tables (CO-EST2020)",-0.33 +2019,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10041.5920197446,"NLCD 2021","Various primary literature",149004,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2019,"county","27139","Scott","Nature","Sequestration","Urban tree",-8509.58568785249,"NLCD 2021","Various primary literature",149004,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2019,"county","27139","Scott","Nature","Sequestration","Wetland",-76531.0271682924,"NLCD 2021","Various primary literature",149004,"US Census County Intercensal Tables (CO-EST2020)",-0.51 +2019,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1509.84321241191,"NLCD 2021","Various primary literature",97424,"US Census County Intercensal Tables (CO-EST2020)",-0.02 +2019,"county","27141","Sherburne","Nature","Sequestration","Tree",-96113.0236991676,"NLCD 2021","Various primary literature",97424,"US Census County Intercensal Tables (CO-EST2020)",-0.99 +2019,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-10550.9139131526,"NLCD 2021","Various primary literature",97424,"US Census County Intercensal Tables (CO-EST2020)",-0.11 +2019,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-5644.05116082106,"NLCD 2021","Various primary literature",97424,"US Census County Intercensal Tables (CO-EST2020)",-0.06 +2019,"county","27141","Sherburne","Nature","Sequestration","Wetland",-178195.327837492,"NLCD 2021","Various primary literature",97424,"US Census County Intercensal Tables (CO-EST2020)",-1.83 +2019,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1125.12862929815,"NLCD 2021","Various primary literature",90691,"US Census County Intercensal Tables (CO-EST2020)",-0.01 +2019,"county","55109","St. Croix","Nature","Sequestration","Tree",-142351.913239692,"NLCD 2021","Various primary literature",90691,"US Census County Intercensal Tables (CO-EST2020)",-1.57 +2019,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-19626.1061501527,"NLCD 2021","Various primary literature",90691,"US Census County Intercensal Tables (CO-EST2020)",-0.22 +2019,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4871.15510364743,"NLCD 2021","Various primary literature",90691,"US Census County Intercensal Tables (CO-EST2020)",-0.05 +2019,"county","55109","St. Croix","Nature","Sequestration","Wetland",-22059.1983862245,"NLCD 2021","Various primary literature",90691,"US Census County Intercensal Tables (CO-EST2020)",-0.24 +2019,"county","27163","Washington","Nature","Sequestration","Grassland",-1112.38678344684,"NLCD 2021","Various primary literature",262541,"US Census County Intercensal Tables (CO-EST2020)",0 +2019,"county","27163","Washington","Nature","Sequestration","Tree",-79423.3399469977,"NLCD 2021","Various primary literature",262541,"US Census County Intercensal Tables (CO-EST2020)",-0.3 +2019,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11307.6163049842,"NLCD 2021","Various primary literature",262541,"US Census County Intercensal Tables (CO-EST2020)",-0.04 +2019,"county","27163","Washington","Nature","Sequestration","Urban tree",-18785.4345173938,"NLCD 2021","Various primary literature",262541,"US Census County Intercensal Tables (CO-EST2020)",-0.07 +2019,"county","27163","Washington","Nature","Sequestration","Wetland",-56635.2672206962,"NLCD 2021","Various primary literature",262541,"US Census County Intercensal Tables (CO-EST2020)",-0.22 +2020,"county","27003","Anoka","Nature","Sequestration","Grassland",-784.371153652847,"NLCD 2021","Various primary literature",363887,"Decennial Census, Table P1",0 +2020,"county","27003","Anoka","Nature","Sequestration","Tree",-78489.9933653844,"NLCD 2021","Various primary literature",363887,"Decennial Census, Table P1",-0.22 +2020,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-15638.8666053474,"NLCD 2021","Various primary literature",363887,"Decennial Census, Table P1",-0.04 +2020,"county","27003","Anoka","Nature","Sequestration","Urban tree",-18800.4040771392,"NLCD 2021","Various primary literature",363887,"Decennial Census, Table P1",-0.05 +2020,"county","27003","Anoka","Nature","Sequestration","Wetland",-304509.579077395,"NLCD 2021","Various primary literature",363887,"Decennial Census, Table P1",-0.84 +2020,"county","27019","Carver","Nature","Sequestration","Grassland",-341.660429408344,"NLCD 2021","Various primary literature",106922,"Decennial Census, Table P1",0 +2020,"county","27019","Carver","Nature","Sequestration","Tree",-36965.9742607466,"NLCD 2021","Various primary literature",106922,"Decennial Census, Table P1",-0.35 +2020,"county","27019","Carver","Nature","Sequestration","Urban grassland",-8678.36897717611,"NLCD 2021","Various primary literature",106922,"Decennial Census, Table P1",-0.08 +2020,"county","27019","Carver","Nature","Sequestration","Urban tree",-6853.4117997066,"NLCD 2021","Various primary literature",106922,"Decennial Census, Table P1",-0.06 +2020,"county","27019","Carver","Nature","Sequestration","Wetland",-66321.9672174189,"NLCD 2021","Various primary literature",106922,"Decennial Census, Table P1",-0.62 +2020,"county","27025","Chisago","Nature","Sequestration","Grassland",-1056.75299340843,"NLCD 2021","Various primary literature",56621,"Decennial Census, Table P1",-0.02 +2020,"county","27025","Chisago","Nature","Sequestration","Tree",-103834.272787002,"NLCD 2021","Various primary literature",56621,"Decennial Census, Table P1",-1.83 +2020,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10863.1733636383,"NLCD 2021","Various primary literature",56621,"Decennial Census, Table P1",-0.19 +2020,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3509.42256745944,"NLCD 2021","Various primary literature",56621,"Decennial Census, Table P1",-0.06 +2020,"county","27025","Chisago","Nature","Sequestration","Wetland",-163514.125793071,"NLCD 2021","Various primary literature",56621,"Decennial Census, Table P1",-2.89 +2020,"county","27037","Dakota","Nature","Sequestration","Grassland",-2722.97984459122,"NLCD 2021","Various primary literature",439882,"Decennial Census, Table P1",-0.01 +2020,"county","27037","Dakota","Nature","Sequestration","Tree",-52845.7011083661,"NLCD 2021","Various primary literature",439882,"Decennial Census, Table P1",-0.12 +2020,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-15649.0008707513,"NLCD 2021","Various primary literature",439882,"Decennial Census, Table P1",-0.04 +2020,"county","27037","Dakota","Nature","Sequestration","Urban tree",-32820.5780596813,"NLCD 2021","Various primary literature",439882,"Decennial Census, Table P1",-0.07 +2020,"county","27037","Dakota","Nature","Sequestration","Wetland",-40127.2289058815,"NLCD 2021","Various primary literature",439882,"Decennial Census, Table P1",-0.09 +2020,"county","27053","Hennepin","Nature","Sequestration","Grassland",-922.983353620196,"NLCD 2021","Various primary literature",1281565,"Decennial Census, Table P1",0 +2020,"county","27053","Hennepin","Nature","Sequestration","Tree",-50636.3366437754,"NLCD 2021","Various primary literature",1281565,"Decennial Census, Table P1",-0.04 +2020,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19163.4052989185,"NLCD 2021","Various primary literature",1281565,"Decennial Census, Table P1",-0.01 +2020,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66751.6309664086,"NLCD 2021","Various primary literature",1281565,"Decennial Census, Table P1",-0.05 +2020,"county","27053","Hennepin","Nature","Sequestration","Wetland",-119835.186681313,"NLCD 2021","Various primary literature",1281565,"Decennial Census, Table P1",-0.09 +2020,"county","55093","Pierce","Nature","Sequestration","Grassland",-339.151763697128,"NLCD 2021","Various primary literature",42212,"Decennial Census, Table P1",-0.01 +2020,"county","55093","Pierce","Nature","Sequestration","Tree",-153227.126612848,"NLCD 2021","Various primary literature",42212,"Decennial Census, Table P1",-3.63 +2020,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11832.4153124044,"NLCD 2021","Various primary literature",42212,"Decennial Census, Table P1",-0.28 +2020,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2667.08289808999,"NLCD 2021","Various primary literature",42212,"Decennial Census, Table P1",-0.06 +2020,"county","55093","Pierce","Nature","Sequestration","Wetland",-8186.54784302475,"NLCD 2021","Various primary literature",42212,"Decennial Census, Table P1",-0.19 +2020,"county","27123","Ramsey","Nature","Sequestration","Grassland",-268.86605143467,"NLCD 2021","Various primary literature",552352,"Decennial Census, Table P1",0 +2020,"county","27123","Ramsey","Nature","Sequestration","Tree",-10641.0341958394,"NLCD 2021","Various primary literature",552352,"Decennial Census, Table P1",-0.02 +2020,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4698.22634846398,"NLCD 2021","Various primary literature",552352,"Decennial Census, Table P1",-0.01 +2020,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-28592.7819641582,"NLCD 2021","Various primary literature",552352,"Decennial Census, Table P1",-0.05 +2020,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21613.4820250245,"NLCD 2021","Various primary literature",552352,"Decennial Census, Table P1",-0.04 +2020,"county","27139","Scott","Nature","Sequestration","Grassland",-1074.0190317683,"NLCD 2021","Various primary literature",150928,"Decennial Census, Table P1",-0.01 +2020,"county","27139","Scott","Nature","Sequestration","Tree",-49580.5131567415,"NLCD 2021","Various primary literature",150928,"Decennial Census, Table P1",-0.33 +2020,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10095.8202618231,"NLCD 2021","Various primary literature",150928,"Decennial Census, Table P1",-0.07 +2020,"county","27139","Scott","Nature","Sequestration","Urban tree",-8555.57332234879,"NLCD 2021","Various primary literature",150928,"Decennial Census, Table P1",-0.06 +2020,"county","27139","Scott","Nature","Sequestration","Wetland",-77600.7192328679,"NLCD 2021","Various primary literature",150928,"Decennial Census, Table P1",-0.51 +2020,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1541.3977366954,"NLCD 2021","Various primary literature",97183,"Decennial Census, Table P1",-0.02 +2020,"county","27141","Sherburne","Nature","Sequestration","Tree",-96085.2899078595,"NLCD 2021","Various primary literature",97183,"Decennial Census, Table P1",-0.99 +2020,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-10702.0395839969,"NLCD 2021","Various primary literature",97183,"Decennial Census, Table P1",-0.11 +2020,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-5669.9953702609,"NLCD 2021","Various primary literature",97183,"Decennial Census, Table P1",-0.06 +2020,"county","27141","Sherburne","Nature","Sequestration","Wetland",-179671.182447323,"NLCD 2021","Various primary literature",97183,"Decennial Census, Table P1",-1.85 +2020,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1120.19220379082,"NLCD 2021","Various primary literature",93536,"Decennial Census, Table P1",-0.01 +2020,"county","55109","St. Croix","Nature","Sequestration","Tree",-142350.012819446,"NLCD 2021","Various primary literature",93536,"Decennial Census, Table P1",-1.52 +2020,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-19709.3271292885,"NLCD 2021","Various primary literature",93536,"Decennial Census, Table P1",-0.21 +2020,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4866.37560295938,"NLCD 2021","Various primary literature",93536,"Decennial Census, Table P1",-0.05 +2020,"county","55109","St. Croix","Nature","Sequestration","Wetland",-22701.5378475576,"NLCD 2021","Various primary literature",93536,"Decennial Census, Table P1",-0.24 +2020,"county","27163","Washington","Nature","Sequestration","Grassland",-1113.7765754659,"NLCD 2021","Various primary literature",267568,"Decennial Census, Table P1",0 +2020,"county","27163","Washington","Nature","Sequestration","Tree",-79355.6478265424,"NLCD 2021","Various primary literature",267568,"Decennial Census, Table P1",-0.3 +2020,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11506.6368949488,"NLCD 2021","Various primary literature",267568,"Decennial Census, Table P1",-0.04 +2020,"county","27163","Washington","Nature","Sequestration","Urban tree",-18855.7897096544,"NLCD 2021","Various primary literature",267568,"Decennial Census, Table P1",-0.07 +2020,"county","27163","Washington","Nature","Sequestration","Wetland",-58203.4850604626,"NLCD 2021","Various primary literature",267568,"Decennial Census, Table P1",-0.22 +2021,"county","27003","Anoka","Nature","Sequestration","Grassland",-781.828057710245,"NLCD 2021","Various primary literature",360773,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27003","Anoka","Nature","Sequestration","Tree",-78333.4379260263,"NLCD 2021","Various primary literature",360773,"ACS 5-Year Estimates, Table DP05",-0.22 +2021,"county","27003","Anoka","Nature","Sequestration","Urban grassland",-15861.5398194911,"NLCD 2021","Various primary literature",360773,"ACS 5-Year Estimates, Table DP05",-0.04 +2021,"county","27003","Anoka","Nature","Sequestration","Urban tree",-18838.4775523997,"NLCD 2021","Various primary literature",360773,"ACS 5-Year Estimates, Table DP05",-0.05 +2021,"county","27003","Anoka","Nature","Sequestration","Wetland",-305030.910248082,"NLCD 2021","Various primary literature",360773,"ACS 5-Year Estimates, Table DP05",-0.85 +2021,"county","27019","Carver","Nature","Sequestration","Grassland",-349.830013529204,"NLCD 2021","Various primary literature",105694,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27019","Carver","Nature","Sequestration","Tree",-36909.0831223038,"NLCD 2021","Various primary literature",105694,"ACS 5-Year Estimates, Table DP05",-0.35 +2021,"county","27019","Carver","Nature","Sequestration","Urban grassland",-8716.994996501,"NLCD 2021","Various primary literature",105694,"ACS 5-Year Estimates, Table DP05",-0.08 +2021,"county","27019","Carver","Nature","Sequestration","Urban tree",-6915.53920229979,"NLCD 2021","Various primary literature",105694,"ACS 5-Year Estimates, Table DP05",-0.07 +2021,"county","27019","Carver","Nature","Sequestration","Wetland",-67157.4496891005,"NLCD 2021","Various primary literature",105694,"ACS 5-Year Estimates, Table DP05",-0.64 +2021,"county","27025","Chisago","Nature","Sequestration","Grassland",-1058.25154339514,"NLCD 2021","Various primary literature",56328,"ACS 5-Year Estimates, Table DP05",-0.02 +2021,"county","27025","Chisago","Nature","Sequestration","Tree",-103881.877163431,"NLCD 2021","Various primary literature",56328,"ACS 5-Year Estimates, Table DP05",-1.84 +2021,"county","27025","Chisago","Nature","Sequestration","Urban grassland",-10914.7171255221,"NLCD 2021","Various primary literature",56328,"ACS 5-Year Estimates, Table DP05",-0.19 +2021,"county","27025","Chisago","Nature","Sequestration","Urban tree",-3540.6820769165,"NLCD 2021","Various primary literature",56328,"ACS 5-Year Estimates, Table DP05",-0.06 +2021,"county","27025","Chisago","Nature","Sequestration","Wetland",-164362.373843928,"NLCD 2021","Various primary literature",56328,"ACS 5-Year Estimates, Table DP05",-2.92 +2021,"county","27037","Dakota","Nature","Sequestration","Grassland",-2703.6327867339,"NLCD 2021","Various primary literature",435863,"ACS 5-Year Estimates, Table DP05",-0.01 +2021,"county","27037","Dakota","Nature","Sequestration","Tree",-52754.4495112146,"NLCD 2021","Various primary literature",435863,"ACS 5-Year Estimates, Table DP05",-0.12 +2021,"county","27037","Dakota","Nature","Sequestration","Urban grassland",-15827.7981110679,"NLCD 2021","Various primary literature",435863,"ACS 5-Year Estimates, Table DP05",-0.04 +2021,"county","27037","Dakota","Nature","Sequestration","Urban tree",-32965.6234509667,"NLCD 2021","Various primary literature",435863,"ACS 5-Year Estimates, Table DP05",-0.08 +2021,"county","27037","Dakota","Nature","Sequestration","Wetland",-41253.2809101718,"NLCD 2021","Various primary literature",435863,"ACS 5-Year Estimates, Table DP05",-0.09 +2021,"county","27053","Hennepin","Nature","Sequestration","Grassland",-885.718737569581,"NLCD 2021","Various primary literature",1270283,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27053","Hennepin","Nature","Sequestration","Tree",-50580.9821646314,"NLCD 2021","Various primary literature",1270283,"ACS 5-Year Estimates, Table DP05",-0.04 +2021,"county","27053","Hennepin","Nature","Sequestration","Urban grassland",-19602.6977383014,"NLCD 2021","Various primary literature",1270283,"ACS 5-Year Estimates, Table DP05",-0.02 +2021,"county","27053","Hennepin","Nature","Sequestration","Urban tree",-66257.4453281867,"NLCD 2021","Various primary literature",1270283,"ACS 5-Year Estimates, Table DP05",-0.05 +2021,"county","27053","Hennepin","Nature","Sequestration","Wetland",-120906.266742005,"NLCD 2021","Various primary literature",1270283,"ACS 5-Year Estimates, Table DP05",-0.1 +2021,"county","55093","Pierce","Nature","Sequestration","Grassland",-356.568644279183,"NLCD 2021","Various primary literature",42204,"ACS 5-Year Estimates, Table DP05",-0.01 +2021,"county","55093","Pierce","Nature","Sequestration","Tree",-153296.424262437,"NLCD 2021","Various primary literature",42204,"ACS 5-Year Estimates, Table DP05",-3.63 +2021,"county","55093","Pierce","Nature","Sequestration","Urban grassland",-11839.6208411784,"NLCD 2021","Various primary literature",42204,"ACS 5-Year Estimates, Table DP05",-0.28 +2021,"county","55093","Pierce","Nature","Sequestration","Urban tree",-2654.11610090394,"NLCD 2021","Various primary literature",42204,"ACS 5-Year Estimates, Table DP05",-0.06 +2021,"county","55093","Pierce","Nature","Sequestration","Wetland",-9903.80867038488,"NLCD 2021","Various primary literature",42204,"ACS 5-Year Estimates, Table DP05",-0.23 +2021,"county","27123","Ramsey","Nature","Sequestration","Grassland",-269.412411894649,"NLCD 2021","Various primary literature",549377,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27123","Ramsey","Nature","Sequestration","Tree",-10626.783583201,"NLCD 2021","Various primary literature",549377,"ACS 5-Year Estimates, Table DP05",-0.02 +2021,"county","27123","Ramsey","Nature","Sequestration","Urban grassland",-4826.48351634241,"NLCD 2021","Various primary literature",549377,"ACS 5-Year Estimates, Table DP05",-0.01 +2021,"county","27123","Ramsey","Nature","Sequestration","Urban tree",-28264.9945042736,"NLCD 2021","Various primary literature",549377,"ACS 5-Year Estimates, Table DP05",-0.05 +2021,"county","27123","Ramsey","Nature","Sequestration","Wetland",-21842.8720668967,"NLCD 2021","Various primary literature",549377,"ACS 5-Year Estimates, Table DP05",-0.04 +2021,"county","27139","Scott","Nature","Sequestration","Grassland",-1072.25121985935,"NLCD 2021","Various primary literature",149568,"ACS 5-Year Estimates, Table DP05",-0.01 +2021,"county","27139","Scott","Nature","Sequestration","Tree",-49544.0918060137,"NLCD 2021","Various primary literature",149568,"ACS 5-Year Estimates, Table DP05",-0.33 +2021,"county","27139","Scott","Nature","Sequestration","Urban grassland",-10150.0485039015,"NLCD 2021","Various primary literature",149568,"ACS 5-Year Estimates, Table DP05",-0.07 +2021,"county","27139","Scott","Nature","Sequestration","Urban tree",-8601.56095684509,"NLCD 2021","Various primary literature",149568,"ACS 5-Year Estimates, Table DP05",-0.06 +2021,"county","27139","Scott","Nature","Sequestration","Wetland",-78670.4112974433,"NLCD 2021","Various primary literature",149568,"ACS 5-Year Estimates, Table DP05",-0.53 +2021,"county","27141","Sherburne","Nature","Sequestration","Grassland",-1572.95226097889,"NLCD 2021","Various primary literature",96295,"ACS 5-Year Estimates, Table DP05",-0.02 +2021,"county","27141","Sherburne","Nature","Sequestration","Tree",-96057.5561165514,"NLCD 2021","Various primary literature",96295,"ACS 5-Year Estimates, Table DP05",-1 +2021,"county","27141","Sherburne","Nature","Sequestration","Urban grassland",-10853.1652548411,"NLCD 2021","Various primary literature",96295,"ACS 5-Year Estimates, Table DP05",-0.11 +2021,"county","27141","Sherburne","Nature","Sequestration","Urban tree",-5695.93957970074,"NLCD 2021","Various primary literature",96295,"ACS 5-Year Estimates, Table DP05",-0.06 +2021,"county","27141","Sherburne","Nature","Sequestration","Wetland",-181147.037057154,"NLCD 2021","Various primary literature",96295,"ACS 5-Year Estimates, Table DP05",-1.88 +2021,"county","55109","St. Croix","Nature","Sequestration","Grassland",-1115.2557782835,"NLCD 2021","Various primary literature",92495,"ACS 5-Year Estimates, Table DP05",-0.01 +2021,"county","55109","St. Croix","Nature","Sequestration","Tree",-142348.1123992,"NLCD 2021","Various primary literature",92495,"ACS 5-Year Estimates, Table DP05",-1.54 +2021,"county","55109","St. Croix","Nature","Sequestration","Urban grassland",-19792.5481084242,"NLCD 2021","Various primary literature",92495,"ACS 5-Year Estimates, Table DP05",-0.21 +2021,"county","55109","St. Croix","Nature","Sequestration","Urban tree",-4861.59610227132,"NLCD 2021","Various primary literature",92495,"ACS 5-Year Estimates, Table DP05",-0.05 +2021,"county","55109","St. Croix","Nature","Sequestration","Wetland",-23343.8773088907,"NLCD 2021","Various primary literature",92495,"ACS 5-Year Estimates, Table DP05",-0.25 +2021,"county","27163","Washington","Nature","Sequestration","Grassland",-1115.16636748495,"NLCD 2021","Various primary literature",264818,"ACS 5-Year Estimates, Table DP05",0 +2021,"county","27163","Washington","Nature","Sequestration","Tree",-79287.9557060871,"NLCD 2021","Various primary literature",264818,"ACS 5-Year Estimates, Table DP05",-0.3 +2021,"county","27163","Washington","Nature","Sequestration","Urban grassland",-11705.6574849133,"NLCD 2021","Various primary literature",264818,"ACS 5-Year Estimates, Table DP05",-0.04 +2021,"county","27163","Washington","Nature","Sequestration","Urban tree",-18926.1449019151,"NLCD 2021","Various primary literature",264818,"ACS 5-Year Estimates, Table DP05",-0.07 +2021,"county","27163","Washington","Nature","Sequestration","Wetland",-59771.7029002289,"NLCD 2021","Various primary literature",264818,"ACS 5-Year Estimates, Table DP05",-0.23 diff --git a/_meta/data/cprg_county_emissions.RDS b/_meta/data/cprg_county_emissions.RDS index 8fc2e68d..7521ff27 100644 Binary files a/_meta/data/cprg_county_emissions.RDS and b/_meta/data/cprg_county_emissions.RDS differ diff --git a/_meta/data/ctu_emissions.RDS b/_meta/data/ctu_emissions.RDS new file mode 100644 index 00000000..f47141cb Binary files /dev/null and b/_meta/data/ctu_emissions.RDS differ diff --git a/_meta/data/epa_ghg_factor_hub.RDS b/_meta/data/epa_ghg_factor_hub.RDS index fa6db414..e33063aa 100644 Binary files a/_meta/data/epa_ghg_factor_hub.RDS and b/_meta/data/epa_ghg_factor_hub.RDS differ diff --git a/_meta/data/gcam/mpca_economy_wide_gcam.RDS b/_meta/data/gcam/mpca_economy_wide_gcam.RDS new file mode 100644 index 00000000..024de017 Binary files /dev/null and b/_meta/data/gcam/mpca_economy_wide_gcam.RDS differ diff --git a/_meta/data/gcam/mpca_economy_wide_gcam_meta.RDS b/_meta/data/gcam/mpca_economy_wide_gcam_meta.RDS new file mode 100644 index 00000000..a4c9c776 Binary files /dev/null and b/_meta/data/gcam/mpca_economy_wide_gcam_meta.RDS differ diff --git a/_meta/data/gcam/mpca_sector_gcam.RDS b/_meta/data/gcam/mpca_sector_gcam.RDS new file mode 100644 index 00000000..c9463740 Binary files /dev/null and b/_meta/data/gcam/mpca_sector_gcam.RDS differ diff --git a/_meta/data/gcam/mpca_sector_gcam_meta.RDS b/_meta/data/gcam/mpca_sector_gcam_meta.RDS new file mode 100644 index 00000000..f00800a4 Binary files /dev/null and b/_meta/data/gcam/mpca_sector_gcam_meta.RDS differ diff --git a/_meta/data/gcam/mpca_subsector_gcam.RDS b/_meta/data/gcam/mpca_subsector_gcam.RDS new file mode 100644 index 00000000..a0bf154d Binary files /dev/null and b/_meta/data/gcam/mpca_subsector_gcam.RDS differ diff --git a/_meta/data/gcam/mpca_subsector_gcam_meta.RDS b/_meta/data/gcam/mpca_subsector_gcam_meta.RDS new file mode 100644 index 00000000..1542caa4 Binary files /dev/null and b/_meta/data/gcam/mpca_subsector_gcam_meta.RDS differ diff --git a/_meta/data/state_population.RDS b/_meta/data/state_population.RDS index 9a576ffe..141f4f92 100644 Binary files a/_meta/data/state_population.RDS and b/_meta/data/state_population.RDS differ diff --git a/_meta/data/state_population_demographer.RDS b/_meta/data/state_population_demographer.RDS new file mode 100644 index 00000000..e47c66f4 Binary files /dev/null and b/_meta/data/state_population_demographer.RDS differ diff --git a/_meta/data/state_population_demographer_meta.RDS b/_meta/data/state_population_demographer_meta.RDS new file mode 100644 index 00000000..2a01b8c7 Binary files /dev/null and b/_meta/data/state_population_demographer_meta.RDS differ diff --git a/_meta/data/state_population_meta.RDS b/_meta/data/state_population_meta.RDS index b64c5dc2..b83b0745 100644 Binary files a/_meta/data/state_population_meta.RDS and b/_meta/data/state_population_meta.RDS differ diff --git a/_nature/data-raw/00_compile_natural_systems_inventory.R b/_nature/data-raw/00_compile_natural_systems_inventory.R new file mode 100644 index 00000000..6814eb55 --- /dev/null +++ b/_nature/data-raw/00_compile_natural_systems_inventory.R @@ -0,0 +1,18 @@ +rm(list=ls()) + +# 01_compile_land_cover_carbon.R +# Compiles sequestration rates by land cover type from peer-reviewed literature +source("_nature/data-raw/01_compile_land_cover_carbon.R") + +# 02_compile_nlcd_land_cover.R +# Takes annual NLCD images and estimates land area by land cover type +# Note this is memory and time-intensive +source("_nature/data-raw/02_compile_nlcd_land_cover.R") + +# 03_compile_land_area_sequestration_from_nlcd.R +# Applies sequestration rates to area estimates of land cover type to summarize +# C sequestration at the county and ctu scale +source("_nature/data-raw/03_compile_land_area_sequestration_from_nlcd.R") + + + diff --git a/_nature/data-raw/land_cover_carbon.R b/_nature/data-raw/01_compile_land_cover_carbon.R similarity index 94% rename from _nature/data-raw/land_cover_carbon.R rename to _nature/data-raw/01_compile_land_cover_carbon.R index ec7fa5d8..b7621165 100644 --- a/_nature/data-raw/land_cover_carbon.R +++ b/_nature/data-raw/01_compile_land_cover_carbon.R @@ -1,4 +1,9 @@ +rm(list=ls()) source("R/_load_pkgs.R") +source("R/global_warming_potential.R") + +overwrite_RDS <- TRUE + seq_rates <- read_csv("./_nature/data-raw/land_cover_seq_rates.csv") stock <- read_csv("./_nature/data-raw/land_cover_stock.csv") @@ -61,5 +66,10 @@ land_cover_c_meta <- "Stock potential", class(land_cover_c$stock_mtco2e_sqkm), "Total carbon stock potential of land cover type in metric tons CO2 equivalency per square kilometer" ) +# User chooses whether to overwrite the rds files +if (overwrite_RDS) { saveRDS(land_cover_c, "./_nature/data/land_cover_carbon.rds") saveRDS(land_cover_c_meta, "./_nature/data/land_cover_carbon_meta.rds") +} + +message("Done!") diff --git a/_nature/data-raw/02_compile_nlcd_land_cover.R b/_nature/data-raw/02_compile_nlcd_land_cover.R new file mode 100644 index 00000000..eedf0888 --- /dev/null +++ b/_nature/data-raw/02_compile_nlcd_land_cover.R @@ -0,0 +1,508 @@ +rm(list=ls()) +source("R/_load_pkgs.R") +source("R/cprg_colors.R") + +overwrite_RDS <- TRUE + +# import natural systems cover types +land_cover_carbon <- readRDS("_nature/data/land_cover_carbon.rds") + + +# Goal is to take annual land cover maps from NLCD and derive area estimates +# for different natural systems (e.g. forests, grasslands, wetlands). +# We can then aggregate area to different geographic boundaries (CTUs, counties). + + +# load the county and ctu boundaries layer +cprg_county <- readRDS("_meta/data/cprg_county.RDS") +cprg_ctu <- readRDS("_meta/data/cprg_ctu.RDS") + +# convert the counties and ctu vector to a terra object +cprg_county <- terra::vect(cprg_county) +cprg_ctu <- terra::vect(cprg_ctu) + +# define CRS for using with other layers +crs_use <- terra::crs(cprg_county) +cprg_ctu <- terra::project(cprg_ctu, crs_use) + +# turn your county and ctu layers into dataframes +cprg_county_df <- cprg_county %>% as.data.frame() %>% + select(geoid, county_name, state_name) %>% st_drop_geometry() + +cprg_ctu_df <- cprg_ctu %>% as.data.frame() %>% + select(gnis, geoid_wis, ctu_name, ctu_class, county_name, state_name) %>% + st_drop_geometry() %>% + mutate( + geoid_wis = as.numeric(geoid_wis), + gnis = as.numeric(gnis)) + + + + +# Set inpath for nlcd raw images +inpath_nlcd <- "./_nature/data-raw/nlcd_raw_imgs" +# List all files in the NLCD directory +nlcd_files_all <- list.files(inpath_nlcd, full.names = TRUE) + +# Grab only the .tiff file names that match the string "Land_Cover" +nlcd_lc_files <- nlcd_files_all[grep("Land_Cover", nlcd_files_all)] +# Grab only the .tiff file names that match the string "Land_Cover" +nlcd_tcc_files <- nlcd_files_all[grep("tcc", nlcd_files_all)] + +# grab nlcd legend +nlcd.legend <- FedData::pal_nlcd() + + + +get_year <- function(filename) { + year <- as.numeric(sub('.*_(\\d{4})_.*', '\\1', filename)) + return(year) +} + + + + +# Create empty dataframes to store the results +# Make sure the number of rows corresponds to the number of unique combinations between: +# no. counties * no. years * no. land cover types +start_year <- 2001 +end_year <- 2021 + + +# by county +nlcd_county <- data.frame( + geoid = as.numeric(), + county_name = as.character(), + state_name = as.character(), + year = as.numeric(), + land_cover_type = as.character(), + area = as.numeric() +) + + + +# by ctu +nlcd_ctu <- data.frame( + gnis = as.numeric(), + geoid_wis = as.numeric(), + ctu_name = as.character(), + ctu_class = as.character(), + county_name = as.character(), + state_name = as.character(), + year = as.numeric(), + land_cover_type = as.character(), + area = as.numeric() +) + + + + + +# Loop through all years of NLCD data and extract area estimates by land cover type and by county +lapply(start_year:end_year, function(year) { + # browser() + message(paste0("\nBeginning year: ", year, "\n")) + message(paste0(" 0% |____________________|")) + + + # Test to see if the current year is in your list of lc files + if (year %in% get_year(nlcd_lc_files)) { + nlcd_lc <- terra::rast(nlcd_lc_files[get_year(nlcd_lc_files) %in% year]) + + nlcd_lc <- nlcd_lc %>% + # Reproject your data. Since the land cover dataset contains + # discrete land cover types, use method="near" for nearest neighbor estimation + terra::project(., crs_use, method = "near") %>% + # Crop the raster to county boundary + terra::crop(., cprg_county) %>% + # Mask the raster with county boundary + terra::mask(., cprg_county) + + } else { + # Move to the next year if the land cover type layer is missing + message(paste0("\nSTOP! No land cover layers for ", year, ".\nMoving to next year...")) + return(NULL) + } + + + + # Test to see if the current year is in your list of tcc files + if (year %in% get_year(nlcd_tcc_files)) { + # Indicate if the tree canopy cover layer was successfully retrieved + tcc_available <- TRUE + + nlcd_tcc <- terra::rast(nlcd_tcc_files[get_year(nlcd_tcc_files) %in% year]) + + nlcd_tcc <- nlcd_tcc %>% + terra::project(., crs_use) %>% + # Crop the raster to county boundary + terra::crop(., cprg_county) %>% + # Mask the raster with county boundary + terra::mask(., cprg_county) + + } else { + # Indicate if the tree canopy cover layer was successfully retrieved + tcc_available <- FALSE + } + + + + +# If tree canopy data is available... ------------------------------------- + if (tcc_available) { + message(paste0("30% |======______________| - Tree canopy data available for ", year)) + # Perform the necessary calculations for the current year + # Mask the nlcd_lc raster with cprg_county + nlcd_lc_mask <- terra::mask(nlcd_lc, cprg_county) + + # Mask the cell size of nlcd_lc_mask with cprg_county (this will be used to calculate area) + nlcd_lc_area <- terra::mask(cellSize(nlcd_lc_mask, unit = "km"), cprg_county) + + # Rasterize cprg_ctu with nlcd_lc_mask using "county_name" field + county_raster <- terra::rasterize(cprg_ctu, nlcd_lc_mask, field = "county_name") + + # Rasterize cprg_ctu with nlcd_lc_mask using "ctu_name" field + ctu_raster <- terra::rasterize(cprg_ctu, nlcd_lc_mask, field = "ctu_name") + + # Rasterize cprg_ctu with nlcd_lc_mask using "ctu_class" field + ctu_class_raster <- terra::rasterize(cprg_ctu, nlcd_lc_mask, field = "ctu_class") + + message(paste0("40% |========____________|")) + + # Extract values from different rasters (nlcd_lc, nlcd_tcc) for the region. + # Produces a dataframe with two columns containing a row count of each raster pixel + # with its associated land cover value + nlcd_lc_values <- terra::extract(nlcd_lc, cprg_county) + # nlcd_is_values <- terra::extract(nlcd_is, cprg_county) + nlcd_tcc_values <- terra::extract(nlcd_tcc, cprg_county) + + message(paste0("50% |==========__________|")) + + # nlcd_is_values <- nlcd_is_values %>% + # modify_if(is.numeric, ~replace_na(., 0)) + + nlcd_tcc_values <- nlcd_tcc_values %>% + modify_if(is.numeric, ~ replace_na(., 0)) + + message(paste0("60% |============________|")) + + # Extract values for area and geographic designation + area_values <- terra::extract(nlcd_lc_area, cprg_county) + lc_values <- terra::extract(nlcd_lc_mask, cprg_county) + county_values <- terra::extract(county_raster, cprg_county) + ctu_values <- terra::extract(ctu_raster, cprg_county) + ctu_class_values <- terra::extract(ctu_class_raster, cprg_county) + + message(paste0("70% |==============______|")) + + + # Create a tibble that includes row observations for each raster pixel, + # with columns for county, ctu, state, land cover, and tree canopy % + lc_df <- as_tibble(data.frame( + county_name = county_values[, 2], + ctu_name = ctu_values[, 2], + ctu_class = ctu_class_values[, 2], + nlcd_cover = nlcd_lc_values[, 2], + # impervious_cover = as.numeric(as.character(nlcd_is_values[, 2])), + tree_canopy_cover = as.numeric(as.character(nlcd_tcc_values[, 2])), + area = area_values[, 2] + )) + + # # Add ancillary spatial data to your dataframe + # lc_df <- lc_df %>% + # left_join(cprg_ctu_df, by = join_by(county_name, ctu_name, ctu_class)) %>% + # relocate(colnames(cprg_ctu_df)) + # + # + message(paste0("80% |================____|")) + + + # Recompute area based on new land cover designations + # Here we treat "Developed, Open Space" as "Urban_Grassland" if tree canopy cover is 0 + # If tree canopy cover is > 0, we treat "Developed" as "Urban_Tree" + # If tree canopy cover is 0, we treat "Developed" as "Built-up" (so long as it's not "Developed, Open Space") + # The rest of the land cover types are pretty straightforward + lc_rc <- lc_df %>% + left_join(cprg_county_df, by = join_by(county_name)) %>% # add county spatial info + left_join(cprg_ctu_df, by = join_by(county_name, ctu_name, ctu_class, state_name)) %>% # add CTU spatial info + left_join(nlcd.legend %>% + dplyr::select(ID, Class) %>% + rename(nlcd_cover = ID, + nlcd_cover_class = Class), by = "nlcd_cover") %>% + mutate( + land_cover_type = case_when( + grepl("Developed, Open Space", nlcd_cover_class) & tree_canopy_cover == 0 ~ "Urban_Grassland", + grepl("Developed", nlcd_cover_class) & tree_canopy_cover > 0 ~ "Urban_Tree", + grepl("Developed", nlcd_cover_class) & !grepl("Developed, Open Space", nlcd_cover_class) & tree_canopy_cover == 0 ~ "Built-up", + grepl("Deciduous Forest", nlcd_cover_class) ~ "Tree", + grepl("Evergreen Forest", nlcd_cover_class) ~ "Tree", + grepl("Mixed Forest", nlcd_cover_class) ~ "Tree", + grepl("Dwarf Scrub", nlcd_cover_class) ~ "Shrubland", + grepl("Shrub/Scrub", nlcd_cover_class) ~ "Shrubland", + grepl("Grassland/Herbaceous", nlcd_cover_class) ~ "Grassland", + grepl("Sedge/Herbaceous", nlcd_cover_class) ~ "Grassland", + grepl("Cultivated Crops", nlcd_cover_class) ~ "Cropland", + grepl("Pasture/Hay", nlcd_cover_class) ~ "Cropland", + grepl("Barren Land", nlcd_cover_class) ~ "Bare", + grepl("Perennial Ice/Snow", nlcd_cover_class) ~ "Snow", + grepl("Open Water", nlcd_cover_class) ~ "Water", + grepl("Woody Wetlands", nlcd_cover_class) ~ "Tree", ## Changed from "Wetland" + grepl("Emergent Herbaceous Wetlands", nlcd_cover_class) ~ "Wetland" + ) + ) %>% + mutate( + # Here we correct the area based on the tree canopy cover + # When a pixel is classified as "Urban_Tree", we multiply the area by the tree canopy cover percentage + area_corrected = if_else(land_cover_type == "Urban_Tree", area * (tree_canopy_cover / 100), area) + ) + + + message(paste0("90% |==================__|")) + + # Summarize the area of each land cover type by county + lc_county <- lc_rc %>% + filter(!is.na(land_cover_type) & !is.na(county_name)) %>% + group_by(county_name, state_name, land_cover_type) %>% + summarize(area = sum(area_corrected), .groups = "keep") %>% + mutate(year = year, .before=everything()) %>% + left_join(cprg_county_df, by = join_by(county_name, state_name)) + + # Summarize the area of each land cover type by ctu + lc_ctu <- lc_rc %>% + filter(!is.na(land_cover_type) & !is.na(ctu_name)) %>% + group_by(ctu_name, ctu_class, county_name, state_name, land_cover_type) %>% + summarize(area = sum(area_corrected), .groups = "keep") %>% + mutate(year = year, .before=everything()) %>% + left_join(cprg_ctu_df, by = join_by(ctu_name, ctu_class, county_name, state_name)) + + + + # Add the results for the current year to the results dataframe + nlcd_county <<- rbind(nlcd_county, data.frame( + geoid = lc_county$geoid, + county_name = lc_county$county_name, + state_name = lc_county$state_name, + year = lc_county$year, + land_cover_type = lc_county$land_cover_type, + area = lc_county$area, + stringsAsFactors = FALSE + )) + + + + # Add the results for the current year to the results dataframe + nlcd_ctu <<- rbind(nlcd_ctu, data.frame( + gnis = lc_ctu$gnis, + geoid_wis = lc_ctu$geoid_wis, + ctu_name = lc_ctu$ctu_name, + ctu_class = lc_ctu$ctu_class, + county_name = lc_ctu$county_name, + state_name = lc_ctu$state_name, + year = lc_ctu$year, + land_cover_type = lc_ctu$land_cover_type, + area = lc_ctu$area, + stringsAsFactors = FALSE + )) + + + message(paste0("100% |====================|")) + + } else { + # If tree canopy data is NOT available... ------------------------------------- + + message(paste0("30% |======______________| - Tree canopy data NOT available for ", year)) + # Perform the necessary calculations for the current year + nlcd_lc_mask <- terra::mask(nlcd_lc, cprg_county) + nlcd_lc_area <- terra::mask(cellSize(nlcd_lc_mask, unit = "km"), cprg_county) + county_raster <- terra::rasterize(cprg_ctu, nlcd_lc_mask, field = "county_name") + ctu_raster <- terra::rasterize(cprg_ctu, nlcd_lc_mask, field = "ctu_name") + ctu_class_raster <- terra::rasterize(cprg_ctu, nlcd_lc_mask, field = "ctu_class") + + message(paste0("40% |========____________|")) + + nlcd_lc_values <- terra::extract(nlcd_lc, cprg_county) + # nlcd_is_values <- terra::extract(nlcd_is, cprg_county) + # nlcd_tcc_values <- terra::extract(nlcd_tcc, cprg_county) + + message(paste0("50% |==========__________|")) + + # nlcd_is_values <- nlcd_is_values %>% + # modify_if(is.numeric, ~replace_na(., 0)) + + # nlcd_tcc_values <- nlcd_tcc_values %>% + # modify_if(is.numeric, ~ replace_na(., 0)) + + message(paste0("60% |============________|")) + + area_values <- terra::extract(nlcd_lc_area, cprg_county) + lc_values <- terra::extract(nlcd_lc_mask, cprg_county) + county_values <- terra::extract(county_raster, cprg_county) + ctu_values <- terra::extract(ctu_raster, cprg_county) + ctu_class_values <- terra::extract(ctu_class_raster, cprg_county) + + message(paste0("70% |==============______|")) + + # browser() + + lc_df <- as_tibble(data.frame( + county_name = county_values[, 2], + ctu_name = ctu_values[, 2], + ctu_class = ctu_class_values[, 2], + nlcd_cover = nlcd_lc_values[, 2], + # impervious_cover = as.numeric(as.character(nlcd_is_values[, 2])), + tree_canopy_cover = as.numeric(NA), + area = area_values[, 2] + )) + + # # Add ancillary spatial data to your dataframe + # lc_df <- lc_df %>% + # left_join(cprg_ctu_df, by = join_by(county_name, ctu_name, ctu_class)) %>% + # relocate(colnames(cprg_ctu_df)) + + message(paste0("80% |================____|")) + + # sort(unique(lc_df$nlcd_cover)) + lc_rc <- lc_df %>% + left_join(cprg_county_df, by = join_by(county_name)) %>% + left_join(cprg_ctu_df, by = join_by(county_name, ctu_name, ctu_class, state_name)) %>% + left_join(nlcd.legend %>% + dplyr::select(ID, Class) %>% + rename(nlcd_cover = ID, + nlcd_cover_class = Class), by = "nlcd_cover") %>% + mutate( + land_cover_type = case_when( + # grepl("Developed, Open Space", nlcd_cover_class) & tree_canopy_cover == 0 ~ "Urban_Grassland", + # grepl("Developed", nlcd_cover_class) & tree_canopy_cover > 0 ~ "Urban_Tree", + # grepl("Developed", nlcd_cover_class) & !grepl("Developed, Open Space", nlcd_cover_class) & tree_canopy_cover == 0 ~ "Built-up", + grepl("Developed", nlcd_cover_class) ~ "Built-up", + + grepl("Deciduous Forest", nlcd_cover_class) ~ "Tree", + grepl("Evergreen Forest", nlcd_cover_class) ~ "Tree", + grepl("Mixed Forest", nlcd_cover_class) ~ "Tree", + grepl("Dwarf Scrub", nlcd_cover_class) ~ "Shrubland", + grepl("Shrub/Scrub", nlcd_cover_class) ~ "Shrubland", + grepl("Grassland/Herbaceous", nlcd_cover_class) ~ "Grassland", + grepl("Sedge/Herbaceous", nlcd_cover_class) ~ "Grassland", + grepl("Cultivated Crops", nlcd_cover_class) ~ "Cropland", + grepl("Pasture/Hay", nlcd_cover_class) ~ "Cropland", + grepl("Barren Land", nlcd_cover_class) ~ "Bare", + grepl("Perennial Ice/Snow", nlcd_cover_class) ~ "Snow", + grepl("Open Water", nlcd_cover_class) ~ "Water", + grepl("Woody Wetlands", nlcd_cover_class) ~ "Tree", ## Changed from "Wetland" + grepl("Emergent Herbaceous Wetlands", nlcd_cover_class) ~ "Wetland" + ) + ) #%>% + # mutate( + # area_corrected = if_else(land_cover_type == "Urban_Tree", area * (tree_canopy_cover / 100), area) + # ) + + + + message(paste0("90% |==================__|")) + + # Summarize the area of each land cover type by county + lc_county <- lc_rc %>% + filter(!is.na(land_cover_type) & !is.na(county_name)) %>% + group_by(county_name, state_name, land_cover_type) %>% + summarize(area = sum(area), .groups = "keep") %>% + mutate(year = year, .before=everything()) %>% + left_join(cprg_county_df, by = join_by(county_name, state_name)) + + # Summarize the area of each land cover type by ctu + lc_ctu <- lc_rc %>% + filter(!is.na(land_cover_type) & !is.na(ctu_name)) %>% + group_by(ctu_name, ctu_class, county_name, state_name, land_cover_type) %>% + summarize(area = sum(area), .groups = "keep") %>% + mutate(year = year, .before=everything()) %>% + left_join(cprg_ctu_df, by = join_by(ctu_name, ctu_class, county_name, state_name)) + + + + # Add the results for the current year to the results dataframe + nlcd_county <<- rbind(nlcd_county, data.frame( + geoid = lc_county$geoid, + county_name = lc_county$county_name, + state_name = lc_county$state_name, + year = lc_county$year, + land_cover_type = lc_county$land_cover_type, + area = lc_county$area, + stringsAsFactors = FALSE + )) + + + + # Add the results for the current year to the results dataframe + nlcd_ctu <<- rbind(nlcd_ctu, data.frame( + gnis = lc_ctu$gnis, + geoid_wis = lc_ctu$geoid_wis, + ctu_name = lc_ctu$ctu_name, + ctu_class = lc_ctu$ctu_class, + county_name = lc_ctu$county_name, + state_name = lc_ctu$state_name, + year = lc_ctu$year, + land_cover_type = lc_ctu$land_cover_type, + area = lc_ctu$area, + stringsAsFactors = FALSE + )) + + + + message(paste0("100% |====================|")) + } # end else + + +}) + + +message("Finished!") + + +nlcd_county <- nlcd_county %>% as_tibble() %>% + dplyr::select(-c(geoid)) +nlcd_ctu <- nlcd_ctu %>% as_tibble() %>% + dplyr::select(-c(gnis, geoid_wis)) + + +# create metadata +nlcd_county_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "county_name", class(nlcd_county$county_name), "County name", + "state_name", class(nlcd_county$state_name), "State name", + "year", class(nlcd_county$year), "Year", + "land_cover_type", class(nlcd_county$land_cover_type), "Land cover type from National Land Cover Database. 'Urban_' indicates a natural area within NLCD designated developed land cover", + "area", class(nlcd_county$area), "Area of land cover in square kilometers. 'Urban_Tree' is scaled based on the percentage of tree canopy cover within 'Developed' areas" + ) + +nlcd_ctu_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "ctu_name", class(nlcd_ctu$ctu_name), "CTU name", + "ctu_class", class(nlcd_ctu$county_name), "CTU class", + "county_name ", class(nlcd_ctu$county_name), "County name", + "state_name ", class(nlcd_ctu$state_name), "State name", + "year", class(nlcd_ctu$year), "Year", + "land_cover_type", class(nlcd_ctu$land_cover_type), "Land cover type from National Land Cover Database. 'Urban_' indicates a natural area within NLCD designated developed land cover", + "area", class(nlcd_ctu$area), "Area of land cover in square kilometers. 'Urban_Tree' is scaled based on the percentage of tree canopy cover within 'Developed' areas" + ) + + + + +# User chooses whether to overwrite the rds files +if (overwrite_RDS) { + message("Exporting RDS files...") + + saveRDS(nlcd_county, paste0("./_nature/data/nlcd_county_landcover_", head(sort(unique(nlcd_county$year)), 1), "_", tail(sort(unique(nlcd_county$year)), 1), ".rds")) + saveRDS(nlcd_county_meta, paste0("./_nature/data/nlcd_county_landcover_", head(sort(unique(nlcd_county$year)), 1), "_", tail(sort(unique(nlcd_county$year)), 1), "_meta.rds")) + + saveRDS(nlcd_ctu, paste0("./_nature/data/nlcd_ctu_landcover_", head(sort(unique(nlcd_ctu$year)), 1), "_", tail(sort(unique(nlcd_ctu$year)), 1), ".rds")) + saveRDS(nlcd_ctu_meta, paste0("./_nature/data/nlcd_ctu_landcover_", head(sort(unique(nlcd_ctu$year)), 1), "_", tail(sort(unique(nlcd_ctu$year)), 1), "_meta.rds")) +} + + + + + + + diff --git a/_nature/data-raw/03_compile_land_area_sequestration_from_nlcd.R b/_nature/data-raw/03_compile_land_area_sequestration_from_nlcd.R new file mode 100644 index 00000000..97199f7f --- /dev/null +++ b/_nature/data-raw/03_compile_land_area_sequestration_from_nlcd.R @@ -0,0 +1,178 @@ +rm(list=ls()) +source("R/_load_pkgs.R") + +overwrite_RDS <- TRUE + +nlcd_county <- readRDS("./_nature/data/nlcd_county_landcover_2001_2021.rds") +nlcd_ctu <- readRDS("./_nature/data/nlcd_ctu_landcover_2001_2021.rds") +land_cover_c <- readRDS("./_nature/data/land_cover_carbon.rds") + + + +# load the county and ctu boundaries layer +cprg_county <- readRDS("_meta/data/cprg_county.RDS") +cprg_ctu <- readRDS("_meta/data/cprg_ctu.RDS") + +# turn your county and ctu layers into dataframes +cprg_county_df <- cprg_county %>% as.data.frame() %>% + select(geoid, county_name, state_name) %>% st_drop_geometry() + +cprg_ctu_df <- cprg_ctu %>% as.data.frame() %>% + select(gnis, geoid_wis, ctu_name, ctu_class, county_name, state_name) %>% + st_drop_geometry() %>% + mutate( + geoid_wis = as.numeric(geoid_wis), + gnis = as.numeric(gnis)) + + + + + +# Compute C sequestration and stock potential for natural systems sectors by county +nlcd_county_c <- nlcd_county %>% + as_tibble() %>% + left_join(., land_cover_c, by = join_by(land_cover_type)) %>% + filter(seq_mtco2e_sqkm < 0) %>% + mutate( + sequestration_potential = area * seq_mtco2e_sqkm, + stock_potential = area * stock_mtco2e_sqkm + ) %>% + dplyr::select(-c(seq_mtco2e_sqkm, stock_mtco2e_sqkm)) %>% + left_join( # this creates an empty grid of all desired year, land cover combinations + x = cprg_county_df %>% + crossing(year=seq(2001, 2021, by = 1), + land_cover_type = unique(land_cover_c$land_cover_type)), + y = ., by = join_by(county_name, state_name, year, land_cover_type) + ) %>% + mutate(source = ifelse(is.na(area), "est", "nlcd")) %>% + group_by(geoid, county_name, state_name, land_cover_type) %>% + arrange(year) %>% + mutate( + sequestration_potential2 = zoo::na.approx(sequestration_potential, na.rm = FALSE), + stock_potential2 = zoo::na.approx(stock_potential, na.rm = FALSE), + sequestration_potential3 = zoo::na.approx(sequestration_potential, na.rm = FALSE, maxgap = Inf, rule = 2), + stock_potential3 = zoo::na.approx(stock_potential, na.rm = FALSE, maxgap = Inf, rule = 2), + source = case_when( + source == "est" & !is.na(sequestration_potential2) ~ "interpolated", + source == "est" & !is.na(sequestration_potential3) ~ "extrapolated", + source == "nlcd" ~ "nlcd" + ), + sequestration_potential = sequestration_potential3, + stock_potential = stock_potential3 + ) %>% + dplyr::select(geoid, county_name, state_name, year, land_cover_type, area, sequestration_potential, stock_potential, source) %>% + arrange(year, county_name, land_cover_type) %>% + # Now that we've extrapolated sequestration/stock values despite having no area estimates, + # we need to calculate area based on the extrapolated sequestration. + left_join(., land_cover_c, by = join_by(land_cover_type)) %>% # grab your emissions factors + # when area estimates are unavailable, but sequestration totals are available, you can estimate area + mutate(area = ifelse(source != "nlcd", sequestration_potential / seq_mtco2e_sqkm, area)) %>% + dplyr::select(-c(seq_mtco2e_sqkm, stock_mtco2e_sqkm)) + + + + +# Compute C sequestration and stock potential for natural systems sectors by CTU +nlcd_ctu_c <- nlcd_ctu %>% + as_tibble() %>% + left_join(., land_cover_c, by = join_by(land_cover_type)) %>% + filter(seq_mtco2e_sqkm < 0) %>% + mutate( + sequestration_potential = area * seq_mtco2e_sqkm, + stock_potential = area * stock_mtco2e_sqkm + ) %>% + dplyr::select(-c(seq_mtco2e_sqkm, stock_mtco2e_sqkm)) %>% + left_join( # this creates an empty grid of all desired year, land cover combinations + x = cprg_ctu_df %>% + crossing(year=seq(2001, 2021, by = 1), + land_cover_type = unique(land_cover_c$land_cover_type)), + y = ., by = join_by(ctu_name, ctu_class, county_name, state_name, year, land_cover_type) + ) %>% + mutate(source = ifelse(is.na(area), "est", "nlcd")) %>% + group_by(ctu_name, ctu_class, county_name, state_name, land_cover_type) %>% + arrange(year) %>% + mutate( + sequestration_potential2 = zoo::na.approx(sequestration_potential, na.rm = FALSE), + stock_potential2 = zoo::na.approx(stock_potential, na.rm = FALSE), + sequestration_potential3 = zoo::na.approx(sequestration_potential, na.rm = FALSE, maxgap = Inf, rule = 2), + stock_potential3 = zoo::na.approx(stock_potential, na.rm = FALSE, maxgap = Inf, rule = 2), + source = case_when( + source == "est" & !is.na(sequestration_potential2) ~ "interpolated", + source == "est" & !is.na(sequestration_potential3) ~ "extrapolated", + source == "nlcd" ~ "nlcd" + ), + sequestration_potential = sequestration_potential3, + stock_potential = stock_potential3 + ) %>% + dplyr::select(gnis, geoid_wis, ctu_name, ctu_class, county_name, state_name, + year, land_cover_type, area, sequestration_potential, stock_potential, source) %>% + arrange(year, ctu_name, land_cover_type) %>% + # Now that we've extrapolated sequestration/stock values despite having no area estimates, + # we need to calculate area based on the extrapolated sequestration. + left_join(., land_cover_c, by = join_by(land_cover_type)) %>% # grab your emissions factors + # when area estimates are unavailable, but sequestration totals are available, you can estimate area + mutate(area = ifelse(source != "nlcd", sequestration_potential / seq_mtco2e_sqkm, area)) %>% + dplyr::select(-c(seq_mtco2e_sqkm, stock_mtco2e_sqkm)) + + + + +nlcd_county_c_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "geoid", class(nlcd_county_c$geoid), "County GEOID", + "county_name", class(nlcd_county_c$county_name), "County name", + "state_name", class(nlcd_county_c$state_name), "State name", + "year", class(nlcd_county_c$year), "Year", + "land_cover_type", class(nlcd_county_c$land_cover_type), "Land cover type from National Land Cover Database. 'Urban_' indicates a natural area within NLCD designated developed land cover", + "area", class(nlcd_county_c$area), "Area of land cover in square kilometers. 'Urban_Tree' is scaled down by NLCD percent impervious", + "sequestration_potential", class(nlcd_county_c$sequestration_potential), "Carbon sequestration potential of county land cover type in metric tons of CO2e per year", + "stock_potential", class(nlcd_county_c$stock_potential), "Carbon stock potential of county land cover type in metric tons of CO2e", + "source", class(nlcd_county_c$source), "Data source indicates whether area estimates came directly from NLCD, or whether they were interpolated/extrapolated" + ) + +# User chooses whether to overwrite the rds files +if (overwrite_RDS) { + saveRDS(nlcd_county_c, paste0("./_nature/data/nlcd_county_landcover_sequestration_", head(sort(unique(nlcd_county_c$year)), 1), "_", tail(sort(unique(nlcd_county_c$year)), 1), ".rds")) + saveRDS(nlcd_county_c_meta, paste0("./_nature/data/nlcd_county_landcover_sequestration_", head(sort(unique(nlcd_county_c$year)), 1), "_", tail(sort(unique(nlcd_county_c$year)), 1), "_meta.rds")) +} + + + +nlcd_ctu_c_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "gnis", class(nlcd_ctu_c$gnis), "Minnesota geographic identifier", + "geoid_wis", class(nlcd_ctu_c$geoid_wis), "Wisconsin geographic identifier", + "ctu_name", class(nlcd_ctu_c$ctu_name), "City, township, unorganized territory, or village name", + "ctu_class", class(nlcd_ctu_c$ctu_class), "City class (City, township, unorganized territory, or village)", + "county_name", class(nlcd_ctu_c$county_name), "County name", + "state_name", class(nlcd_ctu_c$state_name), "State name", + "year", class(nlcd_ctu_c$year), "Year", + "land_cover_type", class(nlcd_ctu_c$land_cover_type), "Land cover type from National Land Cover Database. 'Urban_' indicates a natural area within NLCD designated developed land cover", + "area", class(nlcd_ctu_c$area), "Area of land cover in square kilometers. 'Urban_Tree' is scaled down by NLCD percent impervious", + "sequestration_potential", class(nlcd_ctu_c$sequestration_potential), "Carbon sequestration potential of county land cover type in metric tons of CO2e per year", + "stock_potential", class(nlcd_ctu_c$stock_potential), "Carbon stock potential of county land cover type in metric tons of CO2e", + "source", class(nlcd_ctu_c$source), "Data source indicates whether area estimates came directly from NLCD, or whether they were interpolated/extrapolated" + ) + +# User chooses whether to overwrite the rds files +if (overwrite_RDS) { + saveRDS(nlcd_ctu_c, paste0("./_nature/data/nlcd_ctu_landcover_sequestration_", head(sort(unique(nlcd_ctu_c$year)), 1), "_", tail(sort(unique(nlcd_ctu_c$year)), 1), ".rds")) + saveRDS(nlcd_ctu_c_meta, paste0("./_nature/data/nlcd_ctu_landcover_sequestration_", head(sort(unique(nlcd_ctu_c$year)), 1), "_", tail(sort(unique(nlcd_ctu_c$year)), 1), "_meta.rds")) +} + + + + +# nlcd_ctu_c %>% +# filter(ctu_name %in% c("Minneapolis", "Edina", "Saint Paul")) %>% +# ggplot() + theme_minimal() + +# geom_point(data=. %>% filter(source!= "nlcd"), +# mapping=aes(x=year,y=-sequestration_potential, fill=source, color=land_cover_type), shape=21) + +# scale_fill_manual(breaks=c("interpolated", "extrapolated"), values=c("white","gray70")) + +# ggnewscale::new_scale_fill() + +# geom_point(data=. %>% filter(source == "nlcd"), +# mapping=aes(x=year,y=-sequestration_potential, fill=land_cover_type, color=land_cover_type), shape=21) + +# facet_wrap(~ctu_name) + diff --git a/_nature/data-raw/nlcd_county_land_area_cover_calc.R b/_nature/data-raw/nlcd_county_land_area_cover_calc.R deleted file mode 100644 index d5d94410..00000000 --- a/_nature/data-raw/nlcd_county_land_area_cover_calc.R +++ /dev/null @@ -1,286 +0,0 @@ -source("R/_load_pkgs.R") -source("R/cprg_colors.R") - - - -# load the county boundaries layer -cprg_county <- readRDS("_meta/data/cprg_county.RDS") - -# convert the counties vector to a terra object -cprg_county <- terra::vect(cprg_county) - -# define CRS for using with other layers -crs_use <- terra::crs(cprg_county) - -# Create an empty dataframe to store the results -nlcd_county <- data.frame( - year = numeric(), - county = character(), - land_cover_type = character(), - area = numeric(), - stringsAsFactors = FALSE -) - -start_year <- 2001 -end_year <- 2021 - - -# Loop through all years of NLCD data and extract area estimates by land cover type and by county -lapply(start_year:end_year, function(year) { - # browser() - message(paste0("\nBeginning year: ", year, "\n")) - message(paste0(" 0% |____________________|")) - - - # Try to get the tree canopy cover layer - nlcd_tcc <- try(FedData::get_nlcd( # use FedData::get_nlcd() to load nlcd data - cprg_county, # area to sample over - "county", # label for current selection - year = year, # the current year - dataset = "canopy" # downloads tree canopy cover data only - ) %>% - terra::project(., crs_use), silent = TRUE) - - # Check if the tree canopy cover layer was successfully retrieved - tcc_available <- !inherits(nlcd_tcc, "try-error") - - message(paste0("10% |==__________________|")) - - # # Get the impervious surfaces layer - # nlcd_is <- try(FedData::get_nlcd( - # cprg_county, - # "county", - # year = year, - # dataset = "impervious" # downloads impervious surfaces data only - # ) %>% - # terra::project(., crs_use), silent = TRUE) - # - # # Check if the impervious surfaces layer was successfully retrieved - # if (inherits(nlcd_is, "try-error")) { - # # Move to the next year if the impervious surfaces layer is missing - # return(NULL) - # } - # message(paste0('20% |====________________|')) - - # Get the land cover type layer - nlcd_lc <- try(FedData::get_nlcd( - cprg_county, - "county", - year = year, - dataset = "landcover" # downloads land cover classification data only - ) %>% - terra::project(., crs_use), silent = TRUE) - - # Check if the land cover type layer was successfully retrieved - if (inherits(nlcd_lc, "try-error")) { - # Move to the next year if the land cover type layer is missing - message(paste0("\nSTOP! No land cover layers for ", year, ".\nMoving to next year...")) - return(NULL) - } - - - - if (tcc_available) { - message(paste0("30% |======______________| - Tree canopy data available for ", year)) - # Perform the necessary calculations for the current year - nlcd_lc_mask <- terra::mask(nlcd_lc, cprg_county) - nlcd_lc_area <- terra::mask(cellSize(nlcd_lc_mask, unit = "km"), cprg_county) - county_raster <- terra::rasterize(cprg_county, nlcd_lc_mask, field = "NAME") - - message(paste0("40% |========____________|")) - - nlcd_lc_values <- terra::extract(nlcd_lc, cprg_county) - # nlcd_is_values <- terra::extract(nlcd_is, cprg_county) - nlcd_tcc_values <- terra::extract(nlcd_tcc, cprg_county) - - message(paste0("50% |==========__________|")) - - # nlcd_is_values <- nlcd_is_values %>% - # modify_if(is.numeric, ~replace_na(., 0)) - - nlcd_tcc_values <- nlcd_tcc_values %>% - modify_if(is.numeric, ~ replace_na(., 0)) - - message(paste0("60% |============________|")) - - area_values <- terra::extract(nlcd_lc_area, cprg_county) - lc_values <- terra::extract(nlcd_lc_mask, cprg_county) - cty_values <- terra::extract(county_raster, cprg_county) - - message(paste0("70% |==============______|")) - - - lc_df <- as_tibble(data.frame( - county = cty_values[, 2], - nlcd_cover = nlcd_lc_values[, 2], - # impervious_cover = as.numeric(as.character(nlcd_is_values[, 2])), - tree_canopy_cover = as.numeric(as.character(nlcd_tcc_values[, 2])), - area = area_values[, 2] - )) - - message(paste0("80% |================____|")) - - - lc_rc <- lc_df %>% - mutate( - land_cover_type = case_when( - grepl("Developed, Open Space", nlcd_cover) & tree_canopy_cover == 0 ~ "Urban_Grassland", - grepl("Developed", nlcd_cover) & !grepl("Developed, Open Space", nlcd_cover) & tree_canopy_cover > 0 ~ "Urban_Tree", - grepl("Developed", nlcd_cover) & !grepl("Developed, Open Space", nlcd_cover) & tree_canopy_cover == 0 ~ "Built-up", - grepl("Deciduous Forest", nlcd_cover) ~ "Tree", - grepl("Evergreen Forest", nlcd_cover) ~ "Tree", - grepl("Mixed Forest", nlcd_cover) ~ "Tree", - grepl("Dwarf Scrub", nlcd_cover) ~ "Shrubland", - grepl("Shrub/Scrub", nlcd_cover) ~ "Shrubland", - grepl("Grassland/Herbaceous", nlcd_cover) ~ "Grassland", - grepl("Sedge/Herbaceous", nlcd_cover) ~ "Grassland", - grepl("Cultivated Crops", nlcd_cover) ~ "Cropland", - grepl("Pasture/Hay", nlcd_cover) ~ "Cropland", - grepl("Barren Land", nlcd_cover) ~ "Bare", - grepl("Perennial Ice/Snow", nlcd_cover) ~ "Snow", - grepl("Open Water", nlcd_cover) ~ "Water", - grepl("Woody Wetlands", nlcd_cover) ~ "Tree", ## Changed from "Wetland" - grepl("Emergent Herbaceous Wetlands", nlcd_cover) ~ "Wetland" - ) - ) %>% - mutate( - area_corrected = if_else(land_cover_type == "Urban_Tree", area * (tree_canopy_cover / 100), area) - ) - - - message(paste0("90% |==================__|")) - - lc_county <- lc_rc %>% - group_by(county, land_cover_type) %>% - summarize(area = sum(area_corrected), .groups = "keep") - - - # Add the results for the current year to the results dataframe - nlcd_county <<- rbind(nlcd_county, data.frame( - year = year, - county = lc_county$county, - land_cover_type = lc_county$land_cover_type, - area = lc_county$area, - stringsAsFactors = FALSE - )) - - message(paste0("100% |====================|")) - } else { - message(paste0("30% |======______________| - Tree canopy data NOT available for ", year)) - - # Perform the necessary calculations for the current year - nlcd_lc_mask <- terra::mask(nlcd_lc, cprg_county) - nlcd_lc_area <- terra::mask(cellSize(nlcd_lc_mask, unit = "km"), cprg_county) - county_raster <- terra::rasterize(cprg_county, nlcd_lc_mask, field = "NAME") - - message(paste0("40% |========____________|")) - - nlcd_lc_values <- terra::extract(nlcd_lc, cprg_county) - # nlcd_is_values <- terra::extract(nlcd_is, cprg_county) - # nlcd_tcc_values <- terra::extract(nlcd_tcc, cprg_county) - - message(paste0("50% |==========__________|")) - - # nlcd_is_values <- nlcd_is_values %>% - # modify_if(is.numeric, ~replace_na(., 0)) - - # nlcd_tcc_values <- nlcd_tcc_values %>% - # modify_if(is.numeric, ~replace_na(., 0)) - - message(paste0("60% |============________|")) - - area_values <- terra::extract(nlcd_lc_area, cprg_county) - lc_values <- terra::extract(nlcd_lc_mask, cprg_county) - cty_values <- terra::extract(county_raster, cprg_county) - - message(paste0("70% |==============______|")) - - # browser() - - lc_df <- as_tibble(data.frame( - county = cty_values[, 2], - nlcd_cover = nlcd_lc_values[, 2], - # impervious_cover = as.numeric(as.character(nlcd_is_values[, 2])), - tree_canopy_cover = as.numeric(NA), - area = area_values[, 2] - )) - - message(paste0("80% |================____|")) - - - lc_rc <- lc_df %>% - mutate( - land_cover_type = case_when( - # grepl("Developed, Open Space", nlcd_cover) & tree_canopy_cover == 0 ~ "Urban_Grassland", - # grepl("Developed", nlcd_cover) & !grepl("Developed, Open Space", nlcd_cover) & tree_canopy_cover > 0 ~ "Urban_Tree", - # grepl("Developed", nlcd_cover) & !grepl("Developed, Open Space", nlcd_cover) & tree_canopy_cover == 0 ~ "Built-up", - - grepl("Developed", nlcd_cover) ~ "Built-up", - grepl("Deciduous Forest", nlcd_cover) ~ "Tree", - grepl("Evergreen Forest", nlcd_cover) ~ "Tree", - grepl("Mixed Forest", nlcd_cover) ~ "Tree", - grepl("Dwarf Scrub", nlcd_cover) ~ "Shrubland", - grepl("Shrub/Scrub", nlcd_cover) ~ "Shrubland", - grepl("Grassland/Herbaceous", nlcd_cover) ~ "Grassland", - grepl("Sedge/Herbaceous", nlcd_cover) ~ "Grassland", - grepl("Cultivated Crops", nlcd_cover) ~ "Cropland", - grepl("Pasture/Hay", nlcd_cover) ~ "Cropland", - grepl("Barren Land", nlcd_cover) ~ "Bare", - grepl("Perennial Ice/Snow", nlcd_cover) ~ "Snow", - grepl("Open Water", nlcd_cover) ~ "Water", - grepl("Woody Wetlands", nlcd_cover) ~ "Tree", ## Changed from "Wetland" - grepl("Emergent Herbaceous Wetlands", nlcd_cover) ~ "Wetland" - ) - ) # %>% - # - # mutate( - # area_corrected = if_else(land_cover_type == "Urban_Tree", area * (tree_canopy_cover / 100), area) - # ) - - - message(paste0("90% |==================__|")) - - lc_county <- lc_rc %>% - group_by(county, land_cover_type) %>% - summarize(area = sum(area), .groups = "keep") - - # browser() - - - # Add the results for the current year to the results dataframe - nlcd_county <<- rbind(nlcd_county, data.frame( - year = year, - county = lc_county$county, - land_cover_type = lc_county$land_cover_type, - area = lc_county$area, - stringsAsFactors = FALSE - )) - - message(paste0("100% |====================|")) - } # end else -}) - - - -browser() -# create metadata -nlcd_county_meta <- - tibble::tribble( - ~"Column", ~"Class", ~"Description", - "year", class(nlcd_county$year), "Year", - "county ", class(nlcd_county$county), "County name", - "land_cover_type", class(nlcd_county$land_cover_type), "Land cover type from National Land Cover Database. 'Urban_' indicates a natural area within NLCD designated developed land cover", - "area", class(nlcd_county$area), "Area of land cover in square kilometers. 'Urban_Tree' is scaled based on the percentage of tree canopy cover within 'Developed' areas" - ) - -saveRDS(nlcd_county, paste0("./_nature/data/nlcd_county_landcover_", head(sort(unique(nlcd_county$year)), 1), "_", tail(sort(unique(nlcd_county$year)), 1), ".rds")) -saveRDS(nlcd_county_meta, paste0("./_nature/data/nlcd_county_landcover_", head(sort(unique(nlcd_county$year)), 1), "_", tail(sort(unique(nlcd_county$year)), 1), "_meta.rds")) - - - - - - - - -### LOOK INTO LAKE CARBON SEQUESTRATION diff --git a/_nature/data-raw/nlcd_county_land_area_cover_calc_v2.R b/_nature/data-raw/nlcd_county_land_area_cover_calc_v2.R new file mode 100644 index 00000000..c7228147 --- /dev/null +++ b/_nature/data-raw/nlcd_county_land_area_cover_calc_v2.R @@ -0,0 +1,444 @@ +rm(list=ls()) +source("R/_load_pkgs.R") +source("R/cprg_colors.R") + +overwrite_RDS <- FALSE + +nlcd.legend <- FedData::pal_nlcd() + + +# load the county and ctu boundaries layer +cprg_county <- readRDS("_meta/data/cprg_county.RDS") +cprg_ctu <- readRDS("_meta/data/cprg_ctu.RDS") + +# convert the counties and ctu vector to a terra object +cprg_county <- terra::vect(cprg_county) +cprg_ctu <- terra::vect(cprg_ctu) + +# define CRS for using with other layers +crs_use <- terra::crs(cprg_county) +cprg_ctu <- terra::project(cprg_ctu, crs_use) + + + + + + + +# Create an empty dataframe to store the results +nlcd_county <- data.frame( + year = numeric(), + county_name = character(), + state_name = character(), + land_cover_type = character(), + area = numeric(), + stringsAsFactors = FALSE +) + + +nlcd_ctu <- data.frame( + year = numeric(), + ctu_name = character(), + ctu_class = character(), + county_name = character(), + state_name = character(), + land_cover_type = character(), + area = numeric(), + stringsAsFactors = FALSE +) + + + + + +inpath_nlcd <- "./_nature/data-raw/nlcd_raw_imgs" + + +# List all files in the NLCD directory +nlcd_files_all <- list.files(inpath_nlcd, full.names = TRUE) + +# Grab only the .tiff file names that match the string "Land_Cover" +nlcd_lc_files <- nlcd_files_all[grep("Land_Cover", nlcd_files_all)] +# Grab only the .tiff file names that match the string "Land_Cover" +nlcd_tcc_files <- nlcd_files_all[grep("tcc", nlcd_files_all)] + + +get_year <- function(filename) { + year <- as.numeric(sub('.*_(\\d{4})_.*', '\\1', filename)) + return(year) +} + + +start_year <- 2001 +end_year <- 2021 + +# Loop through all years of NLCD data and extract area estimates by land cover type and by county +lapply(start_year:end_year, function(year) { + # browser() + message(paste0("\nBeginning year: ", year, "\n")) + message(paste0(" 0% |____________________|")) + + # browser() + # Test to see if the current year is in your list of lc files + if (year %in% get_year(nlcd_lc_files)) { + nlcd_lc <- terra::rast(nlcd_lc_files[get_year(nlcd_lc_files) %in% year]) + + nlcd_lc <- nlcd_lc %>% + # Reproject your data. Since the land cover dataset contains + # discrete land cover types, use method="near" for nearest neighbor estimation + terra::project(., crs_use, method = "near") %>% + # Crop the raster to county boundary + terra::crop(., cprg_county) %>% + # Mask the raster with county boundary + terra::mask(., cprg_county) + + } else { + # Move to the next year if the land cover type layer is missing + message(paste0("\nSTOP! No land cover layers for ", year, ".\nMoving to next year...")) + return(NULL) + } + + + + # Test to see if the current year is in your list of tcc files + if (year %in% get_year(nlcd_tcc_files)) { + # Indicate if the tree canopy cover layer was successfully retrieved + tcc_available <- TRUE + + nlcd_tcc <- terra::rast(nlcd_tcc_files[get_year(nlcd_tcc_files) %in% year]) + + nlcd_tcc <- nlcd_tcc %>% + terra::project(., crs_use) %>% + # Crop the raster to county boundary + terra::crop(., cprg_county) %>% + # Mask the raster with county boundary + terra::mask(., cprg_county) + + } else { + # Indicate if the tree canopy cover layer was successfully retrieved + tcc_available <- FALSE + } + + + + + if (tcc_available) { + message(paste0("30% |======______________| - Tree canopy data available for ", year)) + # Perform the necessary calculations for the current year + nlcd_lc_mask <- terra::mask(nlcd_lc, cprg_county) + nlcd_lc_area <- terra::mask(cellSize(nlcd_lc_mask, unit = "km"), cprg_county) + county_raster <- terra::rasterize(cprg_ctu, nlcd_lc_mask, field = "county_name") + ctu_raster <- terra::rasterize(cprg_ctu, nlcd_lc_mask, field = "ctu_name") + ctu_class_raster <- terra::rasterize(cprg_ctu, nlcd_lc_mask, field = "ctu_class") + + message(paste0("40% |========____________|")) + + nlcd_lc_values <- terra::extract(nlcd_lc, cprg_county) + # nlcd_is_values <- terra::extract(nlcd_is, cprg_county) + nlcd_tcc_values <- terra::extract(nlcd_tcc, cprg_county) + + message(paste0("50% |==========__________|")) + + # nlcd_is_values <- nlcd_is_values %>% + # modify_if(is.numeric, ~replace_na(., 0)) + + nlcd_tcc_values <- nlcd_tcc_values %>% + modify_if(is.numeric, ~ replace_na(., 0)) + + message(paste0("60% |============________|")) + + area_values <- terra::extract(nlcd_lc_area, cprg_county) + lc_values <- terra::extract(nlcd_lc_mask, cprg_county) + county_values <- terra::extract(county_raster, cprg_county) + ctu_values <- terra::extract(ctu_raster, cprg_county) + ctu_class_values <- terra::extract(ctu_class_raster, cprg_county) + + message(paste0("70% |==============______|")) + + # browser() + + lc_df <- as_tibble(data.frame( + county_name = county_values[, 2], + ctu_name = ctu_values[, 2], + ctu_class = ctu_class_values[, 2], + nlcd_cover = nlcd_lc_values[, 2], + # impervious_cover = as.numeric(as.character(nlcd_is_values[, 2])), + tree_canopy_cover = as.numeric(as.character(nlcd_tcc_values[, 2])), + area = area_values[, 2] + )) + + lc_df <- lc_df %>% + left_join(data.frame(cprg_ctu) %>% + dplyr::select(ctu_name, ctu_class, county_name, state_name, statefp, state_abb), + by = join_by(county_name, ctu_name, ctu_class)) + + + message(paste0("80% |================____|")) + + + + lc_rc <- lc_df %>% + left_join(nlcd.legend %>% + dplyr::select(ID, Class) %>% + rename(nlcd_cover = ID, + nlcd_cover_class = Class), by = "nlcd_cover") %>% + mutate( + land_cover_type = case_when( + grepl("Developed, Open Space", nlcd_cover_class) & tree_canopy_cover == 0 ~ "Urban_Grassland", + grepl("Developed", nlcd_cover_class) & !grepl("Developed, Open Space", nlcd_cover_class) & tree_canopy_cover > 0 ~ "Urban_Tree", + grepl("Developed", nlcd_cover_class) & !grepl("Developed, Open Space", nlcd_cover_class) & tree_canopy_cover == 0 ~ "Built-up", + grepl("Deciduous Forest", nlcd_cover_class) ~ "Tree", + grepl("Evergreen Forest", nlcd_cover_class) ~ "Tree", + grepl("Mixed Forest", nlcd_cover_class) ~ "Tree", + grepl("Dwarf Scrub", nlcd_cover_class) ~ "Shrubland", + grepl("Shrub/Scrub", nlcd_cover_class) ~ "Shrubland", + grepl("Grassland/Herbaceous", nlcd_cover_class) ~ "Grassland", + grepl("Sedge/Herbaceous", nlcd_cover_class) ~ "Grassland", + grepl("Cultivated Crops", nlcd_cover_class) ~ "Cropland", + grepl("Pasture/Hay", nlcd_cover_class) ~ "Cropland", + grepl("Barren Land", nlcd_cover_class) ~ "Bare", + grepl("Perennial Ice/Snow", nlcd_cover_class) ~ "Snow", + grepl("Open Water", nlcd_cover_class) ~ "Water", + grepl("Woody Wetlands", nlcd_cover_class) ~ "Tree", ## Changed from "Wetland" + grepl("Emergent Herbaceous Wetlands", nlcd_cover_class) ~ "Wetland" + ) + ) %>% + mutate( + area_corrected = if_else(land_cover_type == "Urban_Tree", area * (tree_canopy_cover / 100), area) + ) + + + message(paste0("90% |==================__|")) + + + lc_county <- lc_rc %>% + filter(!is.na(land_cover_type) & !is.na(county_name)) %>% + group_by(county_name, land_cover_type, state_name, statefp, state_abb) %>% + summarize(area = sum(area_corrected), .groups = "keep") %>% + mutate(year = year, .before=everything()) + + + lc_ctu <- lc_rc %>% + filter(!is.na(land_cover_type) & !is.na(ctu_name)) %>% + group_by(ctu_name, ctu_class, county_name, land_cover_type, state_name, statefp, state_abb) %>% + summarize(area = sum(area_corrected), .groups = "keep") %>% + mutate(year = year, .before=everything()) + + + + # Add the results for the current year to the results dataframe + nlcd_county <<- rbind(nlcd_county, data.frame( + year = lc_county$year, + county_name = lc_county$county_name, + state_name = lc_county$state_name, + land_cover_type = lc_county$land_cover_type, + area = lc_county$area, + stringsAsFactors = FALSE + )) + + + + # Add the results for the current year to the results dataframe + nlcd_ctu <<- rbind(nlcd_ctu, data.frame( + year = lc_ctu$year, + ctu_name = lc_ctu$ctu_name, + ctu_class = lc_ctu$ctu_class, + county_name = lc_ctu$county_name, + state_name = lc_ctu$state_name, + land_cover_type = lc_ctu$land_cover_type, + area = lc_ctu$area, + stringsAsFactors = FALSE + )) + + + message(paste0("100% |====================|")) + + } else { + + message(paste0("30% |======______________| - Tree canopy data NOT available for ", year)) + # Perform the necessary calculations for the current year + nlcd_lc_mask <- terra::mask(nlcd_lc, cprg_county) + nlcd_lc_area <- terra::mask(cellSize(nlcd_lc_mask, unit = "km"), cprg_county) + county_raster <- terra::rasterize(cprg_ctu, nlcd_lc_mask, field = "county_name") + ctu_raster <- terra::rasterize(cprg_ctu, nlcd_lc_mask, field = "ctu_name") + ctu_class_raster <- terra::rasterize(cprg_ctu, nlcd_lc_mask, field = "ctu_class") + + message(paste0("40% |========____________|")) + + nlcd_lc_values <- terra::extract(nlcd_lc, cprg_county) + # nlcd_is_values <- terra::extract(nlcd_is, cprg_county) + # nlcd_tcc_values <- terra::extract(nlcd_tcc, cprg_county) + + message(paste0("50% |==========__________|")) + + # nlcd_is_values <- nlcd_is_values %>% + # modify_if(is.numeric, ~replace_na(., 0)) + + # nlcd_tcc_values <- nlcd_tcc_values %>% + # modify_if(is.numeric, ~ replace_na(., 0)) + + message(paste0("60% |============________|")) + + area_values <- terra::extract(nlcd_lc_area, cprg_county) + lc_values <- terra::extract(nlcd_lc_mask, cprg_county) + county_values <- terra::extract(county_raster, cprg_county) + ctu_values <- terra::extract(ctu_raster, cprg_county) + ctu_class_values <- terra::extract(ctu_class_raster, cprg_county) + + message(paste0("70% |==============______|")) + + # browser() + + lc_df <- as_tibble(data.frame( + county_name = county_values[, 2], + ctu_name = ctu_values[, 2], + ctu_class = ctu_class_values[, 2], + nlcd_cover = nlcd_lc_values[, 2], + # impervious_cover = as.numeric(as.character(nlcd_is_values[, 2])), + tree_canopy_cover = as.numeric(NA), + area = area_values[, 2] + )) + + lc_df <- lc_df %>% + left_join(data.frame(cprg_ctu) %>% + dplyr::select(ctu_name, ctu_class, county_name, state_name, statefp, state_abb), + by = join_by(county_name, ctu_name, ctu_class)) + + message(paste0("80% |================____|")) + + # sort(unique(lc_df$nlcd_cover)) + lc_rc <- lc_df %>% + left_join(nlcd.legend %>% + dplyr::select(ID, Class) %>% + rename(nlcd_cover = ID, + nlcd_cover_class = Class), by = "nlcd_cover") %>% + mutate( + land_cover_type = case_when( + # grepl("Developed, Open Space", nlcd_cover_class) & tree_canopy_cover == 0 ~ "Urban_Grassland", + # grepl("Developed", nlcd_cover_class) & !grepl("Developed, Open Space", nlcd_cover_class) & tree_canopy_cover > 0 ~ "Urban_Tree", + # grepl("Developed", nlcd_cover_class) & !grepl("Developed, Open Space", nlcd_cover_class) & tree_canopy_cover == 0 ~ "Built-up", + grepl("Developed", nlcd_cover_class) ~ "Built-up", + + grepl("Deciduous Forest", nlcd_cover_class) ~ "Tree", + grepl("Evergreen Forest", nlcd_cover_class) ~ "Tree", + grepl("Mixed Forest", nlcd_cover_class) ~ "Tree", + grepl("Dwarf Scrub", nlcd_cover_class) ~ "Shrubland", + grepl("Shrub/Scrub", nlcd_cover_class) ~ "Shrubland", + grepl("Grassland/Herbaceous", nlcd_cover_class) ~ "Grassland", + grepl("Sedge/Herbaceous", nlcd_cover_class) ~ "Grassland", + grepl("Cultivated Crops", nlcd_cover_class) ~ "Cropland", + grepl("Pasture/Hay", nlcd_cover_class) ~ "Cropland", + grepl("Barren Land", nlcd_cover_class) ~ "Bare", + grepl("Perennial Ice/Snow", nlcd_cover_class) ~ "Snow", + grepl("Open Water", nlcd_cover_class) ~ "Water", + grepl("Woody Wetlands", nlcd_cover_class) ~ "Tree", ## Changed from "Wetland" + grepl("Emergent Herbaceous Wetlands", nlcd_cover_class) ~ "Wetland" + ) + ) #%>% + # mutate( + # area_corrected = if_else(land_cover_type == "Urban_Tree", area * (tree_canopy_cover / 100), area) + # ) + + + message(paste0("90% |==================__|")) + + + lc_county <- lc_rc %>% + filter(!is.na(land_cover_type) & !is.na(county_name)) %>% + group_by(county_name, land_cover_type, state_name, statefp, state_abb) %>% + summarize(area = sum(area), .groups = "keep") %>% + mutate(year = year, .before=everything()) + + + lc_ctu <- lc_rc %>% + filter(!is.na(land_cover_type) & !is.na(ctu_name)) %>% + group_by(ctu_name, ctu_class, county_name, land_cover_type, state_name, statefp, state_abb) %>% + summarize(area = sum(area), .groups = "keep") %>% + mutate(year = year, .before=everything()) + + + + # Add the results for the current year to the results dataframe + nlcd_county <<- rbind(nlcd_county, data.frame( + year = lc_county$year, + county_name = lc_county$county_name, + state_name = lc_county$state_name, + land_cover_type = lc_county$land_cover_type, + area = lc_county$area, + stringsAsFactors = FALSE + )) + + + + # Add the results for the current year to the results dataframe + nlcd_ctu <<- rbind(nlcd_ctu, data.frame( + year = lc_ctu$year, + ctu_name = lc_ctu$ctu_name, + ctu_class = lc_ctu$ctu_class, + county_name = lc_ctu$county_name, + state_name = lc_ctu$state_name, + land_cover_type = lc_ctu$land_cover_type, + area = lc_ctu$area, + stringsAsFactors = FALSE + )) + + message(paste0("100% |====================|")) + } # end else + + +}) + +browser() + +# create metadata +nlcd_county_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "year", class(nlcd_county$year), "Year", + "county_name", class(nlcd_county$county_name), "County name", + "state_name", class(nlcd_county$state_name), "State name", + "land_cover_type", class(nlcd_county$land_cover_type), "Land cover type from National Land Cover Database. 'Urban_' indicates a natural area within NLCD designated developed land cover", + "area", class(nlcd_county$area), "Area of land cover in square kilometers. 'Urban_Tree' is scaled based on the percentage of tree canopy cover within 'Developed' areas" + ) + +nlcd_ctu_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "year", class(nlcd_ctu$year), "Year", + "ctu_name", class(nlcd_ctu$ctu_name), "CTU name", + "ctu_class", class(nlcd_ctu$county_name), "CTU class", + "county_name ", class(nlcd_ctu$county_name), "County name", + "state_name ", class(nlcd_ctu$state_name), "State name", + "land_cover_type", class(nlcd_ctu$land_cover_type), "Land cover type from National Land Cover Database. 'Urban_' indicates a natural area within NLCD designated developed land cover", + "area", class(nlcd_ctu$area), "Area of land cover in square kilometers. 'Urban_Tree' is scaled based on the percentage of tree canopy cover within 'Developed' areas" + ) + + + + +# User chooses whether to overwrite the rds files +if (overwrite_RDS) { + saveRDS(nlcd_county, paste0("./_nature/data/nlcd_county_landcover_", head(sort(unique(nlcd_county$year)), 1), "_", tail(sort(unique(nlcd_county$year)), 1), "_v2.rds")) + saveRDS(nlcd_county_meta, paste0("./_nature/data/nlcd_county_landcover_", head(sort(unique(nlcd_county$year)), 1), "_", tail(sort(unique(nlcd_county$year)), 1), "_v2_meta.rds")) + + saveRDS(nlcd_ctu, paste0("./_nature/data/nlcd_ctu_landcover_", head(sort(unique(nlcd_ctu$year)), 1), "_", tail(sort(unique(nlcd_ctu$year)), 1), "_v2.rds")) + saveRDS(nlcd_ctu_meta, paste0("./_nature/data/nlcd_ctu_landcover_", head(sort(unique(nlcd_ctu$year)), 1), "_", tail(sort(unique(nlcd_ctu$year)), 1), "_v2_meta.rds")) +} + + + + +# nlcd_county %>% filter(year==2019 & county_name == "Anoka") +# +# +# nlcd_county %>% +# left_join( +# nlcd_county_landcover_2001_2021 %>% +# rename(area2=area, +# county_name=county) +# ) %>% +# ggplot() + +# theme_minimal() + +# geom_point(aes(x=area,y=area2,color=land_cover_type)) + +# facet_wrap(~county_name) + diff --git a/_nature/data/land_cover_carbon.rds b/_nature/data/land_cover_carbon.rds index 1768dc7d..d7d8861e 100644 Binary files a/_nature/data/land_cover_carbon.rds and b/_nature/data/land_cover_carbon.rds differ diff --git a/_nature/data/land_cover_carbon_meta.rds b/_nature/data/land_cover_carbon_meta.rds index 33b8b09b..bb6eec7e 100644 Binary files a/_nature/data/land_cover_carbon_meta.rds and b/_nature/data/land_cover_carbon_meta.rds differ diff --git a/_nature/data/nlcd_county_landcover_2001_2021.rds b/_nature/data/nlcd_county_landcover_2001_2021.rds index 04f12ccb..41b23f6e 100644 Binary files a/_nature/data/nlcd_county_landcover_2001_2021.rds and b/_nature/data/nlcd_county_landcover_2001_2021.rds differ diff --git a/_nature/data/nlcd_county_landcover_2001_2021_meta.rds b/_nature/data/nlcd_county_landcover_2001_2021_meta.rds index d73f301f..45981a09 100644 Binary files a/_nature/data/nlcd_county_landcover_2001_2021_meta.rds and b/_nature/data/nlcd_county_landcover_2001_2021_meta.rds differ diff --git a/_nature/data/nlcd_county_landcover_2001_2021_v2.rds b/_nature/data/nlcd_county_landcover_2001_2021_v2.rds new file mode 100644 index 00000000..e929bb5a Binary files /dev/null and b/_nature/data/nlcd_county_landcover_2001_2021_v2.rds differ diff --git a/_nature/data/nlcd_county_landcover_2001_2021_v2_meta.rds b/_nature/data/nlcd_county_landcover_2001_2021_v2_meta.rds new file mode 100644 index 00000000..640d5a3f Binary files /dev/null and b/_nature/data/nlcd_county_landcover_2001_2021_v2_meta.rds differ diff --git a/_nature/data/nlcd_county_landcover_sequestration_2001_2021.rds b/_nature/data/nlcd_county_landcover_sequestration_2001_2021.rds index 91c5e412..6e445adb 100644 Binary files a/_nature/data/nlcd_county_landcover_sequestration_2001_2021.rds and b/_nature/data/nlcd_county_landcover_sequestration_2001_2021.rds differ diff --git a/_nature/data/nlcd_county_landcover_sequestration_2001_2021_meta.rds b/_nature/data/nlcd_county_landcover_sequestration_2001_2021_meta.rds index 54d296eb..a2b6ffb6 100644 Binary files a/_nature/data/nlcd_county_landcover_sequestration_2001_2021_meta.rds and b/_nature/data/nlcd_county_landcover_sequestration_2001_2021_meta.rds differ diff --git a/_nature/data/nlcd_county_landcover_sequestration_2001_2021_meta_v2.rds b/_nature/data/nlcd_county_landcover_sequestration_2001_2021_meta_v2.rds new file mode 100644 index 00000000..4362cc48 Binary files /dev/null and b/_nature/data/nlcd_county_landcover_sequestration_2001_2021_meta_v2.rds differ diff --git a/_nature/data/nlcd_county_landcover_sequestration_2001_2021_v2.rds b/_nature/data/nlcd_county_landcover_sequestration_2001_2021_v2.rds new file mode 100644 index 00000000..e730b756 Binary files /dev/null and b/_nature/data/nlcd_county_landcover_sequestration_2001_2021_v2.rds differ diff --git a/_nature/data/nlcd_ctu_landcover_2001_2021.rds b/_nature/data/nlcd_ctu_landcover_2001_2021.rds new file mode 100644 index 00000000..8abac4e3 Binary files /dev/null and b/_nature/data/nlcd_ctu_landcover_2001_2021.rds differ diff --git a/_nature/data/nlcd_ctu_landcover_2001_2021_meta.rds b/_nature/data/nlcd_ctu_landcover_2001_2021_meta.rds new file mode 100644 index 00000000..4cc888a6 Binary files /dev/null and b/_nature/data/nlcd_ctu_landcover_2001_2021_meta.rds differ diff --git a/_nature/data/nlcd_ctu_landcover_2001_2021_v2.rds b/_nature/data/nlcd_ctu_landcover_2001_2021_v2.rds new file mode 100644 index 00000000..ce7fd704 Binary files /dev/null and b/_nature/data/nlcd_ctu_landcover_2001_2021_v2.rds differ diff --git a/_nature/data/nlcd_ctu_landcover_2001_2021_v2_meta.rds b/_nature/data/nlcd_ctu_landcover_2001_2021_v2_meta.rds new file mode 100644 index 00000000..73a98c03 Binary files /dev/null and b/_nature/data/nlcd_ctu_landcover_2001_2021_v2_meta.rds differ diff --git a/_nature/data/nlcd_ctu_landcover_sequestration_2001_2021.rds b/_nature/data/nlcd_ctu_landcover_sequestration_2001_2021.rds new file mode 100644 index 00000000..607c6f6c Binary files /dev/null and b/_nature/data/nlcd_ctu_landcover_sequestration_2001_2021.rds differ diff --git a/_nature/data/nlcd_ctu_landcover_sequestration_2001_2021_meta.rds b/_nature/data/nlcd_ctu_landcover_sequestration_2001_2021_meta.rds new file mode 100644 index 00000000..d86c3315 Binary files /dev/null and b/_nature/data/nlcd_ctu_landcover_sequestration_2001_2021_meta.rds differ diff --git a/_nature/data/nlcd_ctu_landcover_sequestration_2001_2021_meta_v2.rds b/_nature/data/nlcd_ctu_landcover_sequestration_2001_2021_meta_v2.rds new file mode 100644 index 00000000..b3050a94 Binary files /dev/null and b/_nature/data/nlcd_ctu_landcover_sequestration_2001_2021_meta_v2.rds differ diff --git a/_nature/data/nlcd_ctu_landcover_sequestration_2001_2021_v2.rds b/_nature/data/nlcd_ctu_landcover_sequestration_2001_2021_v2.rds new file mode 100644 index 00000000..b5207966 Binary files /dev/null and b/_nature/data/nlcd_ctu_landcover_sequestration_2001_2021_v2.rds differ diff --git a/_nature/nlcd_county_land_cover_sequestration_ns_v2.R b/_nature/nlcd_county_land_cover_sequestration_ns_v2.R new file mode 100644 index 00000000..10f92436 --- /dev/null +++ b/_nature/nlcd_county_land_cover_sequestration_ns_v2.R @@ -0,0 +1,185 @@ +# rm(list=ls()) +source("R/_load_pkgs.R") + +overwrite_RDS <- TRUE + + + +nlcd_county <- readRDS("./_nature/data/nlcd_county_landcover_2001_2021_v2.rds") +nlcd_ctu <- readRDS("./_nature/data/nlcd_ctu_landcover_2001_2021_v2.rds") + +land_cover_c <- readRDS("./_nature/data/land_cover_carbon.rds") + +cprg_county <- readRDS("_meta/data/cprg_county.RDS") %>% as.data.frame() %>% as_tibble() +cprg_ctu <- readRDS("_meta/data/cprg_ctu.RDS") %>% as.data.frame() %>% as_tibble() + + +# nlcd_county countains the area of each land cover type in each county for each year +# For some counties, there may not be a particular land cover type in a given year. +# Let's modify nlcd_county at this stage to include every combination of year, county, and land cover type, +# but assign NA to area where the land cover type is not present in the county for that year. +nlcd_county_rc <- nlcd_county %>% + as_tibble() %>% + dplyr::select(-state_name) %>% + left_join( # this creates an empty grid of all desired year, land_cover_type combinations + x = expand.grid( + year = seq(2001, 2021, by = 1), + county_name = unique(nlcd_county$county_name) %>% sort(), + land_cover_type = unique(nlcd_county$land_cover_type) + ), + y = ., by = join_by(year, county_name, land_cover_type) + ) %>% + mutate(source = ifelse(is.na(area), "est", "nlcd")) %>% #filter(land_cover_type == "Urban_Tree") + group_by(county_name, land_cover_type) %>% + arrange(county_name, land_cover_type, year) %>% + mutate( + area2 = zoo::na.approx(area, na.rm = FALSE), + area3 = zoo::na.approx(area, na.rm = FALSE, maxgap = Inf, rule = 2), + source = case_when( + source == "est" & !is.na(area2) ~ "interpolated", + source == "est" & !is.na(area3) ~ "extrapolated", + source == "nlcd" ~ "nlcd" + ), + area = case_when( + source == "nlcd" ~ area, + source == "interpolated" ~ area2, + source == "extrapolated" ~ area3 + ) + ) %>% + dplyr::select(year, county_name, land_cover_type, area, source) %>% + arrange(county_name, land_cover_type, year) %>% + left_join(cprg_county, by = join_by(county_name)) + + + +# User chooses whether to overwrite the rds files +if (overwrite_RDS) { + saveRDS(nlcd_county_rc, paste0("./_nature/data/nlcd_county_landcover_", head(sort(unique(nlcd_county_rc$year)), 1), "_", tail(sort(unique(nlcd_county_rc$year)), 1), "_v2.rds")) +} + + + +# Compute C sequestration and stock potential for natural systems sectors +nlcd_county_c <- nlcd_county_rc %>% + left_join(., land_cover_c, by = join_by(land_cover_type)) %>% + filter(seq_mtco2e_sqkm < 0) %>% + mutate( + sequestration_potential = area * seq_mtco2e_sqkm, + stock_potential = area * stock_mtco2e_sqkm + ) %>% + dplyr::select(-c(seq_mtco2e_sqkm, stock_mtco2e_sqkm)) %>% + dplyr::select(year, county_name, state_name, land_cover_type, area, sequestration_potential, stock_potential, source) %>% + arrange(year, county_name, land_cover_type) + + +nlcd_county_c_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "year", class(nlcd_county_c$year), "Year", + "county_name ", class(nlcd_county_c$county_name), "County name", + "state_name ", class(nlcd_county_c$state_name), "State name", + "land_cover_type", class(nlcd_county_c$land_cover_type), "Land cover type from World Cover. 'Urban_' indicates a natural area within NLCD designated developed land cover", + "area", class(nlcd_county_c$area), "Area of land cover in square kilometers. 'Urban_Tree' is scaled down by NLCD percent impervious", + "sequestration_potential", class(nlcd_county_c$sequestration_potential), "Carbon sequestration potential of county land cover type in metric tons of CO2e per year", + "stock_potential", class(nlcd_county_c$stock_potential), "Carbon stock potential of county land cover type in metric tons of CO2e", + "source", class(nlcd_county_c$source), "Data source indicates whether area estimates came directly from NLCD, or whether they were interpolated/extrapolated" + ) + +saveRDS(nlcd_county_c, paste0("./_nature/data/nlcd_county_landcover_sequestration_", head(sort(unique(nlcd_county_c$year)), 1), "_", tail(sort(unique(nlcd_county_c$year)), 1), "_v2.rds")) +saveRDS(nlcd_county_c_meta, paste0("./_nature/data/nlcd_county_landcover_sequestration_", head(sort(unique(nlcd_county_c$year)), 1), "_", tail(sort(unique(nlcd_county_c$year)), 1), "_meta_v2.rds")) + + + + + + + + +nlcd_ctu_rc <- nlcd_ctu %>% + as_tibble() %>% + mutate(tmp1 = paste(ctu_name, ctu_class, county_name, state_name, sep="_")) %>% + dplyr::select(year, land_cover_type, area, tmp1) %>% + + left_join( # this creates an empty grid of all desired year, land_cover_type combinations + x = expand.grid( + year = seq(2001, 2021, by = 1), + tmp1 = cprg_ctu %>% + dplyr::select(ctu_name, ctu_class, county_name, state_name) %>% + # create a new column that concatenates the ctu_name, ctu_class, county_name, and state_name + mutate(tmp1 = paste(ctu_name, ctu_class, county_name, state_name, sep="_")) %>% + pull(tmp1), + land_cover_type = unique(nlcd_ctu$land_cover_type) + ), + y = ., by = join_by(year, land_cover_type, tmp1) + ) %>% + mutate(source = ifelse(is.na(area), "est", "nlcd")) %>% #filter(land_cover_type == "Urban_Tree") + group_by(tmp1, land_cover_type) %>% + arrange(tmp1, land_cover_type, year) %>% + mutate( + area2 = zoo::na.approx(area, na.rm = FALSE), + area3 = zoo::na.approx(area, na.rm = FALSE, maxgap = Inf, rule = 2), + source = case_when( + source == "est" & !is.na(area2) ~ "interpolated", + source == "est" & !is.na(area3) ~ "extrapolated", + source == "nlcd" ~ "nlcd" + ), + area = case_when( + source == "nlcd" ~ area, + source == "interpolated" ~ area2, + source == "extrapolated" ~ area3 + ) + ) %>% + dplyr::select(year, tmp1, land_cover_type, area, source) %>% + # Let's take the tmp1 column and split it into its constituent parts + separate(tmp1, c("ctu_name", "ctu_class", "county_name", "state_name"), sep = "_") %>% + + arrange(ctu_name, land_cover_type, year) %>% + left_join(cprg_ctu, by = join_by(ctu_name, ctu_class, county_name, state_name)) + + + + + + +# User chooses whether to overwrite the rds files +if (overwrite_RDS) { + saveRDS(nlcd_ctu_rc, paste0("./_nature/data/nlcd_ctu_landcover_", head(sort(unique(nlcd_ctu_rc$year)), 1), "_", tail(sort(unique(nlcd_ctu_rc$year)), 1), "_v2.rds")) +} + + + +# Compute C sequestration and stock potential for natural systems sectors +nlcd_ctu_c <- nlcd_ctu_rc %>% + left_join(., land_cover_c, by = join_by(land_cover_type)) %>% + filter(seq_mtco2e_sqkm < 0) %>% + mutate( + sequestration_potential = area * seq_mtco2e_sqkm, + stock_potential = area * stock_mtco2e_sqkm + ) %>% + dplyr::select(-c(seq_mtco2e_sqkm, stock_mtco2e_sqkm)) %>% + dplyr::select(year, ctu_name, ctu_class, county_name, state_name, land_cover_type, + area, sequestration_potential, stock_potential, source) %>% + arrange(year, ctu_name, land_cover_type) + + +nlcd_ctu_c_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "year", class(nlcd_county_c$year), "Year", + "ctu_name", class(nlcd_ctu$ctu_name), "CTU name", + "ctu_class", class(nlcd_ctu$county_name), "CTU class", + "county_name ", class(nlcd_county_c$county_name), "County name", + "state_name ", class(nlcd_county_c$state_name), "State name", + "land_cover_type", class(nlcd_county_c$land_cover_type), "Land cover type from World Cover. 'Urban_' indicates a natural area within NLCD designated developed land cover", + "area", class(nlcd_county_c$area), "Area of land cover in square kilometers. 'Urban_Tree' is scaled down by NLCD percent impervious", + "sequestration_potential", class(nlcd_county_c$sequestration_potential), "Carbon sequestration potential of county land cover type in metric tons of CO2e per year", + "stock_potential", class(nlcd_county_c$stock_potential), "Carbon stock potential of county land cover type in metric tons of CO2e", + "source", class(nlcd_county_c$source), "Data source indicates whether area estimates came directly from NLCD, or whether they were interpolated/extrapolated" + ) + + + +saveRDS(nlcd_ctu_c, paste0("./_nature/data/nlcd_ctu_landcover_sequestration_", head(sort(unique(nlcd_ctu_c$year)), 1), "_", tail(sort(unique(nlcd_ctu_c$year)), 1), "_v2.rds")) +saveRDS(nlcd_ctu_c_meta, paste0("./_nature/data/nlcd_ctu_landcover_sequestration_", head(sort(unique(nlcd_ctu_c$year)), 1), "_", tail(sort(unique(nlcd_ctu_c$year)), 1), "_meta_v2.rds")) + + diff --git a/_waste/_waste.qmd b/_waste/_waste.qmd index 1d4f3305..1fb9c9ad 100644 --- a/_waste/_waste.qmd +++ b/_waste/_waste.qmd @@ -17,14 +17,16 @@ source(file.path(here::here(), "R/_quarto_helpers.R")) source(file.path(here::here(), "R/_load_pkgs.R")) source(file.path(here::here(), "R/_plotting_helpers.R")) cprg_population <- readRDS(file.path(here::here(), "_meta/data/cprg_population.RDS")) -epa_waste_inventory <- readRDS(file.path(here::here(), "_waste/data-raw/epa_solidwaste_inventory.RDS")) +epa_waste_inventory <- readRDS(file.path(here::here(), "_waste/data-raw/compare_epa_inventory.RDS")) federal_totals <- epa_waste_inventory %>% filter(source == "Total") %>% select( - geog_name, + geoid, + inventory_year, source, - emissions_metric_tons_co2e, + value_emissions, + units_emissions, data_source ) @@ -56,23 +58,11 @@ hookaddcap() ## Introduction -In 2021, waste activities over the entire United States generated emissions of 169.2 MMTCO~2~e, or 2.7 percent of total U.S. greenhouse gas emissions [@usepaInventoryGreenhouseGas2023]. Solid waste emissions primarily consist of CH~4~, emitted in large part by landfills and organics composting, but also include CO~2~ and N~2~O generation. In the metropolitan area, waste incineration accounts for a significant portion of solid waste management and therefore emissions. This inventory also includes emissions generated in the management of recyclables. +In 2021, waste activities over the entire United States generated emissions of 169.2 MMTCO~2~e, or 2.7 percent of total U.S. greenhouse gas emissions [@usepaInventoryGreenhouseGas2023]. Solid waste emissions primarily consist of CH~4~, emitted in large part by landfills and organics composting, but also include CO~2~ and N~2~O generation. In the metropolitan area, waste incineration accounts for a significant portion of solid waste management and therefore emissions. Wastewater emissions account for direct CH~4~ and N~2~O emissions from the treatment of municipal wastewater, and not additional indirect anthropogenic emissions such as the electricity needed to operate processing plants. -## Methods {#sec-waste-methods} -### Solid Waste - -The process for calculating solid waste emissions slightly differs between Minnesota and Wisconsin counties, due to a difference in data availability. Both state's use state or federal data sources, the highest quality data rank (@tbl-quality-rank). - -For Minnesota counties, waste generation totals are allocated by sector from Minnesota Pollution Control Agency (MPCA) SCORE data [@mpcaMPCASCOREGuidebook2022]. Totals for each sector are multiplied by the appropriate EPA-provided emissions factor to provide an estimate of emissions from that source and county. Learn more about MPCA SCORE in @sec-mpca-score. - -For Wisconsin counties, state-level emissions data as calculated by the Wisconsin DNR is allocated to the relevant counties by population [@wisconsindnrGreenhouseGas2021]. - -The emissions for each county $c$ are proportional to its fractional share of Wisconsin's population. - -$$Emissions_c = Emissions_{total} \times \frac{Pop_c}{Pop_{total}}$$ ### Wastewater @@ -293,7 +283,7 @@ solidwaste_totals <- county_emissions %>% ) solidwaste_population <- left_join(solidwaste_totals, cprg_population, - by = c("geog_name" = "NAME") + by = c("geog_name" = "county_name") ) fig_emissions_population_solidwaste <- plot_ly( @@ -384,16 +374,25 @@ metc_solidwaste_inventory <- county_emissions %>% filter(sector == "Waste") %>% mutate( data_source = "Met Council", - year = as.character(year) + inventory_year = as.character(year), + geoid = case_when( + geog_name %in% c("Pierce", "St. Croix") ~ paste0("55", geog_id), + .default = paste0("27", geog_id) + ), + value_emissions = emissions_metric_tons_co2e, + units_emissions = "Tonnes CO2e" ) %>% - select(names(epa_waste_inventory)) + select( + names(epa_waste_inventory) + ) metc_epa_comp_solid <- epa_waste_inventory %>% filter(source != "Total") %>% bind_rows(metc_solidwaste_inventory) %>% mutate( source_unified = case_when( - # source == "Anaerobic digestion" ~ "Waste to energy", + # source == "Anaerobic digestion" ~ "Organics", + source == "Compost" ~ "Organics", TRUE ~ source ) ) %>% @@ -402,7 +401,7 @@ metc_epa_comp_solid <- epa_waste_inventory %>% wide_metc_epa_comp_solid <- metc_epa_comp_solid %>% pivot_wider( names_from = data_source, - values_from = emissions_metric_tons_co2e + values_from = value_emissions ) %>% filter( !is.na(`Met Council`), @@ -420,18 +419,18 @@ plot_waste_comparison <- function(waste_source, filter( source_unified == waste_source ), - y = ~geog_name, - x = ~emissions_metric_tons_co2e, + y = ~geoid, + x = ~value_emissions, color = ~data_source, colors = c( "Met Council" = colors$councilBlue, "US GHG Inventory" = cprg_colors$cprg_da_yellow ), hovertemplate = ~ paste0( - geog_name, " County", "
", + geoid, " County", "
", data_source, "
", source_unified, "
", - round(emissions_metric_tons_co2e * 1e-3, digits = 0), " thousand metric tons CO2e", "
", + round(value_emissions * 1e-3, digits = 0), " thousand metric tons CO2e", "
", "" ), marker = list(size = 18), @@ -443,8 +442,8 @@ plot_waste_comparison <- function(waste_source, name = "Difference line", data = wide_metc_epa_comp_solid %>% filter(source_unified == waste_source), - y = ~geog_name, - yend = ~geog_name, + y = ~geoid, + yend = ~geoid, x = ~`US GHG Inventory`, xend = ~`Met Council`, showlegend = FALSE, diff --git a/_waste/data-raw/00_runall_waste.R b/_waste/data-raw/00_runall_waste.R new file mode 100644 index 00000000..1af23bf0 --- /dev/null +++ b/_waste/data-raw/00_runall_waste.R @@ -0,0 +1,39 @@ +# wastewater ---- + +source("_waste/data-raw/wastewater/epa_state_wastewater.R") +# source("_waste/data-raw/wastewater/metc_wastewater.R") +# source("_waste/data-raw/wastewater/_wastewater.R") + + +# solid waste ---- + +# 2021 ---- +# source("_waste/data-raw/solid_waste/archive_compile_solid_waste_mn_2021.R") +# source("_waste/data-raw/solid_waste/archive_compile_solid_waste_2021.R") + +# 2005-2021 ---- + +## MN ---- +### source data ---- +source("_waste/data-raw/solid_waste/01_mpca_score_allyrs.R") # MPCA SCORE activity data +# RDS lives in data-raw +source("_waste/data-raw/solid_waste/01_mpca_waste_characterization.R") # MPCA waste composition data (2013) +# RDS lives in data-raw +# ignore warning +source("_waste/data-raw/solid_waste/01_epa_mn_methane_recovery.R") # EPA methane recovery data (not used) +# RDS lives in data-raw + +### emissions calculations ---- +source("_waste/data-raw/solid_waste/02_compile_landfill_MN_allyrs.R") +source("_waste/data-raw/solid_waste/02_compile_organics_MN_allyrs.R") +source("_waste/data-raw/solid_waste/02_compile_incineration_MN_allyrs.R") + +### combine emissions ---- +source("_waste/data-raw/solid_waste/03_compile_solid_waste_MN_allyrs.R") +# create solid_waste_MN_by_gas.RDS and solid_waste_MN_allyrs.RDS + +## WI ---- +source("_waste/data-raw/solid_waste/03_compile_solid_waste_WI_allyrs.R") + +## MN and WI combined ---- +source("_waste/data-raw/solid_waste/04_compile_final_solid_waste_allyrs.R") diff --git a/_waste/data-raw/2021_combine_waste_data.R b/_waste/data-raw/2021_combine_waste_data.R deleted file mode 100644 index d66ab991..00000000 --- a/_waste/data-raw/2021_combine_waste_data.R +++ /dev/null @@ -1,58 +0,0 @@ -source("R/_load_pkgs.R") -mn_emissions <- readRDS(file.path(here::here(), "_waste/data/mn_emissions.RDS")) -wi_emissions <- readRDS(file.path(here::here(), "_waste/data/wi_emissions.RDS")) - -# cleaning emissions data: make sure each has county, year, emissions, source -mn_cleaned <- mn_emissions %>% - mutate( - source = case_when( - Method == "Landfill" ~ "Landfill", - Method == "Onsite" ~ "Landfill", - Method == "WTE" ~ "Waste to energy", - Method == "Organics" ~ "Organics", - Method == "Recycling" ~ "Recycling" - ) - ) %>% - group_by(County, source) %>% - mutate( - sectorized_emissions = sum(emissions_metric_tons_co2e), - data_source = "MPCA SCORE" - ) %>% - select( - county = County, - year = Year, - emissions_metric_tons_co2e = sectorized_emissions, - source, - data_source - ) %>% - distinct(.keep_all = TRUE) - -wi_cleaned <- wi_emissions %>% - mutate( - source = "Landfill", - year = 2021, - data_source = "Wisconsin DNR" - ) %>% - select( - county = NAME, - emissions_metric_tons_co2e, - source, - year, - data_source - ) - -# combine data -emissions_total <- mn_cleaned %>% - bind_rows(wi_cleaned) - -emissions_total_meta <- tribble( - ~Column, ~Class, ~Description, - "county", class(emissions_total$county), "County of waste origin", - "year", class(emissions_total$year), "Year for which emissions were calculated", - "emissions_metric_tons_co2e", class(emissions_total$emissions_metric_tons_co2e), - "Emissions estimate in metric tons co2e", - "source", class(emissions_total$source), "Waste processing method (Landfill, Recycling, Organics)" -) - -saveRDS(emissions_total, file.path(here::here(), "_waste/data/county_sw_emissions.RDS")) -saveRDS(emissions_total_meta, file.path(here::here(), "_waste/data/county_sw_emissions_meta.RDS")) diff --git a/_waste/data-raw/2021_mpca_score.R b/_waste/data-raw/2021_mpca_score.R deleted file mode 100644 index 75ccec24..00000000 --- a/_waste/data-raw/2021_mpca_score.R +++ /dev/null @@ -1,94 +0,0 @@ -# Import and clean MPCA waste allocation data -source("R/_load_pkgs.R") -cprg_county <- readRDS("_meta/data/cprg_county.RDS") -## MPCA SCORE ---- -# Summary data collected from https://public.tableau.com/app/profile/mpca.data.services/viz/SCOREOverview/1991-2021SCORE - -score_summary <- read_csv(file.path(here::here(), "_waste/data-raw/score_summary.csv")) - -# to do: replace mn_counties with general-use list - -# filter to only counties in 9-county MN region, for the year 2021 - -score_filtered_2021 <- score_summary %>% - filter( - County %in% cprg_county$NAME, - Year == "2021" - ) %>% - select( - County, - "Management Category" = "Mangement Method", - Method, - Year, - Tons - ) - -# add score metadata -mpca_score_2021_meta <- tribble( - ~Column, ~Class, ~Description, - "County", class(score_filtered_2021$County), "MN county of waste origin", - "Management Category", class(score_filtered_2021$`Management Category`), "Waste category - (either M__ Municipal Solid Waste or Combined Recycling and Organics)", - "Method", class(score_filtered_2021$Method), "Waste disposal method", - "Year", class(score_filtered_2021$Year), "MPCA SCORE data collection year (this version of the dataset only includes 2021)", - "Tons", class(score_filtered_2021$Tons), "Tons of waste collected" -) - -saveRDS(score_filtered_2021, paste0("_waste/data/mpca_score_2021.RDS")) -saveRDS(mpca_score_2021_meta, paste0("_waste/data/mpca_score_2021_meta.RDS")) - -## Emissions Factors ---- - -epa_ghg_factor_hub <- readRDS("_meta/data/epa_ghg_factor_hub.RDS") -## Emissions ---- - -# join emissions factors to score data -# landfill = Mixed MSW: Landfilled -# msw compost = Mixed MSW: Composted (NA) -# onsite = Mixed MSW: Landfilled -# organics = Mixed Organics: Composted -# recycling = Mixed Recyclables: Recyclesd -# WTE = Mixed MSW: Combusted -# MSW Compost removed because it is empty - remember to test this - -waste_factors <- epa_ghg_factor_hub$waste - -score_final_2021 <- score_filtered_2021 %>% - rowwise() %>% - mutate( # emissions factor in metric tons co2/short tons waste - emissions_factor = - case_when( - Method == "Landfill" ~ as.numeric(filter(waste_factors, Material == "Mixed MSW", name == "Landfilled") %>% - magrittr::extract2("value")), # 0.52 - Method == "MSW Compost" ~ as.numeric(filter(waste_factors, Material == "Mixed MSW", name == "Composted") %>% - magrittr::extract2("value")), # NA - Method == "Onsite" ~ as.numeric(filter(waste_factors, Material == "Mixed MSW", name == "Landfilled") %>% - magrittr::extract2("value")), # 0.52 - Method == "Organics" ~ as.numeric(filter(waste_factors, Material == "Mixed Organics", name == "Composted") %>% - magrittr::extract2("value")), # 0.17 - Method == "Recycling" ~ as.numeric(filter(waste_factors, Material == "Mixed Recyclables", name == "Recycled") %>% - magrittr::extract2("value")), # 0.09 - Method == "WTE" ~ as.numeric(filter(waste_factors, Material == "Mixed MSW", name == "Combusted") %>% - magrittr::extract2("value")), # 0.43 - ), - # emissions in metric tons co2e - emissions_metric_tons_co2e = Tons * emissions_factor - ) %>% - filter(!Method == "MSW Compost") # removing rows filled with 0s and NAs - -mn_emissions_2021_meta <- tribble( - ~Column, ~Class, ~Description, - "County", class(score_final_2021$County), "MN county of waste origin", - "Management Category", class(score_final_2021$`Management Category`), "Waste category - (either Mixed Municipal Solid Waste or Combined Recycling and Organics)", - "Method", class(score_final_2021$Method), "Waste disposal method", - "Year", class(score_final_2021$Year), "MPCA SCORE data collection year", - "Tons", class(score_final_2021$Tons), "Tons of waste collected", - "emissions_factor", class(score_final_2021$emissions_factor), "Appropriate emissions factor from EPA", - "emissions_metric_tons_co2e", class(score_final_2021$emissions_metric_tons_co2e), - "Calculated emissions in metric tons CO2e" -) - -# export -saveRDS(score_final_2021, paste0("_waste/data/mn_emissions_2021.RDS")) -saveRDS(mn_emissions_2021_meta, paste0("_waste/data/mn_emissions_2021_meta.RDS")) diff --git a/_waste/data-raw/2021_wi_data.R b/_waste/data-raw/2021_wi_data.R deleted file mode 100644 index 4838307b..00000000 --- a/_waste/data-raw/2021_wi_data.R +++ /dev/null @@ -1,39 +0,0 @@ -# allocate WI state emissions by county population - -source("R/_load_pkgs.R") - -# from https://widnr.widen.net/view/pdf/o9xmpot5x7/AM610.pdf?t.download=true -# WI GHG Emissions Inventory from the DNR, 2018 data -wi_total_emissions <- 2.2 * 10^6 # in mtco2e -# 0.1 from waste combustion -# 2.1 from landfills (accounts for flaring and landfill gas to energy) - -cprg_pop <- readRDS(file.path(here::here(), "_meta/data/cprg_population.RDS")) -cprg_county_proportions <- readRDS("_meta/data/cprg_county_proportions.RDS") -cprg_county <- readRDS("_meta/data/cprg_county.RDS") - -wi_pop <- cprg_county_proportions %>% - filter( - STATE == "Wisconsin", - year == "2021" - ) - -wi_emissions <- wi_pop %>% - rowwise() %>% - dplyr::mutate( - emissions_metric_tons_co2e = county_proportion_of_state_pop * wi_total_emissions - ) %>% - left_join(cprg_county, by = c("GEOID", "STATE")) %>% - select(NAME = name, county_population, county_proportion_of_state_pop, emissions_metric_tons_co2e) - -wi_emissions_meta <- tribble( - ~Column, ~Class, ~Description, - "NAME", class(wi_emissions$NAME), "WI county of waste origin, including state total", - "county_population", class(wi_emissions$county_population), "Population of WI county (2020)", - "county_proportion_of_state_pop", class(wi_emissions$county_proportion_of_state_pop), "Percent of WI population in county (2020)", - "emissions_metric_tons_co2e", class(wi_emissions$emissions_metric_tons_co2e), - "Total waste emissions allocated to county based on 2018 totals" -) - -saveRDS(wi_emissions, paste0("_waste/data/wi_emissions.RDS")) -saveRDS(wi_emissions_meta, paste0("_waste/data/wi_emissions_meta.RDS")) diff --git a/_waste/data-raw/_run_all_waste.R b/_waste/data-raw/_run_all_waste.R deleted file mode 100644 index c5a433c3..00000000 --- a/_waste/data-raw/_run_all_waste.R +++ /dev/null @@ -1,12 +0,0 @@ -# wastewater - -source("_waste/data-raw/wastewater/epa_state_wastewater.R") -# source("_waste/data-raw/wastewater/metc_wastewater.R") -# source("_waste/data-raw/wastewater/_wastewater.R") - - -# solid waste -source("_waste/data-raw/2021_wi_data.R") -source("_waste/data-raw/2021_mpca_score.R") -source("_waste/data-raw/2021_combine_waste_data.R") # previous version with only 2021 data -source("_waste/data-raw/mn_emissions_all.R") # latest update - 2005-2021 data diff --git a/_waste/data-raw/epa_warm.R b/_waste/data-raw/check_epa_warm.R similarity index 100% rename from _waste/data-raw/epa_warm.R rename to _waste/data-raw/check_epa_warm.R diff --git a/_waste/data-raw/compare_epa_inventory.RDS b/_waste/data-raw/compare_epa_inventory.RDS new file mode 100644 index 00000000..fb63e798 Binary files /dev/null and b/_waste/data-raw/compare_epa_inventory.RDS differ diff --git a/_waste/data-raw/epa_inventory_data.R b/_waste/data-raw/compile_compare_epa_inventory.R similarity index 90% rename from _waste/data-raw/epa_inventory_data.R rename to _waste/data-raw/compile_compare_epa_inventory.R index ab75db22..36b90e32 100644 --- a/_waste/data-raw/epa_inventory_data.R +++ b/_waste/data-raw/compile_compare_epa_inventory.R @@ -51,7 +51,7 @@ cprg_county_proportions <- readRDS(file.path(here::here(), "_meta/data/cprg_coun federal_inventory_waste_allocated <- cprg_county_proportions %>% filter(year == 2021) %>% - left_join(epa_all, join_by(STATE, STATEFP)) %>% + left_join(epa_all, join_by(STATE)) %>% mutate( "Landfill" = Landfills * county_proportion_of_state_pop, "Compost" = Composting * county_proportion_of_state_pop, @@ -60,8 +60,8 @@ federal_inventory_waste_allocated <- cprg_county_proportions %>% "Total" = Total * county_proportion_of_state_pop ) %>% select( - geog_name = "NAME", - "year", + geoid = GEOID, + inventory_year = year, "Landfill", "Compost", "Anaerobic digestion", @@ -77,18 +77,19 @@ federal_inventory_waste_allocated <- cprg_county_proportions %>% "Total" ), names_to = "source", - values_to = "emissions_metric_tons_co2e" + values_to = "value_emissions" ) %>% mutate( + units_emissions = "Tonnes CO2e", data_source = "US GHG Inventory" ) federal_totals <- federal_inventory_waste_allocated %>% filter(source == "Total") %>% select( - geog_name, - emissions_metric_tons_co2e, + geoid, + value_emissions, data_source ) -saveRDS(federal_inventory_waste_allocated, "_waste/data-raw/epa_solidwaste_inventory.RDS") +saveRDS(federal_inventory_waste_allocated, "_waste/data-raw/compare_epa_inventory.RDS") diff --git a/_waste/data-raw/epa_solidwaste_inventory.RDS b/_waste/data-raw/epa_solidwaste_inventory.RDS deleted file mode 100644 index 0a3274f4..00000000 Binary files a/_waste/data-raw/epa_solidwaste_inventory.RDS and /dev/null differ diff --git a/_waste/data-raw/mn_compost_emissions.R b/_waste/data-raw/mn_compost_emissions.R deleted file mode 100644 index a09d9b20..00000000 --- a/_waste/data-raw/mn_compost_emissions.R +++ /dev/null @@ -1,56 +0,0 @@ -# calculate emissions from aerobic composting using IPCC equations and MPCA data. -source("R/_load_pkgs.R") -if (!exists("score_data")) { - score_data <- readRDS("_waste/data/mpca_score.RDS") -} - -ch4_emissions_factor_compost <- 10 # aggregate emissions factor for aerobic composting, metric tons CH4/thousand metric tons waste, IPCC default -ch4_emissions_factor_ad <- 2 # aggregate emissions factor for anaerobic digestion, metric tons CH4/thousand metric tons waste, IPCC default -# if we were incorporating methane recovered, that would be added as a column to the dataframe - -n2o_emissions_factor_compost <- 0.6 # aggregate emissions factor for aerobic composting, metric tons N2O/thousand metric tons waste, IPCC default -# N2O emissions from anaerobic digestion are assumed negligible - -compost_factors <- tibble( - Method = c("Organics", "Organics (Anaerobic Digestion)"), - ch4 = 10^(-3) * c(ch4_emissions_factor_compost, ch4_emissions_factor_ad), - n2o = 10^(-3) * c(n2o_emissions_factor_compost, 0) -) - -compost_data_organics <- score_data %>% - filter(Method == "Organics") %>% - select( - County, - Year, - `Metric Tons`, - Method - ) - -# anaerobic calculations scaffolding included in case we want to use it later -compost_data_anaerobic <- compost_data_organics %>% - # join df with anaerobic percentages - mutate( - `Metric Tons` = `Metric Tons` * 0, # multiply by anaerobic percent - Method = "Organics (Anaerobic Digestion)" - ) - -compost_data <- compost_data_organics %>% - # join df with compost percentages - mutate(`Metric Tons` = `Metric Tons` * 1) # %>% # multiply by compost percent -# bind_rows(compost_data_anaerobic) - -compost_emissions <- compost_data %>% - left_join(compost_factors, by = join_by(Method)) %>% - mutate( - total_ch4 = `Metric Tons` * ch4, - total_n2o = `Metric Tons` * n2o # decide whether to convert to co2e - ) %>% - select( - County, - Method, - Year, - total_ch4, - total_n2o - ) - -# combined and saved in mn_emissions_all diff --git a/_waste/data-raw/mn_emissions_all.R b/_waste/data-raw/mn_emissions_all.R deleted file mode 100644 index e06017c7..00000000 --- a/_waste/data-raw/mn_emissions_all.R +++ /dev/null @@ -1,84 +0,0 @@ -# source("R/_load_pkgs.R") -# score_data <- readRDS("_waste/data/mpca_score.RDS") #called in individual scripts -if (!exists("gwp")) { - source(file.path(here::here(), "R/global_warming_potential.R")) -} - -# read in SCORE data, convert to metric tons, save as RDS -source(file.path(here::here(), "_waste/data-raw/mn_read_score_data.R")) - -# read in methane recovery data, save as RDS (UNFINISHED) -# source("_waste/data-raw/mn_methane_flaring.R") - -# clean tables with mn waste composition data, save as RDS -source(file.path(here::here(), "_waste/data-raw/clean_tabula_tables.R")) - -# calculate landfill emissions (UNFINISHED), return landfill_emissions df -source(file.path(here::here(), "_waste/data-raw/mn_methane_commitment_model.R")) - -# calculate incineration emissions, return incineration_emissions df -# note that WTE must be listed as energy sector -source(file.path(here::here(), "_waste/data-raw/mn_incineration_emissions.R")) - -# calculate compost emissions, return compost_emissions df -source(file.path(here::here(), "_waste/data-raw/mn_compost_emissions.R")) - -solid_waste_emissions_metric_tons <- landfill_emissions %>% - bind_rows(incineration_emissions, compost_emissions) %>% - replace(is.na(.), 0) - -# meta - -solid_waste_emissions_mt_meta <- - tibble::tribble( - ~"Column", ~"Class", ~"Description", - "County", class(solid_waste_emissions_metric_tons$County), "Emissions estimation county", - "Method", class(solid_waste_emissions_metric_tons$Method), "Solid waste subcategory (e.g., Landfill)", - "Year", class(solid_waste_emissions_metric_tons$Year), "Emissions estimation year", - "total_co2", class(solid_waste_emissions_metric_tons$total_co2), "Annual total metric tons of CO~2~ attributed to the given county", - "total_ch4", class(solid_waste_emissions_metric_tons$total_ch4), "Annual total metric tons of CH~4~ attributed to the given county", - "total_n2o", class(solid_waste_emissions_metric_tons$total_n2o), "Annual total metric tons of N~2~O attributed to the given county", - ) -# save RDS -saveRDS(solid_waste_emissions_metric_tons, "_waste/data/mn_sw_emissions_by_gas.RDS") -saveRDS(solid_waste_emissions_mt_meta, "_waste/data/mn_sw_emissions_by_gas_meta.RDS") - -# multiply by gwp factors and sum to find total co2e emissions -solid_waste_emissions_co2e <- solid_waste_emissions_metric_tons %>% - mutate( - ch4_emissions_metric_tons_co2e = total_ch4 * gwp$ch4, - n2o_emissions_metric_tons_co2e = total_n2o * gwp$n2o, - sector = "Waste", - category = "Solid waste", - source = case_when( - Method == "WTE" ~ "Waste to energy", - TRUE ~ Method - ) - ) %>% - mutate( - emissions_metric_tons_co2e = ch4_emissions_metric_tons_co2e + n2o_emissions_metric_tons_co2e + total_co2 - ) %>% - select( - year = Year, - geog_name = County, - sector, - category, - source, - emissions_metric_tons_co2e - ) - -# write meta -solid_waste_emissions_co2e_meta <- - tibble::tribble( - ~"Column", ~"Class", ~"Description", - "year", class(solid_waste_emissions_co2e$year), "Emissions estimation year", - "geog_name", class(solid_waste_emissions_co2e$geog_name), "Name of geographic unit (city or county)", - "sector", class(solid_waste_emissions_co2e$sector), "Emissions sector (Waste or Energy)", - "category", class(solid_waste_emissions_co2e$category), "Sector subcategory (Solid waste or Waste to energy)", - "source", class(solid_waste_emissions_co2e$source), "Subcategory-specific source (e.g., Landfill)", - "emissions_metric_tons_co2e", class(solid_waste_emissions_co2e$emissions_metric_tons_co2e), "Annual total GHG emissions, in metric tons of CO~2~ equivalent, attributed to the given county" - ) - -# save RDS -saveRDS(solid_waste_emissions_co2e, "_waste/data/mn_sw_emissions_co2e.RDS") -saveRDS(solid_waste_emissions_co2e_meta, "_waste/data/mn_sw_emissions_co2e_meta.RDS") diff --git a/_waste/data-raw/mn_incineration_emissions.R b/_waste/data-raw/mn_incineration_emissions.R deleted file mode 100644 index 59cfd451..00000000 --- a/_waste/data-raw/mn_incineration_emissions.R +++ /dev/null @@ -1,43 +0,0 @@ -# calculate emissions from WTE and onsite burning using IPCC equations and MPCA data -source("R/_load_pkgs.R") -if (!exists("score_data")) { - score_data <- readRDS("_waste/data/mpca_score.RDS") -} - -# assign factors -fcc <- .4 # fraction of carbon content in MSW, IPCC default -ffc <- .4 # fraction of fossil carbon in MSW, IPCC default -co2_factor <- fcc * ffc * 44 / 12 -co2_efficiency_wte <- .95 # efficiency of combustion for incineration, IPCC default -co2_efficiency_onsite <- .71 # efficiency of combustion for onsite burning, GHG Protocol default (IPCC does not provide one) -n2o_emissions_factor_wte <- 50 # aggregate emissions factor for incineration, g N2O/metric tons waste, GHG Protocol default -n2o_emissions_factor_onsite <- 150 # aggregate emissions factor for open burning, g N2O/metric tons waste, GHG Protocol default - -incin_factors <- tibble( - Method = c("WTE", "Onsite"), - co2 = co2_factor * c(co2_efficiency_wte, co2_efficiency_onsite), - n2o = 10^(-6) * c(n2o_emissions_factor_wte, n2o_emissions_factor_onsite) -) - -incineration_emissions <- score_data %>% - filter(Method %in% c("WTE", "Onsite")) %>% - select( - County, - Method, - Year, - `Metric Tons` - ) %>% - left_join(incin_factors, by = join_by(Method)) %>% - mutate( - total_co2 = `Metric Tons` * co2, - total_n2o = `Metric Tons` * n2o - ) %>% - select( - County, - Method, - Year, - total_co2, - total_n2o - ) - -# combined and saved in mn_emissions_all diff --git a/_waste/data-raw/mn_methane_commitment_model.R b/_waste/data-raw/mn_methane_commitment_model.R deleted file mode 100644 index 78505c45..00000000 --- a/_waste/data-raw/mn_methane_commitment_model.R +++ /dev/null @@ -1,74 +0,0 @@ -# Calculate landfill emissions using IPCC methane commitment model -# Data from MPCA Score -source("R/_load_pkgs.R") -if (!exists("score_data")) { - score_data <- readRDS("_waste/data/mpca_score.RDS") -} -waste_comp <- readRDS(file.path(here::here(), "_waste/data/mn_waste_composition.RDS")) -# methane_recovery_mn <- readRDS("_waste/data/methane_recovery_mn.RDS") - -## Methane Commitment model ---- - -# variables: see documentation for sources ---- - -# methane correction factor (MCF) -# assuming landfills managed well, semi-aerobic (see GHG Protocol) -mcf <- 0.5 - -# fraction of degradable organic carbon degraded (DOC_f) -doc_f <- 0.6 - -# fraction of methane in landfill gas (F) -f <- 0.5 - -# oxidation factor (OX) -ox <- 0.1 # for well-managed landfills - - -# Calculate DOC using IPCC equation (see documentation) -# waste composition from MPCA report https://www.pca.state.mn.us/sites/default/files/w-sw1-60.pdf -# cleaned in _waste/data-raw/clean_tabula_tables.R - -ipcc_doc_factors <- tibble( - Category = c("Paper", "Textiles", "Organics (Non-Food)", "Organics (Food)", "Wood"), - Factor = c(0.4, 0.4, 0.17, 0.15, 0.3) -) - -doc_sum <- waste_comp %>% - inner_join(ipcc_doc_factors, by = join_by(Category)) %>% - mutate(doc_content = Mean * Factor) %>% - summarize(doc_total = sum(doc_content), degradable_fraction = sum(Mean)) - -doc <- doc_sum$doc_total - -l_0 <- mcf * doc * doc_f * f * 16 / 12 - -# landfill data from MPCA SCORE report. Transformed to metric tons in mn_read_score_data ---- -landfill_data <- score_data %>% - filter(Method == "Landfill") %>% - select( - County, - Year, - `Metric Tons`, - Method - ) - -# rec (emissions recovered through flaring/landfill gas to energy) to be added later -# join both lines of f_rec by county and year -# calculate sum (flaring + lfgte = rec) - -# calculate emissions = ((Tons * l_0) - rec) * (1-ox) - -# rec not included for this version; using emissions = (Tons * l_0) * (1-ox) -landfill_emissions <- landfill_data %>% - filter(Year %in% c(2005, 2021)) %>% - # left_join(methane_recovery_mn, by = join_by(County, Year)) %>% - mutate( - total_ch4 = (`Metric Tons` * l_0) * (1 - ox) - ) %>% - select( - County, - Method, - Year, - total_ch4 - ) diff --git a/_waste/data-raw/mn_methane_flaring.R b/_waste/data-raw/mn_methane_flaring.R deleted file mode 100644 index 91d4b4a0..00000000 --- a/_waste/data-raw/mn_methane_flaring.R +++ /dev/null @@ -1,92 +0,0 @@ -# Calculates landfill methane recovered through flaring and landfill gas to energy. -# Not in use currently due to discrepancies with MPCA data. - -source("R/_load_pkgs.R") - -cprg_county_proportions <- readRDS(file.path(here::here(), "_meta/data/cprg_county_proportions.RDS")) - -# pull in and calculate f_rec ---- - -# Source: EPA State Inventory Solid Waste tool, methane flaring and LFGTE data -# https://www.epa.gov/statelocalenergy/state-inventory-and-projection-tool - -# cleaning xcel data to preserve full values -# Flaring -flaring_data <- readxl::read_xlsx(file.path(here::here(), "_waste/data-raw/solid_waste_flaring.xlsx"), - range = "A2:AG54" -) %>% - rename(State = 1) %>% - filter(State == "MN") - - -flaring_data <- data.frame(t(flaring_data)) %>% - tibble::rownames_to_column("Year") %>% - rename(flared_metric_tons_ch4_mn = t.flaring_data.) # this is currently mmt. it will be converted - -flaring_data <- flaring_data[-1, ] %>% - mutate( - flared_metric_tons_ch4_mn = as.numeric(flared_metric_tons_ch4_mn) * 10^6 # converting mmt to mt - ) - -# LFGTE - -lfgte_data <- readxl::read_xlsx(file.path(here::here(), "_waste/data-raw/solid_waste_lfgte.xlsx"), - range = "A2:AG54" -) %>% - rename(State = 1) %>% - filter(State == "MN") - -lfgte_data <- data.frame(t(lfgte_data)) %>% - tibble::rownames_to_column("Year") %>% - rename(lfgte_metric_tons_ch4_mn = t.lfgte_data.) - -lfgte_data <- lfgte_data[-1, ] %>% - mutate( - lfgte_metric_tons_ch4_mn = as.numeric(lfgte_metric_tons_ch4_mn) * 10^6 - ) - -# join dfs, filter to 2021/2005, join county proportions, allocate by population - TO CHANGE - -methane_recovery_mn <- flaring_data %>% - left_join(lfgte_data, by = join_by(Year)) %>% - filter(Year %in% c(2005, 2021)) %>% - select( - flared_metric_tons_ch4_mn, - lfgte_metric_tons_ch4_mn, - Year - ) - -methane_recovery_counties <- cprg_county_proportions %>% - rename(Year = year) %>% - filter(Year %in% c(2005, 2021)) %>% - left_join(methane_recovery_mn, by = join_by(Year)) %>% - mutate( - flared_metric_tons_ch4 = flared_metric_tons_ch4_mn * county_proportion_of_state_pop, - lfgte_metric_tons_ch4 = lfgte_metric_tons_ch4_mn * county_proportion_of_state_pop, - Year = as.numeric(Year) - ) %>% - mutate( - total_metric_tons_ch4_recovered = flared_metric_tons_ch4 + lfgte_metric_tons_ch4 - ) %>% - select( - County = NAME, - Year, - flared_metric_tons_ch4, - lfgte_metric_tons_ch4, - total_metric_tons_ch4_recovered - ) - -# to test: ensure that each year adds up to total -# meta -methane_recovery_mn_meta <- - tibble::tribble( - ~"Column", ~"Class", ~"Description", - "County", class(methane_recovery_counties$County), "Emissions estimation county", - "Year", class(methane_recovery_counties$Year), "Emissions estimation year", - "flared_metric_tons_ch4", class(methane_recovery_counties$flared_metric_tons_ch4), "Amount of landfill gas recovered through flaring, in metric tons CH~4~", - "lfgte_metric_tons_ch4", class(methane_recovery_counties$lfgte_metric_tons_ch4), "Amount of landfill gas recovered through gas to energy efforts, in metric tons CH~4~", - "total_metric_tons_ch4_recovered", class(methane_recovery_counties$total_metric_tons_ch4_recovered), "Total metric tons CH~4~ recovered through flaring and gas to energy" - ) -# save as rds -saveRDS(methane_recovery_counties, "_waste/data/methane_recovery_mn.RDS") -saveRDS(methane_recovery_mn_meta, "_waste/data/methane_recovery_mn_meta.RDS") diff --git a/_waste/data-raw/mn_read_score_data.R b/_waste/data-raw/mn_read_score_data.R deleted file mode 100644 index b9ef3e5f..00000000 --- a/_waste/data-raw/mn_read_score_data.R +++ /dev/null @@ -1,39 +0,0 @@ -source("R/_load_pkgs.R") -cprg_county <- readRDS("_meta/data/cprg_county.RDS") -## MPCA SCORE ---- -# Summary data collected from https://public.tableau.com/app/profile/mpca.data.services/viz/SCOREOverview/1991-2021SCORE - - -score_summary <- read_csv(file.path(here::here(), "_waste/data-raw/score_summary.csv")) - -# filter to only counties in 9-county MN region, for years between 2005 and 2021 - -score_filtered <- score_summary %>% - filter( - County %in% cprg_county$NAME, - Year %in% 2005:2021 - ) %>% - mutate( - "Metric Tons" = Tons * 0.90718474 # convert short tons to metric tons (for consistency with IPCC values) - ) %>% - select( - County, - "Management Category" = "Mangement Method", - Method, - Year, - "Metric Tons" - ) - -# add score metadata -mpca_score_meta <- tribble( - ~Column, ~Class, ~Description, - "County", class(score_filtered$County), "MN county of waste origin", - "Management Category", class(score_filtered$`Management Category`), "Waste category - (either Mixed Municipal Solid Waste or Combined Recycling and Organics)", - "Method", class(score_filtered$Method), "Waste disposal method", - "Year", class(score_filtered$Year), "MPCA SCORE data collection year", - "Metric Tons", class(score_filtered$`Metric Tons`), "Tons of waste collected" -) - -saveRDS(score_filtered, paste0("_waste/data/mpca_score.RDS")) -saveRDS(mpca_score_meta, paste0("_waste/data/mpca_score_meta.RDS")) diff --git a/_waste/data-raw/solid_waste/01_epa_mn_methane_recovery.R b/_waste/data-raw/solid_waste/01_epa_mn_methane_recovery.R new file mode 100644 index 00000000..c655bc00 --- /dev/null +++ b/_waste/data-raw/solid_waste/01_epa_mn_methane_recovery.R @@ -0,0 +1,121 @@ +# Calculates landfill methane recovered through flaring and landfill gas to energy. +# Not in use currently due to discrepancies with MPCA data. + +source("R/_load_pkgs.R") + +# cprg_county_proportions <- readRDS(file.path(here::here(), "_meta/data/cprg_county_proportions.RDS")) +if (!exists("mpca_score")) { + mpca_score <- readRDS(file.path(here::here(), "_waste/data-raw/solid_waste/mpca_score_allyrs.RDS")) +} +# pull in and calculate f_rec ---- + +# Source: EPA State Inventory Solid Waste tool, methane flaring and LFGTE data +# https://www.epa.gov/statelocalenergy/state-inventory-and-projection-tool + +# cleaning xcel data to preserve full values +# Flaring +flaring_data <- readxl::read_xlsx(file.path(here::here(), "_waste/data-raw/solid_waste/solid_waste_flaring.xlsx"), + range = "A2:AG54" +) %>% + rename(State = 1) %>% + filter(State == "MN") + + +flaring_data <- data.frame(t(flaring_data)) %>% + tibble::rownames_to_column("Year") %>% + rename(mt_ch4_mn_flared = t.flaring_data.) # this is currently mmt. it will be converted + +flaring_data <- flaring_data[-1, ] %>% + mutate( + mt_ch4_mn_flared = as.numeric(mt_ch4_mn_flared) * 10^6 # converting mmt to mt + ) + +# LFGTE + +lfgte_data <- readxl::read_xlsx(file.path(here::here(), "_waste/data-raw/solid_waste/solid_waste_lfgte.xlsx"), + range = "A2:AG54" +) %>% + rename(State = 1) %>% + filter(State == "MN") + +lfgte_data <- data.frame(t(lfgte_data)) %>% + tibble::rownames_to_column("Year") %>% + rename(mt_ch4_mn_lfgte = t.lfgte_data.) + +lfgte_data <- lfgte_data[-1, ] %>% + mutate( + mt_ch4_mn_lfgte = as.numeric(mt_ch4_mn_lfgte) * 10^6 + ) + +# join dfs, filter to 2021/2005, join county proportions, allocate by population - TO CHANGE +# instead allocate by proportion of MN landfill + +methane_recovery_state <- flaring_data %>% + left_join(lfgte_data, by = join_by(Year)) %>% + mutate(inventory_year = as.numeric(Year)) %>% + select( + mt_ch4_mn_flared, + mt_ch4_mn_lfgte, + inventory_year + ) + +# calculate county proportions of landfill waste, join methane recovery numbers, allocate +methane_recovery_counties <- mpca_score %>% + filter(source == "Landfill") %>% + mutate( + landfill_proportion = value_activity / state_total + ) %>% + left_join(methane_recovery_state, by = join_by(inventory_year)) %>% + mutate( + mt_ch4_flared = mt_ch4_mn_flared * landfill_proportion, + mt_ch4_lfgte = mt_ch4_mn_lfgte * landfill_proportion + ) %>% + mutate( + mt_ch4_recovered = mt_ch4_flared + mt_ch4_lfgte + ) %>% + select( + geoid, + source, + inventory_year, + mt_ch4_flared, + mt_ch4_lfgte, + mt_ch4_recovered + ) + + + +# methane_recovery_counties <- cprg_county_proportions %>% +# rename(Year = year) %>% +# filter(Year %in% c(2005, 2021)) %>% +# left_join(methane_recovery_mn, by = join_by(Year)) %>% +# mutate( +# flared_metric_tons_ch4 = flared_metric_tons_ch4_mn * county_proportion_of_state_pop, +# lfgte_metric_tons_ch4 = lfgte_metric_tons_ch4_mn * county_proportion_of_state_pop, +# Year = as.numeric(Year) +# ) %>% +# mutate( +# total_metric_tons_ch4_recovered = flared_metric_tons_ch4 + lfgte_metric_tons_ch4 +# ) %>% +# select( +# County = NAME, +# Year, +# flared_metric_tons_ch4, +# lfgte_metric_tons_ch4, +# total_metric_tons_ch4_recovered +# ) + +# to test: ensure that each year adds up to total +# meta +# methane_recovery_mn_meta <- +# tibble::tribble( +# ~"Column", ~"Class", ~"Description", +# "County", class(methane_recovery_counties$County), "Emissions estimation county", +# "Method", class(methane_recovery_counties$Method), "Method category of emissions (for methane recovery data this should be Landfill)", +# "Year", class(methane_recovery_counties$Year), "Emissions estimation year", +# "flared_ch4", class(methane_recovery_counties$flared_ch4), "Amount of landfill gas recovered through flaring, in metric tons CH~4~", +# "lfgte_ch4", class(methane_recovery_counties$lfgte_ch4), "Amount of landfill gas recovered through gas to energy efforts, in metric tons CH~4~", +# "total_ch4_recovered", class(methane_recovery_counties$total_ch4_recovered), "Total metric tons CH~4~ recovered through flaring and gas to energy" +# ) +# save as rds +saveRDS(methane_recovery_counties, "_waste/data-raw/solid_waste/epa_mn_methane_recovery.RDS") +# saveRDS(methane_recovery_mn_meta, "_waste/data/methane_recovery_mn_meta.RDS") diff --git a/_waste/data-raw/solid_waste/01_mpca_score_allyrs.R b/_waste/data-raw/solid_waste/01_mpca_score_allyrs.R new file mode 100644 index 00000000..46112739 --- /dev/null +++ b/_waste/data-raw/solid_waste/01_mpca_score_allyrs.R @@ -0,0 +1,50 @@ +source("R/_load_pkgs.R") +cprg_county <- readRDS("_meta/data/cprg_county.RDS") +## MPCA SCORE ---- +# Summary data collected from https://public.tableau.com/app/profile/mpca.data.services/viz/SCOREOverview/1991-2021SCORE + + +score_summary <- read_csv(file.path(here::here(), "_waste/data-raw/solid_waste/score_summary.csv")) + +# filter to only counties in 9-county MN region, for years between 2005 and 2021 + +mt_conversion_factor <- 0.90718474 + +score_filtered <- score_summary %>% + group_by(Year, Method) %>% + mutate(state_total = sum(Tons) * mt_conversion_factor) %>% + filter( + County %in% cprg_county$county_name, + Year %in% 2005:2021 + ) %>% + mutate( + value_activity = Tons * mt_conversion_factor, # convert short tons to metric tons (for consistency with IPCC values) + units_activity = "metric tons MSW" + ) %>% + left_join(cprg_county, by = join_by(County == county_name)) %>% + mutate(Method = ifelse(Method == "WTE", "Waste to energy", Method)) %>% + select( + geoid, + source = Method, + inventory_year = Year, + value_activity, + units_activity, + state_total + ) %>% + ungroup() + +# add score metadata +# mpca_score_meta <- tribble( +# ~Column, ~Class, ~Description, +# "County", class(score_filtered$County), "MN county of waste origin", +# "Management Category", class(score_filtered$`Management Category`), "Waste category +# (either Mixed Municipal Solid Waste or Combined Recycling and Organics)", +# "Method", class(score_filtered$Method), "Waste disposal method", +# "Year", class(score_filtered$Year), "MPCA SCORE data collection year", +# "Metric Tons", class(score_filtered$`Metric Tons`), "Metric tons of waste collected", +# "Statewide Total", class(score_filtered$`Statewide Total`), +# "Statewide total metric tons collected for given disposal method and year" +# ) + +saveRDS(score_filtered, paste0("_waste/data-raw/solid_waste/mpca_score_allyrs.RDS")) +# saveRDS(mpca_score_meta, paste0("_waste/data/mpca_score_meta.RDS")) diff --git a/_waste/data-raw/clean_tabula_tables.R b/_waste/data-raw/solid_waste/01_mpca_waste_characterization.R similarity index 64% rename from _waste/data-raw/clean_tabula_tables.R rename to _waste/data-raw/solid_waste/01_mpca_waste_characterization.R index 5888bcd6..538d0bdd 100644 --- a/_waste/data-raw/clean_tabula_tables.R +++ b/_waste/data-raw/solid_waste/01_mpca_waste_characterization.R @@ -4,7 +4,7 @@ source("R/_load_pkgs.R") # Waste Breakdown ---- ## From https://www.pca.state.mn.us/sites/default/files/w-sw1-60.pdf, a 2013 MPCA report on the composition of Municipal Solid Waste. -waste_breakdown <- read_csv(file.path(here::here(), "_waste/data-raw/tabula-waste-characterization-table.csv")) +waste_breakdown <- read_csv(file.path(here::here(), "_waste/data-raw/solid_waste/tabula-waste-characterization-table.csv")) wb_list <- vector(mode = "list", length = 8) @@ -35,14 +35,14 @@ wb_list[[8]] <- slice(waste_breakdown, 67:72) %>% waste_breakdown_bind <- bind_rows(wb_list) %>% mutate(across(c(Mean, Lower, Upper), ~ as.numeric(gsub("%", "", ., fixed = TRUE)) / 100)) -waste_comp_meta <- tribble( - ~Column, ~Class, ~Description, - "Material", class(waste_breakdown_bind$Material), "Material category", - "Mean", class(waste_breakdown_bind$Mean), "Mean fraction of solid waste contributed by this material", - "Lower", class(waste_breakdown_bind$Lower), "Lower 90% cofidence interval fraction of solid waste", - "Upper", class(waste_breakdown_bind$Upper), "Upper 90% cofidence interval fraction of solid waste", - "Category", class(waste_breakdown_bind$Category), "Category of waste materials type" -) +# waste_comp_meta <- tribble( +# ~Column, ~Class, ~Description, +# "Material", class(waste_breakdown_bind$Material), "Material category", +# "Mean", class(waste_breakdown_bind$Mean), "Mean fraction of solid waste contributed by this material", +# "Lower", class(waste_breakdown_bind$Lower), "Lower 90% cofidence interval fraction of solid waste", +# "Upper", class(waste_breakdown_bind$Upper), "Upper 90% cofidence interval fraction of solid waste", +# "Category", class(waste_breakdown_bind$Category), "Category of waste materials type" +# ) -saveRDS(waste_breakdown_bind, paste0("_waste/data/mn_waste_composition.RDS")) -saveRDS(waste_comp_meta, paste0("_waste/data/mn_waste_composition_meta.RDS")) +saveRDS(waste_breakdown_bind, paste0("_waste/data-raw/solid_waste/mpca_waste_composition.RDS")) +# saveRDS(waste_comp_meta, paste0("_waste/data/mn_waste_composition_meta.RDS")) diff --git a/_waste/data-raw/solid_waste/02_compile_incineration_MN_allyrs.R b/_waste/data-raw/solid_waste/02_compile_incineration_MN_allyrs.R new file mode 100644 index 00000000..b0cb2ebb --- /dev/null +++ b/_waste/data-raw/solid_waste/02_compile_incineration_MN_allyrs.R @@ -0,0 +1,53 @@ +# calculate emissions from WTE and onsite burning using IPCC equations and MPCA data +source("R/_load_pkgs.R") +if (!exists("mpca_score")) { + mpca_score <- readRDS("_waste/data-raw/solid_waste/mpca_score_allyrs.RDS") +} + +# assign factors +fcc <- .4 # fraction of carbon content in MSW, IPCC default +ffc <- .4 # fraction of fossil carbon in MSW, IPCC default +co2_factor <- fcc * ffc * 44 / 12 +co2_efficiency_wte <- .95 # efficiency of combustion for incineration, IPCC default +co2_efficiency_onsite <- .71 # efficiency of combustion for onsite burning, GHG Protocol default (IPCC does not provide one) +n2o_emissions_factor_wte <- 50 # aggregate emissions factor for incineration, g N2O/metric tons waste, GHG Protocol default +n2o_emissions_factor_onsite <- 150 # aggregate emissions factor for open burning, g N2O/metric tons waste, GHG Protocol default + +incin_factors <- tibble( + source = c("WTE", "Onsite"), + co2 = co2_factor * c(co2_efficiency_wte, co2_efficiency_onsite), + n2o = 10^(-6) * c(n2o_emissions_factor_wte, n2o_emissions_factor_onsite) +) + +incineration_emissions <- mpca_score %>% + filter(source %in% c("Waste to energy", "Onsite")) %>% + left_join(incin_factors, by = join_by(source)) %>% + mutate( + "Tonnes CO2" = value_activity * co2, + "Tonnes N2O" = value_activity * n2o + ) %>% + pivot_longer( + c("Tonnes CO2", "Tonnes N2O"), + names_to = "units_emissions", + values_to = "value_emissions" + ) %>% + select( + -c(state_total, co2, n2o) + ) + +# write meta +incineration_emissions_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "geoid", class(incineration_emissions$geoid), "5-digit FIPS code", + "source", class(incineration_emissions$source), "Subcategory-specific source (e.g., Landfill)", + "inventory_year", class(incineration_emissions$inventory_year), "Emissions estimation year", + "value_activity", class(incineration_emissions$value_activity), "Activity data value (from SCORE)", + "units_activity", class(incineration_emissions$units_activity), "Activity data units", + "value_emissions", class(incineration_emissions$value_emissions), "Emissions value", + "units_emissions", class(incineration_emissions$units_emissions), "Emissions units", + ) + +# save RDS +saveRDS(incineration_emissions, "_waste/data/incineration_MN_allyrs.RDS") +saveRDS(incineration_emissions_meta, "_waste/data/incineration_MN_allyrs_meta.RDS") diff --git a/_waste/data-raw/solid_waste/02_compile_landfill_MN_allyrs.R b/_waste/data-raw/solid_waste/02_compile_landfill_MN_allyrs.R new file mode 100644 index 00000000..8d371338 --- /dev/null +++ b/_waste/data-raw/solid_waste/02_compile_landfill_MN_allyrs.R @@ -0,0 +1,87 @@ +# Calculate landfill emissions using IPCC methane commitment model +# Data from MPCA Score +source("R/_load_pkgs.R") +if (!exists("mpca_score")) { + mpca_score <- readRDS("_waste/data-raw/solid_waste/mpca_score_allyrs.RDS") +} +mpca_waste_composition <- readRDS(file.path(here::here(), "_waste/data-raw/solid_waste/mpca_waste_composition.RDS")) +# methane_recovery_mn <- readRDS("_waste/data-raw/epa_mn_methane_recovery.RDS") + +## Methane Commitment model ---- + +# variables: see documentation for sources ---- + +# methane correction factor (MCF) +# assuming landfills managed well, semi-aerobic (see GHG Protocol) +mcf <- 0.5 +# fraction of degradable organic carbon degraded (DOC_f) +doc_f <- 0.6 +# fraction of methane in landfill gas (F) +f <- 0.5 +# oxidation factor (OX) +ox <- 0.1 # for well-managed landfills + + +# Calculate DOC using IPCC equation (see documentation) +# waste composition from MPCA report https://www.pca.state.mn.us/sites/default/files/w-sw1-60.pdf +# cleaned in _waste/data-raw/clean_tabula_tables.R + +ipcc_doc_factors <- tibble( + Category = c("Paper", "Textiles", "Organics (Non-Food)", "Organics (Food)", "Wood"), + Factor = c(0.4, 0.4, 0.17, 0.15, 0.3) +) + +doc_sum <- mpca_waste_composition %>% + inner_join(ipcc_doc_factors, by = join_by(Category)) %>% + mutate(doc_content = Mean * Factor) %>% + summarize(doc_total = sum(doc_content), degradable_fraction = sum(Mean)) + +doc <- doc_sum$doc_total + +# methane generation potential +l_0 <- mcf * doc * doc_f * f * 16 / 12 + +# landfill data from MPCA SCORE report. Transformed to metric tons in mn_read_mpca_score ---- +# landfill_data <- mpca_score %>% +# filter(Method == "Landfill") %>% +# select( +# County, +# Year, +# `Metric Tons`, +# Method +# ) + +# rec (emissions recovered through flaring/landfill gas to energy) to be added later +# join both lines of f_rec by county and year +# calculate sum (flaring + lfgte = rec) + +# calculate emissions = ((Tons * l_0) - rec) * (1-ox) + +# rec not included for this version; using emissions = (Tons * l_0) * (1-ox) +landfill_emissions <- mpca_score %>% + filter(source == "Landfill") %>% + # left_join(methane_recovery_mn, by = join_by(County, Year, Method)) %>% + mutate( + value_emissions = (value_activity * l_0) * (1 - ox), + units_emissions = "Tonnes CH4" + ) %>% + select( + -state_total + ) + +# write meta +landfill_emissions_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "geoid", class(landfill_emissions$geoid), "5-digit FIPS code", + "source", class(landfill_emissions$source), "Subcategory-specific source (e.g., Landfill)", + "inventory_year", class(landfill_emissions$inventory_year), "Emissions estimation year", + "value_activity", class(landfill_emissions$value_activity), "Activity data value (from SCORE)", + "units_activity", class(landfill_emissions$units_activity), "Activity data units", + "value_emissions", class(landfill_emissions$value_emissions), "Emissions value", + "units_emissions", class(landfill_emissions$units_emissions), "Emissions units", + ) + +# save RDS +saveRDS(landfill_emissions, "_waste/data/landfill_MN_allyrs.RDS") +saveRDS(landfill_emissions_meta, "_waste/data/landfill_MN_allyrs_meta.RDS") diff --git a/_waste/data-raw/solid_waste/02_compile_organics_MN_allyrs.R b/_waste/data-raw/solid_waste/02_compile_organics_MN_allyrs.R new file mode 100644 index 00000000..abb4f2b9 --- /dev/null +++ b/_waste/data-raw/solid_waste/02_compile_organics_MN_allyrs.R @@ -0,0 +1,44 @@ +# calculate emissions from aerobic composting using IPCC equations and MPCA data. +source("R/_load_pkgs.R") +if (!exists("mpca_score")) { + mpca_score <- readRDS("_waste/data-raw/solid_waste/mpca_score_allyrs.RDS") +} + +ch4_factor_compost <- 10 # aggregate emissions factor for aerobic composting, metric tons CH4/thousand metric tons waste, IPCC default +ch4_factor_ad <- 2 # aggregate emissions factor for anaerobic digestion, metric tons CH4/thousand metric tons waste, IPCC default +# if we were incorporating methane recovered, that would be added as a column to the dataframe + +n2o_factor_compost <- 0.6 # aggregate emissions factor for aerobic composting, metric tons N2O/thousand metric tons waste, IPCC default +# N2O emissions from anaerobic digestion are assumed negligible + +organics_emissions <- mpca_score %>% + filter(source == "Organics") %>% + mutate( + "Tonnes CH4" = value_activity * ch4_factor_compost * 1 / 1000, + "Tonnes N2O" = value_activity * n2o_factor_compost * 1 / 1000 + ) %>% + pivot_longer( + c("Tonnes CH4", "Tonnes N2O"), + names_to = "units_emissions", + values_to = "value_emissions" + ) %>% + select( + -state_total + ) + +# write meta +organics_emissions_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "geoid", class(organics_emissions$geoid), "5-digit FIPS code", + "source", class(organics_emissions$source), "Subcategory-specific source (e.g., Landfill)", + "inventory_year", class(organics_emissions$inventory_year), "Emissions estimation year", + "value_activity", class(organics_emissions$value_activity), "Activity data value (from SCORE)", + "units_activity", class(organics_emissions$units_activity), "Activity data units", + "value_emissions", class(organics_emissions$value_emissions), "Emissions value", + "units_emissions", class(organics_emissions$units_emissions), "Emissions units", + ) + +# save RDS +saveRDS(organics_emissions, "_waste/data/organics_MN_allyrs.RDS") +saveRDS(organics_emissions_meta, "_waste/data/organics_MN_allyrs_meta.RDS") diff --git a/_waste/data-raw/solid_waste/03_compile_solid_waste_MN_allyrs.R b/_waste/data-raw/solid_waste/03_compile_solid_waste_MN_allyrs.R new file mode 100644 index 00000000..e6833888 --- /dev/null +++ b/_waste/data-raw/solid_waste/03_compile_solid_waste_MN_allyrs.R @@ -0,0 +1,83 @@ +source("R/_load_pkgs.R") +if (!exists("gwp")) { + source(file.path(here::here(), "R/global_warming_potential.R")) +} + +landfill <- readRDS(file.path(here::here(), "_waste/data/landfill_MN_allyrs.RDS")) +incineration <- readRDS(file.path(here::here(), "_waste/data/incineration_MN_allyrs.RDS")) +organics <- readRDS(file.path(here::here(), "_waste/data/organics_MN_allyrs.RDS")) + +solid_waste_mn_by_gas <- landfill %>% + bind_rows(incineration, organics) + +# meta + +solid_waste_mn_by_gas_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "geoid", class(solid_waste_mn_by_gas$geoid), "5-digit FIPS code", + "source", class(solid_waste_mn_by_gas$source), "Subcategory-specific source (e.g., Landfill)", + "inventory_year", class(solid_waste_mn_by_gas$inventory_year), "Emissions estimation year", + "value_activity", class(solid_waste_mn_by_gas$value_activity), "Activity data value (from SCORE)", + "units_activity", class(solid_waste_mn_by_gas$units_activity), "Activity data units", + "value_emissions", class(solid_waste_mn_by_gas$value_emissions), "Emissions value", + "units_emissions", class(solid_waste_mn_by_gas$units_emissions), "Emissions units", + ) +# save RDS +saveRDS(solid_waste_mn_by_gas, "_waste/data/solid_waste_MN_by_gas.RDS") +saveRDS(solid_waste_mn_by_gas_meta, "_waste/data/solid_waste_MN_by_gas_meta.RDS") + +# multiply by gwp factors and sum to find total co2e emissions +solid_waste_mn <- solid_waste_mn_by_gas %>% + pivot_wider( + names_from = units_emissions, + values_from = value_emissions + ) %>% + replace(is.na(.), 0) %>% + mutate( + ch4_co2e = `Tonnes CH4` * gwp$ch4, + n2o_co2e = `Tonnes N2O` * gwp$n2o, + sector = "Waste", + category = "Solid waste", + data_source = "MPCA SCORE Report", + factor_source = "IPCC solid waste methodology" + ) %>% + mutate( + value_emissions = ch4_co2e + n2o_co2e + `Tonnes CO2`, + units_emissions = "Tonnes CO2e" + ) %>% + ungroup() %>% + select( + geoid, + inventory_year, + sector, + category, + source, + data_source, + factor_source, + value_activity, + units_activity, + value_emissions, + units_emissions + ) + +# write meta +solid_waste_mn_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "geoid", class(solid_waste_mn$geoid), "5-digit FIPS code", + "inventory_year", class(solid_waste_mn$inventory_year), "Emissions estimation year", + "sector", class(solid_waste_mn$sector), "Emissions sector (e.g., Waste)", + "category", class(solid_waste_mn$category), "Category of emissions within given sector", + "source", class(solid_waste_mn$source), "Subcategory-specific source (e.g., Landfill)", + "data_source", class(solid_waste_mn$data_source), "Activity data source", + "factor_source", class(solid_waste_mn$factor_source), "Emissions factor data source", + "value_activity", class(solid_waste_mn$value_activity), "Activity data value (from SCORE)", + "units_activity", class(solid_waste_mn$units_activity), "Activity data units", + "value_emissions", class(solid_waste_mn$value_emissions), "Emissions value", + "units_emissions", class(solid_waste_mn$units_emissions), "Emissions units", + ) + +# save RDS +saveRDS(solid_waste_mn, "_waste/data/solid_waste_MN_allyrs.RDS") +saveRDS(solid_waste_mn_meta, "_waste/data/solid_waste_MN_allyrs_meta.RDS") diff --git a/_waste/data-raw/solid_waste/03_compile_solid_waste_WI_allyrs.R b/_waste/data-raw/solid_waste/03_compile_solid_waste_WI_allyrs.R new file mode 100644 index 00000000..d6b6bf10 --- /dev/null +++ b/_waste/data-raw/solid_waste/03_compile_solid_waste_WI_allyrs.R @@ -0,0 +1,97 @@ +# allocate WI state emissions by county population + +source("R/_load_pkgs.R") + +# from https://widnr.widen.net/view/pdf/o9xmpot5x7/AM610.pdf?t.download=true +# WI GHG Emissions Inventory from the DNR, 2018 data +# wi_total_emissions <- 2.2 * 10^6 # in mtco2e +# 0.1 from waste combustion +# 2.1 from landfills (accounts for flaring and landfill gas to energy) + +cprg_county_proportions <- readRDS("_meta/data/cprg_county_proportions.RDS") + +names <- c(source = "X", `2005` = "X2005", `2018` = "X2018") +wi_inventory <- read.csv(file.path(here::here(), "_waste/data-raw/solid_waste/tabula-wi_inventory_2005_2018.csv")) %>% + rename(all_of(names)) %>% + filter( + source %in% c("Landfills", "Waste Combustion") + ) %>% + pivot_longer( + cols = !source, + names_to = "inventory_year", + values_to = "value_emissions" # still in mmt co2e + ) %>% + mutate( + inventory_year = as.numeric(inventory_year), + value_emissions = as.numeric(value_emissions) * 10^6 + ) %>% + # add 2021 with values == 2018 + rbind( + tibble( + source = c("Landfills", "Waste Combustion"), + inventory_year = c(2021, 2021), + value_emissions = c(2.1, 0.1) * 10^6 + ) + ) %>% + complete(source, inventory_year = 2005:2021) %>% + group_by(source) %>% + mutate( + value_emissions = zoo::na.approx(value_emissions, na.rm = FALSE) + ) + + +wi_pop <- cprg_county_proportions %>% + filter( + state_name == "Wisconsin", + population_year %in% 2005:2021 + ) +# names will need to be fixed later + +solid_waste_wi <- wi_pop %>% + mutate(population_year = as.numeric(population_year)) %>% + left_join( + wi_inventory, + by = join_by(population_year == inventory_year), + relationship = "many-to-many" + ) %>% + mutate( + value_emissions = value_emissions * county_proportion_of_state_pop, + sector = "Waste", + category = "Solid waste", + source = case_when( + source == "Landfills" ~ "Landfill", + source == "Waste Combustion" ~ "Waste to energy" # this should be incineration. + # wait for discussion with MPCA to change + ), + data_source = "Wisconsin GHG Inventory", + factor_source = "Wisconsin GHG Inventory", + units_emissions = "Tonnes CO2e" + ) %>% + select( + geoid, + inventory_year = population_year, + sector, + category, + source, + data_source, + factor_source, + value_emissions, + units_emissions + ) + +solid_waste_wi_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "geoid", class(solid_waste_wi$geoid), "5-digit FIPS code", + "inventory_year", class(solid_waste_wi$inventory_year), "Emissions estimation year", + "sector", class(solid_waste_wi$sector), "Emissions sector (e.g., Waste)", + "category", class(solid_waste_wi$category), "Category of emissions within given sector", + "source", class(solid_waste_wi$source), "Subcategory-specific source (e.g., Landfill)", + "data_source", class(solid_waste_wi$data_source), "Activity data source", + "factor_source", class(solid_waste_wi$factor_source), "Emissions factor data source", + "value_emissions", class(solid_waste_wi$value_emissions), "Emissions value", + "units_emissions", class(solid_waste_wi$units_emissions), "Emissions units", + ) + +saveRDS(solid_waste_wi, paste0("_waste/data/solid_waste_WI_allyrs.RDS")) +saveRDS(solid_waste_wi_meta, paste0("_waste/data/solid_waste_WI_allyrs_meta.RDS")) diff --git a/_waste/data-raw/solid_waste/04_compile_final_solid_waste_allyrs.R b/_waste/data-raw/solid_waste/04_compile_final_solid_waste_allyrs.R new file mode 100644 index 00000000..68932e81 --- /dev/null +++ b/_waste/data-raw/solid_waste/04_compile_final_solid_waste_allyrs.R @@ -0,0 +1,26 @@ +source("R/_load_pkgs.R") +solid_waste_mn <- readRDS(file.path(here::here(), "_waste/data/solid_waste_MN_allyrs.RDS")) +solid_waste_wi <- readRDS(file.path(here::here(), "_waste/data/solid_waste_WI_allyrs.RDS")) + +# combine data +final_solid_waste <- solid_waste_mn %>% + bind_rows(solid_waste_wi) + +final_solid_waste_meta <- + tibble::tribble( + ~"Column", ~"Class", ~"Description", + "geoid", class(final_solid_waste$geoid), "5-digit FIPS code", + "inventory_year", class(final_solid_waste$inventory_year), "Emissions estimation year", + "sector", class(final_solid_waste$sector), "Emissions sector (e.g., Waste)", + "category", class(final_solid_waste$category), "Category of emissions within given sector", + "source", class(final_solid_waste$source), "Subcategory-specific source (e.g., Landfill)", + "data_source", class(final_solid_waste$data_source), "Activity data source", + "factor_source", class(final_solid_waste$factor_source), "Emissions factor data source", + "value_activity", class(final_solid_waste$value_activity), "Activity data value (from SCORE)", + "units_activity", class(final_solid_waste$units_activity), "Activity data units", + "value_emissions", class(final_solid_waste$value_emissions), "Emissions value", + "units_emissions", class(final_solid_waste$units_emissions), "Emissions units", + ) + +saveRDS(final_solid_waste, file.path(here::here(), "_waste/data/final_solid_waste_allyrs.RDS")) +saveRDS(final_solid_waste_meta, file.path(here::here(), "_waste/data/final_solid_waste_allyrs_meta.RDS")) diff --git a/_waste/data-raw/solid_waste/05_compile_final_solid_waste_ctu_allyrs.R b/_waste/data-raw/solid_waste/05_compile_final_solid_waste_ctu_allyrs.R new file mode 100644 index 00000000..ed0bde4a --- /dev/null +++ b/_waste/data-raw/solid_waste/05_compile_final_solid_waste_ctu_allyrs.R @@ -0,0 +1,52 @@ +source("R/_load_pkgs.R") + +# pull in final RDS +solid_waste <- readRDS(file.path(here::here(), "_waste/data/solid_waste_ctu_allyrs.RDS")) +# pull in population proportion timeseries + +ctu_population <- readRDS(file.path(here::here(), "_meta/data/ctu_population.RDS")) +# allocate to ctu by proportion + +solid_waste_ctu <- solid_waste %>% + right_join( + ctu_population %>% filter(inventory_year > 2004), + by = join_by(geoid, inventory_year), + relationship = "many-to-many" + ) %>% + mutate( + ctu_value_activity = value_activity * ctu_proportion_of_county_pop, + ctu_value_emissions = value_emissions * ctu_proportion_of_county_pop + ) %>% + select( + geoid, + ctuid, + inventory_year, + sector, + category, + source, + data_source, + factor_source, + value_activity = ctu_value_activity, + units_activity, + value_emissions = ctu_value_emissions, + units_emissions + ) + +solid_waste_ctu_meta <- tibble::tribble( + ~"Column", ~"Class", ~"Description", + "geoid", class(solid_waste_ctu$geoid), "5-digit FIPS county code", + "ctuid", class(solid_waste_ctu$ctuid), "5-digit CTU code", + "inventory_year", class(solid_waste_ctu$inventory_year), "Emissions estimation year", + "sector", class(solid_waste_ctu$sector), "Emissions sector (e.g., Waste)", + "category", class(solid_waste_ctu$category), "Category of emissions within given sector", + "source", class(solid_waste_ctu$source), "Subcategory-specific source (e.g., Landfill)", + "data_source", class(solid_waste_ctu$data_source), "Activity data source", + "factor_source", class(solid_waste_ctu$factor_source), "Emissions factor data source", + "value_activity", class(solid_waste_ctu$value_activity), "Activity data value (from SCORE)", + "units_activity", class(solid_waste_ctu$units_activity), "Activity data units", + "value_emissions", class(solid_waste_ctu$value_emissions), "Emissions value", + "units_emissions", class(solid_waste_ctu$units_emissions), "Emissions units", + ) + +saveRDS(solid_waste_ctu, file.path(here::here(), "_waste/data/final_solid_waste_ctu_allyrs.RDS")) +saveRDS(solid_waste_ctu_meta, file.path(here::here(), "_waste/data/final_solid_waste_ctu_allyrs_meta.RDS")) diff --git a/_waste/data-raw/solid_waste/archive_compile_solid_waste_2021.R b/_waste/data-raw/solid_waste/archive_compile_solid_waste_2021.R new file mode 100644 index 00000000..5b2750b5 --- /dev/null +++ b/_waste/data-raw/solid_waste/archive_compile_solid_waste_2021.R @@ -0,0 +1,60 @@ +source("R/_load_pkgs.R") +mn_emissions <- readRDS(file.path(here::here(), "_waste/data/mn_emissions_2021.RDS")) +wi_emissions <- readRDS(file.path(here::here(), "_waste/data/solid_waste_WI_allyrs.RDS")) + +# cleaning emissions data: make sure each has county, year, emissions, source +mn_cleaned <- mn_emissions %>% + mutate( + source = case_when( + source == "Landfill" ~ "Landfill", + source == "Onsite" ~ "Landfill", + source == "WTE" ~ "Waste to energy", + source == "Organics" ~ "Organics", + source == "Recycling" ~ "Recycling" + ) + ) %>% + group_by(geoid, source) %>% + mutate( + sectorized_emissions = sum(value_emissions), + data_source = "MPCA SCORE" + ) %>% + select( + geoid, + inventory_year, + value_emissions = sectorized_emissions, + source, + data_source, + units_emissions + ) %>% + distinct(.keep_all = TRUE) + +wi_cleaned <- wi_emissions %>% + filter( + inventory_year == 2021 + ) %>% + select( + geoid, + value_emissions, + source, + inventory_year, + data_source, + units_emissions + ) + +# combine data +emissions_total <- mn_cleaned %>% + bind_rows(wi_cleaned) + +emissions_total_meta <- tribble( + ~Column, ~Class, ~Description, + "geoid", class(emissions_total$geoid), "FIPS code for county of waste origin", + "inventory_year", class(emissions_total$inventory_year), "Year for which emissions were calculated", + "value_emissions", class(emissions_total$value_emissions), + "Emissions estimate in metric tons co2e", + "units_emissions", class(emissions_total$units_emissions), "Emissions units", + "source", class(emissions_total$source), "Waste processing source (Landfill, Recycling, Organics)", + "data_source", class(emissions_total$source), "Original source of data" +) + +saveRDS(emissions_total, file.path(here::here(), "_waste/data/solid_waste_2021.RDS")) +saveRDS(emissions_total_meta, file.path(here::here(), "_waste/data/solid_waste_2021_meta.RDS")) diff --git a/_waste/data-raw/solid_waste/archive_compile_solid_waste_MN_2021.R b/_waste/data-raw/solid_waste/archive_compile_solid_waste_MN_2021.R new file mode 100644 index 00000000..b2791acf --- /dev/null +++ b/_waste/data-raw/solid_waste/archive_compile_solid_waste_MN_2021.R @@ -0,0 +1,87 @@ +# Import and clean MPCA waste allocation data +source("R/_load_pkgs.R") +cprg_county <- readRDS("_meta/data/cprg_county.RDS") +## MPCA SCORE ---- +# Summary data collected from https://public.tableau.com/app/profile/mpca.data.services/viz/SCOREOverview/1991-2021SCORE + +score_summary <- read_csv(file.path(here::here(), "_waste/data-raw/solid_waste/score_summary.csv")) + +# to do: replace mn_counties with general-use list + +# filter to only counties in 9-county MN region, for the year 2021 + +score_filtered_2021 <- score_summary %>% + filter( + County %in% cprg_county$NAME, + Year == "2021" + ) %>% + left_join(cprg_county, by = join_by(County == NAME)) %>% + select( + geoid = GEOID, + source = Method, + inventory_year = Year, + value_activity = Tons + ) + +# add score metadata +# mpca_score_2021_meta <- tribble( +# ~Column, ~Class, ~Description, +# "County", class(score_filtered_2021$County), "MN county of waste origin", +# "Management Category", class(score_filtered_2021$`Management Category`), "Waste category +# (either M__ Municipal Solid Waste or Combined Recycling and Organics)", +# "source", class(score_filtered_2021$source), "Waste disposal source", +# "Year", class(score_filtered_2021$Year), "MPCA SCORE data collection year (this version of the dataset only includes 2021)", +# "Tons", class(score_filtered_2021$Tons), "Tons of waste collected" +# ) +# +# saveRDS(score_filtered_2021, paste0("_waste/data/mpca_score_2021.RDS")) +# saveRDS(mpca_score_2021_meta, paste0("_waste/data/mpca_score_2021_meta.RDS")) + +## Emissions Factors ---- + +epa_ghg_factor_hub <- readRDS("_meta/data/epa_ghg_factor_hub.RDS") +## Emissions ---- + +# join emissions factors to score data +# landfill = Mixed MSW: Landfilled +# msw compost = Mixed MSW: Composted (NA) +# onsite = Mixed MSW: Landfilled +# organics = Mixed Organics: Composted +# recycling = Mixed Recyclables: Recyclesd +# WTE = Mixed MSW: Combusted +# MSW Compost removed because it is empty - remember to test this + +waste_factors <- epa_ghg_factor_hub$waste + +score_final_2021 <- score_filtered_2021 %>% + rowwise() %>% + mutate( # emissions factor in metric tons co2/short tons waste + emissions_factor = + case_when( + source == "Landfill" ~ as.numeric(filter(waste_factors, Material == "Mixed MSW", name == "Landfilled") %>% + magrittr::extract2("value")), # 0.52 + source == "MSW Compost" ~ as.numeric(filter(waste_factors, Material == "Mixed MSW", name == "Composted") %>% + magrittr::extract2("value")), # NA + source == "Onsite" ~ as.numeric(filter(waste_factors, Material == "Mixed MSW", name == "Landfilled") %>% + magrittr::extract2("value")), # 0.52 + source == "Organics" ~ as.numeric(filter(waste_factors, Material == "Mixed Organics", name == "Composted") %>% + magrittr::extract2("value")), # 0.17 + source == "Recycling" ~ as.numeric(filter(waste_factors, Material == "Mixed Recyclables", name == "Recycled") %>% + magrittr::extract2("value")), # 0.09 + source == "WTE" ~ as.numeric(filter(waste_factors, Material == "Mixed MSW", name == "Combusted") %>% + magrittr::extract2("value")), # 0.43 + ), + # emissions in metric tons co2e + value_emissions = value_activity * emissions_factor, + units_emissions = "Tonnes CO2e", + units_activity = "Tons MSW", + data_source = "MPCA SCORE", + factor_source = "EPA Emissions Factors Hub" + ) %>% + filter(!source == "MSW Compost") # removing rows filled with 0s and NAs + +mn_emissions_2021_meta <- readRDS("_waste/data/solid_waste_MN_allyrs.RDS") + +# export +saveRDS(score_final_2021, paste0("_waste/data/mn_emissions_2021.RDS")) +saveRDS(mn_emissions_2021_meta, paste0("_waste/data/mn_emissions_2021_meta.RDS")) diff --git a/_waste/data-raw/solid_waste/epa_mn_methane_recovery.RDS b/_waste/data-raw/solid_waste/epa_mn_methane_recovery.RDS new file mode 100644 index 00000000..1df1f050 Binary files /dev/null and b/_waste/data-raw/solid_waste/epa_mn_methane_recovery.RDS differ diff --git a/_waste/data-raw/solid_waste/mpca_score_allyrs.RDS b/_waste/data-raw/solid_waste/mpca_score_allyrs.RDS new file mode 100644 index 00000000..56d8ac14 Binary files /dev/null and b/_waste/data-raw/solid_waste/mpca_score_allyrs.RDS differ diff --git a/_waste/data/mn_waste_composition.RDS b/_waste/data-raw/solid_waste/mpca_waste_composition.RDS similarity index 100% rename from _waste/data/mn_waste_composition.RDS rename to _waste/data-raw/solid_waste/mpca_waste_composition.RDS diff --git a/_waste/data-raw/score_summary.csv b/_waste/data-raw/solid_waste/score_summary.csv similarity index 100% rename from _waste/data-raw/score_summary.csv rename to _waste/data-raw/solid_waste/score_summary.csv diff --git a/_waste/data-raw/solid_waste_flaring.xlsx b/_waste/data-raw/solid_waste/solid_waste_flaring.xlsx similarity index 100% rename from _waste/data-raw/solid_waste_flaring.xlsx rename to _waste/data-raw/solid_waste/solid_waste_flaring.xlsx diff --git a/_waste/data-raw/solid_waste/solid_waste_lfgte.xlsx b/_waste/data-raw/solid_waste/solid_waste_lfgte.xlsx new file mode 100644 index 00000000..f7930ee1 Binary files /dev/null and b/_waste/data-raw/solid_waste/solid_waste_lfgte.xlsx differ diff --git a/_waste/data-raw/tabula-waste-characterization-table.csv b/_waste/data-raw/solid_waste/tabula-waste-characterization-table.csv similarity index 100% rename from _waste/data-raw/tabula-waste-characterization-table.csv rename to _waste/data-raw/solid_waste/tabula-waste-characterization-table.csv diff --git a/_waste/data-raw/solid_waste/tabula-wi_inventory_2005_2018.csv b/_waste/data-raw/solid_waste/tabula-wi_inventory_2005_2018.csv new file mode 100644 index 00000000..0d759fe5 --- /dev/null +++ b/_waste/data-raw/solid_waste/tabula-wi_inventory_2005_2018.csv @@ -0,0 +1,10 @@ +"",2005,2018 +"",, +Landfills,2.2,2.1 +MSW Generation,5.2,6.0 +Industrial Generation,0.4,0.4 +Flaring,-1.0,-0.7 +Landfill Gas-to-Energy,-2.1,-3.4 +Oxidation (MSW),0.2,0.2 +Oxidation (Industrial),0.0*,0.0* +Waste Combustion,0.1,0.1 diff --git a/_waste/data-raw/waste_emissions_factors.RDS b/_waste/data-raw/solid_waste/waste_emissions_factors.RDS similarity index 100% rename from _waste/data-raw/waste_emissions_factors.RDS rename to _waste/data-raw/solid_waste/waste_emissions_factors.RDS diff --git a/_waste/data-raw/solid_waste/x_01_first_order_decay.R b/_waste/data-raw/solid_waste/x_01_first_order_decay.R new file mode 100644 index 00000000..826d2271 --- /dev/null +++ b/_waste/data-raw/solid_waste/x_01_first_order_decay.R @@ -0,0 +1,157 @@ +source("R/_load_pkgs.R") + +# use MPCA SCORE data for 1991-2021 ---- +cprg_county <- readRDS("_meta/data/cprg_county.RDS") +score_summary <- read_csv(file.path(here::here(), "_waste/data-raw/solid_waste/score_summary.csv")) +mpca_waste_composition <- readRDS(file.path(here::here(), "_waste/data-raw/solid_waste/mpca_waste_composition.RDS")) +cprg_population_2005 <- readRDS(file.path(here::here(), "_meta/data/cprg_population_2005.RDS")) +# filter to only counties in 9-county MN region, for years between 2005 and 2021 + +mt_conversion_factor <- 0.90718474 +# waste_per_cap = 0.23 # estimated MN per cap value for 1990 +# +# historical_est <- cprg_population_2005 %>% +# filter(STATEFP == 27) %>% +# mutate( +# value_activity = population*waste_per_cap*mt_conversion_factor, +# source = "Landfill", +# units_activity = "metric tons MSW" +# ) %>% +# slice(rep(1:n(), each = 41)) %>% +# cbind(inventory_year = 1950:1990) %>% +# select( +# geoid = GEOID, +# source, +# inventory_year, +# value_activity, +# units_activity +# ) + +mpca_score_long <- score_summary %>% + # group_by(Year, Method) %>% + # mutate(state_total = sum(Tons) * mt_conversion_factor) %>% + filter( + County %in% cprg_county$county_name + ) %>% + mutate( + value_activity = Tons * mt_conversion_factor, # convert short tons to metric tons (for consistency with IPCC values) + units_activity = "metric tons MSW" + ) %>% + left_join(cprg_county, by = join_by(County == county_name)) %>% + mutate(Method = ifelse(Method == "WTE", "Waste to energy", Method)) %>% + select( + geoid, + source = Method, + inventory_year = Year, + value_activity, + units_activity + # state_total + ) %>% + ungroup() %>% + filter( + source == "Landfill" + ) +# %>% +# bind_rows( +# historical_est +# ) + +# calculate l0 ---- +# methane correction factor (MCF) +# assuming landfills managed well, semi-aerobic (see GHG Protocol) +mcf <- 0.5 +# fraction of degradable organic carbon degraded (DOC_f) +doc_f <- 0.6 +# fraction of methane in landfill gas (F) +f <- 0.5 + +# Calculate DOC using IPCC equation (see documentation) +# waste composition from MPCA report https://www.pca.state.mn.us/sites/default/files/w-sw1-60.pdf +# cleaned in _waste/data-raw/clean_tabula_tables.R + +ipcc_doc_factors <- tibble( + Category = c("Paper", "Textiles", "Organics (Non-Food)", "Organics (Food)", "Wood"), + Factor = c(0.4, 0.4, 0.17, 0.15, 0.3) +) + +doc_sum <- mpca_waste_composition %>% + inner_join(ipcc_doc_factors, by = join_by(Category)) %>% + mutate(doc_content = Mean * Factor) %>% + summarize(doc_total = sum(doc_content), degradable_fraction = sum(Mean)) + +doc <- doc_sum$doc_total + +# methane generation potential +l_0 <- mcf * doc * doc_f * f * 16 / 12 + +# first order decay ---- +k <- 0.05 +# default methane generation rate from IPCC +fod_calc <- mpca_score_long %>% + mutate( + msw_l0 = value_activity * l_0, + ddoc_accumulated = 0, + value_emissions = 0 + ) + +fod_county_list <- list() + +for (i in 1:9) { + county <- cprg_county$geoid[i] + fod_county <- fod_calc %>% + filter(geoid == county) + for (r in 1:31) { + # ddoc accumulated + if(r ==1) { + fod_county$ddoc_accumulated[r] <- fod_county$msw_l0[r] + } + else { + fod_county$ddoc_accumulated[r] <- (fod_county$ddoc_accumulated[r-1] * exp(-k) + + fod_county$msw_l0[r]) + } + # ddoc decomposed (in mmt? ch4) + if(r == 1){ + fod_county$value_emissions[r] <- 0 + } + else{ + fod_county$value_emissions[r] <- fod_county$ddoc_accumulated[r-1] * (1-exp(-k)) + } + } + fod_county_list[[i]] <- fod_county +} + +fod_emissions <- bind_rows(fod_county_list) + +# for final numbers: multiply by 1-ox +ox <- 0.1 +if (!exists("gwp")) { + source(file.path(here::here(), "R/global_warming_potential.R")) +} + +fod_emissions <- fod_emissions %>% + mutate( + value_emissions_fod = value_emissions * (1-ox) * gwp$ch4, + units_emissions = "Metric tonnes CO2e" + ) %>% + select( + geoid, + inventory_year, + value_emissions_fod + ) + +# graph compare ---- + +solid_waste <- readRDS(file.path(here::here(), "_waste/data/final_solid_waste_allyrs.RDS")) + +waste_compare <- solid_waste %>% + filter( + source == "Landfill" + ) %>% + left_join( + fod_emissions, + by = join_by(geoid, inventory_year) + ) + +ggplot(waste_compare, aes(x = inventory_year, y = value_emissions, color = geoid)) + + geom_line(linetype = 2) + + geom_line(aes(y = value_emissions_fod)) diff --git a/_waste/data-raw/wastewater/epa_state_wastewater_2005_2021.R b/_waste/data-raw/wastewater/epa_state_wastewater_2005_2021.R index 7b59747e..c644a64e 100644 --- a/_waste/data-raw/wastewater/epa_state_wastewater_2005_2021.R +++ b/_waste/data-raw/wastewater/epa_state_wastewater_2005_2021.R @@ -1,7 +1,7 @@ source("R/_load_pkgs.R") cprg_county <- readRDS(file.path(here::here(), "_meta/data/cprg_county.RDS")) cprg_population <- readRDS(file.path(here::here(), "_meta/data/cprg_county_proportions.RDS")) - +cprg_county_proportions <- readRDS("_meta/data/cprg_county_proportions.RDS") # mn epa ----- @@ -40,14 +40,17 @@ wi_epa <- readr::read_csv("_waste/data-raw/wastewater/epa/epa-wi-wastewater.csv" wastewater_epa <- bind_rows(mn_epa, wi_epa) %>% filter(!CO2e == "-") %>% group_by(Year, STATE) %>% - summarize(co2e_state = sum(as.numeric(CO2e)) * 10^6) + summarize(co2e_state = sum(as.numeric(CO2e)) * 10^6) %>% + mutate(year = as.numeric(Year)) -wastewater_2005_2021 <- left_join(cprg_county_proportions %>% filter(year >= 2005 & year <= 2021), +wastewater_2005_2021 <- left_join(cprg_county_proportions %>% + mutate(population_year = as.numeric(population_year)) %>% + filter(population_year >= 2005 & population_year <= 2021), wastewater_epa, - by = c("year" = "Year", "STATE" = "STATE") + by = c("population_year" = "year", "state_name" = "STATE") ) %>% mutate(co2e = county_proportion_of_state_pop * co2e_state) %>% - select(STATE, STATEFP, NAME, GEOG_UNIT_ID = COUNTYFP, year, co2e) + select(state_name, county_name, year = population_year, co2e) # and save saveRDS(wastewater_2005_2021, "_waste/data/epa_county_wastewater_2005_2021.RDS") diff --git a/_waste/data/county_sw_emissions.RDS b/_waste/data/county_sw_emissions.RDS deleted file mode 100644 index 973aedd8..00000000 Binary files a/_waste/data/county_sw_emissions.RDS and /dev/null differ diff --git a/_waste/data/county_sw_emissions_meta.RDS b/_waste/data/county_sw_emissions_meta.RDS deleted file mode 100644 index 523c1b9b..00000000 Binary files a/_waste/data/county_sw_emissions_meta.RDS and /dev/null differ diff --git a/_waste/data/epa_county_wastewater_2005_2021.RDS b/_waste/data/epa_county_wastewater_2005_2021.RDS index d8d4ceb4..ed510684 100644 Binary files a/_waste/data/epa_county_wastewater_2005_2021.RDS and b/_waste/data/epa_county_wastewater_2005_2021.RDS differ diff --git a/_waste/data/final_solid_waste_allyrs.RDS b/_waste/data/final_solid_waste_allyrs.RDS new file mode 100644 index 00000000..3c5a71b6 Binary files /dev/null and b/_waste/data/final_solid_waste_allyrs.RDS differ diff --git a/_waste/data/final_solid_waste_allyrs_meta.RDS b/_waste/data/final_solid_waste_allyrs_meta.RDS new file mode 100644 index 00000000..b2228610 Binary files /dev/null and b/_waste/data/final_solid_waste_allyrs_meta.RDS differ diff --git a/_waste/data/final_solid_waste_ctu_allyrs.RDS b/_waste/data/final_solid_waste_ctu_allyrs.RDS new file mode 100644 index 00000000..a7bd7162 Binary files /dev/null and b/_waste/data/final_solid_waste_ctu_allyrs.RDS differ diff --git a/_waste/data/final_solid_waste_ctu_allyrs_meta.RDS b/_waste/data/final_solid_waste_ctu_allyrs_meta.RDS new file mode 100644 index 00000000..89d5a16e Binary files /dev/null and b/_waste/data/final_solid_waste_ctu_allyrs_meta.RDS differ diff --git a/_waste/data/incineration_MN_allyrs.RDS b/_waste/data/incineration_MN_allyrs.RDS new file mode 100644 index 00000000..9cb2309f Binary files /dev/null and b/_waste/data/incineration_MN_allyrs.RDS differ diff --git a/_waste/data/incineration_MN_allyrs_meta.RDS b/_waste/data/incineration_MN_allyrs_meta.RDS new file mode 100644 index 00000000..18c65334 Binary files /dev/null and b/_waste/data/incineration_MN_allyrs_meta.RDS differ diff --git a/_waste/data/landfill_MN_allyrs.RDS b/_waste/data/landfill_MN_allyrs.RDS new file mode 100644 index 00000000..96bae587 Binary files /dev/null and b/_waste/data/landfill_MN_allyrs.RDS differ diff --git a/_waste/data/landfill_MN_allyrs_meta.RDS b/_waste/data/landfill_MN_allyrs_meta.RDS new file mode 100644 index 00000000..18c65334 Binary files /dev/null and b/_waste/data/landfill_MN_allyrs_meta.RDS differ diff --git a/_waste/data/methane_recovery_mn.RDS b/_waste/data/methane_recovery_mn.RDS deleted file mode 100644 index 8fc152b2..00000000 Binary files a/_waste/data/methane_recovery_mn.RDS and /dev/null differ diff --git a/_waste/data/methane_recovery_mn_meta.RDS b/_waste/data/methane_recovery_mn_meta.RDS deleted file mode 100644 index 5e961a12..00000000 Binary files a/_waste/data/methane_recovery_mn_meta.RDS and /dev/null differ diff --git a/_waste/data/mn_emissions.RDS b/_waste/data/mn_emissions.RDS deleted file mode 100644 index 6a20ef95..00000000 Binary files a/_waste/data/mn_emissions.RDS and /dev/null differ diff --git a/_waste/data/mn_emissions_2021.RDS b/_waste/data/mn_emissions_2021.RDS index f0f1d6e8..53b3e148 100644 Binary files a/_waste/data/mn_emissions_2021.RDS and b/_waste/data/mn_emissions_2021.RDS differ diff --git a/_waste/data/mn_emissions_2021_meta.RDS b/_waste/data/mn_emissions_2021_meta.RDS index 2a7bf47a..01f0bdfa 100644 Binary files a/_waste/data/mn_emissions_2021_meta.RDS and b/_waste/data/mn_emissions_2021_meta.RDS differ diff --git a/_waste/data/mn_emissions_meta.RDS b/_waste/data/mn_emissions_meta.RDS deleted file mode 100644 index 1ed14f73..00000000 Binary files a/_waste/data/mn_emissions_meta.RDS and /dev/null differ diff --git a/_waste/data/mn_sw_emissions_by_gas.RDS b/_waste/data/mn_sw_emissions_by_gas.RDS deleted file mode 100644 index eac344b3..00000000 Binary files a/_waste/data/mn_sw_emissions_by_gas.RDS and /dev/null differ diff --git a/_waste/data/mn_sw_emissions_by_gas_meta.RDS b/_waste/data/mn_sw_emissions_by_gas_meta.RDS deleted file mode 100644 index ca2e628c..00000000 Binary files a/_waste/data/mn_sw_emissions_by_gas_meta.RDS and /dev/null differ diff --git a/_waste/data/mn_sw_emissions_co2e.RDS b/_waste/data/mn_sw_emissions_co2e.RDS deleted file mode 100644 index f5393675..00000000 Binary files a/_waste/data/mn_sw_emissions_co2e.RDS and /dev/null differ diff --git a/_waste/data/mn_sw_emissions_co2e_meta.RDS b/_waste/data/mn_sw_emissions_co2e_meta.RDS deleted file mode 100644 index 94c2af03..00000000 Binary files a/_waste/data/mn_sw_emissions_co2e_meta.RDS and /dev/null differ diff --git a/_waste/data/mn_waste_composition_meta.RDS b/_waste/data/mn_waste_composition_meta.RDS deleted file mode 100644 index 10dbb64e..00000000 Binary files a/_waste/data/mn_waste_composition_meta.RDS and /dev/null differ diff --git a/_waste/data/mpca_score.RDS b/_waste/data/mpca_score.RDS deleted file mode 100644 index fef0a241..00000000 Binary files a/_waste/data/mpca_score.RDS and /dev/null differ diff --git a/_waste/data/mpca_score_2021.RDS b/_waste/data/mpca_score_2021.RDS deleted file mode 100644 index 2338aee2..00000000 Binary files a/_waste/data/mpca_score_2021.RDS and /dev/null differ diff --git a/_waste/data/mpca_score_2021_meta.RDS b/_waste/data/mpca_score_2021_meta.RDS deleted file mode 100644 index 15762ab9..00000000 Binary files a/_waste/data/mpca_score_2021_meta.RDS and /dev/null differ diff --git a/_waste/data/mpca_score_meta.RDS b/_waste/data/mpca_score_meta.RDS deleted file mode 100644 index c81434fb..00000000 Binary files a/_waste/data/mpca_score_meta.RDS and /dev/null differ diff --git a/_waste/data/organics_MN_allyrs.RDS b/_waste/data/organics_MN_allyrs.RDS new file mode 100644 index 00000000..f59cbc85 Binary files /dev/null and b/_waste/data/organics_MN_allyrs.RDS differ diff --git a/_waste/data/organics_MN_allyrs_meta.RDS b/_waste/data/organics_MN_allyrs_meta.RDS new file mode 100644 index 00000000..18c65334 Binary files /dev/null and b/_waste/data/organics_MN_allyrs_meta.RDS differ diff --git a/_waste/data/solid_waste_2021.RDS b/_waste/data/solid_waste_2021.RDS new file mode 100644 index 00000000..144dcaab Binary files /dev/null and b/_waste/data/solid_waste_2021.RDS differ diff --git a/_waste/data/solid_waste_2021_meta.RDS b/_waste/data/solid_waste_2021_meta.RDS new file mode 100644 index 00000000..411325bd Binary files /dev/null and b/_waste/data/solid_waste_2021_meta.RDS differ diff --git a/_waste/data/solid_waste_MN_allyrs.RDS b/_waste/data/solid_waste_MN_allyrs.RDS new file mode 100644 index 00000000..ab1e8e9d Binary files /dev/null and b/_waste/data/solid_waste_MN_allyrs.RDS differ diff --git a/_waste/data/solid_waste_MN_allyrs_meta.RDS b/_waste/data/solid_waste_MN_allyrs_meta.RDS new file mode 100644 index 00000000..b2228610 Binary files /dev/null and b/_waste/data/solid_waste_MN_allyrs_meta.RDS differ diff --git a/_waste/data/solid_waste_MN_by_gas.RDS b/_waste/data/solid_waste_MN_by_gas.RDS new file mode 100644 index 00000000..7ffe6791 Binary files /dev/null and b/_waste/data/solid_waste_MN_by_gas.RDS differ diff --git a/_waste/data/solid_waste_MN_by_gas_meta.RDS b/_waste/data/solid_waste_MN_by_gas_meta.RDS new file mode 100644 index 00000000..18c65334 Binary files /dev/null and b/_waste/data/solid_waste_MN_by_gas_meta.RDS differ diff --git a/_waste/data/solid_waste_WI_allyrs.RDS b/_waste/data/solid_waste_WI_allyrs.RDS new file mode 100644 index 00000000..f9749265 Binary files /dev/null and b/_waste/data/solid_waste_WI_allyrs.RDS differ diff --git a/_waste/data/solid_waste_WI_allyrs_meta.RDS b/_waste/data/solid_waste_WI_allyrs_meta.RDS new file mode 100644 index 00000000..1132bdc0 Binary files /dev/null and b/_waste/data/solid_waste_WI_allyrs_meta.RDS differ diff --git a/_waste/data/wi_emissions.RDS b/_waste/data/wi_emissions.RDS deleted file mode 100644 index 1436019d..00000000 Binary files a/_waste/data/wi_emissions.RDS and /dev/null differ diff --git a/_waste/data/wi_emissions_meta.RDS b/_waste/data/wi_emissions_meta.RDS deleted file mode 100644 index 1bcfb259..00000000 Binary files a/_waste/data/wi_emissions_meta.RDS and /dev/null differ diff --git a/_waste/data_mpca_score_2021.qmd b/_waste/data_mpca_score_2021.qmd index fa9fff67..60d92f62 100644 --- a/_waste/data_mpca_score_2021.qmd +++ b/_waste/data_mpca_score_2021.qmd @@ -1,4 +1,4 @@ -## MPCA SCORE {#sec-mpca-score} +### MPCA SCORE {#sec-mpca-score} ```{r} source(file.path(here::here(), "R/_quarto_helpers.R")) @@ -27,7 +27,7 @@ hookaddcap() ``` -The Minnesota Pollution Control Agency collects an annual inventory, [SCORE](https://public.tableau.com/app/profile/mpca.data.services/viz/SCOREOverview/1991-2021SCORE), of solid waste, recycling and organics as reported by counties across the state. For this project, we used MPCA data for the nine Minnesota counties for the year 2021. SCORE is named for the Governor's Select Committee on Recycling and the Environment, which first proposed funding laws in 1989 [@mpcaUnderstandingSolidWaste2023]. +The Minnesota Pollution Control Agency collects an annual inventory, [SCORE](https://public.tableau.com/app/profile/mpca.data.services/viz/SCOREOverview/1991-2021SCORE), of solid waste, recycling and organics as reported by counties across the state. For this project, we used MPCA data for the nine Minnesota counties for the years 2005 through 2021. SCORE is named for the Governor's Select Committee on Recycling and the Environment, which first proposed funding laws in 1989 [@mpcaUnderstandingSolidWaste2023]. The SCORE data is a high-quality government dataset submitted annually by solid waste staff in each county of Minnesota, as a part of Minnesota's SCORE laws to support waste reduction and calculate the cost of managing waste and recycling. The data provided includes the total short tons of waste generated in each county within each "Method" category, described below. @@ -35,7 +35,7 @@ The data was accessed through the SCORE tool's Tableau dashboard, then filtered #### Data distribution -To check if the data is reasonable, we can start by visualizing the tons of waste generated for each county, broken into categories. +To check if the data is reasonable, we can start by visualizing the tons of waste generated for each county in 2021, broken into categories. We would generally expect waste from landfills to be greater than recycling, and both landfill and recycling waste to be greater than compost (or "organics"). We can see that this expectation largely holds true, with the exception of Ramsey County, where compost outstrips both recycling and landfill. Part of the explanation for this may lie in the fact that, like Hennepin and Washington, a large portion of Ramsey County's waste is managed in Waste-to-Energy facilities rather than landfills. This is consistent with waste management strategies of the metropolitan areas within Ramsey, Hennepin and Washington counties [@alexanderHennepinCountyGreenhouse2020]. @@ -178,145 +178,145 @@ fig_waste_county_pop <- plot_ly( fig_waste_county_pop ``` -### Data characteristics +#### Data characteristics This data includes MSW Compost as a category, but since all values for this category in the area and year needed were 0, we excluded it from our analysis. -Uncertainty was not included in the dataset given, nor does the EPA offer guidance for estimating uncertainty of solid waste emissions factors. +Uncertainty was not included in the dataset given. -### Waste management classification + -The MPCA SCORE report classifies waste management by two management methods and, within those categories, five sub-methods [@mpcaSustainableMaterialsManagement2023]. Within the management methods, "MMSW", or "Mixed Municipal Solid Waste", refers to garbage, organic refuse, or other solid waste aggregated for collection, while "Combined Recycling and Organics" refers to separated recyclable and composted materials, including traditional recyclables, source-separated compostable materials, and yard trimmings. + -MMSW includes the subcategories of Landfill, Waste to Energy (WTE), Onsite, and MSW Compost. Landfill is all material disposed of in a landfill. WTE refers to waste combusted in an energy recovery facility or incinerator. Onsite refers to burning or burying MSW [@mpcaSustainableMaterialsManagement2023], which is illegal in Minnesota except in the case of farmers disposing of specific types of household garbage. No metropolitan counties reported any MSW Compost in the year 2021. Only Sherburne and Chisago counties reported onsite disposal. + -Combined Recycling and Organics includes the subcategories Recycling and Organics. Organics, as compared to MSW Compost, refers to source-separated and direct compost streams. All compost data in this report comes from this category. + -After comparing with federal tools like the EPA's [Waste and Recycling National Overview](https://www.epa.gov/facts-and-figures-about-materials-waste-and-recycling/national-overview-facts-and-figures-materials) and the expectations of a greenhouse gas inventory, we chose to summarize SCORE's data into three categories: Landfill, Recycling, and Organics. Landfill includes, in addition to MPCA-reported Landfill data, the categories of Onsite and WTE management. + -#### Alignment with EPA Emissions Factors + -We used emissions factors from the EPA's [Emission Factors Hub](https://www.epa.gov/climateleadership/ghg-emission-factors-hub) to calculate emissions based on the totals reported by the MPCA. These emissions factors come from the EPA's [Waste Reduction Model](https://www.epa.gov/warm). + -We selected for each management subcategory the emissions factor most aligned with the waste type as reported in SCORE. These emissions factors do not take into account emissions savings associated with a particular management method, for example energy savings from waste to energy facilities. + ```{r tbl-solid-waste-management-classifications} -#| tbl-cap: "Solid waste management classifications by data source, including emissions factors" -#| out-width: "95%" - -# waste_factors <- epa_ghg_factor_hub$waste -# TODO fix table here with actual epa_ghg_factor_hub values used - -waste_management_comp <- - tribble( - ~`MPCA Management Method`, ~`MPCA Method`, ~`Our Category`, ~`Emissions Factor Name`, ~`Emissions Factor`, - "MMSW", "Landfill", "Landfill", "Mixed MSW Landfilled", "0.52", - "MMSW", "Onsite", "Landfill", "Mixed MSW Landfilled", "0.52", - "MMSW", "WTE", "Waste to Energy", "Mixed MSW Combusted", "0.43", - "MMSW", "MSW Compost", "Organics", "N/A", "N/A", - "Combined Recycling and Organics", "Organics", "Organics", "Mixed Organics Composted", "0.17", - "Combined Recycling and Organics", "Recycling", "Recycling", "Mixed Recyclables Recycled", "0.09" - ) - -gt::gt(waste_management_comp, - row_group_as_column = FALSE -) %>% - tab_style( - style = list( - cell_fill( - color = "lightgray", - alpha = 0.5 - ), - cell_borders(sides = "top") - ), - locations = cells_body( - columns = 1:3, - rows = 1:3 - ) - ) %>% - tab_style( - style = list( - cell_fill( - color = "lightgray", - alpha = 0.5 - ), - cell_borders(sides = "top") - ), - locations = cells_body( - columns = 1, - rows = 4 - ) - ) %>% - tab_style( - style = list( - cell_fill( - color = "lightblue", - alpha = 0.5 - ), - cell_borders(sides = "top") - ), - locations = cells_body( - columns = 1:3, - rows = 6 - ) - ) %>% - tab_style( - style = list( - cell_fill( - color = "lightblue", - alpha = 0.5 - ), - cell_borders(sides = "top") - ), - locations = cells_body( - columns = 1, - rows = 5 - ) - ) %>% - tab_style( - style = list( - cell_fill( - color = "lightgreen", - alpha = 0.5 - ), - cell_borders(sides = "top") - ), - locations = cells_body( - columns = 2:3, - rows = 4:5 - ) - ) %>% - tab_style( - style = list( - cell_fill( - color = "lightpink", - alpha = 0.5 - ), - cell_borders(sides = "top") - ), - locations = cells_body( - columns = 2:3, - rows = 3 - ) - ) %>% - tab_style( - style = cell_text(weight = "bold"), - locations = cells_column_labels() - ) %>% - fmt_markdown() %>% - as_raw_html() +# #| tbl-cap: "Solid waste management classifications by data source, including emissions factors" +# #| out-width: "95%" +# +# # waste_factors <- epa_ghg_factor_hub$waste +# # TODO fix table here with actual epa_ghg_factor_hub values used +# +# waste_management_comp <- +# tribble( +# ~`MPCA Management Method`, ~`MPCA Method`, ~`Our Category`, ~`Emissions Factor Name`, ~`Emissions Factor`, +# "MMSW", "Landfill", "Landfill", "Mixed MSW Landfilled", "0.52", +# "MMSW", "Onsite", "Landfill", "Mixed MSW Landfilled", "0.52", +# "MMSW", "WTE", "Waste to Energy", "Mixed MSW Combusted", "0.43", +# "MMSW", "MSW Compost", "Organics", "N/A", "N/A", +# "Combined Recycling and Organics", "Organics", "Organics", "Mixed Organics Composted", "0.17", +# "Combined Recycling and Organics", "Recycling", "Recycling", "Mixed Recyclables Recycled", "0.09" +# ) +# +# gt::gt(waste_management_comp, +# row_group_as_column = FALSE +# ) %>% +# tab_style( +# style = list( +# cell_fill( +# color = "lightgray", +# alpha = 0.5 +# ), +# cell_borders(sides = "top") +# ), +# locations = cells_body( +# columns = 1:3, +# rows = 1:3 +# ) +# ) %>% +# tab_style( +# style = list( +# cell_fill( +# color = "lightgray", +# alpha = 0.5 +# ), +# cell_borders(sides = "top") +# ), +# locations = cells_body( +# columns = 1, +# rows = 4 +# ) +# ) %>% +# tab_style( +# style = list( +# cell_fill( +# color = "lightblue", +# alpha = 0.5 +# ), +# cell_borders(sides = "top") +# ), +# locations = cells_body( +# columns = 1:3, +# rows = 6 +# ) +# ) %>% +# tab_style( +# style = list( +# cell_fill( +# color = "lightblue", +# alpha = 0.5 +# ), +# cell_borders(sides = "top") +# ), +# locations = cells_body( +# columns = 1, +# rows = 5 +# ) +# ) %>% +# tab_style( +# style = list( +# cell_fill( +# color = "lightgreen", +# alpha = 0.5 +# ), +# cell_borders(sides = "top") +# ), +# locations = cells_body( +# columns = 2:3, +# rows = 4:5 +# ) +# ) %>% +# tab_style( +# style = list( +# cell_fill( +# color = "lightpink", +# alpha = 0.5 +# ), +# cell_borders(sides = "top") +# ), +# locations = cells_body( +# columns = 2:3, +# rows = 3 +# ) +# ) %>% +# tab_style( +# style = cell_text(weight = "bold"), +# locations = cells_column_labels() +# ) %>% +# fmt_markdown() %>% +# as_raw_html() ``` -### Limitations + -- As mentioned above, EPA emissions factors do not account for emissions saved through Waste to Energy conversions, as contrasted with Wisconsin emissions, which do. -- There is wide variation between emissions factors for waste of various kinds within the same category. Because we do not have a detailed breakdown of the makeup of every category, we have assumed each one is adequately represented by the "Mixed MSW", "Mixed Organics", and "Mixed Recyclables" factors respectively. -- This estimation method generates emissions for all waste generated in 2021. However, waste in landfills and composting facilities does not release all emissions at once. This method tends to overestimate emissions for a given year [@fongGlobalProtocolCommunityScale2021]. + + + diff --git a/_waste/data_mpca_score_update.qmd b/_waste/data_mpca_score_update.qmd deleted file mode 100644 index b868f203..00000000 --- a/_waste/data_mpca_score_update.qmd +++ /dev/null @@ -1,49 +0,0 @@ -## MPCA SCORE UPDATE {#sec-mpca-score-update} - -```{r} -source(file.path(here::here(), "R/_quarto_helpers.R")) -source(file.path(here::here(), "R/_load_pkgs.R")) -source(file.path(here::here(), "R/_plotting_helpers.R")) -# pull data here -mpca_score <- readRDS(file.path(here::here(), "_waste/data/mpca_score.RDS")) %>% - mutate(Method = ifelse(Method == "WTE", "Waste-to-Energy", Method)) %>% - mutate(Method = factor(Method, - levels = c( - "Waste-to-Energy", - "Organics", - "Recycling", - "Landfill", - "MSW Compost", - "Onsite" - ), - ordered = TRUE - )) -mpca_score_meta <- readRDS(file.path(here::here(), "_waste/data/mpca_score_meta.RDS")) -cprg_county <- readRDS(file.path(here::here(), "_meta/data/cprg_county.RDS")) -cprg_pop <- readRDS(file.path(here::here(), "_meta/data/cprg_population.RDS")) -hookaddcap() -``` - -```{r} -# graph mpca totals by county(cat) by year -mpca_waste_sums <- mpca_score %>% - group_by(County, Year) %>% - summarize(total_waste = sum(Tons)) - -ggplot(mpca_waste_sums) + - geom_line(aes(Year, total_waste, color = County)) - -mpca_score %>% - group_by(Method, Year) %>% - summarize(total_waste = sum(Tons)) %>% - ggplot() + - geom_line(aes(Year, total_waste, color = Method)) -``` - - -```{r echo=FALSE, eval=FALSE} -caption_index <- readRDS(file.path(here::here(), "caption_index.RDS")) -caption_index <- as.character(as.numeric(caption_index) + 1) %>% stringr::str_pad(width = 2, side = "left", pad = "0") -saveCap(paste0("cap-", caption_index)) -saveRDS(caption_index, file.path(here::here(), "caption_index.RDS")) -``` diff --git a/_waste/data_solid_waste_methods.qmd b/_waste/data_solid_waste_methods.qmd new file mode 100644 index 00000000..2870febc --- /dev/null +++ b/_waste/data_solid_waste_methods.qmd @@ -0,0 +1,320 @@ +```{r include=FALSE} +knitr::opts_chunk$set( + echo = FALSE, + message = FALSE, + warning = FALSE, + fig.pos = "H", + out.width = "100%", + dpi = 300 +) + + +knitr::opts_knit$set(root.dir = rprojroot::find_rstudio_root_file()) +``` + +```{r, include=FALSE} +source(file.path(here::here(), "R/_quarto_helpers.R")) +source(file.path(here::here(), "R/_load_pkgs.R")) +source(file.path(here::here(), "R/_plotting_helpers.R")) +cprg_population <- readRDS(file.path(here::here(), "_meta/data/cprg_population.RDS")) +epa_waste_inventory <- readRDS(file.path(here::here(), "_waste/data-raw/compare_epa_inventory.RDS")) + +federal_totals <- epa_waste_inventory %>% + filter(source == "Total") %>% + select( + geoid, + source, + value_emissions, + data_source + ) + +cprg_ctu <- readRDS(file.path(here::here(), "_meta/data/cprg_ctu.RDS")) +solid_waste <- readRDS(file.path(here::here(), "_waste/data/final_solid_waste_allyrs.RDS")) +waste_emissions_old <- readRDS(file.path(here::here(), "_waste/data/solid_waste_2021.RDS")) +hookaddcap() +``` + +## Methods + +Solid waste emissions for Minnesota and Wisconsin are calculated using two different methods due to a difference in data availability. + +### Minnesota + +The previous iteration of this inventory calculated Minnesota's solid waste emissions by multiplying activity totals by emissions factors from the EPA's Emissions Factor Hub. This update instead uses methodologies recommended by the Intergovernmental Panel on Climate Change (IPCC) (cite).The methodologies were selected to align with best practices for community-wide inventories using the IPCC recommendations and the guidance of the Global Protocol for Community-Scale Greenhouse Gas Inventories (cite). + +#### Landfill + +The IPCC suggests two alternatives for calculating landfill emissions, a first order decay model and a methane commitment model. The first order decay model is often used for larger-scale inventories, such as the US Federal Inventory, and requires waste data going back to 1950. Given the data available and the scope of this inventory, we chose to instead use the simpler methane commitment model to calculate county-level emissions for Minnesota. + +The methane commitment model calculates methane emissions from landfills for a given year by multiplying municipal solid waste totals by a methane generation potential and adjusting for oxidation and methane flaring, + +$$Emissions_{CH_4} = [(MSW \times L_0 )-rec] \times (1 – ox) $$ + +$MSW$, or the amount of municipal solid waste processed in landfills, is reported on a county level by MPCA's SCORE report (@sec-mpca-score). + +It is then multiplied by a methane generation potential $L_0$. In some processes, the amount of methane recovered from landfills, either through methane flaring or landfill gas to energy programs, is subtracted here. Due to data concerns and best practices recommendations, we have chosen not to include methane recovery in our Minnesota emissions calculations. Learn more in @sec-epa-methane. + +After subtracting methane recovered, emissions are multiplied by $1-ox$ to account for oxidation in the landfill. Our oxidation value is assigned the IPCC default of 0.1. + +$L_0$, the methane generation potential, is calculated as follows: + +$$L_0 = MCF × DOC_f × F × 16/12 \times DOC$$ where + +- $MCF$ = methane commitment factor. Assigned IPCC default of 0.5 for managed, semi-aerobic landfills. +- $DOC_f$ = fraction of degradable organic carbon degraded. Assigned IPCC default of 0.6. +- $F$ = fraction of methane in landfill gas. Assigned IPCC default of 0.5. +- $16/12$ = ?? +- $DOC$ = degradable organic carbon. Calculated based on local waste makeup data from MPCA's [2013 Statewide Waste Characterization study](https://www.pca.state.mn.us/sites/default/files/w-sw1-60.pdf), using the equation $DOC = ( 0.4 \times \text{paper/textiles}) + ( 0.17 \times \text{non-food organics}) + ( 0.15 \times \text{food waste}) + ( 0.3 \times \text{wood/straw})$. + +#### Compost + +Compost produces both methane and nitrous oxide. Emissions are calculated by multiplying waste activity totals by emissions factors divided between aerobic and anaerobic digesters. Since Minnesota only has one anaerobic digester, we assumed 0% anaerobic digestion in the inventory area (source). + +$$Emissions_{CH_4} = MSW_{compost} \times 10 \times 10^{-3}$$ + +$$Emissions_{N_2O} = MSW_{compost} \times 0.6 \times 10^{-3}$$ + +As in other sections, MSW activity data comes from MPCA's SCORE report. The emissions factors of 10 and 0.6 come from IPCC default values. + +#### Incineration + +Since incineration data is reported to SCORE as Waste to Energy, it is assumed that all incineration in the MSA is considered Waste to Energy. + +Incineration of waste produces CH~4~, CO~2~, and N~2~O emissions. However, the Global Protocol for Community-Scale Greenhouse Gas Emission Inventories reports negligible CH~4~ emissions for continuous incineration facilities. + + +$$Emissions_{CO_2} = (MSW_{incinerated} \times E_i + MSW_{onsite} \times E_o) \times FCC +\times FFC \times 44/12$$ + +$$Emissions_{N_2O} = MSW_{incinerated} \times EF_{N_2O} \times 10^{-6}$$ + +where: + +- $MSW_{incinerated}$ = municipal solid waste incinerated, as reported by SCORE. + +- $E_i$ = efficiency of combustion for incineration. Assigned IPCC default of 95%. + +- $MSW_{onsite}$ = municipal solid waste burned onsite, as reported by SCORE. + +- $E_o$ = efficiency of combustion for onsite burning. Assigned Greenhouse Gas Protocol default of 71%. + +- $FCC$ = fraction of carbon content in MSW. Assigned IPCC default of 40%. + +- $FFC$ = fraction of fossil carbon in MSW. Assigned IPCC default of 40%. + +- $EF_{N_2O}$ = aggregate N~2~O emission factor for MSW. Assigned GHG Protocol default of 50 g N~2~O/ metric tons waste for continuous and semi-continuous incinerators. + +#### Limitations + +Because the methane commitment method for landfill emissions calculates emissions slightly differently than the IPCC-encouraged First Order Decay model, landfill results may differ slightly from sources that use First Order Decay, such as the EPA's National Inventory and its State Inventory Tools. Both methods are accepted as valid ways to estimate solid waste emissions. + +MPCA SCORE does not report activity data for waste generated and processed by industry. + + +Emissions are not calculated for waste that is recycled, as any emissions generated in the recycling process come from the energy use of the facilities or transportation and are accounted for in other sectors of this inventory. + +### Wisconsin + +Wisconsin emissions are calculated by interpolating and scaling down state-level data from the Wisconsin DNR [@wisconsindnrGreenhouseGas2021]. + +This 2021 inventory estimates landfill and waste-to-energy emissions for the years 2005 and 2018, including methane recovery offsets. In order to fill in missing years, emissions between 2005 and 2018 were linearly interpolated. Due to the small amount of change in emissions, it was assumed that emissions from 2018 to 2021 were constant. These emissions were then allocated to counties based on population. + + +## Validation Graphs + +Timeseries of categories over time, across the whole MN area. + +```{r fig-sw-timeseries} +#| fig-cap: "Solid waste changes over time, 9-county MN region" +#| out-width: "95%" +sw_total_geog <- solid_waste %>% + group_by(sector, category, inventory_year, source) %>% + summarize(value_emissions = sum(value_emissions)) + +fig_solid_waste_time <- + plot_ly( + type = "bar", + source = "fig-sw-timeseries", + data = sw_total_geog, + y = ~value_emissions, + x = ~inventory_year, + color = ~source, + colors = unlist(management_method_colors), + marker = list( + line = list( + width = 0 + ) + ), + hovertemplate = ~ paste0( + category, ", ", source, "
", + round(value_emissions / 1000, digits = 0), " thousand metric tons CO2e", "
", + "" + ) + ) %>% + plotly_layout( + main_title = "Solid Waste Emissions MN Counties 2005-2021", + subtitle = "", + y_title = "Metric tons CO2e", + x_title = "Year", + legend_title = "Category" + ) %>% + layout( + barmode = "stack", + legend = list( + traceorder = "reversed" + ), + yaxis = list(categoryorder = "total ascending") + ) +fig_solid_waste_time +``` + +Total emissions appear to be decreasing to 2013 and then increasing again. This may be due to population change. A graph of emissions per capita could help explore this. + +Comparing 2021 waste data (this run) with previous waste data and NEI data, to test consistency. Note that this version of solid waste data excludes methane recovery, so emissions may be slightly higher in some cases than expected. + +```{r fig-solid-waste-versions-compare} +#| fig-cap: "Solid waste emissions comparison: Met Council and US GHG Inventory" +#| out-width: "95%" + +solidwaste_totals_prev <- waste_emissions_old %>% + group_by(geoid) %>% + summarise( + value_emissions = sum(value_emissions) + ) + +solidwaste_totals_new <- solid_waste %>% + filter(inventory_year == 2021) %>% + group_by(geoid) %>% + summarise( + value_emissions = sum(value_emissions) + ) %>% + mutate(data_source = "Met Council V2") + +waste_federal <- solidwaste_totals_prev %>% + mutate(data_source = "Met Council V1") %>% + bind_rows(solidwaste_totals_new) %>% + bind_rows(federal_totals) + +fig_sw_versions_compare <- plot_ly( + data = waste_federal, + source = "fig-solid-waste-versions-compare", + x = ~geoid, + y = ~value_emissions, + color = ~data_source, + type = "bar", + colors = c( + "Met Council V1" = colors$councilBlue, + "Met Council V2" = cprg_colors$cprg_green, + "US GHG Inventory" = cprg_colors$cprg_da_yellow + ), + hovertemplate = ~ paste0( + geoid, " County", "
", + data_source, "
", + round(value_emissions * 1e-3, digits = 0), + " thousand metric tons CO2e", "
", + "" + ) +) %>% + councilR::plotly_layout( + main_title = "Solid waste emissions comparison", + subtitle = "Met Council estimates compared to US GHG Inventory", + x_title = "County", + y_title = "Metric tons CO2e", + legend_title = "Emissions Source" + ) %>% + plotly::layout(barmode = "group") + +fig_sw_versions_compare +``` + +Total emissions per county comparing 2005 vs 2021 + +```{r fig-solid-waste-compare-years} +#| fig-cap: "Solid waste emissions comparison: 2005 vs 2021" +#| out-width: "95%" + +solidwaste_totals_year <- solid_waste %>% + filter(inventory_year %in% c(2005, 2021)) %>% + group_by(geoid, inventory_year) %>% + summarise( + value_emissions = sum(value_emissions) + ) %>% + mutate( + inventory_year = as.factor(inventory_year) + ) + +fig_sw_compare_years <- plot_ly( + data = solidwaste_totals_year, + source = "fig-solid-waste-compare-years", + x = ~geoid, + y = ~value_emissions, + color = ~inventory_year, + type = "bar", + colors = c( + `2021` = colors$councilBlue, + `2005` = cprg_colors$cprg_green + ), + hovertemplate = ~ paste0( + geoid, " County", "
", + inventory_year, "
", + round(value_emissions * 1e-3, digits = 0), + " thousand metric tons CO2e", "
", + "" + ) +) %>% + councilR::plotly_layout( + main_title = "Solid waste emissions comparison 2005 vs 2021", + x_title = "County", + y_title = "Metric tons CO2e", + legend_title = "Year" + ) %>% + plotly::layout(barmode = "group") + +fig_sw_compare_years +``` + +Landfill emissions by population - graphed to diagnose issue with methane recovery data + +```{r fig-landfill-by-pop} +#| fig-cap: "Landfill emissions by population" +#| out-width: "95%" +cprg_pop_mn <- cprg_population %>% + filter(STATE == "Minnesota") + +landfill_emissions <- solid_waste %>% + filter( + source == "Landfill", + inventory_year == 2021 + ) %>% + full_join(cprg_pop_mn, by = join_by(geoid == GEOID)) + +fig_landfill_by_pop <- plot_ly( + data = landfill_emissions, + x = ~population, + y = ~value_emissions, + source = "fig-landfill-by-pop", + type = "scatter", + mode = "markers", + hoverinfo = "text", + hovertemplate = ~ paste0( + "County: ", NAME, "
", + "Waste generated: ", round(value_emissions / 1000), " thousand tons", "
", + "Population: ", round(population), + "" + ), + marker = list( + size = 18, + color = colors$councilBlue, + line = list( + color = "lightgray", + width = 2 + ) + ) +) %>% + plotly_layout( + main_title = "Landfill Emissions by county population, 2021", + x_title = "Population", + y_title = "Emissions (Metric Tons CO2E)" + ) +fig_landfill_by_pop +``` diff --git a/_waste/data_waste.qmd b/_waste/data_waste.qmd index b99ce651..99d4281f 100644 --- a/_waste/data_waste.qmd +++ b/_waste/data_waste.qmd @@ -1,4 +1,4 @@ -# Data sources +# Methods ```{r include=FALSE} knitr::opts_chunk$set( @@ -20,11 +20,249 @@ source(file.path(here::here(), "R/_plotting_helpers.R")) hookaddcap() ``` +## Data Sources + {{< include data_mpca_score_2021.qmd >}} +### MPCA Waste Characterization Study + +In 2013, the MPCA contracted with Burns & McDonnell Engineering Company, Inc. to conduct a waste characterization study of landfill waste, an update to an earlier study in the year 2000. For simplicity, we have chosen to set waste proportions equal to those 2013 values for all years in this inventory. + +The study sampled waste makeup from six waste disposal facilities across the state and used the results to model statewide totals. More details can be found in study documentation, (cite). + +This data is a high-quality state-level dataset. + +For consistency, the values in this study have been compared to the IPCC default waste breakdown for North America. Relevant values were found to be consistent within 90% confidence intervals (as reported in the MPCA study), with the exception of food waste. IPCC values attribute 33.9% of landfill waste to food waste, while the 2013 report only finds that 17.8% of landfill waste is food waste. There are many possible explanations for this discrepancy, including differences in waste breakdown across the North American region and the possibility that the IPCC's numbers reflect additional food waste processed in organics facilities, which would not be included in the MPCA study. + +Due to the fact that it is more recent and more specific to the Minnesota region, we have chosen the MPCA study as the source of truth in this case. + + + {{< include data_wi_emissions.qmd >}} -{{< include data_wastewater.qmd >}} +### EPA Methane Recovery Data {#sec-epa-methane} + +The EPA generates methane flaring and landfill gas to energy data for each state as part of its State Inventory Tool for solid waste. This data is collected as part of the [Landfill Methane Outreach Program](https://www.epa.gov/lmop). + +However, since this data is collected on a national level, there are potential discrepancies with state-level and especially regional breakdowns of methane recovery. Due to these concerns, we have chosen to exclude this data source from our inventory and instead use the IPCC default of 0 methane recovery. This means that our inventory may overestimate emissions from solid waste landfills. + +{{< include data_solid_waste_methods.qmd >}} + +## Data Validation + +### Correlation with related data + +We would expect counties with a higher population to have higher solid waste emissions. + +```{r fig-emissions-population-solidwaste} +#| fig-cap: "County population and solid waste emissions" +#| out-width: "95%" +cprg_population <- readRDS(file.path(here::here(), "_meta/data/cprg_population.RDS")) + +solidwaste_totals <- county_emissions %>% + filter(category == "Solid waste") %>% + group_by(geog_name) %>% + summarise( + emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e) + ) + +solidwaste_population <- left_join(solidwaste_totals, cprg_population, + by = c("geog_name" = "NAME") +) + +fig_emissions_population_solidwaste <- plot_ly( + data = solidwaste_population, + source = "fig-emissions-population-solidwaste", + x = ~population, + y = ~emissions_metric_tons_co2e, + type = "scatter", + mode = "markers", + hovertemplate = ~ paste0( + geog_name, " County", "
", + "Population: ", scales::comma(population), "
", + "Emissions: ", round(emissions_metric_tons_co2e * 1e-6, digits = 2), " million metric tons CO2e", "
", + "" + ), + # opacity = 0.7, + marker = list( + color = colors$councilBlue, + size = 18, + line = list( + color = "lightgray", + width = 2 + ) + ) +) %>% + plotly_layout( + main_title = "County population and solid waste emissions", + subtitle = "2021 ACS 5-year population estimates. Strong positive correlation", + x_title = "Total population", + y_title = "Metric tons CO2e", + legend_title = "", + legend = list(orientation = "h") + ) + +fig_emissions_population_solidwaste +``` + +## Comparison with other inventories {#sec-waste-inventory-comparison} + +#### US Greenhouse Gas Emissions Inventory + +The United States EPA conducts a comprehensive yearly estimate of greenhouse gas emissions from multiple sectors and gases. It also publishes statewide totals consistent with the national inventory. These emissions totals are consistent with international standards for greenhouse gas accounting, although they may differ from inventories completed at the state level for various reasons. + +US Inventory data for the waste sector in both Minnesota and Wisconsin was downloaded from the [Greenhouse Gas Inventory Data Explorer](https://cfpub.epa.gov/ghgdata/inventoryexplorer/) and processed in R script: [epa_inventory_data.R](/data-raw/epa_inventory_data.R), where it was apportioned from state to county level by population. + +```{r fig-federal-inventory-compare} +#| fig-cap: "Solid waste emissions comparison: Met Council and US GHG Inventory" +#| out-width: "95%" + +waste_federal <- solidwaste_totals %>% + mutate(data_source = "Met Council") %>% + bind_rows(federal_totals) + +fig_federal_inventory_compare <- plot_ly( + data = waste_federal, + source = "fig-federal-inventory-compare", + x = ~geog_name, + y = ~emissions_metric_tons_co2e, + color = ~data_source, + type = "bar", + colors = c( + "Met Council" = colors$councilBlue, + "US GHG Inventory" = cprg_colors$cprg_da_yellow + ), + hovertemplate = ~ paste0( + geog_name, " County", "
", + data_source, "
", + round(emissions_metric_tons_co2e * 1e-3, digits = 0), + " thousand metric tons CO2e", "
", + "" + ) +) %>% + councilR::plotly_layout( + main_title = "Solid waste emissions comparison", + subtitle = "Met Council estimates compared to US GHG Inventory", + x_title = "County", + y_title = "Metric tons CO2e", + legend_title = "Emissions Source" + ) %>% + plotly::layout(barmode = "group") + +fig_federal_inventory_compare +``` + + +```{r metc-solid-epa-comp} +metc_solidwaste_inventory <- county_emissions %>% + filter(sector == "Waste") %>% + mutate( + data_source = "Met Council", + year = as.character(year) + ) %>% + select(names(epa_waste_inventory)) + +metc_epa_comp_solid <- epa_waste_inventory %>% + filter(source != "Total") %>% + bind_rows(metc_solidwaste_inventory) %>% + mutate( + source_unified = case_when( + # source == "Anaerobic digestion" ~ "Waste to energy", + TRUE ~ source + ) + ) %>% + select(-source) + +wide_metc_epa_comp_solid <- metc_epa_comp_solid %>% + pivot_wider( + names_from = data_source, + values_from = emissions_metric_tons_co2e + ) %>% + filter( + !is.na(`Met Council`), + !is.na(`US GHG Inventory`) + ) %>% + mutate(emiss_diff = `US GHG Inventory` - `Met Council`) +``` + +```{r plot_waste_comparison} +plot_waste_comparison <- function(waste_source, + plotly_source) { + plot_ly( + source = plotly_source, + data = metc_epa_comp_solid %>% + filter( + source_unified == waste_source + ), + y = ~geog_name, + x = ~emissions_metric_tons_co2e, + color = ~data_source, + colors = c( + "Met Council" = colors$councilBlue, + "US GHG Inventory" = cprg_colors$cprg_da_yellow + ), + hovertemplate = ~ paste0( + geog_name, " County", "
", + data_source, "
", + source_unified, "
", + round(emissions_metric_tons_co2e * 1e-3, digits = 0), " thousand metric tons CO2e", "
", + "" + ), + marker = list(size = 18), + opacity = 0.75, + type = "scatter", + mode = "markers" + ) %>% + add_segments( + name = "Difference line", + data = wide_metc_epa_comp_solid %>% + filter(source_unified == waste_source), + y = ~geog_name, + yend = ~geog_name, + x = ~`US GHG Inventory`, + xend = ~`Met Council`, + showlegend = FALSE, + inherit = FALSE, + line = list( + color = "darkgray", + size = 2 + ) + ) %>% + councilR::plotly_layout( + main_title = paste0(waste_source, " emissions comparison"), + subtitle = "Met Council vs. US Greenhouse Gas Inventory estimates", + y_title = "County", + x_title = "Metric tons CO2e", + legend_title = "Data source" + ) %>% + layout(yaxis = list(categoryorder = "total ascending")) +} +``` + +Wastewater comparisons are very consistent, with the US GHG Inventory consistently estimating more emissions than the EPA derived Met Council estimate. + +```{r fig-metc-epa-ghg-wastewater} +#| fig-cap: "Wastewater emissions comparison by county, EPA-derived Met Council and US GHG Inventory. US inventory consistently higher than Council. " +#| out-width: "95%" + +fig_metc_epa_ghg_wastewater <- plot_waste_comparison("Wastewater", + plotly_source = "fig-metc-epa-ghg-wastewater" +) +fig_metc_epa_ghg_wastewater +``` + +Solid waste emissions differences vary by county; while Ramsey, Hennepin and Washington county estimates from the US GHG Inventory are higher than the Council estimates, the opposite is true for Dakota and Anoka counties. This is likely related to the fact that Ramsey, Hennepin and Washington counties process a significant portion of their waste in waste-to-energy facilities, reducing the amount of emissions accounted for under the landfill category. + +```{r fig-metc-epa-ghg-landfill} +#| fig-cap: "Landfill emissions comparison by county, Met Council and US GHG Inventory. Results vary by county." +#| out-width: "95%" + +fig_metc_epa_ghg_landfill <- plot_waste_comparison("Landfill", + plotly_source = "fig-metc-epa-ghg-landfill" +) +fig_metc_epa_ghg_landfill +``` + ```{r echo=FALSE} caption_index <- readRDS(file.path(here::here(), "caption_index.RDS")) diff --git a/_waste/data_wi_emissions.qmd b/_waste/data_wi_emissions.qmd index 9d350f31..9d2991b4 100644 --- a/_waste/data_wi_emissions.qmd +++ b/_waste/data_wi_emissions.qmd @@ -4,8 +4,8 @@ source(file.path(here::here(), "R/_quarto_helpers.R")) source(file.path(here::here(), "R/_load_pkgs.R")) source(file.path(here::here(), "R/_plotting_helpers.R")) -wi_emissions <- readRDS(file.path(here::here(), "_waste/data/wi_emissions.RDS")) -wi_emissions_meta <- readRDS(file.path(here::here(), "_waste/data/wi_emissions_meta.RDS")) +wi_emissions <- readRDS(file.path(here::here(), "_waste/data/solid_waste_WI_allyrs.RDS")) +wi_emissions_meta <- readRDS(file.path(here::here(), "_waste/data/solid_waste_WI_allyrs_meta.RDS")) cprg_county <- readRDS(file.path(here::here(), "_meta/data/cprg_county.RDS")) cprg_pop <- readRDS(file.path(here::here(), "_meta/data/cprg_population.RDS")) county_emissions <- readRDS(file.path(here::here(), "_meta/data/cprg_county_emissions.RDS")) @@ -22,7 +22,7 @@ hookaddcap() Waste emissions for Wisconsin counties were unavailable in the same detail as the MPCA data. Thus, we estimated total waste emissions based on statewide emissions estimates, allocated by population. -The most recent [Wisconsin Greenhouse Gas Emissions Inventory](https://widnr.widen.net/view/pdf/o9xmpot5x7/AM610.pdf?t.download=true) was done in 2018 by the Wisconsin Department of Natural Resources. Included in the solid waste data for this source are emissions from landfills and waste combustion, taking into account the emissions reduced by landfill gas collection for gas-to-energy use or flaring. This inventory does not, however, include emissions generated from composting or recycling. +The most recent [Wisconsin Greenhouse Gas Emissions Inventory](https://widnr.widen.net/view/pdf/o9xmpot5x7/AM610.pdf?t.download=true) was done in 2021 by the Wisconsin Department of Natural Resources. Included in the solid waste data for this source are emissions from landfills and waste combustion, taking into account the emissions reduced by landfill gas collection for gas-to-energy use or flaring. This inventory does not, however, include emissions generated from composting or recycling. The emissions for solid waste in this report were calculated using the [EPA's State Inventory and Projection Tool](https://www.epa.gov/statelocalenergy/state-inventory-and-projection-tool), a tool designed to help states calculate greenhouse gas emissions [@usepaStateGreenhouseGas2024a]. Default values provided by the tool were used except in the case of default Mixed Solid Waste population tonnage values, which were replaced by data from the Wisconsin state DNR Annual Waste Tonnage Report [@wisconsindnrGreenhouseGas2021]. @@ -33,7 +33,7 @@ In the process of analysis, this statewide estimate was apportioned to the count ### Limitations - Since data reported directly from the counties was unavailable for Wisconsin, the solid waste data used here reflects a disaggregation of state-level data and may not be reflective of the specific mix of waste generated by Pierce and St. Croix counties. -- Data collected in Wisconsin's emissions inventory only represents waste disposed of in landfills or waste combustion facilities, and does not include organics or recycling. Recycling and composting data is unavailable for Wisconsin counties. +- Data collected in Wisconsin's emissions inventory only represents waste disposed of in landfills or waste combustion facilities, and does not include organics. Composting data is unavailable for Wisconsin counties. ### Comparison to similar datasets diff --git a/_waste/solid_waste.qmd b/_waste/solid_waste.qmd new file mode 100644 index 00000000..3078c03f --- /dev/null +++ b/_waste/solid_waste.qmd @@ -0,0 +1,220 @@ +# Solid Waste +```{r include=FALSE} +knitr::opts_chunk$set( + echo = FALSE, + message = FALSE, + warning = FALSE, + fig.pos = "H", + out.width = "100%", + dpi = 300 +) + + +knitr::opts_knit$set(root.dir = rprojroot::find_rstudio_root_file()) +``` +```{r, include=FALSE} +source(file.path(here::here(), "R/_quarto_helpers.R")) +source(file.path(here::here(), "R/_load_pkgs.R")) +source(file.path(here::here(), "R/_plotting_helpers.R")) +cprg_population <- readRDS(file.path(here::here(), "_meta/data/cprg_population.RDS")) +epa_waste_inventory <- readRDS(file.path(here::here(), "_waste/data-raw/epa_solidwaste_inventory.RDS")) + +federal_totals <- epa_waste_inventory %>% + filter(source == "Total") %>% + select( + geog_name, + source, + emissions_metric_tons_co2e, + data_source + ) + +cprg_ctu <- readRDS(file.path(here::here(), "_meta/data/cprg_ctu.RDS")) +county_emissions <- readRDS(file.path(here::here(), "_meta/data/cprg_county_emissions.RDS")) + +county_emissions_summary <- county_emissions %>% + group_by(sector, category, source, data_source, factor_source) %>% + summarize( + emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e), + .groups = "keep" + ) + +sector_percentages <- county_emissions_summary %>% + group_by(sector) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) %>% + arrange(-emissions_metric_tons_co2e) %>% + janitor::adorn_percentages(denominator = "col") + + +waste_percentages <- county_emissions_summary %>% + filter(sector == "Waste") %>% + group_by(category, source) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e), .groups = "keep") %>% + arrange(-emissions_metric_tons_co2e) %>% + janitor::adorn_percentages(denominator = "col") +hookaddcap() +``` + +## Introduction + +(Overview of emissions sources) + +(Key processes leading to emissions) +In 2021, waste activities over the entire United States generated emissions of 169.2 MMTCO~2~e, or 2.7 percent of total U.S. greenhouse gas emissions [@usepaInventoryGreenhouseGas2023]. Solid waste emissions come from the degradation of waste in landfills and composting facilities, as well as from waste incineration. Emissions resulting from transport and energy use in waste processing, including in recycling facilities, are accounted for in the transportation and energy sectors respectively. + +In landfills, greenhouse gas emissions come from the gradual degradation of carbon-based materials such as wood, paper and organic waste, which emit methane as they degrade. Linkewise, a small amount of methane and nitrous oxide are emitted in aerobic composting. In the metropolitan area, a significant portion of solid waste is also managed with incineration, which emits some carbon dioxide and nitrous oxide in the process. + +Emissions are also generated by industrial waste management and landfilling of construction materials. These activities are not accounted for in this inventory, and are assumed to be associated with a relatively small portion of emissions. + +There are already some actions in place to reduce waste emissions in Minnesota. The amount of waste diverted to recycling and composting facilities has steadily increased over time. Unfortunately, landfilled waste has also increased steadily. (SCORE) Methane capture and recovery in landfills limits but does not prevent methane emissions. In Minnesota, 9 out of 21 open landfills have methane capture (RII). Some waste is also sent to out-of-state landfills that do not have methane capture systems in place. Methane capture is not accounted for in this version of the inventory (see @sec-[] for more details). + +## Results + +Emissions from waste is the third-largest of the emissions sectors in the Twin Cities MSA. Waste generated `r round(sum(county_emissions$emissions_metric_tons_co2e)/1000000 * sector_percentages[[2]][3], digits = 2)` MMtCO~2~e of emissions in the Twin Cities MSA in 2021. Solid waste, including landfills, incineration, and organics, generates the largest share of emissions in the waste sector, with municipal wastewater treatment comprising a smaller share of waste emissions. + + + + + +```{r fig-waste-wastewater-county-emissions} +#| fig-cap: "Solid waste and wastewater county emissions" +#| out-width: "95%" +fig_waste_wastewater_county_emissions <- + plot_county_sector_emissions(county_emissions, + .sector = "Waste", + .plotly_source = "fig-waste-wastewater-county-emissions" + ) + +fig_waste_wastewater_county_emissions$x$layoutAttrs[[1]]$title$text <- "Solid waste and wastewater emissions" + +fig_waste_wastewater_county_emissions +``` + + +```{r fig-waste-county-emissions-by-category} +#| fig-cap: "Solid waste and wastewater county emissions by category" +#| out-width: "95%" + +fig_waste_county_emissions_by_category <- plot_county_emissions( + county_emissions = county_emissions, + .sector = "Waste", + .plotly_source = "fig-waste-county-emissions-by-category" +) + +fig_waste_county_emissions_by_category$x$layoutAttrs[[1]]$title$text <- "Solid waste and wastewater emissions" + +fig_waste_county_emissions_by_category +``` + + +### Solid waste + +```{r solid-waste-percentages, include=FALSE} +solid_waste_percentages <- county_emissions %>% + filter(category == "Solid waste") %>% + group_by(category, source) %>% + summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) %>% + arrange(-emissions_metric_tons_co2e) %>% + janitor::adorn_percentages(denominator = "col") + + +total_solid_waste <- + county_emissions %>% + filter(category == "Solid waste") %>% + ungroup() %>% + summarise(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) %>% + extract2("emissions_metric_tons_co2e") +``` + +Solid waste generated `r round(total_solid_waste/1000000, digits = 2)` MMtCO~2~e of emissions in the Twin Cities MSA in 2021. Of that total, `r scales::percent(solid_waste_percentages$emissions_metric_tons_co2e[1], accuracy = 0.1)` of emissions came from `r str_to_lower(solid_waste_percentages$source[1])`, `r scales::percent(solid_waste_percentages$emissions_metric_tons_co2e[2], accuracy = 0.1)` from `r str_to_lower(solid_waste_percentages$source[2])` facilities, and the remaining `r scales::percent(sum(solid_waste_percentages$emissions_metric_tons_co2e[3:4]), accuracy = 0.1)` from `r str_to_lower(solid_waste_percentages$source[3])` and `r str_to_lower(solid_waste_percentages$source[4])`. + +```{r fig-solid-waste-emissions} +#| fig-cap: "2021 solid waste emissions" +#| out-width: "95%" +fig_solid_waste_emissions <- + plot_ly( + type = "bar", + source = "fig-solid-waste-emissions", + data = county_emissions %>% + filter(category == "Solid waste"), + y = ~ reorder(geog_name, emissions_metric_tons_co2e), + x = ~emissions_metric_tons_co2e, + color = ~category, + colors = unlist(category_colors), + marker = list( + line = list( + color = colors$councilBlue + ) + ), + hovertemplate = ~ paste0( + geog_name, " County", "
", + category, ", ", source, "
", + round(emissions_metric_tons_co2e / 1000, digits = 0), " thousand metric tons CO2e", "
", + "" + ) + ) %>% + plotly_layout( + main_title = "2021 solid waste emissions", + subtitle = "", + y_title = "County", + x_title = "Metric tons CO2e", + legend_title = "Category" + ) %>% + layout( + barmode = "stack", + legend = list( + traceorder = "reversed" + ), + yaxis = list(categoryorder = "total ascending") + ) +fig_solid_waste_emissions +``` + +Greenhouse gas emissions from solid waste are dominated by the landfill sector. In Hennepin, Ramsey, and Washington counties, municipal centers where a significant portion of waste is incinerated, waste-to-energy or incineration makes up a large fraction of emissions as well. + +```{r fig-solid-waste-sector-emissions-by-category} +#| fig-cap: "2021 solid waste emissions by category" +#| out-width: "95%" + +fig_solid_waste_sector_emissions_by_category <- + plot_ly( + type = "bar", + source = "fig-solid-waste-sector-emissions-by-category", + data = county_emissions %>% + filter(category == "Solid waste"), + y = ~ reorder(geog_name, emissions_metric_tons_co2e), + x = ~emissions_metric_tons_co2e, + color = ~source, + colors = unlist(source_colors), + hovertemplate = ~ paste0( + geog_name, " County", "
", + category, "
", + round(emissions_metric_tons_co2e / 1000, digits = 0), " thousand metric tons CO2e", "
", + "" + ) + ) %>% + plotly_layout( + main_title = "2021 solid waste emissions by category", + subtitle = "", + y_title = "County", + x_title = "Metric tons CO2e", + legend_title = "Category" + ) %>% + layout( + barmode = "stack", + legend = list( + traceorder = "reversed" + ), + yaxis = list(categoryorder = "total ascending") + ) +fig_solid_waste_sector_emissions_by_category +``` + +[through time: add once graphs are completed] + +```{r echo=FALSE} +caption_index <- readRDS(file.path(here::here(), "caption_index.RDS")) +caption_index <- as.character(as.numeric(caption_index) + 1) %>% stringr::str_pad(width = 2, side = "left", pad = "0") +saveCap(paste0("cap-", caption_index)) +saveRDS(caption_index, file.path(here::here(), "caption_index.RDS")) +``` +{{< pagebreak >}} diff --git a/_waste/waste_update.qmd b/_waste/waste_update.qmd deleted file mode 100644 index 628cc368..00000000 --- a/_waste/waste_update.qmd +++ /dev/null @@ -1,337 +0,0 @@ -```{r include=FALSE} -knitr::opts_chunk$set( - echo = FALSE, - message = FALSE, - warning = FALSE, - fig.pos = "H", - out.width = "100%", - dpi = 300 -) - - -knitr::opts_knit$set(root.dir = rprojroot::find_rstudio_root_file()) -``` - -```{r, include=FALSE} -source(file.path(here::here(), "R/_quarto_helpers.R")) -source(file.path(here::here(), "R/_load_pkgs.R")) -source(file.path(here::here(), "R/_plotting_helpers.R")) -cprg_population <- readRDS(file.path(here::here(), "_meta/data/cprg_population.RDS")) -epa_waste_inventory <- readRDS(file.path(here::here(), "_waste/data-raw/epa_solidwaste_inventory.RDS")) - -federal_totals <- epa_waste_inventory %>% - filter(source == "Total") %>% - select( - geog_name, - source, - emissions_metric_tons_co2e, - data_source - ) - -cprg_ctu <- readRDS(file.path(here::here(), "_meta/data/cprg_ctu.RDS")) -sw_emissions <- readRDS(file.path(here::here(), "_waste/data/mn_sw_emissions_co2e.RDS")) -county_emissions_old <- readRDS(file.path(here::here(), "_meta/data/cprg_county_emissions.RDS")) -hookaddcap() -``` - -This is an in-progress document to work on documentation and data exploration for the update of the inventory without interfering with previous documentation. - -## Documentation - -**The gist**: We're switching from emissions factors as listed on the EPA Emissions Factors Hub to the IPCC/GHG Protocol methane commitment model to ensure that the inventory is aligned with best practices. Most major inventories use the IPCC's First Order Decay model, which is what the EPA and WI use, but that requires a more complex model and longer timeseries data. The IPCC accepts the methane commitment model as an alternative for inventories with limited data where waste is not a major sector. Given our time constraints and the focus of the project, a simpler model is the better choice. This does also mean that incineration and compost emissions will be calculated separately, using similar models. Recycling emissions will not be calculated, as all emissions from the recycling process should already be included in the energy section of the inventory. - -### Landfill - -CH4 emissions (tonnes) = \[(MSWx • L0 ) – R\] • (1 – OX) - -L0 = MCF × DOC × DOCf × F × 16/12 - -Factors and sources: - -- MSWx (MSW in given year): SCORE report (tonnes) - -- MCF (methane correction factor): 0.5 - default value given by IPCC for managed, semi-aerobic landfills - -- DOC (degradable organic carbon): calculated based on waste makeup (tonnes C/tonnes waste) - -- Waste makeup data from MPCA [2013 Statewide Waste Characterization - Final Report](https://www.pca.state.mn.us/sites/default/files/w-sw1-60.pdf) - -- Note: using more detailed breakdown from report, not this table - -- 2000 data is also available (as seen) but for now we're just using 2013 - -- DOC = ( 0.4 • paper/textiles) + ( 0.17 • non-food organics) + ( 0.15 • food waste) + ( 0.3 • wood/straw) - -= DOC_f (fraction of DOC degraded): 0.6 - default value given by GHG Protocol, consistent with IPCC - -- F (fraction of methane in landfill gas): 0.5 - default value given by IPCC (range can vary between 0.4 and 0.6) - -- R (total recovered methane): from EPA Solid Waste State Inventory Tool (metric tonnes) - -- OX (oxidation factor): 01 – default value given by IPCC for well-managed landfills - -NOTE: methane flaring and landfill gas to energy should be counted under recovered methane. Unclear whether SCORE-counted Waste to Energy is actually all waste to energy or if it is incineration- either way, it will be in the incineration section. Flaring and LFGTE will be incorporated here. - -### Compost - -Compost emissions factors are different for aerobic and anaerobic digesters. According to [Sustainable materials management and solid waste policy report (state.mn.us)](#0)(36), only one anaerobic digester (at a wastewater treatment facility) in MN is accepting food waste, so for all past emissions we will set aerobic composting equal to 100% of waste and anaerobic to 0%. - -Composting also produces both CH4 and N2O, which should be calculated separately. - -CH4 emissions (tonnes) = (M_com × EF_com + M_ad × EF_ad) x 10\^(-3) - R - -N2O emissions (tonnes) = M_com × EFN_com x 10\^-3 - -Factors and sources: - -- M_com (mass of organic waste composted): SCORE report (100% of organics) (tonnes) - -- EF_com (composting emissions factor for CH4): 10 - default given by IPCC for dry weight (g CH4/kg waste) - -- M_ad (mass of organic waste processed anaerobically): 0 - -- EF_ad (anaerobic digestion emissions factor for CH4): 2 - default given by IPCC for dry weight (g CH4/kg waste) - -- R (methane recovered from anaerobic digestion): 0 - -- EFN_com (composting emissions factor for N2O): 0.6 - default given by IPCC for dry weight (g N2O/kg waste) - -- N2O emissions from anaerobic digestion assumed negligible - -The MPCA is currently contracting a study on the impacts of composting vs AD (see previous source). This may indicate future investment in AD, which may be worth modeling as an emissions reduction strategy for future projections. - -### Incineration - -Since incineration data is reported to SCORE as Waste to Energy, it is assumed that all incineration in the MSA is considered Waste to Energy. Thus, although incineration emissions are calculated in the waste section, they should be reported in the energy sector. - -Incineration of waste produces CH4, CO2, and N2O emissions. However, as per IPCC guidelines, CH4 emissions from incineration should be considered negligible (in contradiction with GHG Protocol recommendation). Also as per IPCC guidelines, given that MPCA does not have data on non-MSW waste incineration and waste is not a key source category, we will assume all waste is MSW and estimate emissions using default data. - -CO2 emissions (tonnes) = (MSWi × Ei + MSWob × Eob) × FCC× FFC × 44/12 - -N2O emissions (tonnes) = (MSWi × EFi + MSWob × EFob) 10\^(-6) - -Factors and sources: - -- MSWi: SCORE report Waste to Energy (tonnes) - -- Ei (efficiency of combustion for incineration, as a fraction): 95% - IPCC default (range 95-99%) (note GHG Protocol default 100%) - -- MSWob: SCORE report Onsite (tonnes) - -- Eob (efficiency of combustion for onsite burning, as a fraction): 71% - GHG Protocol default - -- FCC (fraction of carbon content in MSW): 40% - IPCC default wet weight (range 33-50%) - -- FFC (fraction of fossil carbon in MSW): 40% - IPCC default (range 30-50%) - -- EFn (aggregate N2O emission factor for MSW): 50 g N2O/ tonnes waste – GHG Protocol default for continuous and semi-continuous incinerators (wet weight) - -### Misc - -Note: "The MPCA will be completing a resource management report in the next two years that is due to the Legislature on July 15, 2025. The report will include data summarizing current and future trends for waste generation, waste prevention, reuse, recycling, and disposal." - -Each of the seven counties in the Metro Area must recycle a minimum of 75% (by weight) of total MSW they generate by 2030. - -Note onsite disposal = unmanaged burning - -**Note:** SCORE data is reported in short tons and must be converted to tonnes, or metric tons. All SCORE data is dry weight, as short tons are a unit of mass. No, I don't know what to do when calculations require wet weight. - -## Graphing - -Timeseries of categories over time, across the whole MN area. FOR REVIEWER: Should this be filtered to the 7-county region for RDG purposes? - -```{r fig-sw-timeseries} -#| fig-cap: "Solid waste changes over time, 9-county MN region" -#| out-width: "95%" -sw_total_geog <- sw_emissions %>% - group_by(sector, category, year, source) %>% - summarize(emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e)) - -fig_solid_waste_time <- - plot_ly( - type = "bar", - source = "fig-sw-timeseries", - data = sw_total_geog, - y = ~emissions_metric_tons_co2e, - x = ~year, - color = ~source, - colors = unlist(management_method_colors), - marker = list( - line = list( - width = 0 - ) - ), - hovertemplate = ~ paste0( - category, ", ", source, "
", - round(emissions_metric_tons_co2e / 1000, digits = 0), " thousand metric tons CO2e", "
", - "" - ) - ) %>% - plotly_layout( - main_title = "Solid Waste Emissions MN Counties 2005-2021", - subtitle = "", - y_title = "Metric tons CO2e", - x_title = "Year", - legend_title = "Category" - ) %>% - layout( - barmode = "stack", - legend = list( - traceorder = "reversed" - ), - yaxis = list(categoryorder = "total ascending") - ) -fig_solid_waste_time -``` - -Total emissions appear to be decreasing to 2013 and then increasing again. This may be due to population change. A graph of emissions per capita could help explore this. - -Comparing 2021 waste data (this run) with previous waste data and NEI data, to test consistency. Note that this version of solid waste data excludes methane recovery, so emissions may be slightly higher in some cases than expected. - -```{r fig-solid-waste-versions-compare} -#| fig-cap: "Solid waste emissions comparison: Met Council and US GHG Inventory" -#| out-width: "95%" - -solidwaste_totals_prev <- county_emissions_old %>% - filter(category == "Solid waste") %>% - group_by(geog_name) %>% - summarise( - emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e) - ) - -solidwaste_totals_new <- sw_emissions %>% - filter(year == 2021) %>% - group_by(geog_name) %>% - summarise( - emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e) - ) %>% - mutate(data_source = "Met Council V2") - -waste_federal <- solidwaste_totals_prev %>% - mutate(data_source = "Met Council V1") %>% - bind_rows(solidwaste_totals_new) %>% - bind_rows(federal_totals) - -fig_sw_versions_compare <- plot_ly( - data = waste_federal, - source = "fig-solid-waste-versions-compare", - x = ~geog_name, - y = ~emissions_metric_tons_co2e, - color = ~data_source, - type = "bar", - colors = c( - "Met Council V1" = colors$councilBlue, - "Met Council V2" = cprg_colors$cprg_green, - "US GHG Inventory" = cprg_colors$cprg_da_yellow - ), - hovertemplate = ~ paste0( - geog_name, " County", "
", - data_source, "
", - round(emissions_metric_tons_co2e * 1e-3, digits = 0), - " thousand metric tons CO2e", "
", - "" - ) -) %>% - councilR::plotly_layout( - main_title = "Solid waste emissions comparison", - subtitle = "Met Council estimates compared to US GHG Inventory", - x_title = "County", - y_title = "Metric tons CO2e", - legend_title = "Emissions Source" - ) %>% - plotly::layout(barmode = "group") - -fig_sw_versions_compare -``` - -Total emissions per county comparing 2005 vs 2021 - -```{r fig-solid-waste-compare-years} -#| fig-cap: "Solid waste emissions comparison: 2005 vs 2021" -#| out-width: "95%" - -solidwaste_totals_year <- sw_emissions %>% - filter(year %in% c(2005, 2021)) %>% - group_by(geog_name, year) %>% - summarise( - emissions_metric_tons_co2e = sum(emissions_metric_tons_co2e) - ) %>% - mutate( - year = as.factor(year) - ) - -fig_sw_compare_years <- plot_ly( - data = solidwaste_totals_year, - source = "fig-solid-waste-compare-years", - x = ~geog_name, - y = ~emissions_metric_tons_co2e, - color = ~year, - type = "bar", - colors = c( - `2021` = colors$councilBlue, - `2005` = cprg_colors$cprg_green - ), - hovertemplate = ~ paste0( - geog_name, " County", "
", - year, "
", - round(emissions_metric_tons_co2e * 1e-3, digits = 0), - " thousand metric tons CO2e", "
", - "" - ) -) %>% - councilR::plotly_layout( - main_title = "Solid waste emissions comparison 2005 vs 2021", - x_title = "County", - y_title = "Metric tons CO2e", - legend_title = "Year" - ) %>% - plotly::layout(barmode = "group") - -fig_sw_compare_years -``` - -Landfill emissions by population - graphed to diagnose issue with methane recovery data - -```{r fig-landfill-by-pop} -#| fig-cap: "Landfill emissions by population" -#| out-width: "95%" -cprg_pop_mn <- cprg_population %>% - filter(STATE == "Minnesota") - -landfill_emissions <- sw_emissions %>% - filter( - source == "Landfill", - year == 2021 - ) %>% - full_join(cprg_pop_mn, by = join_by(geog_name == NAME)) - -fig_landfill_by_pop <- plot_ly( - data = landfill_emissions, - x = ~population, - y = ~emissions_metric_tons_co2e, - source = "fig-landfill-by-pop", - type = "scatter", - mode = "markers", - hoverinfo = "text", - hovertemplate = ~ paste0( - "County: ", geog_name, "
", - "Waste generated: ", round(emissions_metric_tons_co2e / 1000), " thousand tons", "
", - "Population: ", round(population), - "" - ), - marker = list( - size = 18, - color = colors$councilBlue, - line = list( - color = "lightgray", - width = 2 - ) - ) -) %>% - plotly_layout( - main_title = "Landfill Emissions by county population, 2021", - x_title = "Population", - y_title = "Emissions (Metric Tons CO2E)" - ) -fig_landfill_by_pop -``` diff --git a/docs/_energy/_energy.html b/docs/_energy/_energy.html deleted file mode 100644 index 46be7f62..00000000 --- a/docs/_energy/_energy.html +++ /dev/null @@ -1,996 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 1  Stationary Energy - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

1  Stationary Energy

-
- - - -
- - - - -
- - -
- -
-

1.1 Introduction

-
-
-
-
Figure 1.1: Energy county emissions
-
- -
-
-
-
-
-
-
Figure 1.2: Energy county emissions by category
-
- -
-
-
-
-
-

1.2 Electricity

-
-

1.2.1 Introduction

-

Emissions from the electricity generation sector have declined by 54% in Minnesota since 2005, largely as a result of transitions in the grid towards energy sources such as wind and solar (MPCA 2023). In 2023, Minnesota Governor Walz signed a bill mandating a statewide carbon-free electricity standard by 2040. The law “establishes a standard for utilities to supply Minnesota customers with electricity generated or procured from carbon-free resources, beginning at an amount equal to 80% of retail sales for public utility customers in Minnesota in 2030 and increasing every 5 years to reach 100% for all electric utilities by 2040. The bill also requires that, by 2035, an amount equal to at least 55% of an electric utility’s total retail electric sales to customers in Minnesota must be generated or procured from eligible energy technologies.” Wisconsin has not adopted a similar carbon-free electricity standard, but a Wisconsin DNR report noted both the economic gains from such to the renewable energy economy in the state, as well as the opportunities for decarbonization (Holt 2019).

-
-
-

1.2.2 Methods

-

The general workflow for quantifying electricity emissions is to identify all of the electric utilities that operate within our study area, collect any reporting they provide to the states of Minnesota and Wisconsin about the amount of energy delivered to all their customers (with reference to federal reporting sources where state-level reporting gaps exist), and apply EPA-provided emissions factors to the reported activity/energy deliveries to calculate estimated emissions. Methodologies for allocating utility activity reports to counties varies across MN and WI and are further described in the following section. Most inputs we use in the construction of our electricity emissions data set are of the highest quality rank (Table B.2), as they are either direct government-created data (e.g., emissions factors) or data reported to state/federal authorities (e.g., regulatory filings). However, for two Minnesota electric utilities – Elk River Municipal Utilities (Elk River Municipal Utilities 2022) and New Prague Utilities Commission (New Prague Utilities Commission 2022) – where regulatory filing data could not be sourced to quantify electricity deliveries, we referred to financial reporting documents published by the utilities.

-

Total regional emissions (Emissionsr) represents the sum of all recorded energy deliveries by utility i within county j, where i refers to each of the electric utilities operating across our region, and j refers to the eleven counties included in this inventory. Our regional total therefore represents an aggregation of electricity deliveries for all distinct utility-county records.

-

\[Emissions_r = \Sigma (mWhDelivered_iCounty_j \times {Emissions Factor}) \]

-

Our inventory takes a “demand-side” approach to emissions quantification and seeks to aggregate all reported delivery of energy to ALL customers served by utilities (meaning all customer types, inclusive of residential, commercial, industrial, and government accounts). This means that energy loss and use experienced by utilities in the process of energy generation and transmission, and delivery and resale to utilities operating outside of our study area, are not directly reflected in the numbers attributed to counties. The U.S. Energy Information Administration (EIA) estimates that annual electricity transmission and distribution (T&D) losses averaged about 5% of the electricity transmitted and distributed in the United States in 2018 through 2022. (Administration 2023)

-

While our primary data collection does not include a breakout of electricity deliveries by sector, we do leverage year 2021 NREL SLOPE forecasts of electricity consumption (built from a base year of 2016 observed data) by sector (residential, commercial, industrial) at the county level to calculate modeled proportions of consumption by sector, which we then apply to our aggregate numbers to calculate estimated emissions by sector NREL (2017).

-
-

1.2.2.1 Identifying utilities in scope

-

To identify the electric utilities that operate within our 11-county study area, we referred to maps and geospatial datasets capturing utility service areas in Minnesota and Wisconsin. To identify Wisconsin electric utilities, we downloaded the Electric Service Territory map maintained by the Wisconsin Public Service Commission (Wisconsin Public Service Commission and Tomaszewski 2024). To identify Minnesota electric utilities, we downloaded the Electric Service Territory map maintained by the Minnesota Public Utilities Commission and the Minnesota IT Geospatial Information Office(Office 2023).

-
-
-

1.2.2.2 Collecting and aggregating activity data from utilities

-

After identifying which utilities operate within our study area within each state, we collect reporting submitted by these utilities to the relevant state and federal authorities and use a variety of approaches, depending on data availability, to allocate utility activity/energy deliveries to specific counties.

-
-
1.2.2.2.1 Minnesota
-

All electric utilities authorized to do business in Minnesota are required to file an annual data report pursuant to MN Rules Chapter 7610. The Minnesota Public Utilities Commission makes these reports searchable through an eFiling Site, and downloadable as Excel workbooks (Commerce 2005). For each utility identified in distinct_electricity_util_type_MN.RDS (a data product of minnesota_electricUtilities.R, a script that looks for intersections between electric utility service areas and our Minnesota counties), we downloaded the relevant 2021 annual reports from this site (see note about Great River Energy in the previous section for caveats), except for North Branch Municipal Water and Light, which did not submit a 2021 report (we used their 2022 report as a substitution). Elk River Municipal Utilities and New Prague Utilities Commission did not file reports for 2021 or 2022, and so we used financial reports to identify their total electricity delivered; both utilities operated within only one county in our study area, which meant no estimation/allocation was necessary.

-

We wrote code to extract the county-level data reported in the report section titled “ITS DELIVERIES TO ULTIMATE CONSUMERS BY COUNTY FOR THE LAST CALENDAR YEAR” on the relevant annual data report Excel workbooks compiled into a folder directory, and created a table with three columns: county, utility, and mWh_delivered (megawatt-hours). By compiling this data for all utilities found to operate within our study area, aggregating all electricity deliveries at the county level becomes possible.

-
-
-
1.2.2.2.2 Wisconsin
-

All municipal and investor-owned utilities authorized to do business in Wisconsin are required to file an annual report with financial and operational information pursuant to Wis. Stat. § 196.07. The Public Services Commission of Wisconsin makes these reports searchable through an E-Services Portal, and downloadable as either PDFs or Excel workbooks, with options to export only specific portions of the reports as spreadsheets (Public Service Commission of Wisconsin 2022). For each utility identified in distinct_electricity_util_type_WI.RDS (a data product of wisconsin_electricUtilities.R, a script that looks for intersections between electric utility service areas and our Wisconsin counties), we downloaded the relevant 2021 annual reports from this site.

-

A similar process was followed for the four Wisconsin cooperative utilities for which we referenced federal regulatory filings data to populate our dataset of electricity deliveries.

-

Because of the small amount of data, and the different data structures of the reports for municipally-, cooperatively-, and investor-owned utilities in Wisconsin, we hard-coded observed information into data frames rather than extracting data through a web scraper or document analyzer (see processed_wi_electricUtil_activityData.R).

-
-
-
-

1.2.2.3 Emissions factors

-

To transform electricity deliveries (recorded in mWh) into emissions in metric tons CO2e, we referenced 2021 Emissions & Generation Resource Integrated Database (eGRID) summary data for the MROW subregion (Midwest Reliability Organization - West) (USEPA 2021a).

-

This dataset provides estimates in lbs/mWh for CO2, CH4, N2O, and CO2e emissions based on MROW’s sub-regional electricity generation grid mix; converting this factor to metric tons per mWh and multiplying the county-level mWh estimates yields an estimate for CO2e. To generate this sub-regional estimate, eGRID first calculates estimated emissions at the plant level, and assigns plants to regions. By using an emissions factor that is localized, our inventory accounts for the specific grid mix in our study area (see the grid mix linked to the eGRID MROW emissions factor used in this inventory below). Per the eGRID technical guide, “the subregions were defined to limit the import and export of electricity in order to establish an aggregated area where the determined emission rates most accurately matched the generation and emissions from the plants within that subregion.”

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 1.1:

Grid Mix for MROW subregion of 2021 eGRID

Energy.SourcePercentage
Coal39.6%
Oil0.2%
Gas10.6%
Other Fossil0.10%
Nuclear8.6%
Hydro4.4%
Biomass0.8%
Wind34.6%
Solar0.9%
Geothermal0.0%
Other0.2%
Unknown/Purchased FuelN/A
-
-
-
-
-
-
-
-

1.2.3 Results

-
-
-
-
Figure 1.3: 2021 county electricity emissions
-
- -
-
-
-
-
-
-
Figure 1.4: 2021 electricity emissions by sector
-
- -
-
-
- -
-

1.2.3.2 Comparison with federal inventories

-
-
1.2.3.2.1 Energy Information Administration (EIA)
-

We compared our county-level emissions figures to emissions estimates derived from the EIA’s State Electricity Profiles, which were generated by down-scaling EIA’s Minnesota and Wisconsin state-level numbers for total electricity retail sales. We achieved this by applying the proportions of each state’s population residing in each of our study area counties to generate county-level emissions estimates. Our inventory quantified NA metric tons of electricity in our study area relative to 55,057,710 metric tons based on the aforementioned downscaled statewide retail numbers.

-
-
-
-
Figure 1.6: Metropolitan Council emissions inventory vs. downscaled EIA State Electricity Profiles
-
- -
-
-
-
-
-
1.2.3.2.2 NREL SLOPE
-

The NREL SLOPE (State and Local Planning for Energy) Platform provides yearly forecasted emissions tied to the user of electricity up to 2050 based on 2016 reported data at the county level. In comparing these figures to our own inventory, we observed that, where we estimated NA metric tons of emissions linked to electricity deliveries in our study area in the year 2021, NREL SLOPE forecasted 38,568,300metrics tons in our study area.

-
-
-
-
Figure 1.7: Metropolitan Council emissions inventory v. NREL SLOPE modeled emissions
-
- -
-
-
-
-
-
-
-
-
-

1.3 Natural Gas

-
-

1.3.1 Introduction

-

Greenhouse gas emissions from Minnesota homes and apartment buildings have increased 14% over the past 15 years, and natural gas use is the largest source of these emissions (MPCA 2023). Many local and state governments are evaluating policies to reduce natural gas usage, such as building electrification (when paired with decarbonization of the electric grid) and banning natural gas hookups in new construction.

-
-
-

1.3.2 Methods

-

The general workflow for quantifying natural gas emissions is to identify all of the natural gas utilities that operate within our study area, collect any reporting they provide to the states of Minnesota and Wisconsin about the amount of energy delivered to all their customers, reference federal reporting sources where state-level reporting gaps exist, and apply EPA-provided emissions factors to the reported energy deliveries to calculate emissions. Methodologies for allocating utility activity reports to counties varies across MN and WI and are further described in the following section. All inputs we use in the construction of our natural gas emissions data set are of the highest quality rank (Table B.2), as they are either direct government-created data (e.g., emissions factors) or data reported to state or federal authorities (e.g., regulatory filings).

-

Total regional emissions (Emissionsr) represents the sum of all recorded energy deliveries by utility i within county j, where i refers to each of the electric utilities operating across our region, and j refers to the eleven counties included in this inventory. Our regional total therefore represents an aggregation of electricity deliveries for all distinct utility-county records within our 11 counties. Our inventory takes a “demand-side” approach to emissions quantification and seeks to aggregate all reported delivery of energy to all customers served by utilities (meaning residential, commercial, industrial, and government accounts).

-

\[Emissions_r = \Sigma (mcfDelivered_iCounty_j \times {Emissions Factor}) \]

-

While our primary data collection does not include a breakout of natural gas deliveries by sector, and represents only total natural gas deliveries, we do leverage year 2021 NREL SLOPE forecasts of natural gas consumption (built from a base year of 2016 observed data) by sector (residential, commercial, industrial) at the county level to calculate modeled proportions of consumption by sector, which we then apply to our aggregate numbers to calculate estimated emissions by sector. (Ma et al. 2019) (NREL 2017)

-
-

1.3.2.1 Identifying utilities in scope

-

To identify the natural gas utilities that operate within our 11-county study area, we first referred to maps and geospatial datasets capturing utility service areas in Minnesota and Wisconsin. Where possible, state-maintained data sources were used, with federal sources referenced where state sources could not be accessed. To identify Wisconsin gas utilities, we downloaded the Natural Gas Service Territory map maintained by the Wisconsin Public Utilities Commission (Public Service Commission of Wisconsin 2021). Since Minnesota does not publish a state-maintained data set of natural gas service areas (Minnesota IT Services 2021), we used the Department of Homeland Security’s Natural Gas Service Territories map from its Homeland Infrastructure Foundation-Level Data (HIFLD) portal to identify in-scope Minnesota gas utilities (Homeland Security 2017).

-
-
-

1.3.2.2 Collecting and aggregating activity data from utilities

-

After identifying which utilities operate within our study area within each state, we collected the reporting submitted by these utilities to the relevant state and federal authorities, and followed a distinct process for each state to accumulate data and then allocate energy deliveries to specific counties therein.

-
-
1.3.2.2.1 Minnesota
-

All natural gas utilities authorized to do business in Minnesota are required to file an annual data report pursuant to MN Rules Chapter 7610 (Commerce 2005). The Minnesota Public Utilities Commission makes these reports searchable through an eFiling Site (Minnesota Department of Commerce 2022). For each utility identified in distinct_natGas_util_MN.RDS (a data product of minnesota_natGasUtilities.R, a script that looks for intersections between electric utility service areas and our Minnesota counties), we downloaded the relevant annual reports from this site in their Excel workbook form.

-

We wrote code to extract the county-level data reported in report section “ANNUAL GAS DELIVERED TO ULTIMATE CONSUMERS BY COUNTY IN 2021” from these reports (which were compiled into a distinct folder directory for file processing), and created a table with three columns county, utility, and mcf_delivered (thousand cubic feet of natural gas delivered). By compiling this data for all utilities found to operate within our study area, aggregating all natural gas deliveries at the county level becomes possible.

-
-
-
1.3.2.2.2 Wisconsin
-

All municipal and investor-owned natural gas utilities authorized to do business in Wisconsin are required to file an annual report with financial and operational information pursuant to Wis. Stat. § 196.07. The Public Services Commission of Wisconsin makes these reports searchable through an E-Services Portal, and downloadable as either PDFs or Excel workbooks, with options to export only specific portions of the reports as spreadsheets (Wisconsin State Legislature 2024). For each utility identified in distinct_natGas_util_WI.RDS (a data product of wisconsin_natGasUtilities.R, a script that looks for intersections between electric utility service areas and our Wisconsin counties), we downloaded the relevant 2021 annual reports from this site.

-

Because of the small amount of data, we hard-coded observed information into data frames rather than extracting data through a web scraper or document analyzer as we did in Minnesota (see processed_wi_electricUtil_activityData.R.

-
-
-
-

1.3.2.3 Emissions factors

-

Natural gas energy deliveries were reported in standard cubic feet and converted into emissions in metric tons CO2e, referencing the 2021 EPA GHG Emissions Factor Hub (USEPA 2021b).

-
-
-
-

1.3.3 Results

-
-
-
-
Figure 1.8: 2021 natural gas emissions
-
- -
-
-
-
-
-
-
Figure 1.9: 2021 natural gas emissions by sector
-
- -
-
-
- -
-

1.3.3.2 Comparison with other inventories

-
-
1.3.3.2.1 NREL SLOPE
-

The NREL SLOPE (State and Local Planning for Energy) Platform provides yearly forecasted emissions from natural gas through 2050 based on 2016 observed/reported data at the county level. In comparing these figures to our own inventory, we observed that, where we estimated 24,699,496 metric tons of emissions linked to natural gas use in our study area in the year 2021, NREL SLOPE forecasted 13,910,111 metric tons in our study area.

-
-
-
-
Figure 1.11: Metropolitan Council emissions inventory v. NREL SLOPE modeled emissions
-
- -
-
-
-
- - - -
-
-
-
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_energy/data_electricity.html b/docs/_energy/data_electricity.html deleted file mode 100644 index 5b1c63d8..00000000 --- a/docs/_energy/data_electricity.html +++ /dev/null @@ -1,701 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 2  Electricity - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

2  Electricity

-
- - - -
- - - - -
- - -
- -
-

2.1 Utility Activity Data

-
-

2.1.1 Minnesota

-

Under Minnesota Administrative Rules Chapter 7610 (Commerce 2005), utilities are required to file an annual data report that supports the identification of “emerging energy trends based on supply and demand, conservation and public health and safety factors, and to determine the level of statewide and service area needs” (Minnesota Department of Commerce 2022). This includes a report of county-level energy deliveries (reported in megawatt-hours, commonly written as mWh). Because the information is structured in this manner, electricity emissions at the county-level can be estimated as a direct function of energy deliveries to counties reported by utilities.

-

One utility operating within our study area, Great River Energy (GRE), is a non-profit wholesale electric power cooperative which provides wholesale power and delivery services to 28 Minnesota-based electric cooperatives, which collectively own GRE and provide retail electric service. They are the primary supplier of energy (>99%) to the cooperative utilities operating in our study area. Though most electricity suppliers having relationships with Minnesota electric utilities do not file these annual data reports, GRE does, given their unique hybrid wholesale/transmission structure and cooperative ownership model. As a result, while we keep only GRE’s reporting in our data collection for county-level electricity deliveries, we exclude reporting from these subsidiary retail electric cooperatives, in order to avoid double counting electric deliveries. We use GRE’s reported deliveries to our 9 Minnesota study area counties as a full substitution for the deliveries of these utilities, which may represent a marginal undercount given that marginal-to-negligible amounts of energy delivered by these retail cooperatives came from other other sources, per their annual reports.

-
-
-

2.1.2 Wisconsin

-

Under Wis. Stat. § 196.07, investor- and municipally-owned electric utilities operating within the state of Wisconsin must submit annual reports to the State which include an array of information related to utility finance and operations, including key figures leveraged in our data collection, such as total energy deliveries made (in units of kWh) and total number of customer accounts within each county (Wisconsin State Legislature 2024).

-

Of the seven in-scope electric utilities, only three (the investor- and municipally-owned utilities) were required to make these reports to the State in 2021 (four of the in-scope electric utilities are cooperative utilities); state data was leveraged in this case. For the four utilities (all cooperative utilities) not making these reports, we relied upon the detailed data files provided by the EIA, recording the responses of utilities to the Annual Electric Power Energy Report (Form EIA-861), which records retail sales by utilities and power marketers (U.S. Energy Information Administration 2023). Two utilities (Dunn Energy Cooperative and Polk-Burnett Electric Cooperative) filled the long version of the form (filled by larger entities), and two (St. Croix Electric Cooperative and Pierce-Pepin Electric Cooperative Services) filled the short form (filled by smaller entities). For our purposes, both the long and short form provided suitable activity information (total energy delivered, total customers) to allocate energy deliveries to counties in concert with Census population data, in the process outlined below.

-

Because Wisconsin utilities do not report energy deliveries at the county level, it was necessary to estimate energy deliveries by a given utility i within a particular county j. For those three utilities who reported county-level customer counts and total customer counts to the state, we estimated mWh delivered by utility i in county j by multiplying their total statewide energy deliveries (as reported to the relevant state authorities) by the proportion of their customers residing in each of our two study area counties.

-

\[mWhDelivered_iCounty_j = (mWhEnergyDeliveries_i \times {ProportionOfTotalUtilityCustomers_j}) \]

-

Note: This approach implicitly assumes that customer accounts across counties within the operations of a given utility have the same average per-account demand for energy, when this is influenced by land-use mix and relative magnitude/scale of residential and commercial/industrial utility accounts within a given county.

-

To calculate the estimated energy delivered by utility i in county j for the four cooperatively-owned utilities that did not report county-level customer counts (i.e., did not report to the State), we used population figures to estimate/allocate reported electricity deliveries to counties. We took the actual total energy delivered by utility i across Wisconsin (as reported to the relevant federal authorities) and multiplied this by the proportion of total population within each utility’s entire service area residing within county j at the 2020 decennial Census.

-

\[mWhDelivered_iCounty_j = (mWhDelivered_i \times {ProportionOfTotalUtilityPopulation_j}) \]

-

The factor ProportionOfTotalUtilityPopulationj was calculated by spatially joining Census block centroids containing population data to 1) polygons representing the entirety of our in-scope utilities’ service areas (including areas outside of St. Croix and Pierce counties) and 2) polygons representing only the portions of these utilities’ service areas within a) St. Croix county and b) Pierce County. These utility-county service areas are calculated separately, to facilitate an informed allocation of statewide energy use to each county in turn.

- -
- - - -
-
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_energy/data_natural_gas.html b/docs/_energy/data_natural_gas.html deleted file mode 100644 index 4a3763e8..00000000 --- a/docs/_energy/data_natural_gas.html +++ /dev/null @@ -1,690 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 3  Natural gas - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

3  Natural gas

-
- - - -
- - - - -
- - -
- -
-

3.1 Utility Activity Data

-
-

3.1.1 Minnesota

-

Under Minnesota Administrative Rules Chapter 7610 (Commerce 2005), utilities are required to file an annual data report that supports the identification of “emerging energy trends based on supply and demand, conservation and public health and safety factors, and to determine the level of statewide and service area needs.” (Minnesota Department of Commerce 2022) This includes a report of county-level energy deliveries (reported in thousand cubic feet, commonly written as mcf). Because the information is structured in this manner, natural gas emissions at the county-level can be estimated as a direct function of energy deliveries to counties reported by utilities, which is not the case in Wisconsin (some modeling and estimation is required in WI).

-
-
-

3.1.2 Wisconsin

-

Under Wis. Stat. § 196.07, investor-owned natural gas utilities operating within the state of Wisconsin must submit annual reports to the State which include an array of information related to utility finance and operations, including key figures leveraged in our data collection, such as total energy deliveries made (in units of therms) and total number of customer accounts within each county (Wisconsin State Legislature 2024). Because all four “in-scope” natural gas utilities in Wisconsin are investor-owned, we did not have to refer to federal sources or use population figures to estimate energy deliveries. We estimated county-wide emissions from natural gas in 2021 by first calculating the proportion of each utility customer accounts that were linked to either Pierce or St. Croix counties, and allocating that proportion of the utility’s total reported energy delivery to each county. This approach represents a divergence from our Minnesota process, which involves aggregating county-level numbers directly reported by utilities, and implicitly assumes that customer accounts across counties within the operations of a given utility have the same average per-account demand for energy, when in actuality this is likely impacted by land-use mix and relative magnitude/scale of residential and commercial/industrial utility accounts within a given county.

-

\[mcfDelivered_iCounty_j = (mcfEnergyDeliveries_i \times {ProportionOfTotalUtilityCustomers_j}) \]

-
- - - -
-
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_energy/data_propane_kerosene.html b/docs/_energy/data_propane_kerosene.html deleted file mode 100644 index 0e5bb5da..00000000 --- a/docs/_energy/data_propane_kerosene.html +++ /dev/null @@ -1,680 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 4  Propane and kerosene - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

4  Propane and kerosene

-
- - - -
- - - - -
- - -
- -

U.S Energy Information Administration provides per household estimates of residential energy use from residential surveys of propane and kerosene usage patterns and billing data at regional and state scales. These estimates are provided every 5 years, most recently in 2020 (US EIA 2023). The American Community Survey, curated by the US Census Bureau, provides the estimated number of households using each fuel type at more granular spatial and temporal scales, including county level estimates in 2021. Energy generation and GHG emissions from these fuels was estimated for each of the 11 counties in our 2021 inventory using these two data sources in combination. Both data sources are from federal governmental agencies, categorized as the highest rank of data quality (Table B.2).

-

EIA RECS data was downloaded from their data portal. EIA surveyed 32,882 households nationally for 2020 data and provides estimated mmBtu (millions of British thermal units) generation from propane per household using that fuel at the state level and at the Midwest regional level for kerosene. ACS data was accessed using the tidycensus package in R. ACS conducted 62,778 household interviews in Minnesota in 2021 and provides county estimates of the number of households using a given fuel. Multiplying the estimated mmBtu generated per household in a given region by the county-level estimate of households using the fuel provides a county-level estimate of mmBtu generation from each of propane and kerosene and is then converting to CO2 equivalency using the EPA’s emission factors. This approach assumes energy generation per household per fuel is equal across each state (for propane) and the Midwest region (for kerosene).

-
-
-
-
Figure 4.1: 2021 annual liquid stationary fuel emissions
-
- -
-
-
-
- - - - -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_energy/qc_energy.html b/docs/_energy/qc_energy.html deleted file mode 100644 index 980e012e..00000000 --- a/docs/_energy/qc_energy.html +++ /dev/null @@ -1,744 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 5  Deliverables - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

5  Deliverables

-
- - - -
- - - - -
- - -
- -
-
-
- -
-
-Warning -
-
-
-

Quality control sections will be formally completed for the Comprehensive Climate Action Plan (CCAP) in Summer 2025.

-
-
-
-

5.1 Electric power consumption

-

Local inventory of GHG emissions from electric power consumption with documentation of the following QC activities:

-
    -
  1. narrative report describing data sources and QC measures for data acquisition steps,
  2. -
  3. description of methodology and QC measures for validated proper implementation of methodology, and
  4. -
  5. documentation of QAPP implementation.
  6. -
  7. listing of emissions reductions options are present with documentation of rationale for each option.
  8. -
-
-

5.1.1 Quality control

-
    -
  1. Compare (a) the local estimate in inventory versus (b) data from SLOPE (NREL 2017), state averages, or other data resources available from DOE such as Form EIA 861 data. Use a table similar to the table below to assess precision and bias of the local estimates versus estimates derived from SLOPE, state averages, or representative EIA 861 data, if available. Additionally, precision and bias calculations will be in accordance with the EPA’s Data Assessment Statistical Calculator (DASC) Tool with the community’s estimate taken as the measured value and the LGGIT (US EPA 2017) value taken as the audit value.

  2. -
  3. SLOPE (NREL 2017) data are provided in million British thermal units (MMBtu’s) of electricity usage, EIA 861 usage data are provided in megawatt-hours (MWh), but the LGGIT (US EPA 2017) inputs for electricity usage must be in kilowatt-hours (kWh). When comparing any two datasets, ensure that the units of measure are converted to a consistent basis prior to making the comparison.

  4. -
  5. Ensure the GWPs used for the local estimate and the independent estimate are on the same basis.

  6. -
  7. Technical review of methods, calculations, and underlying datasets — data are appropriate for intended use, data are complete and representative and current, data sources documented, analytical methods are appropriate, and calculations are accurate.

  8. -
  9. Review by TL or senior technical reviewer — analytical methods and results are explained clearly, technical terms are defined, conclusions are reasonable based on information presented, and level of technical detail is appropriate)

  10. -
  11. Editor review — writing is clear, free of grammatical and typographical errors.

  12. -
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 5.1:

Local estimate comparison with control estimate

Power Consuming SectorInitial Local Estimate (Metric Tons CO₂e)QC Estimate based on SLOPE (Metric Tons CO₂e)
Residential
Commercial
Industrial
Transportation
Other
-
-
-
-
-
- - - -
-
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_meta/supplementary_data.html b/docs/_meta/supplementary_data.html deleted file mode 100644 index e58ea3e2..00000000 --- a/docs/_meta/supplementary_data.html +++ /dev/null @@ -1,2900 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - Appendix A — Supplementary data - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

Appendix A — Supplementary data

-
- - - -
- - - - -
- - -
- -
-

A.1 Emissions factors

-

Note for solid waste, the global warming potentials used to calculate CO2e are sourced AR4, not AR5, like the rest of our inventory. However, documentation for the EPA WARM tool (USEPA 2019), indicates that the differences in total CO2e emissions is negligible.

-

All EPA Emission Factor Hub values were pulled from an Excel workbook downloaded from the EPA website. Values were processed in epa_ghg_factor_hub.R.

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Table A.1:

Electricity emission factors. 2021 EPA GHG Emission Factor Hub, EPA -eGRID2019, February 2021.

eGrid SubregionGrid OutputGHGlb GHG per MWh
MROW (MRO West)Total outputCO₂995.800
MROW (MRO West)Total outputCH₄0.107
MROW (MRO West)Total outputN₂O0.015
-
-
-
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table A.2:

Stationary combustion emission factors. 2021 EPA GHG Emission Factor -Hub, Federal Register EPA; 40 CFR Part 98.

Fuel typeGHGGHG QuantityUnitValue
Natural Gas
Natural GasCO₂KilogramsmmBtu53.06000
Natural GasCH₄GramsmmBtu1.00000
Natural GasN₂OGramsmmBtu0.10000
Natural GasCO₂Kilogramsscf0.05444
Natural GasCH₄Gramsscf0.00103
Natural GasN₂OGramsscf0.00010
Petroleum Products
KeroseneCO₂KilogramsmmBtu75.20000
KeroseneCH₄GramsmmBtu3.00000
KeroseneN₂OGramsmmBtu0.60000
PropaneCO₂KilogramsmmBtu62.87000
PropaneCH₄GramsmmBtu3.00000
PropaneN₂OGramsmmBtu0.60000
-
-
-
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table A.3:

Solid waste emission factors. 2021 EPA GHG Emission Factor Hub, EPA -WARM version 15, November 2020.

MaterialMetric tons CO₂e per short ton material
Recycled
Mixed Recyclables0.09
Mixed OrganicsNA
Mixed MSWNA
Landfilled
Mixed Recyclables0.68
Mixed Organics0.48
Mixed MSW0.52
Combusted
Mixed Recyclables0.11
Mixed Organics0.05
Mixed MSW0.43
Composted
Mixed RecyclablesNA
Mixed Organics0.17
Mixed MSWNA
-
-
-
-
-

Transportation emissions factors were processed in epa_moves.R. Read more about these emission factors in Section 7.3.

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table A.4:

Transportation emissions factors. Source: EPA MOVES

GHGGrams per vehicle mile traveled
Passenger
CO₂353.4300
CO₂e356.4390
CH₄0.0100
N₂O0.0100
Medium
CO₂473.2400
CO₂e476.2490
CH₄0.0100
N₂O0.0100
Heavy
CO₂1212.3600
CO₂e1223.9093
CH₄0.0206
N₂O0.0402
-
-
-
-
-
-
-

A.2 Global Warming Potential (GWP)

-

The Global Warming Potential (GWP) was developed to allow comparisons of the global warming impacts of different gases. Specifically, it is a measure of how much energy the emissions of 1 ton of a gas will absorb over a given period of time, relative to the emissions of 1 ton of carbon dioxide (CO2). The larger the GWP, the more that a given gas warms the Earth compared to CO2 over that time period (USEPA 2023).

- - -

Across all sectors, we used the GWP values established in the Intergovernmental Panel on Climate Change (IPCC) 6th Assessment Report (AR6), Table 7.SM.7 (IPCC 2023). We processed these values in global_warming_potential.R.

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table A.5:

Global Warming Potential (GWP) values

Gas100-year GWP valueSource
CO₂1.0IPCC AR5 (2014)
CH₄27.9IPCC AR5 (2014)
N₂O273.0IPCC AR5 (2014)
CF₄7380.0IPCC AR5 (2014)
HFC-152a1164.0IPCC AR5 (2014)
1 Hydrofluorocarbon-152a, Difluoroethane
-
-
-
-
-
-
-

A.3 Geographic data

-

Geographic data were processed in cprg_geography.R.

-
-

A.3.1 Counties

-

County data was pulled using {tigris}, an R package that downloads TIGER/Line shapefiles from the US Census Bureau (Walker 2023). 2021 geographies for Minnesota and Wisconsin were pulled, combined, and saved.

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table A.6:

County geography metadata

ColumnClassDescription
STATEcharacterFull state name
STATEFPcharacterState FIPS code
STATE_ABBcharacterAbbreviated state name
COUNTYFPcharacterCounty FIPS code
GEOIDcharacterCounty GEOID
NAMEcharacterCounty name
NAMELSADcharacterFull county name
geometrysfc_MULTIPOLYGONSimple feature geometry
-
-
-
-
-

Additionally, population estimates were obtained from the American Community Survey 5-Year estimates (2017-2021) using {tidycensus} (U.S. Census Bureau 2021).

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table A.7:

County population metadata

ColumnClassDescription
STATEcharacterFull state name
STATEFPcharacterState FIPS code
COUNTYFPcharacterCounty FIPS code
GEOIDcharacterCounty GEOID
NAMEcharacterCounty name
NAMELSADcharacterFull county name
populationnumericTotal county population estimate
population_data_sourcecharacterPopulation estimate data source
-
-
-
-
-
-
-

A.3.2 Cities

-

Minnesota cities, townships, and unorganized territories were imported from Minnesota Geospatial Commons (MnDOT 2023).

-

Wisconsin cities, towns, and villages were imported from Wisconsin’s Legislative Technology Services Bureau (Wisconsin Legislature 2023).

-

Data from both states was then combined and filtered to include only the workplan area counties.

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table A.8:

City geography metadata

ColumnClassDescription
CTU_NAMEcharacterCity, township, unorganized territory, or village name
CTU_CLASScharacterCity class (City, township, unorganized territory, or village)
COUNTY_NAMcharacterCounty name
STATEFPcharacterState FIPS code
STATEcharacterFull state name
STATE_ABBcharacterAbbreviated state name
GNIS_FEATUnumericMinnesota geographic identifier
geometrysfc_MULTIPOLYGONSimple feature geometry
GEOIDcharacterWisconsin geographic identifier
-
-
-
-
-
- - - -
-
- -
- - - -
- - - - - - \ No newline at end of file diff --git a/docs/_meta/supplementary_tables.html b/docs/_meta/supplementary_tables.html deleted file mode 100644 index 46c6a5ab..00000000 --- a/docs/_meta/supplementary_tables.html +++ /dev/null @@ -1,763 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - Appendix B — Supplementary tables - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

Appendix B — Supplementary tables

-
- - - -
- - - - -
- - -
- -
-

B.1 Acronyms

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table B.1:

Acronyms

AcronymDefinition
CAAClean Air Act
CFRCode of Federal Regulations
CCAPComprehensive Climate Action Plan
CPRGClimate Pollution Reduction Grant
EPAU.S. Environmental Protection Agency
GHGGreenhouse Gas
GHGRPGreenhouse Gas Reporting Program (40 CFR Part 98)
ICRInformation Collection Request
METCMetropolitan Council of the Twin Cities
NEIEPA’s National Emissions Inventory
OAREPA Office of Air and Radiation
PCAPPriority Climate Action Plan
PMProject Manager
POEPA Project Officer for Grant
POPPeriod of Performance
POREPA Project Officer’s Representative
PWPProject Work Plan
QAQuality Assurance
QAMQuality Assurance Manager
QAMDQuality Assurance Manager Delegate
QAPPQuality Assurance Project Plan
QCQuality Control
QCCQuality Control Coordinator
LGGITCommunity - GHG Inventory Tool (provided by the EPA)
TLTask Leader
BtuBritish thermal unit
Ccfvolume of 100 cubic feet (cf)
Mcfvolume of 1,000 cubic feet (cf)
MMBtu1 million British thermal units
ThermOne therm equals 100,000 Btu, or 0.10 MMBtu
-
-
-
-
-
-
-

B.2 Data Quality

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - -
Table B.2:

Data source quality ranking

Quality RankSource Type
HighestFederal, state, and local government agencies
SecondConsultant reports for state and local government agencies
ThirdNGO studies; peer-reviewed journal articles; trade journal articles; conference proceedings
FourthConference proceedings and other trade literature: non-peer-reviewed
FifthIndividual estimates (e.g., via personal communication with vendors)
-
-
-
-
-
- - -
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_nature/_natural_systems.html b/docs/_nature/_natural_systems.html deleted file mode 100644 index 64d7a9e6..00000000 --- a/docs/_nature/_natural_systems.html +++ /dev/null @@ -1,774 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 13  Natural Systems - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

13  Natural Systems

-
- - - -
- - - - -
- - -
- -
-

13.1 Introduction

-

Natural systems are a critical component of capturing carbon from the atmosphere and sequestering it in biomass and terrestrial soils. Photosynthesis is the central mechanism of this process and vegetation is therefore the focal land cover classification for quantifying the potential for regions to both sequester and store carbon. Different ecosystems have varying capacities for carbon capture and this work focuses on five broad classifications: urban trees, urban grasslands (i.e. turf grass), forests, natural grasslands, and wetlands. The distinction between tree and grassland cover in developed areas (i.e. urban) is important as despite having similar sequestration rates, urban natural systems are generally understood to have smaller storage capacities. The preservation and restoration of natural systems will be a key tool in limiting atmospheric greenhouse gases.

-
-
-

13.2 Methods

-

The approach for calculating carbon sequestration potential for a given geography, \(j\), is,

-

\[\text{Sequestration}_j = \Sigma (\text{area}_i \times {\text{Sequestration Rate}_i}) \]

-

where \(i\) is land cover classification. The sequestration rate is based on Midwest specific sequestration rate estimates found in the primary scientific literature (Table 14.1).

-
-

13.2.1 Land cover classification

-

Land cover was determined by using the European Space Agencies 2021 WorldCover, a 10 m resolution satellite data product, in combination with USGS’s National Land Cover Dataset (NLCD). These datasets complement each other as WorldCover provides finer spatial resolution and classifies green spaces within urban areas, whereas the NLCD products can split and downscale green space area in developed lands from those in non-developed lands, offering an important distinction between carbon sequestration and stock capacities. Specifically the NLCD ‘Developed’ land classification was used to assign the ‘urban’ label to WorldCover tree and grassland cells, and the NLCD impervious cover layer was used to correct the area of urban trees in WorldCover, which otherwise classifies any cell with >10% tree cover as 100% tree.

-
-
-
-
-
Figure 13.1: European Space Agency WorldCover
-

-
-
-
-
-
-
-
-
-
Figure 13.2: USGS National Land Cover Database (NLCD)
-

-
-
-
-
-
-
-
-
-
Figure 13.3: USGS National Land Cover Database (NLCD) - impervious cover
-

-
-
-
-
-
-
-
-

13.3 Results

-

There is considerable variation across counties in two key components that affect natural system carbon sequestration and stock potential: total area of green spaces and the ratio of ‘natural’ to ‘urban’ green spaces. Hennepin county has the highest sequestration potential due to a high proportion of urban trees and turf grass (urban grasslands) which have high potential for rapid carbon sequestration. However, counties with more acreage of green spaces in undeveloped areas, most notably St. Croix county, have a higher stock capacity. This dichotomy illustrates that different counties curation of natural spaces may play different roles. Highly developed areas may help offset carbon emissions be providing rapid sequestration sinks in urban greenery, whereas less developed counties can provide longer term carbon sinks in natural areas with a higher capacity to continue drawing down atmospheric carbon even if future emissions approach net zero.

-

Two important caveats to these results are that (1) carbon sequestration tends to slow as natural systems mature and (2) present day natural systems exist at some intermediate level of the illustrated carbon stock potential. The former means that these approximations could be higher or lower depending on the average age of natural systems in each county (e.g. time since agricultural abandonment). The latter means that the loss of these natural systems to development or habitat instruction means that not only would the region lose carbon sinks, but a substantial amount of the stored carbon will be transferred to the atmosphere, increasing atmospheric greenhouse gases.

-
-
-
-
Figure 13.4: 2021 county natural system carbon sequestration potential
-
- -
-
-
-
-
-
-
-
Figure 13.5: 2021 county natural system carbon stock potential
-
- -
-
-
-
-

13.3.1 Correlation with county area

-

The expectation is that larger counties have higher carbon sequestration and storage capacities due to more acreage for green spaces; this is indeed observed.

-
-
-
-
Figure 13.6: 2021 carbon stock by county area
-
- -
-
-
-
-
-
-
Figure 13.7: 2021 carbon stock by county area
-
- -
-
-
-
-
-

13.3.2 Regional parks

-

Parks play an important role in climate change resilience by protecting existing natural systems and acquiring lands for natural system restoration. The regional park system of the seven county Twin Cities region provides an excellent example of this. The following graphs show how regional parks, on a per area basis, are more efficient carbon sinks than the counties they reside in. For both sequestration and stock potential, this is in large part due to a much small proportion of non-green spaces (e.g.. impervious surfaces, agricultural lands), but stock potential in particular has a higher capacity due to a larger proportion of natural green spaces as opposed to urban green spaces. Regional parks represent 4.0% of the total land area of the seven county region, but 5.6% of its carbon sequestration potential and 7.2% of its carbon stock potential.

-
-
-
-
Figure 13.8: 2021 comparison of carbon sequestration per square kilometer in counties and regional parks
-
- -
-
-
-
-
-
-
Figure 13.9: 2021 comparison of carbon stock per square kilometer in counties and regional parks
-
- -
-
-
-
- - -
-
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_nature/_natural_systems_files/figure-html/fig-esa-worldcover-1.png b/docs/_nature/_natural_systems_files/figure-html/fig-esa-worldcover-1.png deleted file mode 100644 index ae034462..00000000 Binary files a/docs/_nature/_natural_systems_files/figure-html/fig-esa-worldcover-1.png and /dev/null differ diff --git a/docs/_nature/_natural_systems_files/figure-html/fig-nlcd-classification-1.png b/docs/_nature/_natural_systems_files/figure-html/fig-nlcd-classification-1.png deleted file mode 100644 index 662116d4..00000000 Binary files a/docs/_nature/_natural_systems_files/figure-html/fig-nlcd-classification-1.png and /dev/null differ diff --git a/docs/_nature/_natural_systems_files/figure-html/fig-nlcd-impervious-cover-1.png b/docs/_nature/_natural_systems_files/figure-html/fig-nlcd-impervious-cover-1.png deleted file mode 100644 index 09485d62..00000000 Binary files a/docs/_nature/_natural_systems_files/figure-html/fig-nlcd-impervious-cover-1.png and /dev/null differ diff --git a/docs/_nature/data_land_area_sequestration.html b/docs/_nature/data_land_area_sequestration.html deleted file mode 100644 index 429af249..00000000 --- a/docs/_nature/data_land_area_sequestration.html +++ /dev/null @@ -1,774 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 14  Data Sources - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

14  Data Sources

-
- - - -
- - - - -
- - -
- -

Natural systems have the capacity to sequester carbon in biomass and soils. In order to estimate the potential, we require area estimates of different natural systems and MN specific estimates of their sequestration rates. The European Space Agency created WorldCover, a remotely sensed product that depicts land cover classifications at 10 m resolution for 2021.

-

Two important caveats are that WorldCover (1) labels any raster cell as ‘Tree’ with at least 10% tree cover, leading to potential overestimates of tree coverage particularly in urbanized areas and (2) does not distinguish between urban and non-urban natural systems. In order to address these issues, we incorporated USGS’s National Land Cover Database (NLCD).

-

To address point 1, we intersected the WorldCover data with the NLCD 2021 Impervious Surface layer, which estimates the percentage of the raster cell which is impervious. From there, we reduced the area of a WorldCover ‘Tree’ cell to the percent pervious surface (100 - % impervious).

-

To address point 2, we intersected the WorldCover data with the NLCD 2021 land cover dataset which has ‘Developed areas’ when to label WorldCover ‘Tree’ and ‘Grassland’ raster cells as ‘urban’ to distinguish forests and natural grasslands from urban trees and turf grass systems. Raster cell areas were calculated based on the 10 m resolution and their cartographic position. Raster cells were assigned to county areas by intersecting the WorldCover raster with county shape files. This land area estimation is the highest quality of data according to (Table B.2).

-

Thus, an ‘Urban_tree’ raster cell occurred for raster cells that were labeled as ‘Tree’ by WorldCover and ‘Developed’ by NLCD and had an estimated area of:

-

\[\text{Area Of UrbanTree} = \text{CellArea} \times \left(1 - \frac{\text{ImperviousCover}} {100}\right) \] The script for processing land cover data, is esa_county_land_area_cover_calc.R and requires census geography and the appropriate .tif files from WorldCover.

-

In order to determine the annual carbon sequestration rate of natural systems, we searched for region-specific estimates for each land cover type (tree, urban_tree, grassland, urban_grassland, wetland), preferring primary scientific literature where possible. Carbon sequestration rates in natural systems are non-linear through time, with highest sequestration rates in younger systems and saturated rates (i.e. net zero carbon fluxes) in mature systems. Given that our land cover approach is unable to distinguish the age of a system, we used intermediate aged system rates where available. Future research could leverage the NLCD Land Cover Change Disturbance Date to attempt to determine natural system age, though this is most likely to find loss of natural systems in our region as opposed to land use conversion to natural systems.

-

An additional consideration is that these systems have different storage potentials that are not necessarily related to their sequestration rates. For instance, turf grass systems (likely most urban_grasslands in our designation) rapidly accumulate soil carbon relative to natural grasslands but saturate by 50 years, whereas grasslands as old as 75 years continue to sequester carbon at the northern edge of our system. Additional factors affecting sequestration rates include species specific life histories, soil characteristics, and water and nutrient inputs.

-

Carbon sequestration rates were multiplied by a value of 3.67 to equate a unit of carbon to a unit of CO2, representing the different in atomic weights. Sequestration rates are the third highest quality rank (Table B.2), coming predominantly from peer-reviewed journal articles.

-
-
-
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 14.1: Ecosystem sequestration rates
Land Cover TypeMetric tons CO₂e per square kilometer per year
Grassland (Knops and Bradley 2009)-125
Tree (Russell 2020)-329
Urban Grassland (Phillips et al. 2023)-301
Urban Tree (Nowak et al. 2013)-620
Wetland (Polasky and Liu 2006)-1,115
-
-
-
-
-
-
- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 14.2: Ecosystem carbon stock potential
Land Cover TypeMetric tons CO₂e per square kilometer
Grassland (Liu et al. 2014)-24,589
Tree (Liu et al. 2014)-45,141
Urban Grassland (Selhorst and Lal 2013)-16,809
Urban Tree (Nowak et al. 2013)-16,148
Wetland (Nahlik and Fennessy 2016)-134,138
-
-
-
-
- - - - -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_transportation/_transportation.html b/docs/_transportation/_transportation.html deleted file mode 100644 index 95150b3b..00000000 --- a/docs/_transportation/_transportation.html +++ /dev/null @@ -1,864 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 6  Mobile combustion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

6  Mobile combustion

-
- - - -
- - - - -
- - -
- -
-

6.1 Introduction

-

This is the transportation section for estimating on-road emissions.

-

Note that this does not include buses, trains, freight rail, light rail, and other transportation emissions.

-
-
-

6.2 Methods

-

The general workflow for transportation emissions is to find vehicle miles traveled for a given geography,

-

\[Emissions = miles \times \frac{\text{GHG grams}}{mile}\]

-
-

6.2.1 Vehicle Miles Traveled

-

To find the estimated number of vehicle miles traveled (VMT), we used the estimated number of vehicles and the average trip length in miles for all origin - destination pairs and vehicle types (passenger, medium-duty, and heavy-duty). VMT is calculated as follows:

-

\[VMT = trips \times length\] where

-

\[trips = \text{number of trips}\] \[length = \text{average trip length in miles}\]

-
-
-

6.2.2 Emissions factors

-

You can read more about emissions factors we used in Section 7.3.

-

\[Emissions=\frac{1}{2}T_{o} + \frac{1}{2}T_{d} + T{_s}\]

-

where

-

\[T_o=\textrm{grams of emissions for each GHG from all trips originating in the county}\]

-

\[T_d=\textrm{grams of emissions for each GHG from all trips ending in the county}\]

-

and

-

\[T_s=\textrm{grams of emissions for each GHG for trips originating and ending within the county}\]

-

Transportation VMT and emissions were calculated in vmt_emissions.R, using functions calculate_emissions() and calculate_vmt().

-
-
-
-

6.3 Results

-
-
-
-
Figure 6.1: Transportation county emissions
-
- -
-
-
-

We can also view this data broken out by vehicle weight in Figure 6.2.

-
-
-
-
Figure 6.2: 2021 annual emissions by vehicle weight
-
- -
-
-
- -
-

6.3.2 Comparison with other inventories

-
-

6.3.2.1 National Emissions Inventory

-

The National Emissions Inventory (NEI) is a comprehensive and detailed estimate of air emissions of criteria pollutants, criteria precursors, and hazardous air pollutants from air emissions sources. The county-level GHG emissions included in the NEI for this category are calculated by running the MOVES model with State-, Local-, and Tribal-submitted activity data and EPA-developed activity inputs based on data from FHWA and other sources (USEPA 2023).

-

NEI data were pulled using the EnviroFacts API and processed in R scripts: epa_nei.R and epa_nei_transportation.R

-

We expect that the NEI data will show higher emissions, because it is based on overall activity, not explicit origin-destination travel.

-
-
-
-
Figure 6.4: County estimated emissions, NEI and calculated
-
- -
-
-
-
-
-

6.3.2.2 Local Greenhouse Gas Inventory Tool (LGGIT)

-

EPA’s Local Greenhouse Gas Inventory Tool (LGGIT) was developed to help communities across the United States to evaluate their greenhouse gas emissions. We used the LGGIT to validate our calculations and datasets (US EPA 2017).

-

We used the LGGIT Excel workbook tool with the following inputs in the “Mobile-Data” sheet. Several calculations and assumptions were made

-
    -
  • Passenger VMT was split between gasoline and diesel powered vehicles based on regional fleet composition in the Travel Behavior Inventory (TBI).
  • -
  • Passenger vehicle age was determined from the median vehicle model year in the TBI. See Section 7.4.1 for more detail.
  • -
  • Fuel consumption was calculated by dividing VMT by average vehicle miles per gallon (MPG), specific to vehicle type and fuel type.
  • -
  • Fuel efficiency data were taken from the LGGIT tool and verified with the EPA Emission Factors Hub (2021 edition) (USEPA 2021).
    -
  • -
  • All medium-duty VMT were classified as “Light Truck”, while all heavy-duty VMT were classified as “Heavy-Duty Vehicle”.
    -
  • -
  • Commercial trucks were assumed to be year 2007, based on a 2018 report that found the average age of trucks in the US to be 14.2 years (Brusseau 2019) (2021 - 14 = 2007).
  • -
-

LGGIT entries and resulting output tables were generated and processed in epa_lggit.R.

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 6.1:

Mobile data entered into LGGIT

IDUnit DescriptionSectorVehicle YearVehicle TypeVehicle Model (optional)Fuel TypeFuel ConsumptionVMT
1Passenger Car GasolineResidential2013Passenger CarGasoline943,537,47322,739,253,097
2Passenger Car DieselResidential2014Passenger CarDiesel8,524,236276,185,260
3Medium-dutyCommercial/Institutional2007Light TruckDiesel37,318,257824,733,487
4Heavy-dutyCommercial/Institutional2007Heavy-Duty VehicleDiesel10,186,928132,022,580
-
-
-
-
-

The results from the LGGIT tool estimate a regional emissions total of 8,891,741 metric tons CO2e, while our calculations estimate 8,757,962 metric tons CO2e. These values are sufficiently close, and may be explained by differences between nationwide vehicle emission rates and fuel efficiency and region-specific values from EPA MOVES. Additionally, LGGIT uses global warming potential (GWP) values from the Intergovernmental Panel on Climate Change (IPCC) Fifth Assessment Report (AR5) (IPCC and Core Writing Team 2014), while our calculations use slightly higher values from the 6th Assessment Report (AR6) (IPCC 2023). See Section 7.3 for a more detailed comparison.

-
- - - -
-
-
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_transportation/data_transportation.html b/docs/_transportation/data_transportation.html deleted file mode 100644 index 331b9294..00000000 --- a/docs/_transportation/data_transportation.html +++ /dev/null @@ -1,2932 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 7  Data sources - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

7  Data sources

-
- - - -
- - - - -
- - -
- -
-

7.1 StreetLight Data

-

StreetLight Data is a transportation analytics platform that uses aggregated location-based services (LBS) data from cell phones, GPS data, and connected vehicle data to deliver insights on travel patterns. For this project, we used StreetLight to find the volume of traffic (number of vehicles) and average trip length for passenger and commercial vehicles.

-

The Metropolitan Council used StreetLight for our 2018 inventory.

-

For ease of access, we used {streetlightR} to interact directly with the StreetLight API. {streetlightR} is an open-source R package maintained by Council staff. We also used StreetLight InSight®, an online interface for running StreetLight analyses. Our subscription to StreetLight is part of MnDOT’s transportation analysis with regional data for informed strategies program. StreetLight falls second, only behind government data sources, in the data quality table (Table B.2).

-

Using the API, we uploaded the CPRG county geography and then performed an origin-destination analysis, in which all counties were both an origin and destination. This resulted in detailed vehicle counts for traffic between and within each of the counties. The data were then pulled and cleaned for estimating passenger and commercial VMT. The data were filtered to ensure all day types and day parts were included in the VMT calculations. Analyses were configured to include all months in 2021 and the most recent metric version (R131-M129) available was used.

-

All StreetLight API operations are recorded in R scripts: stl_upload_zone_sets.R, stl_run_analyses.R, and stl_fetch_analyses.R.

-
-

7.1.1 Passenger

-

For passenger data, we used StreetLight Volume - an estimate of the number of vehicles. StreetLight uses a sample of devices with location-based services (LBS) and vehicles with location technology (connected vehicle data) to model number of vehicles (StreetLight Data 2024).

-

The models that make up StreetLight Volume predict vehicle volumes by combining location-based services (LBS) and connected vehicle trips with contextual features that represent the street network, demographics, climate, and other geographic characteristics (StreetLight Data 2023a). The models are validated against data permanent traffic counters across the country, including in the study area.

-

StreetLight provides a rough sample size for the entire analysis, as shown in Table 7.1.

-
-
-
- -
- - - - - - - - - - - - - - - - - - -
Table 7.1:

StreetLight passenger travel analysis sample size

Data periodsMode of travelApproximate device countApproximate trip count
Jan 01, 2021 - Dec 31, 2021All Vehicles LBS Plus - StL All Vehicles Volume1,038,000125,411,000
-
-
-
-
-
-

7.1.1.1 Trip length validation

-

StreetLight returns not only vehicle volume, but also trip attributes, like trip length. We then use this to estimate vehicle miles traveled, by multiplying volume by average trip length for each origin-destination pair.

-
-
-
-
Figure 7.1: StreetLight origin-destination passenger trip length matrix
-
- -
-
-
-

StreetLight also provides an estimation of the overall trip distance distribution. Use the widget below to find the distributions of various origin-destination pairs.

-
-
-
-
Figure 7.2: StreetLight passenger trip length distribution widget
-
-
-
-
Select an origin and destination county to visualize
-
- -
- - -
-
-
- -
- - -
-
-
-
-
- -
-
-
-
-
-
-

To test logical validity of average trip lengths, we will compare the minimum distance between each origin and destination with the average trip length. These should correlate.

-

In cases where the origin and destination counties are not adjacent, the average trip length is consistently higher than the minimum distance between the counties.

-
-
-
-
Figure 7.3: Avg. trip distance and minimum distance between counties
-
- -
-
-
-

We can also compare these distances with the observed average trip distance from the Met Council Travel Behavior Inventory (TBI). Read more about the TBI in Section 7.4.

-

Figure 7.4 shows a strong positive correlation when comparing origin-destination pairs. Note that TBI origin-destination pairs with fewer than 30 observed trips were removed due to low sample size.

-
-
-
-
Figure 7.4: Avg. trip distance, Travel Behavior Inventory and StreetLight
-
- -
-
-
-

We would also expect that large counties will have longer trip lengths and smaller counties will have shorter trip lengths.

-

Comparing trip distance and county area, we see a weakly positive correlation (the larger the county, the longer the average trip).

-
-
-
-
Figure 7.5: Avg. distance for trips within county and county area
-
- -
-
-
-
-
-
-

7.1.2 Commercial

-

StreetLight does not provide StreetLight Volume for 2021 commercial vehicle analyses. To measure volume for commercial traffic, we used the StreetLight Index, a relative measure of traffic volume, calibrated using AADT values to result in traffic volume (StreetLight Data 2023b).

-

StreetLight compares the AADT calibration values for a given zone with StreetLight’s sample size for the same zone, and creates a calibration factor to apply to the entire analysis (StreetLight Data 2023d). We generated a calibration zone set for commercial traffic by selecting road segments with both AADT and vehicle classification data in both MN and WI counties within the CPRG study area. Read more about state DOT vehicle weight distribution data in Section 7.2.2.

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - -
Table 7.2:

StreetLight commercial travel analysis sample size

Data periodsMode of travelVehicle weightApproximate device countApproximate trip count
Jan 01, 2021 - Dec 31, 2021Truck - StL Calibrated Truck IndexMediumN/A1,514,000
Jan 01, 2021 - Dec 31, 2021Truck - StL Calibrated Truck IndexHeavyN/A605,000
-
-
-
-
-
-

7.1.2.1 Trip length

-

StreetLight calculates trip length in the same manner as passenger trips.

-
-
-
-
Figure 7.6: StreetLight origin-destination medium-duty trip length matrix
-
- -
-
-
-
-
-
-
Figure 7.7: StreetLight origin-destination heavy-duty trip length matrix
-
- -
-
-
-
-
-
-
Figure 7.8: StreetLight commercial trip length distribution widget
-
-
-
-
Select an origin and destination county to visualize
-
- -
- - -
-
-
- -
- - -
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-

7.1.2.2 Calibration

-

StreetLight classifies commercial vehicles by Federal Highway Administration (FHWA) gross vehicle weight range (GWVR) classes: where vehicles between 14,000 lbs and 26,000 lbs (Class 4 to Class 6) are considered medium-duty, and vehicles greater than 26,000 lbs (Class 7+) are heavy-duty (StreetLight Data 2023c).

-

EPA’s Motor Vehicle Emissions Simulator (MOVES) has their own, slightly different vehicle classification system (USEPA 2016).

-

After reviewing MnDOT’s visual definitions of commercial vehicles, we defined MnDOT vehicle types 4-7 as medium-duty and types 8-13 as heavy-duty. We believe this configuration aligns most closely with both StreetLight’s and MOVES’s vehicle classifications schemes.

-

However, vehicles falling in FHWA class 7 (> 26,000 lbs, < 33,000 lbs) are classified as medium duty by state DOTs, and heavy duty by StreetLight. This discrepancy is relatively small, and is unlikely to heavily influence emissions reported.

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 7.3:

Vehicle weight classifications by data source

Gross vehicle weight rating (lbs)FHWADOTStreetLight
<6000Class 1: <6,000 lbsLight-dutyLight-duty
10,000Class 2: 6,001-10,000lbsLight-dutyLight-duty
14,000Class 3: 10,001-14,000 lbsLight-dutyLight-duty
16,000Class 4: 14,001-16,000 lbsMedium-dutyMedium-duty
19,500Class 5: 16,001-19,500 lbsMedium-dutyMedium-duty
26,000Class 6: 19,501-26,000 lbsMedium-dutyMedium-duty
33,000Class 7: 26,001-33,000 lbsMedium-dutyHeavy-duty
>33,000Class 8+: >33,001 lbsHeavy-dutyHeavy-duty
-
-
-
-
-

To create the calibration dataset, we found the ratio of passenger/medium/heavy-duty vehicles at traffic count stations within our study area using state DOT data. You can read more about vehicle classification data in Section 7.2.2.

-
-
-
-

7.1.3 Total vehicle volume validation

-

To validate our county origin-destination VMT data, we can compare the county totals to the DOT reported values from MnDOT (MnDOT 2021a) and WisDOT (WisDOT 2021). Note that these data include all vehicle types, both passenger and commercial.

-
-
-
-
Figure 7.9: County vehicle miles traveled and StreetLight Volume
-
- -
-
-
-
-
-

7.1.4 Limitations

-
    -
  • The data used for passenger traffic contains “all vehicles”, not just passenger vehicles, meaning that commercial vehicles may be double counted. As a default, StreetLight suggests that users use a ratio of 96/2/2 (96% passenger, 2% medium, 2% heavy). We could apply a scaling factor of 0.96 to the passenger data to account for this.
  • -
  • Commercial vehicle classifications schemes differ across data sources, though the scale of this effect is unknown.
  • -
- - - -
-
-
-
-

7.2 State DOT data

-

As required by federal law, Minnesota and Wisconsin state departments of transportation (MnDOT and WisDOT) report various traffic measures for planning, forecasting, and various analysis endeavors.

-
-

7.2.1 Vehicle miles traveled

-

Vehicle miles traveled (VMT) is a standardized measure created by multiplying average annual daily traffic (AADT) by centerline miles. AADT is an estimate of the total vehicles on a road segment on any given day of the year in all directions of travel. VMT and AADT are common traffic measures and standardized across the United States.

-

MnDOT and WisDOT derive VMT using traffic counts from continuous and short term traffic monitoring sites. These raw counts are adjusted by multiplying seasonal, day-of-week, and axle adjustment factors WisDOT (2023). Data is not collected for every site every year, but the data are sufficient for year-over-year comparisons.

-

These data were compiled from MnDOT and WisDOT county level reports. MnDOT provides Excel workbooks with VMT by county and route system on their website. These were downloaded, filtered to include the relevant counties, and aggregated to the county level by summing VMT by county/route system. Processing code can be found in mndot_vmt_county.R.

-

WisDOT publishes PDF tables with county-level VMT. These were downloaded and data was extracted using {tabulizer}, an R package interfacing with the Tabula PDF extractor library. Processing code can be found in wisdot_vmt_county.R.

-
-
-
-
Figure 7.10: County vehicle miles traveled
-
- -
-
-
-
-
-

7.2.2 Vehicle distribution by weight

-

To calibrate the generalized StreetLight Index to get commercial vehicle counts, we created a set of spatial lines (roads) to calibrate StreetLight’s metrics. For each calibration road, we found the proportion of passenger, medium-, and heavy-duty vehicles in the most recently available year, up to 2021.

-

State DOTs operate vehicle classification stations, which provide both the volume of traffic on a given road segment and, for some locations, the breakdown of volume by vehicle type. We obtained this breakdown using data from MnDOT (MnDOT 2021b) and WisDOT (WisDOT 2020) reporting websites.

-

MnDOT provides AADT road segments, which align with station identification numbers. Wisconsin does not readily supply AADT road segment data, so as suggested by the Wisconsin cartographers office (State Cartographer’s Office 2021) we pulled OpenStreetMaps road data (OSM version 0.6).

-

Then, we selected only the stations within the study area with observations in the last five years (2017-2021). Finally, we joined this data with AADT WisDOT (2021) road segments by station ID. The road segments sampled include multiple road functional classes and segments in all counties. All traffic sensor stations pulled were permanent, continuous monitoring sites. Data were cross-validated by verifying AADT and weight distribution fields on MnDOT and WisDOT traffic mapping applications.

-

Data were processed in R scripts: wisdot_stations.R, mndot_extract_yearly_volume_trends.R, mndot_stations.R, calibration_lines_points.R.

-
-
-
-
Figure 7.11: StreetLight calibration locations and values
-
- -
-
-
-

Only 27 calibration roads were used for this inventory due to data availability constraints.

-
-
-
-
Figure 7.12: Vehicle weight distribution at calibration points
-
- -
-
-
-
-
-

7.2.3 Limitations

-
    -
  • AADT/VMT data rely on modeling, and not every site will have new observed data every year.
  • -
  • AADT/VMT are generally estimated for high-use arterial roads and highways, leaving local roads out.
  • -
  • We may want to consider using non-permanent counters and/or counters from just outside the study region to increase the total number of calibration roads.
  • -
- - - - - - - - - - - - - - -
-
-
-
-

7.3 EPA MOVES

-

Emissions rates for our region were calculated using the EPA’s Motor Vehicle Emissions Simulator (MOVES) (USEPA 2016). MOVES calculates emissions factors using Council’s regional travel demand model, Minnesota Department of Vehicle Services’ county vehicle registration data, and the Minnesota Pollution Control Agency’s vehicle age distribution. Each of these inputs helps the model estimate the characteristics of vehicles on the road in our region. The model takes into account differences in fuel economy (miles per gallon) depending on a vehicle’s age and size, as well as its fuel intake (diesel or gasoline). The results are specific to the conditions of our region, and so are more accurate than national averages.

-

MOVES is a high-quality government modeling system with strong data inputs and outputs. We requested this data from our MOVES coordinator who ran the model and shared the resulting table with us. The model run covers the entirety of the 7-county metro for years 2018 and 2019 1, using MOVES version 2014B.

-

The resulting table provides grams of CO2, CH4, and N2O per vehicle mile traveled. We imported, processed, and saved the data in an R script, epa_moves.R. CO2 equivalence (CO2e) values are derived using global warming potential (GWP) values. See Section A.2 for more details.

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 7.4:

Emissions in grams per mile traveled by vehicle weight in the Twin -Cities region. EPA MOVES.

Vehicle weightMOVES yearGrams CH₄ per mileGrams N₂O per mileGrams CO₂ per mileGrams CO₂e per mile
Passenger20190.010.01353.43356.36
Medium20180.010.01473.24476.17
Heavy20180.020.041,212.361,223.59
-
-
-
-
-
-

7.3.1 Comparsion with EPA GHG Emissions Hub (2021)

-

For comparison, we pulled the emissions per mile rates from the Local Greenhouse Gas Inventory Tool (LGGIT), which align with the 2021 EPA GHG Emission Hub (USEPA 2021).

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 7.5:

Grams of emissions per mile by vehicle type and fuel type. EPA GHG -Emission Hub (2021)

Vehicle typeVehicle model yearFuel typeGrams CH₄ per mileGrams N₂O per mileGrams CO₂ per mileGrams CO₂e per mile
Passenger Car2013Gasoline0.010.00364.32365.73
Passenger Car2014Diesel0.030.02315.12321.06
Light Truck2007Diesel0.000.00461.99462.39
Heavy-Duty Vehicle2007Diesel0.010.04787.81799.50
-
-
-
-
-

To directly compare overall passenger emissions rates, we applied a weighted average to the EPA GHG Hub emissions rates for passenger vehicles according to the regional fleet gasoline-diesel distribution (98% gasoline, 2% diesel). Learn more about the regional fleet in Section 7.4.1.

-
-
-
-
Figure 7.13: MOVES and GHG Emissions Hub per mile emission rates by vehicle weight
-
- -
-
-
-
-
-

7.3.2 Limitations

-
    -
  • This edition of MOVES is outdated relative to our estimation year (2021).
  • -
  • We are not breaking out vehicles by fuel type; instead, we are aggregating based on the regional fleet. This may result in more inaccuracies.
  • -
  • MOVES only accounts for vehicles that are registered in the 7-county metro area, so does not account for vehicles on regional roads, but registered elsewhere. However, the traffic generated from those vehicles is detected in the regional travel demand model.
  • -
  • MOVES values were last updated in 2019. We anticipate using a more recent version of MOVES for the CCAP.
  • -
- - - - - - - - - - - - - - -
-
-
-
-

7.4 Travel Behavior Inventory

-

The Metropolitan Council Travel Behavior Inventory (TBI) is a bi-annual household survey of around 7,500 families in the 7-county Twin Cities metro and three neighboring Wisconsin counties. Information on people, households, trips, and vehicles are collected (Metropolitan Council 2021). This survey was active in the field from May 22, 2021 to February 5, 2023.

-

Data were imported directly from a Council-maintained public GitHub repository. The calculations below were verified from other Council analysis projects using the same dataset. Exactly 7,745 households with homes in any of the 11 CPRG counties were included in this subset of the TBI dataset.

-

TBI survey statistics were processed in tbi_survey_stats.R.

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 7.6:

2021 TBI household survey geographic distribution

Household countyEstimated number of householdsEstimated number of households standard errorEstimated percentage of households in countyEstimated percentage of all households in county standard errorSample size
Hennepin506,74914,88335.10%0.99%3,573
Ramsey209,7229,46714.52%0.65%1,804
Dakota161,09711,67911.16%0.76%652
Outside CPRG area149,82712,22310.38%0.79%475
Anoka128,26411,6208.88%0.76%450
Washington94,0918,0756.52%0.55%377
Scott51,4487,0053.56%0.48%158
Carver34,5015,7512.39%0.39%139
St Croix34,4565,7532.39%0.39%108
Sherburne34,5795,6022.39%0.38%102
Chisago20,0144,5231.39%0.31%63
Pierce19,1434,5641.33%0.31%49
-
-
-
-
-
-

7.4.1 Regional fleet characteristics

-

We used 2021 TBI data to determine the regional average vehicle age and distribution of diesel and gasoline passenger vehicles of households in the CPRG study area.

-

Vehicles were classified into two broad fuel categories - diesel and gas + all other fuels (including gasoline, electric, flex-fuel, hybrid, and plug-in hybrid) - to best match the average miles per gallon table specifications in the EPA Local Greenhouse Gas Inventory Tool (LGGIT). The resulting value is on par with recent statistics from the Bureau of Transportation Statistics (BTS), which calculates the average passenger vehicle age in 2021 to be 12.1 years (BTS 2023).

-

TBI data were cleaned to only include vehicles with complete data and model year 1980 or later. Vehicles with a fuel type “Other (e.g., natural gas, bio-diesel)” were removed due to low sample size.

-

Regional fleet statistics were processed in tbi_vehicle_stats.R.

-
-
-
- - -
-
-
-
-
-
-
Figure 7.14: Regional vehicle fleet model year by fuel type
-
- -
-
-
-
-
-

7.4.2 Average trip distance between counties

-

The average trip distance for the entire region is 6.28 miles (standard error 0.14), based on a sample of 117,870 trips.

-

Trips with distances over 720 miles (the equivalent of 12 hours of driving at 60 miles per hour) were removed. Only Minnesota CPRG counties were available for analysis.

-

We used the TBI to validate StreetLight’s average trip length. See Section 7.1.1.1 for more detail.

-

TBI trip distances were processed in tbi_trip_length.R.

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - -
Table 7.8:

Regional mean trip distance. 2021 TBI.

Mean trip distance (miles)Mean trip distance standard errorEstimated number of tripsEstimated number of trips standard errorDistance varianceSample size
6.280.148,567,96188,994157117,870
-
-
-
-
-

Origin-destination pairs with fewer than 30 observed trips were removed.

-
-
-
-
Figure 7.15: TBI origin-destination trip length matrix
-
- -
-
-
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 7.9:

Mean trip distance by origin-destination county

Origin-Destination pairSample sizeMean trip distance (miles)Mean trip distance standard errorEstimated number of tripsEstimated number of trips standard errorDistance variance
Hennepin-Hennepin46,4794.260.072,985,75848,07827.14
Ramsey-Ramsey20,5773.340.131,114,59028,25742.16
Dakota-Dakota9,4423.220.11793,42030,61812.18
Anoka-Anoka4,4763.520.20613,75430,68918.40
Washington-Washington5,7113.440.12525,96121,62410.55
Scott-Scott1,8994.670.46248,42918,96426.04
Ramsey-Hennepin4,03511.201.31183,73810,688901.47
Hennepin-Ramsey3,99711.300.63181,79410,332158.39
Hennepin-Anoka1,27912.110.80149,87615,67383.96
Anoka-Hennepin1,26111.970.65149,46014,87651.39
Carver-Carver2,0998.563.71145,00714,5251,520.02
Ramsey-Washington1,46311.981.34103,6378,819327.17
Hennepin-Dakota1,35414.660.6997,5829,73645.67
Washington-Ramsey1,4269.260.5494,3238,21740.85
Sherburne-Sherburne70223.639.0093,33610,9874,486.87
Dakota-Hennepin1,33614.310.6487,6818,40243.37
Anoka-Ramsey7209.890.7381,52812,57737.48
Ramsey-Dakota1,1209.990.6476,2159,28238.45
Ramsey-Anoka70410.580.7074,68012,06743.31
Carver-Hennepin61112.261.0072,6739,638127.24
Hennepin-Carver59312.041.1672,5449,77683.13
Dakota-Ramsey1,1249.480.6471,5398,61734.82
Chisago-Chisago5107.821.7749,6987,362116.60
Scott-Hennepin41312.951.5449,4518,58170.36
Hennepin-Scott39410.761.1647,2657,93754.46
Dakota-Scott3418.951.0143,3668,31743.06
Scott-Dakota3267.880.7839,3407,77522.29
Washington-Dakota35015.811.4131,3716,52157.95
Dakota-Washington36015.181.7429,9216,02661.85
Washington-Hennepin33321.171.2425,6614,28575.59
Hennepin-Washington30220.461.1225,4924,69945.93
Anoka-Sherburne10414.511.7522,9346,72082.99
Scott-Carver1168.171.2015,6693,91736.37
Chisago-Washington14412.882.1314,5553,56691.39
Carver-Scott1106.791.0613,8733,75019.51
Washington-Chisago14711.111.3313,4173,46242.53
Washington-Anoka10721.552.1912,1642,730166.10
Hennepin-Sherburne13427.641.6812,0182,49191.69
Anoka-Chisago6627.294.8611,4043,744204.36
Anoka-Washington10822.202.3111,3242,820100.45
Sherburne-Anoka9014.212.648,5542,89681.15
Sherburne-Hennepin12828.051.878,3411,84892.68
Ramsey-Chisago6140.562.488,2933,06271.40
Scott-Ramsey5930.163.356,4232,76459.68
Chisago-Anoka6017.613.945,8062,519104.53
Dakota-Carver5429.350.645,1602,60215.12
Carver-Dakota4834.510.834,3672,18321.57
Anoka-Dakota6127.492.283,8141,66945.18
Dakota-Anoka5125.230.893,5571,23722.57
Washington-Carver1755.434.283,1361,906107.93
Chisago-Ramsey5733.400.832,9211,63216.25
Chisago-Hennepin4849.923.572,8861,69658.15
Sherburne-Ramsey3340.053.312,886905110.23
Ramsey-Scott5829.362.661,9111,07324.57
Hennepin-Chisago5653.252.731,8681,42242.25
Ramsey-Sherburne2746.182.351,71467658.87
Ramsey-Carver2235.720.971,6061,16525.08
Anoka-Scott2533.484.441,527627108.80
Carver-Washington1639.310.401,4315622.70
Carver-Ramsey1731.040.381,4121,1526.93
Scott-Anoka1837.541.261,21751424.36
Dakota-Chisago1645.181.2126111314.53
Chisago-Dakota1546.622.711568434.06
-
-
-
-
-
-
-
- - - -
-
-
-
-
    -
  1. Passenger vehicles were updated to 2019. Commercial vehicles use 2018 values.↩︎

  2. -
-
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_transportation/qc_transportation.html b/docs/_transportation/qc_transportation.html deleted file mode 100644 index e14f6313..00000000 --- a/docs/_transportation/qc_transportation.html +++ /dev/null @@ -1,786 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 8  Deliverables - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

8  Deliverables

-
- - - -
- - - - -
- - -
- -
-
-
- -
-
-Warning -
-
-
-

Quality control sections will be formally completed for the Comprehensive Climate Action Plan (CCAP) in Summer 2025.

-
-
-

Local inventory of GHG emissions from mobile sources with documentation of the following QC activities:

-
    -
  1. narrative report describing data sources and QC measures for data acquisition steps,
  2. -
  3. description of methodology and QC measures for validated proper implementation of methodology, and
  4. -
  5. documentation of QAPP implementation.
  6. -
  7. listing of emissions reductions options are present with documentation of rationale for each option.
  8. -
-
-

8.1 Quality Control

-
    -
  1. Comparison of local estimate of average miles traveled per year and average miles per gallon (by vehicle type) versus state and national averages.

  2. -
  3. For any values used in local inventory that differ from the state average MPG or the national average MPG by more than 10% the community will provide an explanation of why local factors may differ from state or national averages. Additionally, precision and bias calculations will be in accordance with the EPA’s Data Assessment Statistical Calculator (DASC) Tool with the community’s estimate taken as the measured value and the LGGIT (US EPA 2017) value taken as the audit value.

  4. -
  5. Ensure the GWPs used for the local estimate and the LGGIT (US EPA 2017) estimate are on the same basis. The LGGIT tool uses AR5 GWP (e.g., methane GWP = 28).

  6. -
  7. Review by TL or senior technical reviewer — analytical methods / results are explained clearly, technical terms are defined, conclusions are reasonable based on information presented, and level of technical detail is appropriate.

  8. -
  9. Editor review — verify or edit draft deliverables to ensure clear, error-free writing.

  10. -
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 8.1:

Transportation average miles per year, local and quality control -comparison by vehicle and fuel types.

Vehicle TypeLocal Avg Miles/yrQC Avg Miles/yr
Passenger Car (Gasoline)
Passenger Truck (Gasoline)
Heavy-duty (Gasoline)
Motorcycle (Gasoline)
Passenger Car (Diesel)
Passenger Truck (Diesel)
Heavy-duty (Diesel)
-
-
-
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 8.2:

Transportation average miles per gallon, local and quality control -comparison by vehicle and fuel types.

Vehicle TypeLocal Avg Miles/galQC Avg Miles/gal
Passenger Car (Gasoline)24.1
Passenger Truck (Gasoline)18.5
Heavy-duty (Gasoline)10.1
Motorcycle (Gasoline)50.0
Passenger Car (Diesel)32.4
Passenger Truck (Diesel)22.1
Heavy-duty (Diesel)13.0
-
-
-
-
-
- - - -
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_waste/_waste.html b/docs/_waste/_waste.html deleted file mode 100644 index 80c71684..00000000 --- a/docs/_waste/_waste.html +++ /dev/null @@ -1,831 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 9  Waste and wastewater - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

9  Waste and wastewater

-
- - - -
- - - - -
- - -
- -
-

9.1 Introduction

-

In 2021, waste activities over the entire United States generated emissions of 169.2 MMTCO2e, or 2.7 percent of total U.S. greenhouse gas emissions (USEPA 2023). Solid waste emissions primarily consist of CH4, emitted in large part by landfills and organics composting, but also include CO2 and N2O generation. In the metropolitan area, waste incineration accounts for a significant portion of solid waste management and therefore emissions. This inventory also includes emissions generated in the management of recyclables.

-

Wastewater emissions account for direct CH4 and N2O emissions from the treatment of municipal wastewater, and not additional indirect anthropogenic emissions such as the electricity needed to operate processing plants.

-
-
-

9.2 Methods

-
-

9.2.1 Solid Waste

-

The process for calculating solid waste emissions slightly differs between Minnesota and Wisconsin counties, due to a difference in data availability. Both state’s use state or federal data sources, the highest quality data rank (Table B.2).

-

For Minnesota counties, waste generation totals are allocated by sector from Minnesota Pollution Control Agency (MPCA) SCORE data (MPCA 2022). Totals for each sector are multiplied by the appropriate EPA-provided emissions factor to provide an estimate of emissions from that source and county. Learn more about MPCA SCORE in ?sec-mpca-score.

-

For Wisconsin counties, state-level emissions data as calculated by the Wisconsin DNR is allocated to the relevant counties by population (Wisconsin DNR 2021).

-

The emissions for each county \(c\) are proportional to its fractional share of Wisconsin’s population.

-

\[Emissions_c = Emissions_{total} \times \frac{Pop_c}{Pop_{total}}\]

-
-
-

9.2.2 Wastewater

-

We used state level estimates of municipal wastewater emissions (metric tons CO2e) from the EPA state inventory and projection tool (USEPA 2024). Due to incomplete data, industrial wastewater emissions were not estimated. Emissions were apportioned to each county, \(c\), based on its fractional share of its state’s population.

-

\[Emissions_c = Emissions_{state} \times \frac{Pop_c}{Pop_{state}}\]

-
-
-
-

9.3 Results

-

Emissions from waste is the smallest of the three sectors in the Twin Cities MSA. Waste generated NA MMtCO2e of emissions in the Twin Cities MSA in 2021. Solid waste, including landfills, recycling, and organics, generates the largest share of emissions in the waste sector, with municipal wastewater treatment comprising a smaller share of waste emissions.

-

Waste emissions in Minnesota have declined nearly 40% since 2005, due to a variety of factors including gas capture technologies and aging waste in open landfills (MPCA 2023). Waste emissions in Wisconsin show no significant change from 2005 to 2018, possibly due to increased waste generation offsetting reductions from gas capture (Wisconsin DNR 2021). The Metropolitan Council, which oversees wastewater services for the majority of the urbanized extent of the metropolitan region, continues to work to reduce wastewater emissions across its 9 wastewater treatment plants.

-
-
-
-
Figure 9.1: Solid waste and wastewater county emissions
-
- -
-
-
-
-
-
-
Figure 9.2: Solid waste and wastewater county emissions by category
-
- -
-
-
-
-

9.3.1 Wastewater

-

Wastewater generated 0.33 MMtCO2e of emissions in the Twin Cities MSA in 2021.

-
-
-
-
Figure 9.3: 2021 wastewater emissions
-
- -
-
-
-
-
-

9.3.2 Solid waste

-

Solid waste generated 1.15 MMtCO2e of emissions in the Twin Cities MSA in 2021. Of that total, 57.5% of emissions came from landfill, 26.5% from waste to energy facilities, and the remaining 16.0% from organics and recycling.

-
-
-
-
Figure 9.4: 2021 solid waste emissions
-
- -
-
-
-

Greenhouse gas emissions from solid waste are dominated by the landfill sector. In Hennepin, Ramsey, and Washington counties, municipal centers where a significant portion of waste is incinerated, waste-to-energy or incineration makes up a large fraction of emissions as well.

-
-
-
-
Figure 9.5: 2021 solid waste emissions by category
-
- -
-
-
-
-
- -
-

9.5 Comparison with other inventories

-
-

9.5.0.1 US Greenhouse Gas Emissions Inventory

-

The United States EPA conducts a comprehensive yearly estimate of greenhouse gas emissions from multiple sectors and gases. It also publishes statewide totals consistent with the national inventory. These emissions totals are consistent with international standards for greenhouse gas accounting, although they may differ from inventories completed at the state level for various reasons.

-

US Inventory data for the waste sector in both Minnesota and Wisconsin was downloaded from the Greenhouse Gas Inventory Data Explorer and processed in R script: epa_inventory_data.R, where it was apportioned from state to county level by population.

-
-
-
-
Figure 9.7: Solid waste emissions comparison: Met Council and US GHG Inventory
-
- -
-
-
-

Wastewater comparisons are very consistent, with the US GHG Inventory consistently estimating more emissions than the EPA derived Met Council estimate.

-
-
-
-
Figure 9.8: Wastewater emissions comparison by county, EPA-derived Met Council and US GHG Inventory. US inventory consistently higher than Council.
-
- -
-
-
-

Solid waste emissions differences vary by county; while Ramsey, Hennepin and Washington county estimates from the US GHG Inventory are higher than the Council estimates, the opposite is true for Dakota and Anoka counties. This is likely related to the fact that Ramsey, Hennepin and Washington counties process a significant portion of their waste in waste-to-energy facilities, reducing the amount of emissions accounted for under the landfill category.

-
-
-
-
Figure 9.9: Landfill emissions comparison by county, Met Council and US GHG Inventory. Results vary by county.
-
- -
-
-
-
- - - -
-
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_waste/data_waste.html b/docs/_waste/data_waste.html deleted file mode 100644 index a00c8626..00000000 --- a/docs/_waste/data_waste.html +++ /dev/null @@ -1,1457 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 10  Data sources - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

10  Data sources

-
- - - -
- - - - -
- - -
- -
-

10.1 MPCA SCORE

-

The Minnesota Pollution Control Agency collects an annual inventory, SCORE, of solid waste, recycling and organics as reported by counties across the state. For this project, we used MPCA data for the nine Minnesota counties for the year 2021.

-

The SCORE data is a high-quality government dataset submitted annually by solid waste staff in each county of Minnesota, as a part of Minnesota’s SCORE laws to support waste reduction and calculate the cost of managing waste and recycling. The data provided includes the total short tons of waste generated in each county within each “Method” category, described below.

-

The data was accessed through the SCORE tool’s Tableau dashboard, then filtered to include only the 9-county Minnesota portion of the region studied in this report.

-

Be sure to add a citation of this dataset to the Zotero shared library.

-
-

10.1.0.1 Data distribution

-

To check if the data is reasonable, we can start by visualizing the tons of waste generated for each county, broken into categories.

-

We would expect waste from landfills to be greater than recycling in most cases, and both landfill and recycling waste to be greater than compost (or “organics”). We can see that this expectation largely holds true, with the exception of Ramsey County, where compost outstrips both recycling and landfill. Part of the explanation for this may lie in the fact that, like Hennepin and Washington, a large portion of Ramsey County’s waste is managed in Waste-to-Energy facilities rather than landfills. This is consistent with waste management strategies of the metropolitan areas within Ramsey, Hennepin and Washington counties (add citation).

-

We also note that only two counties, Chisago and Sherburne, processed waste through onsite waste processors in 2021.

-
-
-
-
Figure 10.1: Total waste generated by county
-
- -
-
-
-

We would expect that the total amount of waste generated would be generally positively correlated with county area.

-

We see that this correlation holds loosely. The one major outlier is Ramsey County, which inculdes the St. Paul metropolitan area.

-
-
-
-
Figure 10.2: Total waste generated by county and county area
-
- -
-
-
-

We would expect that counties with large populations, such as Ramsey County, would generate more waste and smaller counties would generate less.

-

Comparing waste generated and population, we see a strong positive correlation (the more people there are within the county, the more waste they generate).

-
-
-
-
Figure 10.3: Total waste generated by county and county population
-
- -
-
-
-
-
-

10.1.1 Data characteristics

-

This data includes MSW Compost as a category, but since all values for this category in the area and year needed were 0, we excluded it from our analysis.

-

Uncertainty was not included in the dataset given, nor does the EPA offer guidance for estimating uncertainty of solid waste emissions factors.

-
    -
  • Plots, tables, and description of data distribution
  • -
  • Variance, Z-Score, quantiles
  • -
  • Facet views by categorical variables
  • -
-
-
-

10.1.2 Waste management classification

-

The MPCA SCORE report classifies waste management by two management methods and, within those categories, five sub-methods (MPCA 2023). Within the management methods, “MMSW”, or “Mixed Municipal Solid Waste”, refers to garbage, organic refuse, or other solid waste aggregated for collection, while “Combined Recycling and Organics” refers to separated recyclable and composted materials, including traditional recyclables, source-separated compostable materials, and yard trimmings.

-

MMSW includes the subcategories of Landfill, WTE, Onsite, and MSW Compost. Landfill is all material disposed of in a landfill. WTE, or Waste to Energy, refers to waste combusted in an energy recovery facility or incinerator. Onsite refers to burning or burying MSW (MPCA 2023). MSW Compost includes [all compost separated from landfill, check]. No metropolitan counties reported any MSW Compost in the year 2021. Only Sherburne and Chisago counties reported waste managed on-site.

-

Combined Recycling and Organics includes the subcategories Recycling and Organics. Organics, as compared to MSW Compost, refers to source-separated and direct compost streams. All compost data in this report comes from this category.

-

After comparing with federal tools like the EPA’s Waste and Recycling National Overview and the expectations of a greenhouse gas inventory, we chose to summarise SCORE’s data into three categories: Landfill, Recycling, and Organics. Landfill includes, in addition to MPCA-reported Landfill data, the categories of Onsite and WTE management.

-
-

10.1.2.1 Alignment with EPA Emissions Factors

-

We used emissions factors from the EPA’s Emission Factors Hub to calculate emissions based on the totals reported by the MPCA. These emissions factors come from the EPA’s Waste Reduction Model.

-

We selected for each management subcategory the emissions factor most aligned with the waste type as reported in SCORE. These emissions factors do not take into account emissions savings associated with a particular management method, for example energy savings from waste to energy facilities.

-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 10.1:

Solid waste management classifications by data source, including -emissions factors

MPCA Management MethodMPCA MethodOur CategoryEmissions Factor NameEmissions Factor

MMSW

-

Landfill

-

Landfill

-

Mixed MSW Landfilled

-

0.52

-

MMSW

-

Onsite

-

Landfill

-

Mixed MSW Landfilled

-

0.52

-

MMSW

-

WTE

-

Waste to Energy

-

Mixed MSW Combusted

-

0.43

-

MMSW

-

MSW Compost

-

Organics

-

N/A

-

N/A

-

Combined Recycling and Organics

-

Organics

-

Organics

-

Mixed Organics Composted

-

0.17

-

Combined Recycling and Organics

-

Recycling

-

Recycling

-

Mixed Recyclables Recycled

-

0.09

-
-
-
-
-
-
-
-
-

10.1.3 Limitations

-
    -
  • As mentioned above, EPA emissions factors do not account for emissions saved through Waste to Energy conversions, as contrasted with Wisconsin emissions, which do.
  • -
  • There is wide variation between emissions factors for waste of various kinds within the same category. Because we do not have a detailed breakdown of the makeup of every category, we have assumed each one is adequately represented by the “Mixed MSW”, “Mixed Organics”, and “Mixed Recyclables” factors respectively.
  • -
  • This estimation method generates emissions for all waste generated in 2021. However, waste in landfills and composting facilities does not release all emissions at once. This method tends to overestimate emissions for a given year (cite: GHG Protocol).
  • -
-

Subject matter expert reviewer: ___

- - - -
-
-
-
-

10.2 Wisconsin waste data

-

Waste emissions for Wisconsin counties were unavailable in the same detail as the MPCA data. Thus, we estimated total waste emissions based on statewide emissions estimates, allocated by population.

-
-
-

10.3 WI Greenhouse Gas Emissions Inventory

-

The most recent Wisconsin Greenhouse Gas Emissions Inventory was done in 2018 by the Wisconsin Department of Natural Resources. Included in the solid waste data for this source are emissions from landfills and waste combustion, taking into account the emissions reduced by landfill gas collection for gas-to-energy use or flaring. This inventory does not, however, include emissions generated from composting or recycling.

-

The emissions for solid waste in this report were calculated using the EPA’s SIT tool, a tool designed to help states calculate greenhouse gas emissions. Default values provided by the tool were used except in the case of default Mixed Solid Waste population tonnage values, which were replaced by data from the WI state DNR’s Annual Waste Tonnage Report (cite inventory).

-

For 2018, the Wisconsin DNR reported 2.2 Million Metric Tons Carbon Dioxide Equivalent (MMTCO2e) generated through landfilling and solid waste management.

-

In the process of analysis, this statewide estimate was disaggregated to the county level based on county population data, as detailed in [methods chapter].

-
    -
  • Quality rank (See Table B.2) Highest quality - state-level source
  • -
  • How, when, and why was the data collected?
  • -
  • What is the raw unit of measurement?
  • -
  • How was this data accessed? Include any relevant links/citations, code, or downloads.
  • -
  • What data cleaning or wrangling was completed? How did you test these processes and outputs?
  • -
  • What is the geographic and temporal scope? Did you complete any aggregation?
  • -
  • What version is the data? Were there other versions available? If so, why did you choose this version?
  • -
  • What assumptions are made when we use this dataset?
  • -
  • Which subject matter expert (SME) reviewed this data?
  • -
  • Describe testing used to verify data
  • -
-
-

10.3.1 Data Characteristics

-
    -
  • Were there any missing data? How did you handle missing data?
  • -
  • Plots, tables, and description of data distribution
  • -
  • Variance, Z-Score, quantiles
  • -
  • Facet views by categorical variables
  • -
-
-
-

10.3.2 Limitations

-
    -
  • Since data reported directly from the counties was unavailable for Wisconsin, the solid waste data used here reflects a disaggregation of state-level data and may not be reflective of the specific mix of waste generated by Pierce and St. Croix counties.
  • -
  • Data collected in Wisconsin’s emissions inventory only represents waste disposed of in landfills or waste combustion facilities, and does not include organics or recycling. Recycling and composting data is unavailable for Wisconsin counties.
  • -
-
-
-

10.3.3 Comparison to similar datasets

-

The US EPA completes yearly state-level estimates of emissions for each state, which combined sum to the totals reported in the US Greenhouse Gas Emissions Inventory. The data for these estimates and the US inventory can be explored at the GHG Inventory Data Explorer. The EPA’s total of landfill emissions for Wisconsin for 2018 was 2.450 MMTCO2e, not far off from the Wisconsin DNR’s 2.2 MMTCO2e. The EPA’s estimate for 2021 was 2.422 MMTCO2e.

-

Since the EPA completes an inventory for the entire US and its methods may not reflect the specific nuances of emissions in each state, we elected to use the data from the Wisconsin DNR for this inventory.

- -
-
-
-
-

10.4 Wastewater

-

We currently have three sources for wastewater emissions: the EPA state inventory and projection tool, the Minnesota Pollution Control Agency (MPCA) emissions inventory, and Metropolitan Council Environmental Services emission estimates. Because only the EPA’s estimate extends to Wisconsin and Minnesota we are reporting those data for consistency, but explore all three below where they have geographic overlap.

-

The EPA estimate is a high-quality government dataset that models emissions using state population, biochemical oxygen demand, fraction of wastewater anaerobically digested, fraction of population on septic, estimated protein content, and biosolids used as fertilizer to estimate CH4 and N2O emissions (USEPA 2024b). These inputs are modifiable and should be explored further in the CCAP. We down-scaled the state level emission estimates to county levels by population percentage. The actual sample os unclear.

-

The EPA tool provides outputs in metric tons CO2e. We confirmed that the global warming potentials (GWP) used are from AR5 (IPCC and Core Writing Team 2014). We used the most recent version of the tool released in January 2024, version 2024.1.

-

We are currently using all and only default input values provided by the EPA, though will refine these based on our knowledge of local wastewater treatment in the future.

-

You can access the EPA tool on the EPA website and the MPCA data through their Tableau Dashboard. You can also read full methodologies for MPCA (Claflin et al. 2023) and EPA (USEPA 2024a) in their respective documents.

-
-

10.4.1 Data characteristics

-

There are many sources of uncertainty in these estimates due to multiple activity data inputs required for CH4 and N2O emission estimates. The EPA wastewater module does not offer guidance on quantifying these sources of uncertainty, only describing the potential sources themselves. We have not included any uncertainty estimates in our final values.

-
-
-

10.4.2 Limitations

-
    -
  • In order to have homogeneous comparisons among counties, we are relying on default EPA State Inventory Tool data which may miss particularities about how wastewater is processed in our narrower county scope.
  • -
  • We are assuming EPA default input values are appropriate representations of the 11 county MSA region and that we can scale to county levels by population given that we are estimating municipal wastewater treatment.
  • -
-
-
-

10.4.3 Comparison with similar datasets

-

The Metropolitan Council, MPCA, and EPA source data leads to different estimates of emissions in the common seven county region. The Metropolitan Council does not process all wastewater in the seven county region. Additionally, they report CO2 emissions from combustion of stationary fuels for infrastructure used in directly processing wastewater, unlike EPA estimates which are CH4 and N2O emissions from municipal wastewater treatment of organic matter.

-
-
-
-
Figure 10.4: County aggregated wastewater emissions by scope
-
- -
-
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - -
Table 10.2:

Wastewater data sources and geographic scopes

Data sourceGeographic scope

EPA GHG Inventory and Projection Tool

-

Minnesota and Wisconsin, scaled to county population

-

MPCA GHG Inventory

-

Minnesota, scaled to county population

-

Metropolitan Council Wastewater Emissions Estimate

-

7-county Minnesota metro area

-
-
-
-
-
-

The Metropolitan Council area covers most of the 7-county Twin Cities area, but no areas in Wisconsin (Metropolitan Council 2020). The Met Council environmental services division provided us with a city and county breakdown of wastewater emissions for their service area.

- -
-
-
-
Figure 10.5: Metropoilitan Council wastewater service area
-
- -
-
-
-

Overall, the EPA estimate for each county proved highest, followed by the MPCA estimate and then Met Council estimate. We used the EPA estimate in our overall emissions estimate.

-
-
-
-
Figure 10.6: County wastewater emissions by data source
-
- -
-
-
- - - -

Code reviewer: Liz Roten

-
-
- - - -
-
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_waste/qc_waste.html b/docs/_waste/qc_waste.html deleted file mode 100644 index f8c970ad..00000000 --- a/docs/_waste/qc_waste.html +++ /dev/null @@ -1,732 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 11  Deliverables (Landfill) - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

11  Deliverables (Landfill)

-
- - - -
- - - - -
- - -
- -
-
-
- -
-
-Warning -
-
-
-

Quality control sections will be formally completed for the Comprehensive Climate Action Plan (CCAP) in Summer 2025.

-
-
-

Local inventory of GHG emissions from landfills with documentation of the following QC activities:

-
    -
  1. narrative report describing data sources and QC measures for data acquisition steps,

  2. -
  3. description of methodology and QC measures for validated proper implementation of methodology, and

  4. -
  5. documentation of QAPP implementation.

  6. -
  7. listing of emissions reductions options are present with documentation of rationale for each option.

  8. -
-
-

11.1 Quality Control

-
    -
  1. Comparison of (a) independent local inventory versus (b) landfill data from FLIGHT. Use a table similar to the table below to assess precision and bias of the local inventory versus QC estimates. Additionally, precision and bias calculations will be in accordance with the EPA’s Data Assessment Statistical Calculator (DASC) Tool with the community’s estimate taken as the measured value and the LGGIT (US EPA 2017) value taken as the audit value.

  2. -
  3. When comparing any two datasets, ensure that the units of measure are converted to a consistent basis prior to making the comparison.

  4. -
  5. Ensure the GWPs used for the local estimate and independent estimate are on the same basis.

  6. -
  7. Ensure data are appropriate for intended use, data are complete and representative and current, data sources are documented, analytical methods are appropriate, and calculations are accurate. Include any QC findings and reconciliation.

  8. -
  9. Review by TL or senior technical reviewer—analytical methods and results are explained clearly, technical terms are defined, conclusions are reasonable based on information presented, and level of technical detail is appropriate)

  10. -
  11. Editor review — writing is clear, free of grammatical and typing errors.

  12. -
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - -
Table 11.1:

Landfill emissions comparison between local estimate and FLIGHT.

Solid Waste (Landfills)Initial Local Estimate (Metric Tons CO₂e)FLIGHT Data (Metric Tons CO₂e)
-
-
-
-
-
- - - -
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/_waste/qc_waste_other.html b/docs/_waste/qc_waste_other.html deleted file mode 100644 index e13959ca..00000000 --- a/docs/_waste/qc_waste_other.html +++ /dev/null @@ -1,745 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - 12  Deliverables (Other sources) - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

12  Deliverables (Other sources)

-
- - - -
- - - - -
- - -
- -
-
-
- -
-
-Warning -
-
-
-

Quality control sections will be formally completed for the Comprehensive Climate Action Plan (CCAP) in Summer 2025.

-
-
-

Local inventory of GHG emissions from the community’s other sources with documentation of the following QC activities:

-
    -
  1. narrative report describing data sources and QC measures for data acquisition steps,

  2. -
  3. description of methodology and QC measures for validated proper implementation of methodology, and

  4. -
  5. documentation of QAPP implementation.

  6. -
  7. listing of emissions reductions options are present with documentation of rationale for each option.

  8. -
-
-

12.0.1 Quality control

-
    -
  1. Comparison of (a) local emissions estimates in inventory versus (b) available federal or state estimates for the same source categories (e.g. SLOPE, FLIGHT, etc.). Additionally, precision and bias calculations will be in accordance with the EPA’s Data Assessment Statistical Calculator (DASC) Tool with the community’s estimate taken as the measured value and the LGGIT (US EPA 2017) value taken as the audit value.

  2. -
  3. For any values used in local inventory that are inconsistent with federal or state values, the table below will be utilized to assess precision and bias of the local inventory versus the federal or state estimates:

  4. -
  5. When comparing any two datasets, ensure that the units of measure are converted to a consistent basis prior to making the comparison.

  6. -
  7. Ensure the GWPs used for the local estimate and independent estimate are on the same basis.

  8. -
  9. Technical review of methods, calculations, and underlying datasets—data are appropriate for intended use, data are complete and representative and current, data sources documented, analytical methods are appropriate, and calculations are accurate.

  10. -
  11. Review by TL or senior technical reviewer — analytical methods and results are explained clearly, technical terms are defined, conclusions are reasonable based on information presented, and level of detail appropriate.

  12. -
  13. Editor review: writing is clear, free of grammatical and typographical errors.

  14. -
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 12.1:

Local estimate comparison with control estimate

Other SectorsInitial Local Estimate (Metric Tons CO₂e)QC Estimate based on SLOPE (Metric Tons CO₂e)

Stationary Combustion

-

Agriculture & land management

-

Waste generation

-

Water

-

Wastewater treatment

-

Other

-
-
-
-
-
-
- - - -
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/changelog.html b/docs/changelog.html deleted file mode 100644 index 3ce134a4..00000000 --- a/docs/changelog.html +++ /dev/null @@ -1,723 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - Appendix H — Release notes - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

Appendix H — Release notes

-
- - - -
- - - - -
- - -
- -
-

v1.1.1 (July 2024)

-

Minor changes across all sectors (excluding natural systems) by updating GWP values to AR6 (IPCC 2023).

-

Additional changes

-
    -
  • Some energy data processing to get back to 2005 in _energy/data-raw/MNWI_2005_CensusCrosswalk_UtilityAllocation.R
    -
  • -
  • Text for GWP updated Section A.2
    -
  • -
  • Noted differences in LGGIT values Section 6.3.2.2
    -
  • -
  • Re-ran transportation LGGIT comparison values. Minor change in values
    -
  • -
  • Test values updated for EPA MOVES and GWP
    -
  • -
  • Slight updates to renv package repository locations (RSPM vs. CRAN)
    -
  • -
  • Minor text update in transportation section
    -
  • -
  • Zotero and gitignore updated as needed
  • -
-

See full changelog in GitHub release v1.1.1

-
-
-

v1.1.0 (June 2024)

-

NEW SECTOR - Natural systems sequestration and carbon stock (Chapter 13).

-

Natural systems sequestration and carbon stock at county level, with particular focus on regional parks. Data sources include WorldCover and USGS NLCD. Sequestration rates and carbon stock potential come from various literature as cited. Values are correlated with county area in square kilometers.

-

Additional changes

-
    -
  • Increment release version to 1.1.0, increment date
    -
  • -
  • Updates R version to 4.4.0 and Quarto version to 1.4.533
    -
  • -
  • Update renv packages to follow R 4.4.0
    -
  • -
  • New packages FedData, terra, tidyterra, usethis, arcgislayers, dbplyr, and various sub-dependencies
    -
  • -
  • Start changelog section in appendix
    -
  • -
  • Start folder structure for agriculture sector
  • -
  • Various text edits and updates, including references
  • -
-

See full changelog in GitHub release v1.1.0

-
-
-

v1.0.0 (March 2024)

-

Initial release supporting PCAP. Sections include

-
    -
  • Stationary energy (electricity, natural gas, propane and kerosene)
  • -
  • Transportation (passenger, commercial)
  • -
  • Waste and wastewater (solid waste, wastewater)
  • -
  • Appendices with utility service area maps, low-income and disadvantaged communities (LIDAC)
  • -
-

See full changelog in GitHub release v1.0.0

- - - -
- -
- - - -
- - - - - - \ No newline at end of file diff --git a/docs/figures.html b/docs/figures.html deleted file mode 100644 index 88d7a18a..00000000 --- a/docs/figures.html +++ /dev/null @@ -1,862 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - Appendix F — List of Figures - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

Appendix F — List of Figures

-
- - - -
- - - - -
- - -
- -
-
- ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FigureShort Caption
Figure 1County emissions by sector and category
Figure 2Energy county level emissions
Figure 3Transportation county level emissions
Figure 4Waste and wastewater county level emissions
Figure 1.1Energy county emissions
Figure 1.2Energy county emissions by category
Figure 1.32021 county electricity emissions
Figure 1.42021 electricity emissions by sector
Figure 1.5County population and electricity emissions
Figure 1.6Metropolitan Council emissions inventory vs. downscaled EIA State Electricity Profiles
Figure 1.7Metropolitan Council emissions inventory v. NREL SLOPE modeled emissions
Figure 1.82021 natural gas emissions
Figure 1.92021 natural gas emissions by sector
Figure 1.10County population and natural gas emissions
Figure 1.11Metropolitan Council emissions inventory v. NREL SLOPE modeled emissions
Figure 4.12021 annual liquid stationary fuel emissions
Figure 6.1Transportation county emissions
Figure 6.22021 annual emissions by vehicle weight
Figure 6.3County population and transportation emissions
Figure 6.4County estimated emissions, NEI and calculated
Figure 7.1StreetLight origin-destination passenger trip length matrix
Figure 7.2StreetLight passenger trip length distribution widget
Figure 7.3Avg. trip distance and minimum distance between counties
Figure 7.4Avg. trip distance, Travel Behavior Inventory and StreetLight
Figure 7.5Avg. distance for trips within county and county area
Figure 7.6StreetLight origin-destination medium-duty trip length matrix
Figure 7.7StreetLight origin-destination heavy-duty trip length matrix
Figure 7.8StreetLight commercial trip length distribution widget
Figure 7.9County vehicle miles traveled and StreetLight Volume
Figure 7.10County vehicle miles traveled
Figure 7.11StreetLight calibration locations and values
Figure 7.12Vehicle weight distribution at calibration points
Figure 7.13MOVES4 and GHG Emissions Hub per mile emission rates by vehicle weight
Figure 7.14Regional vehicle fleet model year by fuel type
Figure 7.15TBI origin-destination trip length matrix
Figure 9.1Solid waste and wastewater county emissions
Figure 9.2Solid waste and wastewater county emissions by category
Figure 9.32021 wastewater emissions
Figure 9.42021 solid waste emissions
Figure 9.52021 solid waste emissions by category
?fig-sw-total-emissions2021 solid waste emissions
Figure 9.6County population and solid waste emissions
Figure 10.1Total waste generated by county
Figure 10.2Total waste generated by county and county area
Figure 10.3Total waste generated by county and county population
Figure 10.4County aggregated wastewater emissions by scope
Figure 10.5Metropoilitan Council wastewater service area
Figure 10.6County wastewater emissions by data source
Figure D.1Nationwide utility service service territories
Figure D.2Minnesota utility service service territories in scope
Figure D.3Wisconsin utility service service territories
Figure D.4Wisconsin utility service service territories in scope
-
-
- - - -
- - - -
- - - - - - \ No newline at end of file diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index acf67408..00000000 --- a/docs/index.html +++ /dev/null @@ -1,782 +0,0 @@ - - - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

Twin Cities MSA Greenhouse Gas Inventory

-

Climate Pollution Reduction Grant Documentation

-
- - - -
- -
-
Author
-
-

Metropolitan Council

-
-
- -
-
Published
-
-

July 9, 2024

-
-
- - -
- - -
- -
-

Executive summary

-

This project has been funded wholly or in part by the United States Environmental Protection Agency (EPA) under assistance agreement 00E03476 to the Metropolitan Council. The contents of this document do not necessarily reflect the views and policies of the EPA, nor does the EPA endorse trade names or recommend the use of commercial products mentioned in this document.

-
-
-
- -
-
-Note -
-
-
-

This document will be updated continuously in preparation of the Metropolitan Council Comprehensive Climate Action Plan (CCAP). Please check back occasionally as we update modify and add new content.

-
-
-

In 2021, the Twin-Cities MSA generated NA million metric tons CO2 equivalent (MMtCO2e) emissions from energy, transportation, and waste sectors. Transportation was the largest contributor to GHG emissions (85.5%), followed by Waste (14.5%), and Energy (NA). Carbon sequestration from natural systems offset NA of total emissions.

-
-
-
-
Figure 1: County emissions by sector and category
-
- -
-
-
-
-

Emissions by sector

-

The energy sector generated NA MMtCO2e of emissions in the Twin Cities MSA in 2021. Most of the energy emissions are from electricity followed by natural gas. Other fuels (propane and kerosene) make up a small proportion of energy emissions in the metro.

-
-
-
-
Figure 2: Energy county level emissions
-
- -
-
-
-

The transportation sector generated NA MMtCO2e of emissions in the Twin Cities MSA in 2021. This is a county-level, activity-based estimate that accounts for the total number of vehicle trips that originate in the county, terminate in the county, or both originate and terminate within the county for passenger and medium-duty commercial vehicles. Heavy-duty commercial vehicles are only accounted for trips that both originate and terminate within the county.

-
-
-
-
Figure 3: Transportation county level emissions
-
- -
-
-
-

Emissions from waste is the smallest of the three sectors in the Twin Cities MSA. Waste generated NA MMtCO2e of emissions in the Twin Cities MSA in 2021. Solid waste, including landfills, recycling, and organics, generates the largest share of emissions in the waste sector, with wastewater treatment comprising a smaller share of waste emissions.

-
-
-
-
Figure 4: Waste and wastewater county level emissions
-
- -
-
-
-

Potential sequestration from natural systems totaled 2.39 MMtCO2e in the Twin Cities MSA in 2021. Urban forests and grasslands have high sequestration potential, though are expected to have lower stock potential, capping their potential carbon storage in the future.

-
-
-
-
Figure 5: Natural systems county level sequestration
-
- -
-
-
-
-
-

About this document

-

This is a Quarto book. Code, data, and documentation are all stored in the same place. We primarily use R.

-
    -
  • To navigate from chapter to chapter, click on the chapter name in the left sidebar or click the arrow button at the end of the page.
  • -
  • Citations can be previewed by hovering your mouse over the citation.
  • -
  • Links to R scripts are available throughout the document. Click on the link to open the relevant R script and peruse the code behind this inventory.
  • -
  • All plots are interactive. Hover your mouse over any bar or dot, and detailed information will appear. If you want to take a static screenshot of a plot, hover your mouse over the plot and find the camera icon in the upper right tool bar.
  • -
  • Sections are cross-referenced throughout the document. Click on a “Section x.xx.xx” link to navigate to the appropriate section
  • -
  • All headings, tables, and figures are permalinked, meaning that you can share specific sections of the document through a URL. Hover your mouse over a heading and click on the link icon. Then, copy the URL in your browser and share with colleagues.
  • -
-
-
-

Acknowledgements

-

This document is the result of tremendous work across the Metropolitan Council. Individuals are noted by their name, title, contribution, and division.

-
-
-
-

Primary authors

-
    -
  • Liz Roten, Senior Data Scientist, Transportation (MTS)
    -
  • -
  • Sam Limerick, Senior Data Scientist, Electricity and natural gas (CD)
    -
  • -
  • Peter Wilfahrt, Principal Researcher, Liquid stationary energy, wastewater, natural systems (CD)
    -
  • -
  • Zoey Yandell, Intern, Solid waste (CD)
    -
  • -
-
-
-
-

Contributors

-
    -
  • Kenneth Smith, Principal Researcher, LIDAC, editing (CD)
    -
  • -
  • Laine McNamara, Business Systems Analyst III, editing (CD)
    -
  • -
  • Trevor Prater, Senior Engineer, wastewater (ES)
    -
  • -
-
-
-
-
- - -
-
- -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/references.html b/docs/references.html deleted file mode 100644 index 760b614b..00000000 --- a/docs/references.html +++ /dev/null @@ -1,968 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - References - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

References

-
- - - -
- - - - -
- - -
- -
-
-Administration, U. S. Energy Information. 2023. “How Much -Electricity Is Lost in Electricity Transmission and Distribution in the -United States?” Frequently Asked Questions. 2023. https://www.eia.gov/tools/faqs/faq.php?id=105. -
-
-Brusseau, Dawn. 2019. “Aging Trucks Create More Service -Opportunities.” Industry. NTEA. January 11, 2019. https://www.ntea.com/NTEA/NTEA/Member_benefits/Industry_leading_news/NTEANewsarticles/Aging_trucks_create_more_service_opportunities.aspx. -
-
-BTS. 2023. “Average Age of Automobiles -and Trucks in Operation in the United -States.” https://www.bts.gov/content/average-age-automobiles-and-trucks-operation-united-states. -
-
-Claflin, Anne, Nick Coleman, Linda Hagan, Kevin Gaffney, and Lise -Trudeau. 2023. “Greenhouse Gas Emissions in Minnesota -2005-2020.” Government lraq-2sy23. St. Paul, Minnesota: -Minnesota Pollution Control Agency and Department of -Commerce. https://www.pca.state.mn.us/sites/default/files/lraq-2sy23.pdf. -
-
-Commerce, Minnesota Department of. 2005. CHAPTER 7610, -ENERGY INFORMATION REPORTING. https://www.revisor.mn.gov/rules/7610/. -
-
-Elk River Municipal Utilities. 2022. “2021 Annual Financial -Report.” Financial report. https://www.ermumn.com/application/files/3316/5668/9846/2021_Annual_Financial_Report.pdf. -
-
-Holt, Dominic. 2019. “Wisconsin’s Clean Energy -Policies.” Government. Wisconsin Department of Natural -Resources. https://dnr.wisconsin.gov/sites/default/files/topic/ClimateChange/WisconsinCleanEnergyPolicies.pdf. -
-
-Homeland Security, Department of. 2017. “Natural Gas Service -Territories - Homeland Infrastructure Foundation-Level -Data.” https://hifld-geoplatform.opendata.arcgis.com/maps/natural-gas-service-territories. -
-
-IPCC. 2023. Climate Change 2021 – The Physical -Science Basis: Working Group I Contribution to the -Sixth Assessment Report of the Intergovernmental -Panel on Climate Change. 1st ed. Cambridge -University Press. https://doi.org/10.1017/9781009157896. -
-
-IPCC, and Core Writing Team. 2014. “Climate Change -2014: Synthesis Report. Contribution of -Working Groups I, II and III to -the Fifth Assessment Report of the Intergovernmental -Panel on Climate Change.” Edited by R.K. -Pachauri and L.A. Meyer. Geneva, Switzerland: Intergovernmental Panel on -Climate Change. https://www.ipcc.ch/assessment-report/ar5/. -
-
-Knops, Johannes M. H., and Kate L. Bradley. 2009. “Soil -Carbon and Nitrogen Accumulation and -Vertical Distribution Across a 74-Year -Chronosequence.” Soil Science Society of America -Journal 73 (6): 2096–2104. https://doi.org/10.2136/sssaj2009.0058. -
-
-Liu, Shuguang, Jinxun Liu, Yiping Wu, Claudia Young, Jeremy Werner, -Devendra Dahal, Jennifer Oeding, and Gail Schmidt. 2014. “Baseline -and Projected Future Carbon Storage, Carbon -Sequestration, and Greenhouse-Gas Fluxes in -Terrestrial Ecosystems of the Eastern United -States.” In. Professional Paper. -
-
-Ma, Ookie, Ricardo P Cardoso De Oliveira, Evan Rosenlieb, and Megan H -Day. 2019. “Sector-Specific Methodologies for -Subnatonal Energy Modeling.” NREL/TP-7A40-72748, -1506626. https://doi.org/10.2172/1506626. -
-
-Metropolitan Council. 2020. “Sewersheds (Metersheds, -WWTP Service Areas).” Government. Minnesota -Geospatial Commons. https://gisdata.mn.gov/dataset/us-mn-state-metc-util-sanitary-sewersheds. -
-
-———. 2021. “Travel Behavior Inventory -(TBI) 2021 Household Interview Survey.” -Minnesota Geospatial Commons. https://gisdata.mn.gov/dataset/us-mn-state-metc-society-tbi-home-interview2021. -
-
-Minnesota Department of Commerce. 2022. “Annual Reporting Forms -for Electric and Gas Utilities.” Government/regulatory filings. -Annual Reporting. 2022. https://mn.gov/commerce/energy/industry-government/utilities/annual-reporting.jsp. -
-
-Minnesota IT Services. 2021. “Public Utilities -Infrastructure Information for Minnesota.” -2021. https://www.mngeo.state.mn.us/chouse/utilities.html. -
-
-MnDOT. 2021a. VMT by Route System for -Each County.” MnDOT Website. https://www.dot.state.mn.us/roadway/data/data-products.html#VMT. -
-
-———. 2021b. “Yearly Volume Trends With Truck -Distribution.” MnDOT Website. https://www.dot.state.mn.us/traffic/data/data-products.html. -
-
-———. 2023a. TFA Data Collection Methods.” -Government. 2023. https://www.dot.state.mn.us/traffic/data/coll-methods.html#TVPO. -
-
-———. 2023b. “City, Township, and Unorganized -Territory in Minnesota - Minnesota Geospatial -Commons.” Minnesota Geospatial Commons. https://gisdata.mn.gov/dataset/bdry-mn-city-township-unorg. -
-
-MPCA. 2022. MPCA SCORE Guidebook.” Government -w-sw-1-31. St. Paul, Minnesota. https://www.pca.state.mn.us/sites/default/files/w-sw-1-31.pdf. -
-
-MPCA. 2023a. “Climate Change Trends and Data.” 2023. https://www.pca.state.mn.us/air-water-land-climate/climate-change-trends-and-data. -
-
-MPCA. 2023b. “Sustainable Materials Management and Solid Waste -Policy Report.” Government lrw-sw-1sy23. St. Paul, Minnesota: -Minnesota Pollution Control Agency. https://www.pca.state.mn.us/sites/default/files/lrw-sw-1sy23.pdf. -
-
-Nahlik, A. M., and M. S. Fennessy. 2016. “Carbon Storage in -US Wetlands.” Nature Communications 7 (1, -1): 13835. https://doi.org/10.1038/ncomms13835. -
-
-Nan, Nan, Zhipeng Yan, Yaru Zhang, Rui Chen, Guohua Qin, and Nan Sang. -2023. “Overview of PM2.5 and Health Outcomes: -Focusing on Components, Sources, and Pollutant Mixture -Co-Exposure.” Chemosphere 323 (May): 138181. https://doi.org/10.1016/j.chemosphere.2023.138181. -
-
-New Prague Utilities Commission. 2022. “Agenda & -Packet, 1/24/2022 Meeting of the New Prague Utilities -Commission (Incl. Financial Report).” Utility. https://www.ci.new-prague.mn.us/vertical/sites/%7BAD7ECB62-2C5E-4BA0-8F19-1426026AFA3E%7D/uploads/01-24-2022_Utilities_Commission_Meeting_Packet.pdf. -
-
-Nowak, David J., Eric J. Greenfield, Robert E. Hoehn, and Elizabeth -Lapoint. 2013. “Carbon Storage and Sequestration by Trees in Urban -and Community Areas of the United States.” -Environmental Pollution 178 (July): 229–36. https://doi.org/10.1016/j.envpol.2013.03.019. -
-
-NREL. 2017. SLOPE: State and -Local Planning for Energy.” https://maps.nrel.gov/slope/. -
-
-Office, Minnesota IT Geospatial Information. 2023. “Electric -Utility Service Areas, Minnesota, -January 2023.” https://gisdata.mn.gov/dataset/util-eusa. -
-
-Phillips, Claire L., Ruying Wang, Clint Mattox, Tara L. E. Trammell, -Joseph Young, and Alec Kowalewski. 2023. “High Soil Carbon -Sequestration Rates Persist Several Decades in Turfgrass Systems: -A Meta-Analysis.” Science of The Total -Environment 858 (February): 159974. https://doi.org/10.1016/j.scitotenv.2022.159974. -
-
-Polasky, Stephen, and Yang Liu. 2006. “The Supply of -Terrestrial Carbon Sequestration in -Minnesota.” Minnesota Terrestrial Carbon -Sequestration Project, 1–25. -
-
-Public Service Commission of Wisconsin. 2021. PSC -Interactive Service Area Maps.” https://psc.wi.gov/Pages/ForConsumers/Maps.aspx. -
-
-———. 2022. “Annual Reports : View PDFs, -Queries, and Programs.” -Government/regulatory filings. Annual Reporting. 2022. https://apps.psc.wi.gov/ARS/annualReports/default.aspx. -
-
-Russell, Matthew. 2020. “Carbon in Minnesota Trees -and Woodlands.” University of Minnesota Extension. 2020. https://extension.umn.edu/managing-woodlands/carbon-minnesota-trees-and-woodlands. -
-
-Selhorst, Adam, and Rattan Lal. 2013. “Net Carbon -Sequestration Potential and Emissions in Home -Lawn Turfgrasses of the United States.” -Environmental Management 51 (1): 198–208. https://doi.org/10.1007/s00267-012-9967-6. -
-
-State Cartographer’s Office. 2021. “Wisconsin Road -Data.” University of Wisconsin-Madison. January 29, 2021. -https://www.sco.wisc.edu/data/roads/. -
-
-StreetLight Data. 2023a. StreetLight All Vehicles Volume -Methodology and Validation White Paper - -United States.” Industry November 2023. https://support.streetlightdata.com/hc/article_attachments/20771176488091. -
-
-———. 2023b. StreetLight Index.” Industry. https://support.streetlightdata.com/hc/en-us/articles/360018552772-StreetLight-Index. -
-
-———. 2023c. “Truck Travel Mode.” Industry. https://support.streetlightdata.com/hc/en-us/articles/8358369620507-Truck-travel-mode. -
-
-———. 2023d. “What Is Single Factor Calibration?” Industry. -https://support.streetlightdata.com/hc/en-us/articles/360019181272-What-is-single-factor-calibration-. -
-
-———. 2024. “All Vehicles Travel Modes.” -Industry. https://support.streetlightdata.com/hc/en-us/articles/360034538232-All-Vehicles-travel-modes. -
-
-U.S. Census Bureau. 2021. ACS Demographic and -Housing Estimates.” U.S. Census Bureau. https://data.census.gov/table/ACSDP5Y2021.DP05?g=050XX00US27053_040XX00US27. -
-
-U.S. Energy Information Administration. 2023. “Annual -Electric Power Industry Report, Form EIA-861 -Detailed Data Files (2021).” https://www.eia.gov/electricity/data/eia861/. -
-
-US EIA. 2023. “2020 Residential Energy Consumption -Survey: Consumption and Expenditures Technical -Documentation Summary.” Government. Washington, DC 20585: -U.S. Department of Energy. https://www.eia.gov/consumption/residential/data/2020/pdf/2020%20RECS%20CE%20Methodology_Final.pdf. -
-
-US EPA, OAR. 2017. “Local Greenhouse Gas Inventory -Tool.” Data and Tools. June 30, 2017. https://www.epa.gov/statelocalenergy/local-greenhouse-gas-inventory-tool. -
-
-USEPA. 2016. “Population and Activity of On-road Vehicles in -MOVES2014.” Government EPA-420-R-16-003a. Ann Arbor, -MI: Office of Transportation and Air Quality. https://nepis.epa.gov/Exe/ZyPDF.cgi?Dockey=P100O7PS.pdf. -
-
-———. 2019. WARM - Management Practices -Chapters (Version 15).” Government. US EPA Office of -Resource Conservation and Recovery, Prepared by ICF. https://www.epa.gov/sites/default/files/2019-10/documents/warm_v15_management_practices_updated_10-08-2019.pdf. -
-
-USEPA. 2021a. eGRID -(Emissions & Generation Resource Integrated -Database) 2021 Summary Data.” https://www.epa.gov/egrid/summary-data. -
-
-———. 2021b. “Emissions Factors for Greenhouse -Gas Inventories.” https://www.epa.gov/system/files/documents/2023-04/emission-factors_sept2021.pdf. -
-
-USEPA. 2021c. GHG Emission Factors Hub.” https://www.epa.gov/system/files/documents/2023-04/emission-factors_sept2021.pdf. -
-
-———. 2023a. “Inventory of U.S. -Greenhouse Gas Emissions and Sinks: -1990-2021.” Reports and Assessments. https://www.epa.gov/ghgemissions/inventory-us-greenhouse-gas-emissions-and-sinks-1990-2021. -
-
-———. 2023b. “2020 National Emissions Inventory Technical -Support Document.” Government EPA-454/R-23-001a. Office of -Air Quality Planning; Standards. https://www.epa.gov/air-emissions-inventories/2020-national-emissions-inventory-nei-technical-support-document-tsd. -
-
-———. 2023c. “Understanding Global Warming -Potentials.” Government. April 18, 2023. https://www.epa.gov/ghgemissions/understanding-global-warming-potentials. -
-
-———. 2024a. “State Greenhouse Gas Inventory and -Projection Tools.” Government. https://www.epa.gov/statelocalenergy/download-state-inventory-and-projection-tool. -
-
-———. 2024b. “State Greenhouse Gas Inventory Tool -User’s Guide for the Wastewater -Module.” Government. State Energy and Environment -Program. https://www.epa.gov/system/files/documents/2024-02/wastewater-users-guide_508.pdf. -
-
-Walker, Kyle. 2023. Tigris: Load Census -TIGER/Line Shapefiles. Manual. https://CRAN.R-project.org/package=tigris. -
-
-Weitekamp, Chelsea A., Lukas B. Kerr, Laura Dishaw, Jennifer Nichols, -McKayla Lein, and Michael J. Stewart. 2020. “A Systematic Review -of the Health Effects Associated with the Inhalation of -Particle-Filtered and Whole Diesel Exhaust.” Inhalation -Toxicology 32 (1): 1–13. https://doi.org/10.1080/08958378.2020.1725187. -
-
-Wisconsin DNR. 2021. “Wisconsin Greenhouse Gas Emissions -Inventory Report.” Government AM-610-2021. Madison, -Wisconsin. https://widnr.widen.net/view/pdf/o9xmpot5x7/AM610.pdf?t.download=true. -
-
-Wisconsin Legislature. 2023. “Wisconsin Cities, -Towns and Villages (July -2023).” Legislative Technology Services Bureau (LTSB). https://gis-ltsb.hub.arcgis.com/datasets/LTSB::wi-cities-towns-and-villages-july-2023/explore. -
-
-Wisconsin Public Service Commission, Division of Energy Regulation, and -Tyler Tomaszewski. 2024. “Electric Service -Territories.” https://maps.psc.wi.gov/portal/apps/webappviewer/index.html?id=bb1a9f501e3d472cbde970310540b466. -
-
-Wisconsin State Legislature. 2024. Chapter 196, -Regulation of Public Utilities. -35.18. https://docs.legis.wisconsin.gov/statutes/statutes/196. -
-
-WisDOT. 2020. “Wisconsin Vehicle Classification -Data.” wisconsindot.gov. https://wisconsindot.gov/Pages/projects/data-plan/traf-fore/default.aspx. -
-
-———. 2021. “Wisconsin Vehicle Miles of Travel -(VMT).” https://wisconsindot.gov/. https://wisconsindot.gov/Pages/projects/data-plan/veh-miles/default.aspx. -
-
- - - -
- - -
- - - - - - \ No newline at end of file diff --git a/docs/search.json b/docs/search.json deleted file mode 100644 index 87eee8e5..00000000 --- a/docs/search.json +++ /dev/null @@ -1,352 +0,0 @@ -[ - { - "objectID": "index.html", - "href": "index.html", - "title": "Twin Cities MSA Greenhouse Gas Inventory", - "section": "", - "text": "Executive summary\nThis project has been funded wholly or in part by the United States Environmental Protection Agency (EPA) under assistance agreement 00E03476 to the Metropolitan Council. The contents of this document do not necessarily reflect the views and policies of the EPA, nor does the EPA endorse trade names or recommend the use of commercial products mentioned in this document.\nIn 2021, the Twin-Cities MSA generated NA million metric tons CO2 equivalent (MMtCO2e) emissions from energy, transportation, and waste sectors. Transportation was the largest contributor to GHG emissions (85.5%), followed by Waste (14.5%), and Energy (NA). Carbon sequestration from natural systems offset NA of total emissions.\nFigure 1: County emissions by sector and category" - }, - { - "objectID": "index.html#emissions-by-sector", - "href": "index.html#emissions-by-sector", - "title": "Twin Cities MSA Greenhouse Gas Inventory", - "section": "Emissions by sector", - "text": "Emissions by sector\nThe energy sector generated NA MMtCO2e of emissions in the Twin Cities MSA in 2021. Most of the energy emissions are from electricity followed by natural gas. Other fuels (propane and kerosene) make up a small proportion of energy emissions in the metro.\n\n\n\nFigure 2: Energy county level emissions\n\n\n\n\n\nThe transportation sector generated NA MMtCO2e of emissions in the Twin Cities MSA in 2021. This is a county-level, activity-based estimate that accounts for the total number of vehicle trips that originate in the county, terminate in the county, or both originate and terminate within the county for passenger and medium-duty commercial vehicles. Heavy-duty commercial vehicles are only accounted for trips that both originate and terminate within the county.\n\n\n\nFigure 3: Transportation county level emissions\n\n\n\n\n\nEmissions from waste is the smallest of the three sectors in the Twin Cities MSA. Waste generated NA MMtCO2e of emissions in the Twin Cities MSA in 2021. Solid waste, including landfills, recycling, and organics, generates the largest share of emissions in the waste sector, with wastewater treatment comprising a smaller share of waste emissions.\n\n\n\nFigure 4: Waste and wastewater county level emissions\n\n\n\n\n\nPotential sequestration from natural systems totaled 2.39 MMtCO2e in the Twin Cities MSA in 2021. Urban forests and grasslands have high sequestration potential, though are expected to have lower stock potential, capping their potential carbon storage in the future.\n\n\n\nFigure 5: Natural systems county level sequestration" - }, - { - "objectID": "index.html#about-this-document", - "href": "index.html#about-this-document", - "title": "Twin Cities MSA Greenhouse Gas Inventory", - "section": "About this document", - "text": "About this document\nThis is a Quarto book. Code, data, and documentation are all stored in the same place. We primarily use R.\n\nTo navigate from chapter to chapter, click on the chapter name in the left sidebar or click the arrow button at the end of the page.\nCitations can be previewed by hovering your mouse over the citation.\nLinks to R scripts are available throughout the document. Click on the link to open the relevant R script and peruse the code behind this inventory.\nAll plots are interactive. Hover your mouse over any bar or dot, and detailed information will appear. If you want to take a static screenshot of a plot, hover your mouse over the plot and find the camera icon in the upper right tool bar.\nSections are cross-referenced throughout the document. Click on a “Section x.xx.xx” link to navigate to the appropriate section\nAll headings, tables, and figures are permalinked, meaning that you can share specific sections of the document through a URL. Hover your mouse over a heading and click on the link icon. Then, copy the URL in your browser and share with colleagues." - }, - { - "objectID": "index.html#acknowledgements", - "href": "index.html#acknowledgements", - "title": "Twin Cities MSA Greenhouse Gas Inventory", - "section": "Acknowledgements", - "text": "Acknowledgements\nThis document is the result of tremendous work across the Metropolitan Council. Individuals are noted by their name, title, contribution, and division.\n\n\n\nPrimary authors\n\nLiz Roten, Senior Data Scientist, Transportation (MTS)\n\nSam Limerick, Senior Data Scientist, Electricity and natural gas (CD)\n\nPeter Wilfahrt, Principal Researcher, Liquid stationary energy, wastewater, natural systems (CD)\n\nZoey Yandell, Intern, Solid waste (CD)\n\n\n\n\n\nContributors\n\nKenneth Smith, Principal Researcher, LIDAC, editing (CD)\n\nLaine McNamara, Business Systems Analyst III, editing (CD)\n\nTrevor Prater, Senior Engineer, wastewater (ES)" - }, - { - "objectID": "_energy/_energy.html#introduction", - "href": "_energy/_energy.html#introduction", - "title": "1  Stationary Energy", - "section": "1.1 Introduction", - "text": "1.1 Introduction\n\n\n\nFigure 1.1: Energy county emissions\n\n\n\n\n\n\n\n\nFigure 1.2: Energy county emissions by category" - }, - { - "objectID": "_energy/_energy.html#electricity", - "href": "_energy/_energy.html#electricity", - "title": "1  Stationary Energy", - "section": "1.2 Electricity", - "text": "1.2 Electricity\n\n1.2.1 Introduction\nEmissions from the electricity generation sector have declined by 54% in Minnesota since 2005, largely as a result of transitions in the grid towards energy sources such as wind and solar (MPCA 2023). In 2023, Minnesota Governor Walz signed a bill mandating a statewide carbon-free electricity standard by 2040. The law “establishes a standard for utilities to supply Minnesota customers with electricity generated or procured from carbon-free resources, beginning at an amount equal to 80% of retail sales for public utility customers in Minnesota in 2030 and increasing every 5 years to reach 100% for all electric utilities by 2040. The bill also requires that, by 2035, an amount equal to at least 55% of an electric utility’s total retail electric sales to customers in Minnesota must be generated or procured from eligible energy technologies.” Wisconsin has not adopted a similar carbon-free electricity standard, but a Wisconsin DNR report noted both the economic gains from such to the renewable energy economy in the state, as well as the opportunities for decarbonization (Holt 2019).\n\n\n1.2.2 Methods\nThe general workflow for quantifying electricity emissions is to identify all of the electric utilities that operate within our study area, collect any reporting they provide to the states of Minnesota and Wisconsin about the amount of energy delivered to all their customers (with reference to federal reporting sources where state-level reporting gaps exist), and apply EPA-provided emissions factors to the reported activity/energy deliveries to calculate estimated emissions. Methodologies for allocating utility activity reports to counties varies across MN and WI and are further described in the following section. Most inputs we use in the construction of our electricity emissions data set are of the highest quality rank (Table B.2), as they are either direct government-created data (e.g., emissions factors) or data reported to state/federal authorities (e.g., regulatory filings). However, for two Minnesota electric utilities – Elk River Municipal Utilities (Elk River Municipal Utilities 2022) and New Prague Utilities Commission (New Prague Utilities Commission 2022) – where regulatory filing data could not be sourced to quantify electricity deliveries, we referred to financial reporting documents published by the utilities.\nTotal regional emissions (Emissionsr) represents the sum of all recorded energy deliveries by utility i within county j, where i refers to each of the electric utilities operating across our region, and j refers to the eleven counties included in this inventory. Our regional total therefore represents an aggregation of electricity deliveries for all distinct utility-county records.\n\\[Emissions_r = \\Sigma (mWhDelivered_iCounty_j \\times {Emissions Factor}) \\]\nOur inventory takes a “demand-side” approach to emissions quantification and seeks to aggregate all reported delivery of energy to ALL customers served by utilities (meaning all customer types, inclusive of residential, commercial, industrial, and government accounts). This means that energy loss and use experienced by utilities in the process of energy generation and transmission, and delivery and resale to utilities operating outside of our study area, are not directly reflected in the numbers attributed to counties. The U.S. Energy Information Administration (EIA) estimates that annual electricity transmission and distribution (T&D) losses averaged about 5% of the electricity transmitted and distributed in the United States in 2018 through 2022. (Administration 2023)\nWhile our primary data collection does not include a breakout of electricity deliveries by sector, we do leverage year 2021 NREL SLOPE forecasts of electricity consumption (built from a base year of 2016 observed data) by sector (residential, commercial, industrial) at the county level to calculate modeled proportions of consumption by sector, which we then apply to our aggregate numbers to calculate estimated emissions by sector NREL (2017).\n\n1.2.2.1 Identifying utilities in scope\nTo identify the electric utilities that operate within our 11-county study area, we referred to maps and geospatial datasets capturing utility service areas in Minnesota and Wisconsin. To identify Wisconsin electric utilities, we downloaded the Electric Service Territory map maintained by the Wisconsin Public Service Commission (Wisconsin Public Service Commission and Tomaszewski 2024). To identify Minnesota electric utilities, we downloaded the Electric Service Territory map maintained by the Minnesota Public Utilities Commission and the Minnesota IT Geospatial Information Office(Office 2023).\n\n\n1.2.2.2 Collecting and aggregating activity data from utilities\nAfter identifying which utilities operate within our study area within each state, we collect reporting submitted by these utilities to the relevant state and federal authorities and use a variety of approaches, depending on data availability, to allocate utility activity/energy deliveries to specific counties.\n\n1.2.2.2.1 Minnesota\nAll electric utilities authorized to do business in Minnesota are required to file an annual data report pursuant to MN Rules Chapter 7610. The Minnesota Public Utilities Commission makes these reports searchable through an eFiling Site, and downloadable as Excel workbooks (Commerce 2005). For each utility identified in distinct_electricity_util_type_MN.RDS (a data product of minnesota_electricUtilities.R, a script that looks for intersections between electric utility service areas and our Minnesota counties), we downloaded the relevant 2021 annual reports from this site (see note about Great River Energy in the previous section for caveats), except for North Branch Municipal Water and Light, which did not submit a 2021 report (we used their 2022 report as a substitution). Elk River Municipal Utilities and New Prague Utilities Commission did not file reports for 2021 or 2022, and so we used financial reports to identify their total electricity delivered; both utilities operated within only one county in our study area, which meant no estimation/allocation was necessary.\nWe wrote code to extract the county-level data reported in the report section titled “ITS DELIVERIES TO ULTIMATE CONSUMERS BY COUNTY FOR THE LAST CALENDAR YEAR” on the relevant annual data report Excel workbooks compiled into a folder directory, and created a table with three columns: county, utility, and mWh_delivered (megawatt-hours). By compiling this data for all utilities found to operate within our study area, aggregating all electricity deliveries at the county level becomes possible.\n\n\n1.2.2.2.2 Wisconsin\nAll municipal and investor-owned utilities authorized to do business in Wisconsin are required to file an annual report with financial and operational information pursuant to Wis. Stat. § 196.07. The Public Services Commission of Wisconsin makes these reports searchable through an E-Services Portal, and downloadable as either PDFs or Excel workbooks, with options to export only specific portions of the reports as spreadsheets (Public Service Commission of Wisconsin 2022). For each utility identified in distinct_electricity_util_type_WI.RDS (a data product of wisconsin_electricUtilities.R, a script that looks for intersections between electric utility service areas and our Wisconsin counties), we downloaded the relevant 2021 annual reports from this site.\nA similar process was followed for the four Wisconsin cooperative utilities for which we referenced federal regulatory filings data to populate our dataset of electricity deliveries.\nBecause of the small amount of data, and the different data structures of the reports for municipally-, cooperatively-, and investor-owned utilities in Wisconsin, we hard-coded observed information into data frames rather than extracting data through a web scraper or document analyzer (see processed_wi_electricUtil_activityData.R).\n\n\n\n1.2.2.3 Emissions factors\nTo transform electricity deliveries (recorded in mWh) into emissions in metric tons CO2e, we referenced 2021 Emissions & Generation Resource Integrated Database (eGRID) summary data for the MROW subregion (Midwest Reliability Organization - West) (USEPA 2021a).\nThis dataset provides estimates in lbs/mWh for CO2, CH4, N2O, and CO2e emissions based on MROW’s sub-regional electricity generation grid mix; converting this factor to metric tons per mWh and multiplying the county-level mWh estimates yields an estimate for CO2e. To generate this sub-regional estimate, eGRID first calculates estimated emissions at the plant level, and assigns plants to regions. By using an emissions factor that is localized, our inventory accounts for the specific grid mix in our study area (see the grid mix linked to the eGRID MROW emissions factor used in this inventory below). Per the eGRID technical guide, “the subregions were defined to limit the import and export of electricity in order to establish an aggregated area where the determined emission rates most accurately matched the generation and emissions from the plants within that subregion.”\n\n\n\n\n\n \n Table 1.1: Grid Mix for MROW subregion of 2021 eGRID \n \n \n Energy.Source\n Percentage\n \n \n \n Coal\n39.6%\n Oil\n0.2%\n Gas\n10.6%\n Other Fossil\n0.10%\n Nuclear\n8.6%\n Hydro\n4.4%\n Biomass\n0.8%\n Wind\n34.6%\n Solar\n0.9%\n Geothermal\n0.0%\n Other\n0.2%\n Unknown/Purchased Fuel\nN/A\n \n \n \n\n\n\n\n\n\n\n\n1.2.3 Results\n\n\n\nFigure 1.3: 2021 county electricity emissions\n\n\n\n\n\n\n\n\nFigure 1.4: 2021 electricity emissions by sector\n\n\n\n\n\n\n1.2.3.1 Correlation with related data\nWe would expect counties with higher population to have higher emissions.\n\n\n\nFigure 1.5: County population and electricity emissions\n\n\n\n\n\n\n\n1.2.3.2 Comparison with federal inventories\n\n1.2.3.2.1 Energy Information Administration (EIA)\nWe compared our county-level emissions figures to emissions estimates derived from the EIA’s State Electricity Profiles, which were generated by down-scaling EIA’s Minnesota and Wisconsin state-level numbers for total electricity retail sales. We achieved this by applying the proportions of each state’s population residing in each of our study area counties to generate county-level emissions estimates. Our inventory quantified NA metric tons of electricity in our study area relative to 55,057,710 metric tons based on the aforementioned downscaled statewide retail numbers.\n\n\n\nFigure 1.6: Metropolitan Council emissions inventory vs. downscaled EIA State Electricity Profiles\n\n\n\n\n\n\n\n1.2.3.2.2 NREL SLOPE\nThe NREL SLOPE (State and Local Planning for Energy) Platform provides yearly forecasted emissions tied to the user of electricity up to 2050 based on 2016 reported data at the county level. In comparing these figures to our own inventory, we observed that, where we estimated NA metric tons of emissions linked to electricity deliveries in our study area in the year 2021, NREL SLOPE forecasted 38,568,300metrics tons in our study area.\n\n\n\nFigure 1.7: Metropolitan Council emissions inventory v. NREL SLOPE modeled emissions" - }, - { - "objectID": "_energy/_energy.html#natural-gas", - "href": "_energy/_energy.html#natural-gas", - "title": "1  Stationary Energy", - "section": "1.3 Natural Gas", - "text": "1.3 Natural Gas\n\n1.3.1 Introduction\nGreenhouse gas emissions from Minnesota homes and apartment buildings have increased 14% over the past 15 years, and natural gas use is the largest source of these emissions (MPCA 2023). Many local and state governments are evaluating policies to reduce natural gas usage, such as building electrification (when paired with decarbonization of the electric grid) and banning natural gas hookups in new construction.\n\n\n1.3.2 Methods\nThe general workflow for quantifying natural gas emissions is to identify all of the natural gas utilities that operate within our study area, collect any reporting they provide to the states of Minnesota and Wisconsin about the amount of energy delivered to all their customers, reference federal reporting sources where state-level reporting gaps exist, and apply EPA-provided emissions factors to the reported energy deliveries to calculate emissions. Methodologies for allocating utility activity reports to counties varies across MN and WI and are further described in the following section. All inputs we use in the construction of our natural gas emissions data set are of the highest quality rank (Table B.2), as they are either direct government-created data (e.g., emissions factors) or data reported to state or federal authorities (e.g., regulatory filings).\nTotal regional emissions (Emissionsr) represents the sum of all recorded energy deliveries by utility i within county j, where i refers to each of the electric utilities operating across our region, and j refers to the eleven counties included in this inventory. Our regional total therefore represents an aggregation of electricity deliveries for all distinct utility-county records within our 11 counties. Our inventory takes a “demand-side” approach to emissions quantification and seeks to aggregate all reported delivery of energy to all customers served by utilities (meaning residential, commercial, industrial, and government accounts).\n\\[Emissions_r = \\Sigma (mcfDelivered_iCounty_j \\times {Emissions Factor}) \\]\nWhile our primary data collection does not include a breakout of natural gas deliveries by sector, and represents only total natural gas deliveries, we do leverage year 2021 NREL SLOPE forecasts of natural gas consumption (built from a base year of 2016 observed data) by sector (residential, commercial, industrial) at the county level to calculate modeled proportions of consumption by sector, which we then apply to our aggregate numbers to calculate estimated emissions by sector. (Ma et al. 2019) (NREL 2017)\n\n1.3.2.1 Identifying utilities in scope\nTo identify the natural gas utilities that operate within our 11-county study area, we first referred to maps and geospatial datasets capturing utility service areas in Minnesota and Wisconsin. Where possible, state-maintained data sources were used, with federal sources referenced where state sources could not be accessed. To identify Wisconsin gas utilities, we downloaded the Natural Gas Service Territory map maintained by the Wisconsin Public Utilities Commission (Public Service Commission of Wisconsin 2021). Since Minnesota does not publish a state-maintained data set of natural gas service areas (Minnesota IT Services 2021), we used the Department of Homeland Security’s Natural Gas Service Territories map from its Homeland Infrastructure Foundation-Level Data (HIFLD) portal to identify in-scope Minnesota gas utilities (Homeland Security 2017).\n\n\n1.3.2.2 Collecting and aggregating activity data from utilities\nAfter identifying which utilities operate within our study area within each state, we collected the reporting submitted by these utilities to the relevant state and federal authorities, and followed a distinct process for each state to accumulate data and then allocate energy deliveries to specific counties therein.\n\n1.3.2.2.1 Minnesota\nAll natural gas utilities authorized to do business in Minnesota are required to file an annual data report pursuant to MN Rules Chapter 7610 (Commerce 2005). The Minnesota Public Utilities Commission makes these reports searchable through an eFiling Site (Minnesota Department of Commerce 2022). For each utility identified in distinct_natGas_util_MN.RDS (a data product of minnesota_natGasUtilities.R, a script that looks for intersections between electric utility service areas and our Minnesota counties), we downloaded the relevant annual reports from this site in their Excel workbook form.\nWe wrote code to extract the county-level data reported in report section “ANNUAL GAS DELIVERED TO ULTIMATE CONSUMERS BY COUNTY IN 2021” from these reports (which were compiled into a distinct folder directory for file processing), and created a table with three columns county, utility, and mcf_delivered (thousand cubic feet of natural gas delivered). By compiling this data for all utilities found to operate within our study area, aggregating all natural gas deliveries at the county level becomes possible.\n\n\n1.3.2.2.2 Wisconsin\nAll municipal and investor-owned natural gas utilities authorized to do business in Wisconsin are required to file an annual report with financial and operational information pursuant to Wis. Stat. § 196.07. The Public Services Commission of Wisconsin makes these reports searchable through an E-Services Portal, and downloadable as either PDFs or Excel workbooks, with options to export only specific portions of the reports as spreadsheets (Wisconsin State Legislature 2024). For each utility identified in distinct_natGas_util_WI.RDS (a data product of wisconsin_natGasUtilities.R, a script that looks for intersections between electric utility service areas and our Wisconsin counties), we downloaded the relevant 2021 annual reports from this site.\nBecause of the small amount of data, we hard-coded observed information into data frames rather than extracting data through a web scraper or document analyzer as we did in Minnesota (see processed_wi_electricUtil_activityData.R.\n\n\n\n1.3.2.3 Emissions factors\nNatural gas energy deliveries were reported in standard cubic feet and converted into emissions in metric tons CO2e, referencing the 2021 EPA GHG Emissions Factor Hub (USEPA 2021b).\n\n\n\n1.3.3 Results\n\n\n\nFigure 1.8: 2021 natural gas emissions\n\n\n\n\n\n\n\n\nFigure 1.9: 2021 natural gas emissions by sector\n\n\n\n\n\n\n1.3.3.1 Correlation with related data\nWe would expect counties with higher population to have higher emissions.\n\n\n\nFigure 1.10: County population and natural gas emissions\n\n\n\n\n\n\n\n1.3.3.2 Comparison with other inventories\n\n1.3.3.2.1 NREL SLOPE\nThe NREL SLOPE (State and Local Planning for Energy) Platform provides yearly forecasted emissions from natural gas through 2050 based on 2016 observed/reported data at the county level. In comparing these figures to our own inventory, we observed that, where we estimated 24,699,496 metric tons of emissions linked to natural gas use in our study area in the year 2021, NREL SLOPE forecasted 13,910,111 metric tons in our study area.\n\n\n\nFigure 1.11: Metropolitan Council emissions inventory v. NREL SLOPE modeled emissions\n\n\n\n\n\n\n\n\n\n\nAdministration, U. S. Energy Information. 2023. “How Much Electricity Is Lost in Electricity Transmission and Distribution in the United States?” Frequently Asked Questions. 2023. https://www.eia.gov/tools/faqs/faq.php?id=105.\n\n\nCommerce, Minnesota Department of. 2005. CHAPTER 7610, ENERGY INFORMATION REPORTING. https://www.revisor.mn.gov/rules/7610/.\n\n\nElk River Municipal Utilities. 2022. “2021 Annual Financial Report.” Financial report. https://www.ermumn.com/application/files/3316/5668/9846/2021_Annual_Financial_Report.pdf.\n\n\nHolt, Dominic. 2019. “Wisconsin’s Clean Energy Policies.” Government. Wisconsin Department of Natural Resources. https://dnr.wisconsin.gov/sites/default/files/topic/ClimateChange/WisconsinCleanEnergyPolicies.pdf.\n\n\nHomeland Security, Department of. 2017. “Natural Gas Service Territories - Homeland Infrastructure Foundation-Level Data.” https://hifld-geoplatform.opendata.arcgis.com/maps/natural-gas-service-territories.\n\n\nMa, Ookie, Ricardo P Cardoso De Oliveira, Evan Rosenlieb, and Megan H Day. 2019. “Sector-Specific Methodologies for Subnatonal Energy Modeling.” NREL/TP-7A40-72748, 1506626. https://doi.org/10.2172/1506626.\n\n\nMinnesota Department of Commerce. 2022. “Annual Reporting Forms for Electric and Gas Utilities.” Government/regulatory filings. Annual Reporting. 2022. https://mn.gov/commerce/energy/industry-government/utilities/annual-reporting.jsp.\n\n\nMinnesota IT Services. 2021. “Public Utilities Infrastructure Information for Minnesota.” 2021. https://www.mngeo.state.mn.us/chouse/utilities.html.\n\n\nMPCA. 2023. “Climate Change Trends and Data.” 2023. https://www.pca.state.mn.us/air-water-land-climate/climate-change-trends-and-data.\n\n\nNew Prague Utilities Commission. 2022. “Agenda & Packet, 1/24/2022 Meeting of the New Prague Utilities Commission (Incl. Financial Report).” Utility. https://www.ci.new-prague.mn.us/vertical/sites/%7BAD7ECB62-2C5E-4BA0-8F19-1426026AFA3E%7D/uploads/01-24-2022_Utilities_Commission_Meeting_Packet.pdf.\n\n\nNREL. 2017. “SLOPE: State and Local Planning for Energy.” https://maps.nrel.gov/slope/.\n\n\nOffice, Minnesota IT Geospatial Information. 2023. “Electric Utility Service Areas, Minnesota, January 2023.” https://gisdata.mn.gov/dataset/util-eusa.\n\n\nPublic Service Commission of Wisconsin. 2021. “PSC Interactive Service Area Maps.” https://psc.wi.gov/Pages/ForConsumers/Maps.aspx.\n\n\n———. 2022. “Annual Reports : View PDFs, Queries, and Programs.” Government/regulatory filings. Annual Reporting. 2022. https://apps.psc.wi.gov/ARS/annualReports/default.aspx.\n\n\nUSEPA. 2021a. “eGRID (Emissions & Generation Resource Integrated Database) 2021 Summary Data.” https://www.epa.gov/egrid/summary-data.\n\n\n———. 2021b. “Emissions Factors for Greenhouse Gas Inventories.” https://www.epa.gov/system/files/documents/2023-04/emission-factors_sept2021.pdf.\n\n\nWisconsin Public Service Commission, Division of Energy Regulation, and Tyler Tomaszewski. 2024. “Electric Service Territories.” https://maps.psc.wi.gov/portal/apps/webappviewer/index.html?id=bb1a9f501e3d472cbde970310540b466.\n\n\nWisconsin State Legislature. 2024. Chapter 196, Regulation of Public Utilities. 35.18. https://docs.legis.wisconsin.gov/statutes/statutes/196." - }, - { - "objectID": "_energy/data_electricity.html#utility-activity-data", - "href": "_energy/data_electricity.html#utility-activity-data", - "title": "2  Electricity", - "section": "2.1 Utility Activity Data", - "text": "2.1 Utility Activity Data\n\n2.1.1 Minnesota\nUnder Minnesota Administrative Rules Chapter 7610 (Commerce 2005), utilities are required to file an annual data report that supports the identification of “emerging energy trends based on supply and demand, conservation and public health and safety factors, and to determine the level of statewide and service area needs” (Minnesota Department of Commerce 2022). This includes a report of county-level energy deliveries (reported in megawatt-hours, commonly written as mWh). Because the information is structured in this manner, electricity emissions at the county-level can be estimated as a direct function of energy deliveries to counties reported by utilities.\nOne utility operating within our study area, Great River Energy (GRE), is a non-profit wholesale electric power cooperative which provides wholesale power and delivery services to 28 Minnesota-based electric cooperatives, which collectively own GRE and provide retail electric service. They are the primary supplier of energy (>99%) to the cooperative utilities operating in our study area. Though most electricity suppliers having relationships with Minnesota electric utilities do not file these annual data reports, GRE does, given their unique hybrid wholesale/transmission structure and cooperative ownership model. As a result, while we keep only GRE’s reporting in our data collection for county-level electricity deliveries, we exclude reporting from these subsidiary retail electric cooperatives, in order to avoid double counting electric deliveries. We use GRE’s reported deliveries to our 9 Minnesota study area counties as a full substitution for the deliveries of these utilities, which may represent a marginal undercount given that marginal-to-negligible amounts of energy delivered by these retail cooperatives came from other other sources, per their annual reports.\n\n\n2.1.2 Wisconsin\nUnder Wis. Stat. § 196.07, investor- and municipally-owned electric utilities operating within the state of Wisconsin must submit annual reports to the State which include an array of information related to utility finance and operations, including key figures leveraged in our data collection, such as total energy deliveries made (in units of kWh) and total number of customer accounts within each county (Wisconsin State Legislature 2024).\nOf the seven in-scope electric utilities, only three (the investor- and municipally-owned utilities) were required to make these reports to the State in 2021 (four of the in-scope electric utilities are cooperative utilities); state data was leveraged in this case. For the four utilities (all cooperative utilities) not making these reports, we relied upon the detailed data files provided by the EIA, recording the responses of utilities to the Annual Electric Power Energy Report (Form EIA-861), which records retail sales by utilities and power marketers (U.S. Energy Information Administration 2023). Two utilities (Dunn Energy Cooperative and Polk-Burnett Electric Cooperative) filled the long version of the form (filled by larger entities), and two (St. Croix Electric Cooperative and Pierce-Pepin Electric Cooperative Services) filled the short form (filled by smaller entities). For our purposes, both the long and short form provided suitable activity information (total energy delivered, total customers) to allocate energy deliveries to counties in concert with Census population data, in the process outlined below.\nBecause Wisconsin utilities do not report energy deliveries at the county level, it was necessary to estimate energy deliveries by a given utility i within a particular county j. For those three utilities who reported county-level customer counts and total customer counts to the state, we estimated mWh delivered by utility i in county j by multiplying their total statewide energy deliveries (as reported to the relevant state authorities) by the proportion of their customers residing in each of our two study area counties.\n\\[mWhDelivered_iCounty_j = (mWhEnergyDeliveries_i \\times {ProportionOfTotalUtilityCustomers_j}) \\]\nNote: This approach implicitly assumes that customer accounts across counties within the operations of a given utility have the same average per-account demand for energy, when this is influenced by land-use mix and relative magnitude/scale of residential and commercial/industrial utility accounts within a given county.\nTo calculate the estimated energy delivered by utility i in county j for the four cooperatively-owned utilities that did not report county-level customer counts (i.e., did not report to the State), we used population figures to estimate/allocate reported electricity deliveries to counties. We took the actual total energy delivered by utility i across Wisconsin (as reported to the relevant federal authorities) and multiplied this by the proportion of total population within each utility’s entire service area residing within county j at the 2020 decennial Census.\n\\[mWhDelivered_iCounty_j = (mWhDelivered_i \\times {ProportionOfTotalUtilityPopulation_j}) \\]\nThe factor ProportionOfTotalUtilityPopulationj was calculated by spatially joining Census block centroids containing population data to 1) polygons representing the entirety of our in-scope utilities’ service areas (including areas outside of St. Croix and Pierce counties) and 2) polygons representing only the portions of these utilities’ service areas within a) St. Croix county and b) Pierce County. These utility-county service areas are calculated separately, to facilitate an informed allocation of statewide energy use to each county in turn.\n\n\n\n\n\n\nCommerce, Minnesota Department of. 2005. CHAPTER 7610, ENERGY INFORMATION REPORTING. https://www.revisor.mn.gov/rules/7610/.\n\n\nMinnesota Department of Commerce. 2022. “Annual Reporting Forms for Electric and Gas Utilities.” Government/regulatory filings. Annual Reporting. 2022. https://mn.gov/commerce/energy/industry-government/utilities/annual-reporting.jsp.\n\n\nU.S. Energy Information Administration. 2023. “Annual Electric Power Industry Report, Form EIA-861 Detailed Data Files (2021).” https://www.eia.gov/electricity/data/eia861/.\n\n\nWisconsin State Legislature. 2024. Chapter 196, Regulation of Public Utilities. 35.18. https://docs.legis.wisconsin.gov/statutes/statutes/196." - }, - { - "objectID": "_energy/data_natural_gas.html#utility-activity-data", - "href": "_energy/data_natural_gas.html#utility-activity-data", - "title": "3  Natural gas", - "section": "3.1 Utility Activity Data", - "text": "3.1 Utility Activity Data\n\n3.1.1 Minnesota\nUnder Minnesota Administrative Rules Chapter 7610 (Commerce 2005), utilities are required to file an annual data report that supports the identification of “emerging energy trends based on supply and demand, conservation and public health and safety factors, and to determine the level of statewide and service area needs.” (Minnesota Department of Commerce 2022) This includes a report of county-level energy deliveries (reported in thousand cubic feet, commonly written as mcf). Because the information is structured in this manner, natural gas emissions at the county-level can be estimated as a direct function of energy deliveries to counties reported by utilities, which is not the case in Wisconsin (some modeling and estimation is required in WI).\n\n\n3.1.2 Wisconsin\nUnder Wis. Stat. § 196.07, investor-owned natural gas utilities operating within the state of Wisconsin must submit annual reports to the State which include an array of information related to utility finance and operations, including key figures leveraged in our data collection, such as total energy deliveries made (in units of therms) and total number of customer accounts within each county (Wisconsin State Legislature 2024). Because all four “in-scope” natural gas utilities in Wisconsin are investor-owned, we did not have to refer to federal sources or use population figures to estimate energy deliveries. We estimated county-wide emissions from natural gas in 2021 by first calculating the proportion of each utility customer accounts that were linked to either Pierce or St. Croix counties, and allocating that proportion of the utility’s total reported energy delivery to each county. This approach represents a divergence from our Minnesota process, which involves aggregating county-level numbers directly reported by utilities, and implicitly assumes that customer accounts across counties within the operations of a given utility have the same average per-account demand for energy, when in actuality this is likely impacted by land-use mix and relative magnitude/scale of residential and commercial/industrial utility accounts within a given county.\n\\[mcfDelivered_iCounty_j = (mcfEnergyDeliveries_i \\times {ProportionOfTotalUtilityCustomers_j}) \\]\n\n\n\n\n\nCommerce, Minnesota Department of. 2005. CHAPTER 7610, ENERGY INFORMATION REPORTING. https://www.revisor.mn.gov/rules/7610/.\n\n\nMinnesota Department of Commerce. 2022. “Annual Reporting Forms for Electric and Gas Utilities.” Government/regulatory filings. Annual Reporting. 2022. https://mn.gov/commerce/energy/industry-government/utilities/annual-reporting.jsp.\n\n\nWisconsin State Legislature. 2024. Chapter 196, Regulation of Public Utilities. 35.18. https://docs.legis.wisconsin.gov/statutes/statutes/196." - }, - { - "objectID": "_energy/data_propane_kerosene.html", - "href": "_energy/data_propane_kerosene.html", - "title": "4  Propane and kerosene", - "section": "", - "text": "U.S Energy Information Administration provides per household estimates of residential energy use from residential surveys of propane and kerosene usage patterns and billing data at regional and state scales. These estimates are provided every 5 years, most recently in 2020 (US EIA 2023). The American Community Survey, curated by the US Census Bureau, provides the estimated number of households using each fuel type at more granular spatial and temporal scales, including county level estimates in 2021. Energy generation and GHG emissions from these fuels was estimated for each of the 11 counties in our 2021 inventory using these two data sources in combination. Both data sources are from federal governmental agencies, categorized as the highest rank of data quality (Table B.2).\nEIA RECS data was downloaded from their data portal. EIA surveyed 32,882 households nationally for 2020 data and provides estimated mmBtu (millions of British thermal units) generation from propane per household using that fuel at the state level and at the Midwest regional level for kerosene. ACS data was accessed using the tidycensus package in R. ACS conducted 62,778 household interviews in Minnesota in 2021 and provides county estimates of the number of households using a given fuel. Multiplying the estimated mmBtu generated per household in a given region by the county-level estimate of households using the fuel provides a county-level estimate of mmBtu generation from each of propane and kerosene and is then converting to CO2 equivalency using the EPA’s emission factors. This approach assumes energy generation per household per fuel is equal across each state (for propane) and the Midwest region (for kerosene).\n\n\n\nFigure 4.1: 2021 annual liquid stationary fuel emissions\n\n\n\n\n\n\n\n\n\n\nUS EIA. 2023. “2020 Residential Energy Consumption Survey: Consumption and Expenditures Technical Documentation Summary.” Government. Washington, DC 20585: U.S. Department of Energy. https://www.eia.gov/consumption/residential/data/2020/pdf/2020%20RECS%20CE%20Methodology_Final.pdf." - }, - { - "objectID": "_energy/qc_energy.html#electric-power-consumption", - "href": "_energy/qc_energy.html#electric-power-consumption", - "title": "5  Deliverables", - "section": "5.1 Electric power consumption", - "text": "5.1 Electric power consumption\nLocal inventory of GHG emissions from electric power consumption with documentation of the following QC activities:\n\nnarrative report describing data sources and QC measures for data acquisition steps,\ndescription of methodology and QC measures for validated proper implementation of methodology, and\ndocumentation of QAPP implementation.\nlisting of emissions reductions options are present with documentation of rationale for each option.\n\n\n5.1.1 Quality control\n\nCompare (a) the local estimate in inventory versus (b) data from SLOPE (NREL 2017), state averages, or other data resources available from DOE such as Form EIA 861 data. Use a table similar to the table below to assess precision and bias of the local estimates versus estimates derived from SLOPE, state averages, or representative EIA 861 data, if available. Additionally, precision and bias calculations will be in accordance with the EPA’s Data Assessment Statistical Calculator (DASC) Tool with the community’s estimate taken as the measured value and the LGGIT (US EPA 2017) value taken as the audit value.\nSLOPE (NREL 2017) data are provided in million British thermal units (MMBtu’s) of electricity usage, EIA 861 usage data are provided in megawatt-hours (MWh), but the LGGIT (US EPA 2017) inputs for electricity usage must be in kilowatt-hours (kWh). When comparing any two datasets, ensure that the units of measure are converted to a consistent basis prior to making the comparison.\nEnsure the GWPs used for the local estimate and the independent estimate are on the same basis.\nTechnical review of methods, calculations, and underlying datasets — data are appropriate for intended use, data are complete and representative and current, data sources documented, analytical methods are appropriate, and calculations are accurate.\nReview by TL or senior technical reviewer — analytical methods and results are explained clearly, technical terms are defined, conclusions are reasonable based on information presented, and level of technical detail is appropriate)\nEditor review — writing is clear, free of grammatical and typographical errors.\n\n\n\n\n\n\n \n Table 5.1: Local estimate comparison with control estimate \n \n \n Power Consuming Sector\n Initial Local Estimate (Metric Tons CO₂e)\n QC Estimate based on SLOPE (Metric Tons CO₂e)\n \n \n \n Residential\n\n\n Commercial\n\n\n Industrial\n\n\n Transportation\n\n\n Other\n\n\n \n \n \n\n\n\n\n\n\n\n\n\n\nNREL. 2017. “SLOPE: State and Local Planning for Energy.” https://maps.nrel.gov/slope/.\n\n\nUS EPA, OAR. 2017. “Local Greenhouse Gas Inventory Tool.” Data and Tools. June 30, 2017. https://www.epa.gov/statelocalenergy/local-greenhouse-gas-inventory-tool." - }, - { - "objectID": "_transportation/_transportation.html#introduction", - "href": "_transportation/_transportation.html#introduction", - "title": "6  Mobile combustion", - "section": "6.1 Introduction", - "text": "6.1 Introduction\nThis is the transportation section for estimating on-road emissions.\nNote that this does not include buses, trains, freight rail, light rail, and other transportation emissions." - }, - { - "objectID": "_transportation/_transportation.html#methods", - "href": "_transportation/_transportation.html#methods", - "title": "6  Mobile combustion", - "section": "6.2 Methods", - "text": "6.2 Methods\nThe general workflow for transportation emissions is to find vehicle miles traveled for a given geography,\n\\[Emissions = miles \\times \\frac{\\text{GHG grams}}{mile}\\]\n\n6.2.1 Vehicle Miles Traveled\nTo find the estimated number of vehicle miles traveled (VMT), we used the estimated number of vehicles and the average trip length in miles for all origin - destination pairs and vehicle types (passenger, medium-duty, and heavy-duty). VMT is calculated as follows:\n\\[VMT = trips \\times length\\] where\n\\[trips = \\text{number of trips}\\] \\[length = \\text{average trip length in miles}\\]\n\n\n6.2.2 Emissions factors\nYou can read more about emissions factors we used in Section 7.3.\n\\[Emissions=\\frac{1}{2}T_{o} + \\frac{1}{2}T_{d} + T{_s}\\]\nwhere\n\\[T_o=\\textrm{grams of emissions for each GHG from all trips originating in the county}\\]\n\\[T_d=\\textrm{grams of emissions for each GHG from all trips ending in the county}\\]\nand\n\\[T_s=\\textrm{grams of emissions for each GHG for trips originating and ending within the county}\\]\nTransportation VMT and emissions were calculated in vmt_emissions.R, using functions calculate_emissions() and calculate_vmt()." - }, - { - "objectID": "_transportation/_transportation.html#results", - "href": "_transportation/_transportation.html#results", - "title": "6  Mobile combustion", - "section": "6.3 Results", - "text": "6.3 Results\n\n\n\nFigure 6.1: Transportation county emissions\n\n\n\n\n\nWe can also view this data broken out by vehicle weight in Figure 6.2.\n\n\n\nFigure 6.2: 2021 annual emissions by vehicle weight\n\n\n\n\n\n\n6.3.1 Correlation with related data\nWe would expect counties with higher population to have higher emissions and VMT.\n\n\n\nFigure 6.3: County population and transportation emissions\n\n\n\n\n\n\n\n6.3.2 Comparison with other inventories\n\n6.3.2.1 National Emissions Inventory\nThe National Emissions Inventory (NEI) is a comprehensive and detailed estimate of air emissions of criteria pollutants, criteria precursors, and hazardous air pollutants from air emissions sources. The county-level GHG emissions included in the NEI for this category are calculated by running the MOVES model with State-, Local-, and Tribal-submitted activity data and EPA-developed activity inputs based on data from FHWA and other sources (USEPA 2023).\nNEI data were pulled using the EnviroFacts API and processed in R scripts: epa_nei.R and epa_nei_transportation.R\nWe expect that the NEI data will show higher emissions, because it is based on overall activity, not explicit origin-destination travel.\n\n\n\nFigure 6.4: County estimated emissions, NEI and calculated\n\n\n\n\n\n\n\n6.3.2.2 Local Greenhouse Gas Inventory Tool (LGGIT)\nEPA’s Local Greenhouse Gas Inventory Tool (LGGIT) was developed to help communities across the United States to evaluate their greenhouse gas emissions. We used the LGGIT to validate our calculations and datasets (US EPA 2017).\nWe used the LGGIT Excel workbook tool with the following inputs in the “Mobile-Data” sheet. Several calculations and assumptions were made\n\nPassenger VMT was split between gasoline and diesel powered vehicles based on regional fleet composition in the Travel Behavior Inventory (TBI).\nPassenger vehicle age was determined from the median vehicle model year in the TBI. See Section 7.4.1 for more detail.\nFuel consumption was calculated by dividing VMT by average vehicle miles per gallon (MPG), specific to vehicle type and fuel type.\nFuel efficiency data were taken from the LGGIT tool and verified with the EPA Emission Factors Hub (2021 edition) (USEPA 2021).\n\nAll medium-duty VMT were classified as “Light Truck”, while all heavy-duty VMT were classified as “Heavy-Duty Vehicle”.\n\nCommercial trucks were assumed to be year 2007, based on a 2018 report that found the average age of trucks in the US to be 14.2 years (Brusseau 2019) (2021 - 14 = 2007).\n\nLGGIT entries and resulting output tables were generated and processed in epa_lggit.R.\n\n\n\n\n\n \n Table 6.1: Mobile data entered into LGGIT \n \n \n ID\n Unit Description\n Sector\n Vehicle Year\n Vehicle Type\n Vehicle Model (optional)\n Fuel Type\n Fuel Consumption\n VMT\n \n \n \n 1\nPassenger Car Gasoline\nResidential\n2013\nPassenger Car\n\nGasoline\n943,537,473\n22,739,253,097\n 2\nPassenger Car Diesel\nResidential\n2014\nPassenger Car\n\nDiesel\n8,524,236\n276,185,260\n 3\nMedium-duty\nCommercial/Institutional\n2007\nLight Truck\n\nDiesel\n37,318,257\n824,733,487\n 4\nHeavy-duty\nCommercial/Institutional\n2007\nHeavy-Duty Vehicle\n\nDiesel\n10,186,928\n132,022,580\n \n \n \n\n\n\n\n\nThe results from the LGGIT tool estimate a regional emissions total of 8,891,741 metric tons CO2e, while our calculations estimate 8,757,962 metric tons CO2e. These values are sufficiently close, and may be explained by differences between nationwide vehicle emission rates and fuel efficiency and region-specific values from EPA MOVES. Additionally, LGGIT uses global warming potential (GWP) values from the Intergovernmental Panel on Climate Change (IPCC) Fifth Assessment Report (AR5) (IPCC and Core Writing Team 2014), while our calculations use slightly higher values from the 6th Assessment Report (AR6) (IPCC 2023). See Section 7.3 for a more detailed comparison.\n\n\n\n\n\nBrusseau, Dawn. 2019. “Aging Trucks Create More Service Opportunities.” Industry. NTEA. January 11, 2019. https://www.ntea.com/NTEA/NTEA/Member_benefits/Industry_leading_news/NTEANewsarticles/Aging_trucks_create_more_service_opportunities.aspx.\n\n\nIPCC. 2023. Climate Change 2021 – The Physical Science Basis: Working Group I Contribution to the Sixth Assessment Report of the Intergovernmental Panel on Climate Change. 1st ed. Cambridge University Press. https://doi.org/10.1017/9781009157896.\n\n\nIPCC, and Core Writing Team. 2014. “Climate Change 2014: Synthesis Report. Contribution of Working Groups I, II and III to the Fifth Assessment Report of the Intergovernmental Panel on Climate Change.” Edited by R.K. Pachauri and L.A. Meyer. Geneva, Switzerland: Intergovernmental Panel on Climate Change. https://www.ipcc.ch/assessment-report/ar5/.\n\n\nUS EPA, OAR. 2017. “Local Greenhouse Gas Inventory Tool.” Data and Tools. June 30, 2017. https://www.epa.gov/statelocalenergy/local-greenhouse-gas-inventory-tool.\n\n\nUSEPA. 2021. “GHG Emission Factors Hub.” https://www.epa.gov/system/files/documents/2023-04/emission-factors_sept2021.pdf.\n\n\n———. 2023. “2020 National Emissions Inventory Technical Support Document.” Government EPA-454/R-23-001a. Office of Air Quality Planning; Standards. https://www.epa.gov/air-emissions-inventories/2020-national-emissions-inventory-nei-technical-support-document-tsd." - }, - { - "objectID": "_transportation/data_transportation.html#streetlight-data", - "href": "_transportation/data_transportation.html#streetlight-data", - "title": "7  Data sources", - "section": "7.1 StreetLight Data", - "text": "7.1 StreetLight Data\nStreetLight Data is a transportation analytics platform that uses aggregated location-based services (LBS) data from cell phones, GPS data, and connected vehicle data to deliver insights on travel patterns. For this project, we used StreetLight to find the volume of traffic (number of vehicles) and average trip length for passenger and commercial vehicles.\nThe Metropolitan Council used StreetLight for our 2018 inventory.\nFor ease of access, we used {streetlightR} to interact directly with the StreetLight API. {streetlightR} is an open-source R package maintained by Council staff. We also used StreetLight InSight®, an online interface for running StreetLight analyses. Our subscription to StreetLight is part of MnDOT’s transportation analysis with regional data for informed strategies program. StreetLight falls second, only behind government data sources, in the data quality table (Table B.2).\nUsing the API, we uploaded the CPRG county geography and then performed an origin-destination analysis, in which all counties were both an origin and destination. This resulted in detailed vehicle counts for traffic between and within each of the counties. The data were then pulled and cleaned for estimating passenger and commercial VMT. The data were filtered to ensure all day types and day parts were included in the VMT calculations. Analyses were configured to include all months in 2021 and the most recent metric version (R131-M129) available was used.\nAll StreetLight API operations are recorded in R scripts: stl_upload_zone_sets.R, stl_run_analyses.R, and stl_fetch_analyses.R.\n\n7.1.1 Passenger\nFor passenger data, we used StreetLight Volume - an estimate of the number of vehicles. StreetLight uses a sample of devices with location-based services (LBS) and vehicles with location technology (connected vehicle data) to model number of vehicles (StreetLight Data 2024).\nThe models that make up StreetLight Volume predict vehicle volumes by combining location-based services (LBS) and connected vehicle trips with contextual features that represent the street network, demographics, climate, and other geographic characteristics (StreetLight Data 2023a). The models are validated against data permanent traffic counters across the country, including in the study area.\nStreetLight provides a rough sample size for the entire analysis, as shown in Table 7.1.\n\n\n\n\n\n\nTable 7.1: StreetLight passenger travel analysis sample size \n \n \n Data periods\n Mode of travel\n Approximate device count\n Approximate trip count\n \n \n \n Jan 01, 2021 - Dec 31, 2021\nAll Vehicles LBS Plus - StL All Vehicles Volume\n1,038,000\n125,411,000\n \n \n \n\n\n\n\n\n\n7.1.1.1 Trip length validation\nStreetLight returns not only vehicle volume, but also trip attributes, like trip length. We then use this to estimate vehicle miles traveled, by multiplying volume by average trip length for each origin-destination pair.\n\n\n\nFigure 7.1: StreetLight origin-destination passenger trip length matrix\n\n\n\n\n\nStreetLight also provides an estimation of the overall trip distance distribution. Use the widget below to find the distributions of various origin-destination pairs.\n\n\n\nFigure 7.2: StreetLight passenger trip length distribution widget\n\n\n\nSelect an origin and destination county to visualize\n\nOrigin county\n\n\n\n\n\n\nDestination county\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTo test logical validity of average trip lengths, we will compare the minimum distance between each origin and destination with the average trip length. These should correlate.\nIn cases where the origin and destination counties are not adjacent, the average trip length is consistently higher than the minimum distance between the counties.\n\n\n\nFigure 7.3: Avg. trip distance and minimum distance between counties\n\n\n\n\n\nWe can also compare these distances with the observed average trip distance from the Met Council Travel Behavior Inventory (TBI). Read more about the TBI in Section 7.4.\nFigure 7.4 shows a strong positive correlation when comparing origin-destination pairs. Note that TBI origin-destination pairs with fewer than 30 observed trips were removed due to low sample size.\n\n\n\nFigure 7.4: Avg. trip distance, Travel Behavior Inventory and StreetLight\n\n\n\n\n\nWe would also expect that large counties will have longer trip lengths and smaller counties will have shorter trip lengths.\nComparing trip distance and county area, we see a weakly positive correlation (the larger the county, the longer the average trip).\n\n\n\nFigure 7.5: Avg. distance for trips within county and county area\n\n\n\n\n\n\n\n\n7.1.2 Commercial\nStreetLight does not provide StreetLight Volume for 2021 commercial vehicle analyses. To measure volume for commercial traffic, we used the StreetLight Index, a relative measure of traffic volume, calibrated using AADT values to result in traffic volume (StreetLight Data 2023b).\nStreetLight compares the AADT calibration values for a given zone with StreetLight’s sample size for the same zone, and creates a calibration factor to apply to the entire analysis (StreetLight Data 2023d). We generated a calibration zone set for commercial traffic by selecting road segments with both AADT and vehicle classification data in both MN and WI counties within the CPRG study area. Read more about state DOT vehicle weight distribution data in Section 7.2.2.\n\n\n\n\n\n\nTable 7.2: StreetLight commercial travel analysis sample size \n \n \n Data periods\n Mode of travel\n Vehicle weight\n Approximate device count\n Approximate trip count\n \n \n \n Jan 01, 2021 - Dec 31, 2021\nTruck - StL Calibrated Truck Index\nMedium\nN/A\n1,514,000\n Jan 01, 2021 - Dec 31, 2021\nTruck - StL Calibrated Truck Index\nHeavy\nN/A\n605,000\n \n \n \n\n\n\n\n\n\n7.1.2.1 Trip length\nStreetLight calculates trip length in the same manner as passenger trips.\n\n\n\nFigure 7.6: StreetLight origin-destination medium-duty trip length matrix\n\n\n\n\n\n\n\n\nFigure 7.7: StreetLight origin-destination heavy-duty trip length matrix\n\n\n\n\n\n\n\n\nFigure 7.8: StreetLight commercial trip length distribution widget\n\n\n\nSelect an origin and destination county to visualize\n\nOrigin county\n\n\n\n\n\n\nDestination county\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n7.1.2.2 Calibration\nStreetLight classifies commercial vehicles by Federal Highway Administration (FHWA) gross vehicle weight range (GWVR) classes: where vehicles between 14,000 lbs and 26,000 lbs (Class 4 to Class 6) are considered medium-duty, and vehicles greater than 26,000 lbs (Class 7+) are heavy-duty (StreetLight Data 2023c).\nEPA’s Motor Vehicle Emissions Simulator (MOVES) has their own, slightly different vehicle classification system (USEPA 2016).\nAfter reviewing MnDOT’s visual definitions of commercial vehicles, we defined MnDOT vehicle types 4-7 as medium-duty and types 8-13 as heavy-duty. We believe this configuration aligns most closely with both StreetLight’s and MOVES’s vehicle classifications schemes.\nHowever, vehicles falling in FHWA class 7 (> 26,000 lbs, < 33,000 lbs) are classified as medium duty by state DOTs, and heavy duty by StreetLight. This discrepancy is relatively small, and is unlikely to heavily influence emissions reported.\n\n\n\n\n\n \n Table 7.3: Vehicle weight classifications by data source \n \n \n Gross vehicle weight rating (lbs)\n FHWA\n DOT\n StreetLight\n \n \n \n <6000\nClass 1: <6,000 lbs\nLight-duty\nLight-duty\n 10,000\nClass 2: 6,001-10,000lbs\nLight-duty\nLight-duty\n 14,000\nClass 3: 10,001-14,000 lbs\nLight-duty\nLight-duty\n 16,000\nClass 4: 14,001-16,000 lbs\nMedium-duty\nMedium-duty\n 19,500\nClass 5: 16,001-19,500 lbs\nMedium-duty\nMedium-duty\n 26,000\nClass 6: 19,501-26,000 lbs\nMedium-duty\nMedium-duty\n 33,000\nClass 7: 26,001-33,000 lbs\nMedium-duty\nHeavy-duty\n >33,000\nClass 8+: >33,001 lbs\nHeavy-duty\nHeavy-duty\n \n \n \n\n\n\n\n\nTo create the calibration dataset, we found the ratio of passenger/medium/heavy-duty vehicles at traffic count stations within our study area using state DOT data. You can read more about vehicle classification data in Section 7.2.2.\n\n\n\n7.1.3 Total vehicle volume validation\nTo validate our county origin-destination VMT data, we can compare the county totals to the DOT reported values from MnDOT (MnDOT 2021a) and WisDOT (WisDOT 2021). Note that these data include all vehicle types, both passenger and commercial.\n\n\n\nFigure 7.9: County vehicle miles traveled and StreetLight Volume\n\n\n\n\n\n\n\n7.1.4 Limitations\n\nThe data used for passenger traffic contains “all vehicles”, not just passenger vehicles, meaning that commercial vehicles may be double counted. As a default, StreetLight suggests that users use a ratio of 96/2/2 (96% passenger, 2% medium, 2% heavy). We could apply a scaling factor of 0.96 to the passenger data to account for this.\nCommercial vehicle classifications schemes differ across data sources, though the scale of this effect is unknown." - }, - { - "objectID": "_transportation/data_transportation.html#state-dot-data", - "href": "_transportation/data_transportation.html#state-dot-data", - "title": "7  Data sources", - "section": "7.2 State DOT data", - "text": "7.2 State DOT data\nAs required by federal law, Minnesota and Wisconsin state departments of transportation (MnDOT and WisDOT) report various traffic measures for planning, forecasting, and various analysis endeavors.\n\n7.2.1 Vehicle miles traveled\nVehicle miles traveled (VMT) is a standardized measure created by multiplying average annual daily traffic (AADT) by centerline miles. AADT is an estimate of the total vehicles on a road segment on any given day of the year in all directions of travel. VMT and AADT are common traffic measures and standardized across the United States.\nMnDOT and WisDOT derive VMT using traffic counts from continuous and short term traffic monitoring sites. These raw counts are adjusted by multiplying seasonal, day-of-week, and axle adjustment factors WisDOT (2023). Data is not collected for every site every year, but the data are sufficient for year-over-year comparisons.\nThese data were compiled from MnDOT and WisDOT county level reports. MnDOT provides Excel workbooks with VMT by county and route system on their website. These were downloaded, filtered to include the relevant counties, and aggregated to the county level by summing VMT by county/route system. Processing code can be found in mndot_vmt_county.R.\nWisDOT publishes PDF tables with county-level VMT. These were downloaded and data was extracted using {tabulizer}, an R package interfacing with the Tabula PDF extractor library. Processing code can be found in wisdot_vmt_county.R.\n\n\n\nFigure 7.10: County vehicle miles traveled\n\n\n\n\n\n\n\n7.2.2 Vehicle distribution by weight\nTo calibrate the generalized StreetLight Index to get commercial vehicle counts, we created a set of spatial lines (roads) to calibrate StreetLight’s metrics. For each calibration road, we found the proportion of passenger, medium-, and heavy-duty vehicles in the most recently available year, up to 2021.\nState DOTs operate vehicle classification stations, which provide both the volume of traffic on a given road segment and, for some locations, the breakdown of volume by vehicle type. We obtained this breakdown using data from MnDOT (MnDOT 2021b) and WisDOT (WisDOT 2020) reporting websites.\nMnDOT provides AADT road segments, which align with station identification numbers. Wisconsin does not readily supply AADT road segment data, so as suggested by the Wisconsin cartographers office (State Cartographer’s Office 2021) we pulled OpenStreetMaps road data (OSM version 0.6).\nThen, we selected only the stations within the study area with observations in the last five years (2017-2021). Finally, we joined this data with AADT WisDOT (2021) road segments by station ID. The road segments sampled include multiple road functional classes and segments in all counties. All traffic sensor stations pulled were permanent, continuous monitoring sites. Data were cross-validated by verifying AADT and weight distribution fields on MnDOT and WisDOT traffic mapping applications.\nData were processed in R scripts: wisdot_stations.R, mndot_extract_yearly_volume_trends.R, mndot_stations.R, calibration_lines_points.R.\n\n\n\nFigure 7.11: StreetLight calibration locations and values\n\n\n\n\n\nOnly 27 calibration roads were used for this inventory due to data availability constraints.\n\n\n\nFigure 7.12: Vehicle weight distribution at calibration points\n\n\n\n\n\n\n\n7.2.3 Limitations\n\nAADT/VMT data rely on modeling, and not every site will have new observed data every year.\nAADT/VMT are generally estimated for high-use arterial roads and highways, leaving local roads out.\nWe may want to consider using non-permanent counters and/or counters from just outside the study region to increase the total number of calibration roads." - }, - { - "objectID": "_transportation/data_transportation.html#sec-epa-moves", - "href": "_transportation/data_transportation.html#sec-epa-moves", - "title": "7  Data sources", - "section": "7.3 EPA MOVES", - "text": "7.3 EPA MOVES\nEmissions rates for our region were calculated using the EPA’s Motor Vehicle Emissions Simulator (MOVES) (USEPA 2016). MOVES calculates emissions factors using Council’s regional travel demand model, Minnesota Department of Vehicle Services’ county vehicle registration data, and the Minnesota Pollution Control Agency’s vehicle age distribution. Each of these inputs helps the model estimate the characteristics of vehicles on the road in our region. The model takes into account differences in fuel economy (miles per gallon) depending on a vehicle’s age and size, as well as its fuel intake (diesel or gasoline). The results are specific to the conditions of our region, and so are more accurate than national averages.\nMOVES is a high-quality government modeling system with strong data inputs and outputs. We requested this data from our MOVES coordinator who ran the model and shared the resulting table with us. The model run covers the entirety of the 7-county metro for years 2018 and 2019 1, using MOVES version 2014B.\nThe resulting table provides grams of CO2, CH4, and N2O per vehicle mile traveled. We imported, processed, and saved the data in an R script, epa_moves.R. CO2 equivalence (CO2e) values are derived using global warming potential (GWP) values. See Section A.2 for more details.\n\n\n\n\n\n \n Table 7.4: Emissions in grams per mile traveled by vehicle weight in the Twin\nCities region. EPA MOVES. \n \n \n Vehicle weight\n MOVES year\n Grams CH₄ per mile\n Grams N₂O per mile\n Grams CO₂ per mile\n Grams CO₂e per mile\n \n \n \n Passenger\n2019\n0.01\n0.01\n353.43\n356.36\n Medium\n2018\n0.01\n0.01\n473.24\n476.17\n Heavy\n2018\n0.02\n0.04\n1,212.36\n1,223.59\n \n \n \n\n\n\n\n\n\n7.3.1 Comparsion with EPA GHG Emissions Hub (2021)\nFor comparison, we pulled the emissions per mile rates from the Local Greenhouse Gas Inventory Tool (LGGIT), which align with the 2021 EPA GHG Emission Hub (USEPA 2021).\n\n\n\n\n\n \n Table 7.5: Grams of emissions per mile by vehicle type and fuel type. EPA GHG\nEmission Hub (2021) \n \n \n Vehicle type\n Vehicle model year\n Fuel type\n Grams CH₄ per mile\n Grams N₂O per mile\n Grams CO₂ per mile\n Grams CO₂e per mile\n \n \n \n Passenger Car\n2013\nGasoline\n0.01\n0.00\n364.32\n365.73\n Passenger Car\n2014\nDiesel\n0.03\n0.02\n315.12\n321.06\n Light Truck\n2007\nDiesel\n0.00\n0.00\n461.99\n462.39\n Heavy-Duty Vehicle\n2007\nDiesel\n0.01\n0.04\n787.81\n799.50\n \n \n \n\n\n\n\n\nTo directly compare overall passenger emissions rates, we applied a weighted average to the EPA GHG Hub emissions rates for passenger vehicles according to the regional fleet gasoline-diesel distribution (98% gasoline, 2% diesel). Learn more about the regional fleet in Section 7.4.1.\n\n\n\nFigure 7.13: MOVES and GHG Emissions Hub per mile emission rates by vehicle weight\n\n\n\n\n\n\n\n7.3.2 Limitations\n\nThis edition of MOVES is outdated relative to our estimation year (2021).\nWe are not breaking out vehicles by fuel type; instead, we are aggregating based on the regional fleet. This may result in more inaccuracies.\nMOVES only accounts for vehicles that are registered in the 7-county metro area, so does not account for vehicles on regional roads, but registered elsewhere. However, the traffic generated from those vehicles is detected in the regional travel demand model.\nMOVES values were last updated in 2019. We anticipate using a more recent version of MOVES for the CCAP." - }, - { - "objectID": "_transportation/data_transportation.html#sec-tbi", - "href": "_transportation/data_transportation.html#sec-tbi", - "title": "7  Data sources", - "section": "7.4 Travel Behavior Inventory", - "text": "7.4 Travel Behavior Inventory\nThe Metropolitan Council Travel Behavior Inventory (TBI) is a bi-annual household survey of around 7,500 families in the 7-county Twin Cities metro and three neighboring Wisconsin counties. Information on people, households, trips, and vehicles are collected (Metropolitan Council 2021). This survey was active in the field from May 22, 2021 to February 5, 2023.\nData were imported directly from a Council-maintained public GitHub repository. The calculations below were verified from other Council analysis projects using the same dataset. Exactly 7,745 households with homes in any of the 11 CPRG counties were included in this subset of the TBI dataset.\nTBI survey statistics were processed in tbi_survey_stats.R.\n\n\n\n\n\n \n Table 7.6: 2021 TBI household survey geographic distribution \n \n \n Household county\n Estimated number of households\n Estimated number of households standard error\n Estimated percentage of households in county\n Estimated percentage of all households in county standard error\n Sample size\n \n \n \n Hennepin\n506,749\n14,883\n35.10%\n0.99%\n3,573\n Ramsey\n209,722\n9,467\n14.52%\n0.65%\n1,804\n Dakota\n161,097\n11,679\n11.16%\n0.76%\n652\n Outside CPRG area\n149,827\n12,223\n10.38%\n0.79%\n475\n Anoka\n128,264\n11,620\n8.88%\n0.76%\n450\n Washington\n94,091\n8,075\n6.52%\n0.55%\n377\n Scott\n51,448\n7,005\n3.56%\n0.48%\n158\n Carver\n34,501\n5,751\n2.39%\n0.39%\n139\n St Croix\n34,456\n5,753\n2.39%\n0.39%\n108\n Sherburne\n34,579\n5,602\n2.39%\n0.38%\n102\n Chisago\n20,014\n4,523\n1.39%\n0.31%\n63\n Pierce\n19,143\n4,564\n1.33%\n0.31%\n49\n \n \n \n\n\n\n\n\n\n7.4.1 Regional fleet characteristics\nWe used 2021 TBI data to determine the regional average vehicle age and distribution of diesel and gasoline passenger vehicles of households in the CPRG study area.\nVehicles were classified into two broad fuel categories - diesel and gas + all other fuels (including gasoline, electric, flex-fuel, hybrid, and plug-in hybrid) - to best match the average miles per gallon table specifications in the EPA Local Greenhouse Gas Inventory Tool (LGGIT). The resulting value is on par with recent statistics from the Bureau of Transportation Statistics (BTS), which calculates the average passenger vehicle age in 2021 to be 12.1 years (BTS 2023).\nTBI data were cleaned to only include vehicles with complete data and model year 1980 or later. Vehicles with a fuel type “Other (e.g., natural gas, bio-diesel)” were removed due to low sample size.\nRegional fleet statistics were processed in tbi_vehicle_stats.R.\n\n\n\n\n\n \n Table 7.7: Median vehicle age and proportion of all regional vehicles by grouped\nfuel type \n \n \n Fuel type\n Median vehicle year\n Median vehicle year standard error\n Estimated number of vehicles\n Estimated number of vehicles standard error\n Estimated percentage of all vehicles\n Estimated percentage of all vehicles standard error\n Sample size\n \n \n \n Gas + all other fuels\n2013\n0\n2,340,466\n62,664\n98.80%\n0.21%\n10,657\n Diesel\n2014\n2\n28,400\n4,927\n1.20%\n0.21%\n128\n \n \n \n\n\n\n\n\n\n\n\nFigure 7.14: Regional vehicle fleet model year by fuel type\n\n\n\n\n\n\n\n7.4.2 Average trip distance between counties\nThe average trip distance for the entire region is 6.28 miles (standard error 0.14), based on a sample of 117,870 trips.\nTrips with distances over 720 miles (the equivalent of 12 hours of driving at 60 miles per hour) were removed. Only Minnesota CPRG counties were available for analysis.\nWe used the TBI to validate StreetLight’s average trip length. See Section 7.1.1.1 for more detail.\nTBI trip distances were processed in tbi_trip_length.R.\n\n\n\n\n\n \n Table 7.8: Regional mean trip distance. 2021 TBI. \n \n \n Mean trip distance (miles)\n Mean trip distance standard error\n Estimated number of trips\n Estimated number of trips standard error\n Distance variance\n Sample size\n \n \n \n 6.28\n0.14\n8,567,961\n88,994\n157\n117,870\n \n \n \n\n\n\n\n\nOrigin-destination pairs with fewer than 30 observed trips were removed.\n\n\n\nFigure 7.15: TBI origin-destination trip length matrix\n\n\n\n\n\n\n\n\n\n\n\n \n Table 7.9: Mean trip distance by origin-destination county \n \n \n Origin-Destination pair\n Sample size\n Mean trip distance (miles)\n Mean trip distance standard error\n Estimated number of trips\n Estimated number of trips standard error\n Distance variance\n \n \n \n Hennepin-Hennepin\n46,479\n4.26\n0.07\n2,985,758\n48,078\n27.14\n Ramsey-Ramsey\n20,577\n3.34\n0.13\n1,114,590\n28,257\n42.16\n Dakota-Dakota\n9,442\n3.22\n0.11\n793,420\n30,618\n12.18\n Anoka-Anoka\n4,476\n3.52\n0.20\n613,754\n30,689\n18.40\n Washington-Washington\n5,711\n3.44\n0.12\n525,961\n21,624\n10.55\n Scott-Scott\n1,899\n4.67\n0.46\n248,429\n18,964\n26.04\n Ramsey-Hennepin\n4,035\n11.20\n1.31\n183,738\n10,688\n901.47\n Hennepin-Ramsey\n3,997\n11.30\n0.63\n181,794\n10,332\n158.39\n Hennepin-Anoka\n1,279\n12.11\n0.80\n149,876\n15,673\n83.96\n Anoka-Hennepin\n1,261\n11.97\n0.65\n149,460\n14,876\n51.39\n Carver-Carver\n2,099\n8.56\n3.71\n145,007\n14,525\n1,520.02\n Ramsey-Washington\n1,463\n11.98\n1.34\n103,637\n8,819\n327.17\n Hennepin-Dakota\n1,354\n14.66\n0.69\n97,582\n9,736\n45.67\n Washington-Ramsey\n1,426\n9.26\n0.54\n94,323\n8,217\n40.85\n Sherburne-Sherburne\n702\n23.63\n9.00\n93,336\n10,987\n4,486.87\n Dakota-Hennepin\n1,336\n14.31\n0.64\n87,681\n8,402\n43.37\n Anoka-Ramsey\n720\n9.89\n0.73\n81,528\n12,577\n37.48\n Ramsey-Dakota\n1,120\n9.99\n0.64\n76,215\n9,282\n38.45\n Ramsey-Anoka\n704\n10.58\n0.70\n74,680\n12,067\n43.31\n Carver-Hennepin\n611\n12.26\n1.00\n72,673\n9,638\n127.24\n Hennepin-Carver\n593\n12.04\n1.16\n72,544\n9,776\n83.13\n Dakota-Ramsey\n1,124\n9.48\n0.64\n71,539\n8,617\n34.82\n Chisago-Chisago\n510\n7.82\n1.77\n49,698\n7,362\n116.60\n Scott-Hennepin\n413\n12.95\n1.54\n49,451\n8,581\n70.36\n Hennepin-Scott\n394\n10.76\n1.16\n47,265\n7,937\n54.46\n Dakota-Scott\n341\n8.95\n1.01\n43,366\n8,317\n43.06\n Scott-Dakota\n326\n7.88\n0.78\n39,340\n7,775\n22.29\n Washington-Dakota\n350\n15.81\n1.41\n31,371\n6,521\n57.95\n Dakota-Washington\n360\n15.18\n1.74\n29,921\n6,026\n61.85\n Washington-Hennepin\n333\n21.17\n1.24\n25,661\n4,285\n75.59\n Hennepin-Washington\n302\n20.46\n1.12\n25,492\n4,699\n45.93\n Anoka-Sherburne\n104\n14.51\n1.75\n22,934\n6,720\n82.99\n Scott-Carver\n116\n8.17\n1.20\n15,669\n3,917\n36.37\n Chisago-Washington\n144\n12.88\n2.13\n14,555\n3,566\n91.39\n Carver-Scott\n110\n6.79\n1.06\n13,873\n3,750\n19.51\n Washington-Chisago\n147\n11.11\n1.33\n13,417\n3,462\n42.53\n Washington-Anoka\n107\n21.55\n2.19\n12,164\n2,730\n166.10\n Hennepin-Sherburne\n134\n27.64\n1.68\n12,018\n2,491\n91.69\n Anoka-Chisago\n66\n27.29\n4.86\n11,404\n3,744\n204.36\n Anoka-Washington\n108\n22.20\n2.31\n11,324\n2,820\n100.45\n Sherburne-Anoka\n90\n14.21\n2.64\n8,554\n2,896\n81.15\n Sherburne-Hennepin\n128\n28.05\n1.87\n8,341\n1,848\n92.68\n Ramsey-Chisago\n61\n40.56\n2.48\n8,293\n3,062\n71.40\n Scott-Ramsey\n59\n30.16\n3.35\n6,423\n2,764\n59.68\n Chisago-Anoka\n60\n17.61\n3.94\n5,806\n2,519\n104.53\n Dakota-Carver\n54\n29.35\n0.64\n5,160\n2,602\n15.12\n Carver-Dakota\n48\n34.51\n0.83\n4,367\n2,183\n21.57\n Anoka-Dakota\n61\n27.49\n2.28\n3,814\n1,669\n45.18\n Dakota-Anoka\n51\n25.23\n0.89\n3,557\n1,237\n22.57\n Washington-Carver\n17\n55.43\n4.28\n3,136\n1,906\n107.93\n Chisago-Ramsey\n57\n33.40\n0.83\n2,921\n1,632\n16.25\n Chisago-Hennepin\n48\n49.92\n3.57\n2,886\n1,696\n58.15\n Sherburne-Ramsey\n33\n40.05\n3.31\n2,886\n905\n110.23\n Ramsey-Scott\n58\n29.36\n2.66\n1,911\n1,073\n24.57\n Hennepin-Chisago\n56\n53.25\n2.73\n1,868\n1,422\n42.25\n Ramsey-Sherburne\n27\n46.18\n2.35\n1,714\n676\n58.87\n Ramsey-Carver\n22\n35.72\n0.97\n1,606\n1,165\n25.08\n Anoka-Scott\n25\n33.48\n4.44\n1,527\n627\n108.80\n Carver-Washington\n16\n39.31\n0.40\n1,431\n562\n2.70\n Carver-Ramsey\n17\n31.04\n0.38\n1,412\n1,152\n6.93\n Scott-Anoka\n18\n37.54\n1.26\n1,217\n514\n24.36\n Dakota-Chisago\n16\n45.18\n1.21\n261\n113\n14.53\n Chisago-Dakota\n15\n46.62\n2.71\n156\n84\n34.06\n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\nBTS. 2023. “Average Age of Automobiles and Trucks in Operation in the United States.” https://www.bts.gov/content/average-age-automobiles-and-trucks-operation-united-states.\n\n\nMetropolitan Council. 2021. “Travel Behavior Inventory (TBI) 2021 Household Interview Survey.” Minnesota Geospatial Commons. https://gisdata.mn.gov/dataset/us-mn-state-metc-society-tbi-home-interview2021.\n\n\nMnDOT. 2021a. “VMT by Route System for Each County.” MnDOT Website. https://www.dot.state.mn.us/roadway/data/data-products.html#VMT.\n\n\n———. 2021b. “Yearly Volume Trends With Truck Distribution.” MnDOT Website. https://www.dot.state.mn.us/traffic/data/data-products.html.\n\n\n———. 2023. “TFA Data Collection Methods.” Government. 2023. https://www.dot.state.mn.us/traffic/data/coll-methods.html#TVPO.\n\n\nState Cartographer’s Office. 2021. “Wisconsin Road Data.” University of Wisconsin-Madison. January 29, 2021. https://www.sco.wisc.edu/data/roads/.\n\n\nStreetLight Data. 2023a. “StreetLight All Vehicles Volume Methodology and Validation White Paper - United States.” Industry November 2023. https://support.streetlightdata.com/hc/article_attachments/20771176488091.\n\n\n———. 2023b. “StreetLight Index.” Industry. https://support.streetlightdata.com/hc/en-us/articles/360018552772-StreetLight-Index.\n\n\n———. 2023c. “Truck Travel Mode.” Industry. https://support.streetlightdata.com/hc/en-us/articles/8358369620507-Truck-travel-mode.\n\n\n———. 2023d. “What Is Single Factor Calibration?” Industry. https://support.streetlightdata.com/hc/en-us/articles/360019181272-What-is-single-factor-calibration-.\n\n\n———. 2024. “All Vehicles Travel Modes.” Industry. https://support.streetlightdata.com/hc/en-us/articles/360034538232-All-Vehicles-travel-modes.\n\n\nUSEPA. 2016. “Population and Activity of On-road Vehicles in MOVES2014.” Government EPA-420-R-16-003a. Ann Arbor, MI: Office of Transportation and Air Quality. https://nepis.epa.gov/Exe/ZyPDF.cgi?Dockey=P100O7PS.pdf.\n\n\n———. 2021. “GHG Emission Factors Hub.” https://www.epa.gov/system/files/documents/2023-04/emission-factors_sept2021.pdf.\n\n\nWisDOT. 2020. “Wisconsin Vehicle Classification Data.” wisconsindot.gov. https://wisconsindot.gov/Pages/projects/data-plan/traf-fore/default.aspx.\n\n\n———. 2021. “Wisconsin Vehicle Miles of Travel (VMT).” https://wisconsindot.gov/. https://wisconsindot.gov/Pages/projects/data-plan/veh-miles/default.aspx.\n\n\n———. 2023. “Transportation Planning Manual - Chapter 9 Traffic Forecasting, Travel Demand Models and Planning Data.” Government. Bureau of Planning and Economic Development, Traffic Forecasting Section. https://wisconsindot.gov/Documents/projects/data-plan/plan-res/tpm/9.pdf." - }, - { - "objectID": "_transportation/data_transportation.html#footnotes", - "href": "_transportation/data_transportation.html#footnotes", - "title": "7  Data sources", - "section": "", - "text": "Passenger vehicles were updated to 2019. Commercial vehicles use 2018 values.↩︎" - }, - { - "objectID": "_transportation/qc_transportation.html#sec-transportation-qc-procedure", - "href": "_transportation/qc_transportation.html#sec-transportation-qc-procedure", - "title": "8  Deliverables", - "section": "8.1 Quality Control", - "text": "8.1 Quality Control\n\nComparison of local estimate of average miles traveled per year and average miles per gallon (by vehicle type) versus state and national averages.\nFor any values used in local inventory that differ from the state average MPG or the national average MPG by more than 10% the community will provide an explanation of why local factors may differ from state or national averages. Additionally, precision and bias calculations will be in accordance with the EPA’s Data Assessment Statistical Calculator (DASC) Tool with the community’s estimate taken as the measured value and the LGGIT (US EPA 2017) value taken as the audit value.\nEnsure the GWPs used for the local estimate and the LGGIT (US EPA 2017) estimate are on the same basis. The LGGIT tool uses AR5 GWP (e.g., methane GWP = 28).\nReview by TL or senior technical reviewer — analytical methods / results are explained clearly, technical terms are defined, conclusions are reasonable based on information presented, and level of technical detail is appropriate.\nEditor review — verify or edit draft deliverables to ensure clear, error-free writing.\n\n\n\n\n\n\n \n Table 8.1: Transportation average miles per year, local and quality control\ncomparison by vehicle and fuel types. \n \n \n Vehicle Type\n Local Avg Miles/yr\n QC Avg Miles/yr\n \n \n \n Passenger Car (Gasoline)\n\n\n Passenger Truck (Gasoline)\n\n\n Heavy-duty (Gasoline)\n\n\n Motorcycle (Gasoline)\n\n\n Passenger Car (Diesel)\n\n\n Passenger Truck (Diesel)\n\n\n Heavy-duty (Diesel)\n\n\n \n \n \n\n\n\n\n\n\n\n\n\n\n \n Table 8.2: Transportation average miles per gallon, local and quality control\ncomparison by vehicle and fuel types. \n \n \n Vehicle Type\n Local Avg Miles/gal\n QC Avg Miles/gal\n \n \n \n Passenger Car (Gasoline)\n\n24.1\n Passenger Truck (Gasoline)\n\n18.5\n Heavy-duty (Gasoline)\n\n10.1\n Motorcycle (Gasoline)\n\n50.0\n Passenger Car (Diesel)\n\n32.4\n Passenger Truck (Diesel)\n\n22.1\n Heavy-duty (Diesel)\n\n13.0\n \n \n \n\n\n\n\n\n\n\n\n\n\nUS EPA, OAR. 2017. “Local Greenhouse Gas Inventory Tool.” Data and Tools. June 30, 2017. https://www.epa.gov/statelocalenergy/local-greenhouse-gas-inventory-tool." - }, - { - "objectID": "_waste/_waste.html#introduction", - "href": "_waste/_waste.html#introduction", - "title": "9  Waste and wastewater", - "section": "9.1 Introduction", - "text": "9.1 Introduction\nIn 2021, waste activities over the entire United States generated emissions of 169.2 MMTCO2e, or 2.7 percent of total U.S. greenhouse gas emissions (USEPA 2023). Solid waste emissions primarily consist of CH4, emitted in large part by landfills and organics composting, but also include CO2 and N2O generation. In the metropolitan area, waste incineration accounts for a significant portion of solid waste management and therefore emissions. This inventory also includes emissions generated in the management of recyclables.\nWastewater emissions account for direct CH4 and N2O emissions from the treatment of municipal wastewater, and not additional indirect anthropogenic emissions such as the electricity needed to operate processing plants." - }, - { - "objectID": "_waste/_waste.html#sec-waste-methods", - "href": "_waste/_waste.html#sec-waste-methods", - "title": "9  Waste and wastewater", - "section": "9.2 Methods", - "text": "9.2 Methods\n\n9.2.1 Solid Waste\nThe process for calculating solid waste emissions slightly differs between Minnesota and Wisconsin counties, due to a difference in data availability. Both state’s use state or federal data sources, the highest quality data rank (Table B.2).\nFor Minnesota counties, waste generation totals are allocated by sector from Minnesota Pollution Control Agency (MPCA) SCORE data (MPCA 2022). Totals for each sector are multiplied by the appropriate EPA-provided emissions factor to provide an estimate of emissions from that source and county. Learn more about MPCA SCORE in ?sec-mpca-score.\nFor Wisconsin counties, state-level emissions data as calculated by the Wisconsin DNR is allocated to the relevant counties by population (Wisconsin DNR 2021).\nThe emissions for each county \\(c\\) are proportional to its fractional share of Wisconsin’s population.\n\\[Emissions_c = Emissions_{total} \\times \\frac{Pop_c}{Pop_{total}}\\]\n\n\n9.2.2 Wastewater\nWe used state level estimates of municipal wastewater emissions (metric tons CO2e) from the EPA state inventory and projection tool (USEPA 2024). Due to incomplete data, industrial wastewater emissions were not estimated. Emissions were apportioned to each county, \\(c\\), based on its fractional share of its state’s population.\n\\[Emissions_c = Emissions_{state} \\times \\frac{Pop_c}{Pop_{state}}\\]" - }, - { - "objectID": "_waste/_waste.html#results", - "href": "_waste/_waste.html#results", - "title": "9  Waste and wastewater", - "section": "9.3 Results", - "text": "9.3 Results\nEmissions from waste is the smallest of the three sectors in the Twin Cities MSA. Waste generated NA MMtCO2e of emissions in the Twin Cities MSA in 2021. Solid waste, including landfills, recycling, and organics, generates the largest share of emissions in the waste sector, with municipal wastewater treatment comprising a smaller share of waste emissions.\nWaste emissions in Minnesota have declined nearly 40% since 2005, due to a variety of factors including gas capture technologies and aging waste in open landfills (MPCA 2023). Waste emissions in Wisconsin show no significant change from 2005 to 2018, possibly due to increased waste generation offsetting reductions from gas capture (Wisconsin DNR 2021). The Metropolitan Council, which oversees wastewater services for the majority of the urbanized extent of the metropolitan region, continues to work to reduce wastewater emissions across its 9 wastewater treatment plants.\n\n\n\nFigure 9.1: Solid waste and wastewater county emissions\n\n\n\n\n\n\n\n\nFigure 9.2: Solid waste and wastewater county emissions by category\n\n\n\n\n\n\n9.3.1 Wastewater\nWastewater generated 0.33 MMtCO2e of emissions in the Twin Cities MSA in 2021.\n\n\n\nFigure 9.3: 2021 wastewater emissions\n\n\n\n\n\n\n\n9.3.2 Solid waste\nSolid waste generated 1.15 MMtCO2e of emissions in the Twin Cities MSA in 2021. Of that total, 57.5% of emissions came from landfill, 26.5% from waste to energy facilities, and the remaining 16.0% from organics and recycling.\n\n\n\nFigure 9.4: 2021 solid waste emissions\n\n\n\n\n\nGreenhouse gas emissions from solid waste are dominated by the landfill sector. In Hennepin, Ramsey, and Washington counties, municipal centers where a significant portion of waste is incinerated, waste-to-energy or incineration makes up a large fraction of emissions as well.\n\n\n\nFigure 9.5: 2021 solid waste emissions by category" - }, - { - "objectID": "_waste/_waste.html#correlation-with-related-data", - "href": "_waste/_waste.html#correlation-with-related-data", - "title": "9  Waste and wastewater", - "section": "9.4 Correlation with related data", - "text": "9.4 Correlation with related data\nWe would expect counties with a higher population to have higher solid waste emissions.\n\n\n\nFigure 9.6: County population and solid waste emissions" - }, - { - "objectID": "_waste/_waste.html#sec-waste-inventory-comparison", - "href": "_waste/_waste.html#sec-waste-inventory-comparison", - "title": "9  Waste and wastewater", - "section": "9.5 Comparison with other inventories", - "text": "9.5 Comparison with other inventories\n\n9.5.0.1 US Greenhouse Gas Emissions Inventory\nThe United States EPA conducts a comprehensive yearly estimate of greenhouse gas emissions from multiple sectors and gases. It also publishes statewide totals consistent with the national inventory. These emissions totals are consistent with international standards for greenhouse gas accounting, although they may differ from inventories completed at the state level for various reasons.\nUS Inventory data for the waste sector in both Minnesota and Wisconsin was downloaded from the Greenhouse Gas Inventory Data Explorer and processed in R script: epa_inventory_data.R, where it was apportioned from state to county level by population.\n\n\n\nFigure 9.7: Solid waste emissions comparison: Met Council and US GHG Inventory\n\n\n\n\n\nWastewater comparisons are very consistent, with the US GHG Inventory consistently estimating more emissions than the EPA derived Met Council estimate.\n\n\n\nFigure 9.8: Wastewater emissions comparison by county, EPA-derived Met Council and US GHG Inventory. US inventory consistently higher than Council.\n\n\n\n\n\nSolid waste emissions differences vary by county; while Ramsey, Hennepin and Washington county estimates from the US GHG Inventory are higher than the Council estimates, the opposite is true for Dakota and Anoka counties. This is likely related to the fact that Ramsey, Hennepin and Washington counties process a significant portion of their waste in waste-to-energy facilities, reducing the amount of emissions accounted for under the landfill category.\n\n\n\nFigure 9.9: Landfill emissions comparison by county, Met Council and US GHG Inventory. Results vary by county.\n\n\n\n\n\n\n\n\n\n\nMPCA. 2022. “MPCA SCORE Guidebook.” Government w-sw-1-31. St. Paul, Minnesota. https://www.pca.state.mn.us/sites/default/files/w-sw-1-31.pdf.\n\n\nMPCA. 2023. “Climate Change Trends and Data.” 2023. https://www.pca.state.mn.us/air-water-land-climate/climate-change-trends-and-data.\n\n\nUSEPA. 2023. “Inventory of U.S. Greenhouse Gas Emissions and Sinks: 1990-2021.” Reports and Assessments. https://www.epa.gov/ghgemissions/inventory-us-greenhouse-gas-emissions-and-sinks-1990-2021.\n\n\n———. 2024. “State Greenhouse Gas Inventory Tool User’s Guide for the Wastewater Module.” Government. State Energy and Environment Program. https://www.epa.gov/system/files/documents/2024-02/wastewater-users-guide_508.pdf.\n\n\nWisconsin DNR. 2021. “Wisconsin Greenhouse Gas Emissions Inventory Report.” Government AM-610-2021. Madison, Wisconsin. https://widnr.widen.net/view/pdf/o9xmpot5x7/AM610.pdf?t.download=true." - }, - { - "objectID": "_waste/data_waste.html#mpca-score", - "href": "_waste/data_waste.html#mpca-score", - "title": "10  Data sources", - "section": "10.1 MPCA SCORE", - "text": "10.1 MPCA SCORE\nThe Minnesota Pollution Control Agency collects an annual inventory, SCORE, of solid waste, recycling and organics as reported by counties across the state. For this project, we used MPCA data for the nine Minnesota counties for the year 2021.\nThe SCORE data is a high-quality government dataset submitted annually by solid waste staff in each county of Minnesota, as a part of Minnesota’s SCORE laws to support waste reduction and calculate the cost of managing waste and recycling. The data provided includes the total short tons of waste generated in each county within each “Method” category, described below.\nThe data was accessed through the SCORE tool’s Tableau dashboard, then filtered to include only the 9-county Minnesota portion of the region studied in this report.\nBe sure to add a citation of this dataset to the Zotero shared library.\n\n10.1.0.1 Data distribution\nTo check if the data is reasonable, we can start by visualizing the tons of waste generated for each county, broken into categories.\nWe would expect waste from landfills to be greater than recycling in most cases, and both landfill and recycling waste to be greater than compost (or “organics”). We can see that this expectation largely holds true, with the exception of Ramsey County, where compost outstrips both recycling and landfill. Part of the explanation for this may lie in the fact that, like Hennepin and Washington, a large portion of Ramsey County’s waste is managed in Waste-to-Energy facilities rather than landfills. This is consistent with waste management strategies of the metropolitan areas within Ramsey, Hennepin and Washington counties (add citation).\nWe also note that only two counties, Chisago and Sherburne, processed waste through onsite waste processors in 2021.\n\n\n\nFigure 10.1: Total waste generated by county\n\n\n\n\n\nWe would expect that the total amount of waste generated would be generally positively correlated with county area.\nWe see that this correlation holds loosely. The one major outlier is Ramsey County, which inculdes the St. Paul metropolitan area.\n\n\n\nFigure 10.2: Total waste generated by county and county area\n\n\n\n\n\nWe would expect that counties with large populations, such as Ramsey County, would generate more waste and smaller counties would generate less.\nComparing waste generated and population, we see a strong positive correlation (the more people there are within the county, the more waste they generate).\n\n\n\nFigure 10.3: Total waste generated by county and county population\n\n\n\n\n\n\n\n10.1.1 Data characteristics\nThis data includes MSW Compost as a category, but since all values for this category in the area and year needed were 0, we excluded it from our analysis.\nUncertainty was not included in the dataset given, nor does the EPA offer guidance for estimating uncertainty of solid waste emissions factors.\n\nPlots, tables, and description of data distribution\nVariance, Z-Score, quantiles\nFacet views by categorical variables\n\n\n\n10.1.2 Waste management classification\nThe MPCA SCORE report classifies waste management by two management methods and, within those categories, five sub-methods (MPCA 2023). Within the management methods, “MMSW”, or “Mixed Municipal Solid Waste”, refers to garbage, organic refuse, or other solid waste aggregated for collection, while “Combined Recycling and Organics” refers to separated recyclable and composted materials, including traditional recyclables, source-separated compostable materials, and yard trimmings.\nMMSW includes the subcategories of Landfill, WTE, Onsite, and MSW Compost. Landfill is all material disposed of in a landfill. WTE, or Waste to Energy, refers to waste combusted in an energy recovery facility or incinerator. Onsite refers to burning or burying MSW (MPCA 2023). MSW Compost includes [all compost separated from landfill, check]. No metropolitan counties reported any MSW Compost in the year 2021. Only Sherburne and Chisago counties reported waste managed on-site.\nCombined Recycling and Organics includes the subcategories Recycling and Organics. Organics, as compared to MSW Compost, refers to source-separated and direct compost streams. All compost data in this report comes from this category.\nAfter comparing with federal tools like the EPA’s Waste and Recycling National Overview and the expectations of a greenhouse gas inventory, we chose to summarise SCORE’s data into three categories: Landfill, Recycling, and Organics. Landfill includes, in addition to MPCA-reported Landfill data, the categories of Onsite and WTE management.\n\n10.1.2.1 Alignment with EPA Emissions Factors\nWe used emissions factors from the EPA’s Emission Factors Hub to calculate emissions based on the totals reported by the MPCA. These emissions factors come from the EPA’s Waste Reduction Model.\nWe selected for each management subcategory the emissions factor most aligned with the waste type as reported in SCORE. These emissions factors do not take into account emissions savings associated with a particular management method, for example energy savings from waste to energy facilities.\n\n\n\n\n\n \n Table 10.1: Solid waste management classifications by data source, including\nemissions factors \n \n \n MPCA Management Method\n MPCA Method\n Our Category\n Emissions Factor Name\n Emissions Factor\n \n \n \n MMSW\n\nLandfill\n\nLandfill\n\nMixed MSW Landfilled\n\n0.52\n\n MMSW\n\nOnsite\n\nLandfill\n\nMixed MSW Landfilled\n\n0.52\n\n MMSW\n\nWTE\n\nWaste to Energy\n\nMixed MSW Combusted\n\n0.43\n\n MMSW\n\nMSW Compost\n\nOrganics\n\nN/A\n\nN/A\n\n Combined Recycling and Organics\n\nOrganics\n\nOrganics\n\nMixed Organics Composted\n\n0.17\n\n Combined Recycling and Organics\n\nRecycling\n\nRecycling\n\nMixed Recyclables Recycled\n\n0.09\n\n \n \n \n\n\n\n\n\n\n\n\n10.1.3 Limitations\n\nAs mentioned above, EPA emissions factors do not account for emissions saved through Waste to Energy conversions, as contrasted with Wisconsin emissions, which do.\nThere is wide variation between emissions factors for waste of various kinds within the same category. Because we do not have a detailed breakdown of the makeup of every category, we have assumed each one is adequately represented by the “Mixed MSW”, “Mixed Organics”, and “Mixed Recyclables” factors respectively.\nThis estimation method generates emissions for all waste generated in 2021. However, waste in landfills and composting facilities does not release all emissions at once. This method tends to overestimate emissions for a given year (cite: GHG Protocol).\n\nSubject matter expert reviewer: ___" - }, - { - "objectID": "_waste/data_waste.html#wisconsin-waste-data", - "href": "_waste/data_waste.html#wisconsin-waste-data", - "title": "10  Data sources", - "section": "10.2 Wisconsin waste data", - "text": "10.2 Wisconsin waste data\nWaste emissions for Wisconsin counties were unavailable in the same detail as the MPCA data. Thus, we estimated total waste emissions based on statewide emissions estimates, allocated by population." - }, - { - "objectID": "_waste/data_waste.html#wi-greenhouse-gas-emissions-inventory", - "href": "_waste/data_waste.html#wi-greenhouse-gas-emissions-inventory", - "title": "10  Data sources", - "section": "10.3 WI Greenhouse Gas Emissions Inventory", - "text": "10.3 WI Greenhouse Gas Emissions Inventory\nThe most recent Wisconsin Greenhouse Gas Emissions Inventory was done in 2018 by the Wisconsin Department of Natural Resources. Included in the solid waste data for this source are emissions from landfills and waste combustion, taking into account the emissions reduced by landfill gas collection for gas-to-energy use or flaring. This inventory does not, however, include emissions generated from composting or recycling.\nThe emissions for solid waste in this report were calculated using the EPA’s SIT tool, a tool designed to help states calculate greenhouse gas emissions. Default values provided by the tool were used except in the case of default Mixed Solid Waste population tonnage values, which were replaced by data from the WI state DNR’s Annual Waste Tonnage Report (cite inventory).\nFor 2018, the Wisconsin DNR reported 2.2 Million Metric Tons Carbon Dioxide Equivalent (MMTCO2e) generated through landfilling and solid waste management.\nIn the process of analysis, this statewide estimate was disaggregated to the county level based on county population data, as detailed in [methods chapter].\n\nQuality rank (See Table B.2) Highest quality - state-level source\nHow, when, and why was the data collected?\nWhat is the raw unit of measurement?\nHow was this data accessed? Include any relevant links/citations, code, or downloads.\nWhat data cleaning or wrangling was completed? How did you test these processes and outputs?\nWhat is the geographic and temporal scope? Did you complete any aggregation?\nWhat version is the data? Were there other versions available? If so, why did you choose this version?\nWhat assumptions are made when we use this dataset?\nWhich subject matter expert (SME) reviewed this data?\nDescribe testing used to verify data\n\n\n10.3.1 Data Characteristics\n\nWere there any missing data? How did you handle missing data?\nPlots, tables, and description of data distribution\nVariance, Z-Score, quantiles\nFacet views by categorical variables\n\n\n\n10.3.2 Limitations\n\nSince data reported directly from the counties was unavailable for Wisconsin, the solid waste data used here reflects a disaggregation of state-level data and may not be reflective of the specific mix of waste generated by Pierce and St. Croix counties.\nData collected in Wisconsin’s emissions inventory only represents waste disposed of in landfills or waste combustion facilities, and does not include organics or recycling. Recycling and composting data is unavailable for Wisconsin counties.\n\n\n\n10.3.3 Comparison to similar datasets\nThe US EPA completes yearly state-level estimates of emissions for each state, which combined sum to the totals reported in the US Greenhouse Gas Emissions Inventory. The data for these estimates and the US inventory can be explored at the GHG Inventory Data Explorer. The EPA’s total of landfill emissions for Wisconsin for 2018 was 2.450 MMTCO2e, not far off from the Wisconsin DNR’s 2.2 MMTCO2e. The EPA’s estimate for 2021 was 2.422 MMTCO2e.\nSince the EPA completes an inventory for the entire US and its methods may not reflect the specific nuances of emissions in each state, we elected to use the data from the Wisconsin DNR for this inventory." - }, - { - "objectID": "_waste/data_waste.html#wastewater", - "href": "_waste/data_waste.html#wastewater", - "title": "10  Data sources", - "section": "10.4 Wastewater", - "text": "10.4 Wastewater\nWe currently have three sources for wastewater emissions: the EPA state inventory and projection tool, the Minnesota Pollution Control Agency (MPCA) emissions inventory, and Metropolitan Council Environmental Services emission estimates. Because only the EPA’s estimate extends to Wisconsin and Minnesota we are reporting those data for consistency, but explore all three below where they have geographic overlap.\nThe EPA estimate is a high-quality government dataset that models emissions using state population, biochemical oxygen demand, fraction of wastewater anaerobically digested, fraction of population on septic, estimated protein content, and biosolids used as fertilizer to estimate CH4 and N2O emissions (USEPA 2024b). These inputs are modifiable and should be explored further in the CCAP. We down-scaled the state level emission estimates to county levels by population percentage. The actual sample os unclear.\nThe EPA tool provides outputs in metric tons CO2e. We confirmed that the global warming potentials (GWP) used are from AR5 (IPCC and Core Writing Team 2014). We used the most recent version of the tool released in January 2024, version 2024.1.\nWe are currently using all and only default input values provided by the EPA, though will refine these based on our knowledge of local wastewater treatment in the future.\nYou can access the EPA tool on the EPA website and the MPCA data through their Tableau Dashboard. You can also read full methodologies for MPCA (Claflin et al. 2023) and EPA (USEPA 2024a) in their respective documents.\n\n10.4.1 Data characteristics\nThere are many sources of uncertainty in these estimates due to multiple activity data inputs required for CH4 and N2O emission estimates. The EPA wastewater module does not offer guidance on quantifying these sources of uncertainty, only describing the potential sources themselves. We have not included any uncertainty estimates in our final values.\n\n\n10.4.2 Limitations\n\nIn order to have homogeneous comparisons among counties, we are relying on default EPA State Inventory Tool data which may miss particularities about how wastewater is processed in our narrower county scope.\nWe are assuming EPA default input values are appropriate representations of the 11 county MSA region and that we can scale to county levels by population given that we are estimating municipal wastewater treatment.\n\n\n\n10.4.3 Comparison with similar datasets\nThe Metropolitan Council, MPCA, and EPA source data leads to different estimates of emissions in the common seven county region. The Metropolitan Council does not process all wastewater in the seven county region. Additionally, they report CO2 emissions from combustion of stationary fuels for infrastructure used in directly processing wastewater, unlike EPA estimates which are CH4 and N2O emissions from municipal wastewater treatment of organic matter.\n\n\n\nFigure 10.4: County aggregated wastewater emissions by scope\n\n\n\n\n\n\n\n\n\n\n\nTable 10.2: Wastewater data sources and geographic scopes \n \n \n Data source\n Geographic scope\n \n \n \n EPA GHG Inventory and Projection Tool\n\nMinnesota and Wisconsin, scaled to county population\n\n MPCA GHG Inventory\n\nMinnesota, scaled to county population\n\n Metropolitan Council Wastewater Emissions Estimate\n\n7-county Minnesota metro area\n\n \n \n \n\n\n\n\n\nThe Metropolitan Council area covers most of the 7-county Twin Cities area, but no areas in Wisconsin (Metropolitan Council 2020). The Met Council environmental services division provided us with a city and county breakdown of wastewater emissions for their service area.\n\n\n\n\nFigure 10.5: Metropoilitan Council wastewater service area\n\n\n\n\n\nOverall, the EPA estimate for each county proved highest, followed by the MPCA estimate and then Met Council estimate. We used the EPA estimate in our overall emissions estimate.\n\n\n\nFigure 10.6: County wastewater emissions by data source\n\n\n\n\n\n\n\n\nCode reviewer: Liz Roten\n\n\n\n\n\n\nClaflin, Anne, Nick Coleman, Linda Hagan, Kevin Gaffney, and Lise Trudeau. 2023. “Greenhouse Gas Emissions in Minnesota 2005-2020.” Government lraq-2sy23. St. Paul, Minnesota: Minnesota Pollution Control Agency and Department of Commerce. https://www.pca.state.mn.us/sites/default/files/lraq-2sy23.pdf.\n\n\nIPCC, and Core Writing Team. 2014. “Climate Change 2014: Synthesis Report. Contribution of Working Groups I, II and III to the Fifth Assessment Report of the Intergovernmental Panel on Climate Change.” Edited by R.K. Pachauri and L.A. Meyer. Geneva, Switzerland: Intergovernmental Panel on Climate Change. https://www.ipcc.ch/assessment-report/ar5/.\n\n\nMetropolitan Council. 2020. “Sewersheds (Metersheds, WWTP Service Areas).” Government. Minnesota Geospatial Commons. https://gisdata.mn.gov/dataset/us-mn-state-metc-util-sanitary-sewersheds.\n\n\nMPCA. 2023. “Sustainable Materials Management and Solid Waste Policy Report.” Government lrw-sw-1sy23. St. Paul, Minnesota: Minnesota Pollution Control Agency. https://www.pca.state.mn.us/sites/default/files/lrw-sw-1sy23.pdf.\n\n\nUSEPA. 2024a. “State Greenhouse Gas Inventory and Projection Tools.” Government. https://www.epa.gov/statelocalenergy/download-state-inventory-and-projection-tool.\n\n\n———. 2024b. “State Greenhouse Gas Inventory Tool User’s Guide for the Wastewater Module.” Government. State Energy and Environment Program. https://www.epa.gov/system/files/documents/2024-02/wastewater-users-guide_508.pdf." - }, - { - "objectID": "_waste/qc_waste.html#sec-waste-qc-procedure", - "href": "_waste/qc_waste.html#sec-waste-qc-procedure", - "title": "11  Deliverables (Landfill)", - "section": "11.1 Quality Control", - "text": "11.1 Quality Control\n\nComparison of (a) independent local inventory versus (b) landfill data from FLIGHT. Use a table similar to the table below to assess precision and bias of the local inventory versus QC estimates. Additionally, precision and bias calculations will be in accordance with the EPA’s Data Assessment Statistical Calculator (DASC) Tool with the community’s estimate taken as the measured value and the LGGIT (US EPA 2017) value taken as the audit value.\nWhen comparing any two datasets, ensure that the units of measure are converted to a consistent basis prior to making the comparison.\nEnsure the GWPs used for the local estimate and independent estimate are on the same basis.\nEnsure data are appropriate for intended use, data are complete and representative and current, data sources are documented, analytical methods are appropriate, and calculations are accurate. Include any QC findings and reconciliation.\nReview by TL or senior technical reviewer—analytical methods and results are explained clearly, technical terms are defined, conclusions are reasonable based on information presented, and level of technical detail is appropriate)\nEditor review — writing is clear, free of grammatical and typing errors.\n\n\n\n\n\n\n \n Table 11.1: Landfill emissions comparison between local estimate and FLIGHT. \n \n \n Solid Waste (Landfills)\n Initial Local Estimate (Metric Tons CO₂e)\n FLIGHT Data (Metric Tons CO₂e)\n \n \n \n \n\n\n \n\n\n \n\n\n \n\n\n \n \n \n\n\n\n\n\n\n\n\n\n\nUS EPA, OAR. 2017. “Local Greenhouse Gas Inventory Tool.” Data and Tools. June 30, 2017. https://www.epa.gov/statelocalenergy/local-greenhouse-gas-inventory-tool." - }, - { - "objectID": "_waste/qc_waste_other.html", - "href": "_waste/qc_waste_other.html", - "title": "12  Deliverables (Other sources)", - "section": "", - "text": "Warning\n\n\n\nQuality control sections will be formally completed for the Comprehensive Climate Action Plan (CCAP) in Summer 2025.\n\n\nLocal inventory of GHG emissions from the community’s other sources with documentation of the following QC activities:\n\nnarrative report describing data sources and QC measures for data acquisition steps,\ndescription of methodology and QC measures for validated proper implementation of methodology, and\ndocumentation of QAPP implementation.\nlisting of emissions reductions options are present with documentation of rationale for each option.\n\n\n12.0.1 Quality control\n\nComparison of (a) local emissions estimates in inventory versus (b) available federal or state estimates for the same source categories (e.g. SLOPE, FLIGHT, etc.). Additionally, precision and bias calculations will be in accordance with the EPA’s Data Assessment Statistical Calculator (DASC) Tool with the community’s estimate taken as the measured value and the LGGIT (US EPA 2017) value taken as the audit value.\nFor any values used in local inventory that are inconsistent with federal or state values, the table below will be utilized to assess precision and bias of the local inventory versus the federal or state estimates:\nWhen comparing any two datasets, ensure that the units of measure are converted to a consistent basis prior to making the comparison.\nEnsure the GWPs used for the local estimate and independent estimate are on the same basis.\nTechnical review of methods, calculations, and underlying datasets—data are appropriate for intended use, data are complete and representative and current, data sources documented, analytical methods are appropriate, and calculations are accurate.\nReview by TL or senior technical reviewer — analytical methods and results are explained clearly, technical terms are defined, conclusions are reasonable based on information presented, and level of detail appropriate.\nEditor review: writing is clear, free of grammatical and typographical errors.\n\n\n\n\n\n\n \n Table 12.1: Local estimate comparison with control estimate \n \n \n Other Sectors\n Initial Local Estimate (Metric Tons CO₂e)\n QC Estimate based on SLOPE (Metric Tons CO₂e)\n \n \n \n Stationary Combustion\n\n\n\n Agriculture & land management\n\n\n\n Waste generation\n\n\n\n Water\n\n\n\n Wastewater treatment\n\n\n\n Other\n\n\n\n \n \n \n\n\n\n\n\n\n\n\n\n\nUS EPA, OAR. 2017. “Local Greenhouse Gas Inventory Tool.” Data and Tools. June 30, 2017. https://www.epa.gov/statelocalenergy/local-greenhouse-gas-inventory-tool." - }, - { - "objectID": "_nature/_natural_systems.html#introduction", - "href": "_nature/_natural_systems.html#introduction", - "title": "13  Natural Systems", - "section": "13.1 Introduction", - "text": "13.1 Introduction\nNatural systems are a critical component of capturing carbon from the atmosphere and sequestering it in biomass and terrestrial soils. Photosynthesis is the central mechanism of this process and vegetation is therefore the focal land cover classification for quantifying the potential for regions to both sequester and store carbon. Different ecosystems have varying capacities for carbon capture and this work focuses on five broad classifications: urban trees, urban grasslands (i.e. turf grass), forests, natural grasslands, and wetlands. The distinction between tree and grassland cover in developed areas (i.e. urban) is important as despite having similar sequestration rates, urban natural systems are generally understood to have smaller storage capacities. The preservation and restoration of natural systems will be a key tool in limiting atmospheric greenhouse gases." - }, - { - "objectID": "_nature/_natural_systems.html#methods", - "href": "_nature/_natural_systems.html#methods", - "title": "13  Natural Systems", - "section": "13.2 Methods", - "text": "13.2 Methods\nThe approach for calculating carbon sequestration potential for a given geography, \\(j\\), is,\n\\[\\text{Sequestration}_j = \\Sigma (\\text{area}_i \\times {\\text{Sequestration Rate}_i}) \\]\nwhere \\(i\\) is land cover classification. The sequestration rate is based on Midwest specific sequestration rate estimates found in the primary scientific literature (Table 14.1).\n\n13.2.1 Land cover classification\nLand cover was determined by using the European Space Agencies 2021 WorldCover, a 10 m resolution satellite data product, in combination with USGS’s National Land Cover Dataset (NLCD). These datasets complement each other as WorldCover provides finer spatial resolution and classifies green spaces within urban areas, whereas the NLCD products can split and downscale green space area in developed lands from those in non-developed lands, offering an important distinction between carbon sequestration and stock capacities. Specifically the NLCD ‘Developed’ land classification was used to assign the ‘urban’ label to WorldCover tree and grassland cells, and the NLCD impervious cover layer was used to correct the area of urban trees in WorldCover, which otherwise classifies any cell with >10% tree cover as 100% tree.\n\n\n\n\nFigure 13.1: European Space Agency WorldCover\n\n\n\n\n\n\n\n\n\nFigure 13.2: USGS National Land Cover Database (NLCD)\n\n\n\n\n\n\n\n\n\nFigure 13.3: USGS National Land Cover Database (NLCD) - impervious cover" - }, - { - "objectID": "_nature/_natural_systems.html#results", - "href": "_nature/_natural_systems.html#results", - "title": "13  Natural Systems", - "section": "13.3 Results", - "text": "13.3 Results\nThere is considerable variation across counties in two key components that affect natural system carbon sequestration and stock potential: total area of green spaces and the ratio of ‘natural’ to ‘urban’ green spaces. Hennepin county has the highest sequestration potential due to a high proportion of urban trees and turf grass (urban grasslands) which have high potential for rapid carbon sequestration. However, counties with more acreage of green spaces in undeveloped areas, most notably St. Croix county, have a higher stock capacity. This dichotomy illustrates that different counties curation of natural spaces may play different roles. Highly developed areas may help offset carbon emissions be providing rapid sequestration sinks in urban greenery, whereas less developed counties can provide longer term carbon sinks in natural areas with a higher capacity to continue drawing down atmospheric carbon even if future emissions approach net zero.\nTwo important caveats to these results are that (1) carbon sequestration tends to slow as natural systems mature and (2) present day natural systems exist at some intermediate level of the illustrated carbon stock potential. The former means that these approximations could be higher or lower depending on the average age of natural systems in each county (e.g. time since agricultural abandonment). The latter means that the loss of these natural systems to development or habitat instruction means that not only would the region lose carbon sinks, but a substantial amount of the stored carbon will be transferred to the atmosphere, increasing atmospheric greenhouse gases.\n\n\n\nFigure 13.4: 2021 county natural system carbon sequestration potential\n\n\n\n\n\n\n\n\n\nFigure 13.5: 2021 county natural system carbon stock potential\n\n\n\n\n\n\n13.3.1 Correlation with county area\nThe expectation is that larger counties have higher carbon sequestration and storage capacities due to more acreage for green spaces; this is indeed observed.\n\n\n\nFigure 13.6: 2021 carbon stock by county area\n\n\n\n\n\n\n\n\nFigure 13.7: 2021 carbon stock by county area\n\n\n\n\n\n\n\n13.3.2 Regional parks\nParks play an important role in climate change resilience by protecting existing natural systems and acquiring lands for natural system restoration. The regional park system of the seven county Twin Cities region provides an excellent example of this. The following graphs show how regional parks, on a per area basis, are more efficient carbon sinks than the counties they reside in. For both sequestration and stock potential, this is in large part due to a much small proportion of non-green spaces (e.g.. impervious surfaces, agricultural lands), but stock potential in particular has a higher capacity due to a larger proportion of natural green spaces as opposed to urban green spaces. Regional parks represent 4.0% of the total land area of the seven county region, but 5.6% of its carbon sequestration potential and 7.2% of its carbon stock potential.\n\n\n\nFigure 13.8: 2021 comparison of carbon sequestration per square kilometer in counties and regional parks\n\n\n\n\n\n\n\n\nFigure 13.9: 2021 comparison of carbon stock per square kilometer in counties and regional parks" - }, - { - "objectID": "_nature/data_land_area_sequestration.html", - "href": "_nature/data_land_area_sequestration.html", - "title": "14  Data Sources", - "section": "", - "text": "Natural systems have the capacity to sequester carbon in biomass and soils. In order to estimate the potential, we require area estimates of different natural systems and MN specific estimates of their sequestration rates. The European Space Agency created WorldCover, a remotely sensed product that depicts land cover classifications at 10 m resolution for 2021.\nTwo important caveats are that WorldCover (1) labels any raster cell as ‘Tree’ with at least 10% tree cover, leading to potential overestimates of tree coverage particularly in urbanized areas and (2) does not distinguish between urban and non-urban natural systems. In order to address these issues, we incorporated USGS’s National Land Cover Database (NLCD).\nTo address point 1, we intersected the WorldCover data with the NLCD 2021 Impervious Surface layer, which estimates the percentage of the raster cell which is impervious. From there, we reduced the area of a WorldCover ‘Tree’ cell to the percent pervious surface (100 - % impervious).\nTo address point 2, we intersected the WorldCover data with the NLCD 2021 land cover dataset which has ‘Developed areas’ when to label WorldCover ‘Tree’ and ‘Grassland’ raster cells as ‘urban’ to distinguish forests and natural grasslands from urban trees and turf grass systems. Raster cell areas were calculated based on the 10 m resolution and their cartographic position. Raster cells were assigned to county areas by intersecting the WorldCover raster with county shape files. This land area estimation is the highest quality of data according to (Table B.2).\nThus, an ‘Urban_tree’ raster cell occurred for raster cells that were labeled as ‘Tree’ by WorldCover and ‘Developed’ by NLCD and had an estimated area of:\n\\[\\text{Area Of UrbanTree} = \\text{CellArea} \\times \\left(1 - \\frac{\\text{ImperviousCover}} {100}\\right) \\] The script for processing land cover data, is esa_county_land_area_cover_calc.R and requires census geography and the appropriate .tif files from WorldCover.\nIn order to determine the annual carbon sequestration rate of natural systems, we searched for region-specific estimates for each land cover type (tree, urban_tree, grassland, urban_grassland, wetland), preferring primary scientific literature where possible. Carbon sequestration rates in natural systems are non-linear through time, with highest sequestration rates in younger systems and saturated rates (i.e. net zero carbon fluxes) in mature systems. Given that our land cover approach is unable to distinguish the age of a system, we used intermediate aged system rates where available. Future research could leverage the NLCD Land Cover Change Disturbance Date to attempt to determine natural system age, though this is most likely to find loss of natural systems in our region as opposed to land use conversion to natural systems.\nAn additional consideration is that these systems have different storage potentials that are not necessarily related to their sequestration rates. For instance, turf grass systems (likely most urban_grasslands in our designation) rapidly accumulate soil carbon relative to natural grasslands but saturate by 50 years, whereas grasslands as old as 75 years continue to sequester carbon at the northern edge of our system. Additional factors affecting sequestration rates include species specific life histories, soil characteristics, and water and nutrient inputs.\nCarbon sequestration rates were multiplied by a value of 3.67 to equate a unit of carbon to a unit of CO2, representing the different in atomic weights. Sequestration rates are the third highest quality rank (Table B.2), coming predominantly from peer-reviewed journal articles.\n\n\n\n\nTable 14.1: Ecosystem sequestration rates\n\n\n\n\n\n\nLand Cover Type\nMetric tons CO₂e per square kilometer per year\n\n\n\n\nGrassland (Knops and Bradley 2009)\n-125\n\n\nTree (Russell 2020)\n-329\n\n\nUrban Grassland (Phillips et al. 2023)\n-301\n\n\nUrban Tree (Nowak et al. 2013)\n-620\n\n\nWetland (Polasky and Liu 2006)\n-1,115\n\n\n\n\n\n\n\n\n\n\nTable 14.2: Ecosystem carbon stock potential\n\n\n\n\n\n\nLand Cover Type\nMetric tons CO₂e per square kilometer\n\n\n\n\nGrassland (Liu et al. 2014)\n-24,589\n\n\nTree (Liu et al. 2014)\n-45,141\n\n\nUrban Grassland (Selhorst and Lal 2013)\n-16,809\n\n\nUrban Tree (Nowak et al. 2013)\n-16,148\n\n\nWetland (Nahlik and Fennessy 2016)\n-134,138\n\n\n\n\n\n\n\n\n\n\n\nKnops, Johannes M. H., and Kate L. Bradley. 2009. “Soil Carbon and Nitrogen Accumulation and Vertical Distribution Across a 74-Year Chronosequence.” Soil Science Society of America Journal 73 (6): 2096–2104. https://doi.org/10.2136/sssaj2009.0058.\n\n\nLiu, Shuguang, Jinxun Liu, Yiping Wu, Claudia Young, Jeremy Werner, Devendra Dahal, Jennifer Oeding, and Gail Schmidt. 2014. “Baseline and Projected Future Carbon Storage, Carbon Sequestration, and Greenhouse-Gas Fluxes in Terrestrial Ecosystems of the Eastern United States.” In. Professional Paper.\n\n\nNahlik, A. M., and M. S. Fennessy. 2016. “Carbon Storage in US Wetlands.” Nature Communications 7 (1, 1): 13835. https://doi.org/10.1038/ncomms13835.\n\n\nNowak, David J., Eric J. Greenfield, Robert E. Hoehn, and Elizabeth Lapoint. 2013. “Carbon Storage and Sequestration by Trees in Urban and Community Areas of the United States.” Environmental Pollution 178 (July): 229–36. https://doi.org/10.1016/j.envpol.2013.03.019.\n\n\nPhillips, Claire L., Ruying Wang, Clint Mattox, Tara L. E. Trammell, Joseph Young, and Alec Kowalewski. 2023. “High Soil Carbon Sequestration Rates Persist Several Decades in Turfgrass Systems: A Meta-Analysis.” Science of The Total Environment 858 (February): 159974. https://doi.org/10.1016/j.scitotenv.2022.159974.\n\n\nPolasky, Stephen, and Yang Liu. 2006. “The Supply of Terrestrial Carbon Sequestration in Minnesota.” Minnesota Terrestrial Carbon Sequestration Project, 1–25.\n\n\nRussell, Matthew. 2020. “Carbon in Minnesota Trees and Woodlands.” University of Minnesota Extension. 2020. https://extension.umn.edu/managing-woodlands/carbon-minnesota-trees-and-woodlands.\n\n\nSelhorst, Adam, and Rattan Lal. 2013. “Net Carbon Sequestration Potential and Emissions in Home Lawn Turfgrasses of the United States.” Environmental Management 51 (1): 198–208. https://doi.org/10.1007/s00267-012-9967-6." - }, - { - "objectID": "_meta/supplementary_data.html#sec-factors", - "href": "_meta/supplementary_data.html#sec-factors", - "title": "Appendix A — Supplementary data", - "section": "A.1 Emissions factors", - "text": "A.1 Emissions factors\nNote for solid waste, the global warming potentials used to calculate CO2e are sourced AR4, not AR5, like the rest of our inventory. However, documentation for the EPA WARM tool (USEPA 2019), indicates that the differences in total CO2e emissions is negligible.\nAll EPA Emission Factor Hub values were pulled from an Excel workbook downloaded from the EPA website. Values were processed in epa_ghg_factor_hub.R.\n\n\n\n\n\n\nTable A.1: Electricity emission factors. 2021 EPA GHG Emission Factor Hub, EPA\neGRID2019, February 2021. \n \n \n eGrid Subregion\n Grid Output\n GHG\n lb GHG per MWh\n \n \n \n MROW (MRO West)\nTotal output\nCO₂\n995.800\n MROW (MRO West)\nTotal output\nCH₄\n0.107\n MROW (MRO West)\nTotal output\nN₂O\n0.015\n \n \n \n\n\n\n\n\n\n\n\n\n\n\nTable A.2: Stationary combustion emission factors. 2021 EPA GHG Emission Factor\nHub, Federal Register EPA; 40 CFR Part 98. \n \n \n Fuel type\n GHG\n GHG Quantity\n Unit\n Value\n \n \n \n \n Natural Gas\n \n Natural Gas\nCO₂\nKilograms\nmmBtu\n53.06000\n Natural Gas\nCH₄\nGrams\nmmBtu\n1.00000\n Natural Gas\nN₂O\nGrams\nmmBtu\n0.10000\n Natural Gas\nCO₂\nKilograms\nscf\n0.05444\n Natural Gas\nCH₄\nGrams\nscf\n0.00103\n Natural Gas\nN₂O\nGrams\nscf\n0.00010\n \n Petroleum Products\n \n Kerosene\nCO₂\nKilograms\nmmBtu\n75.20000\n Kerosene\nCH₄\nGrams\nmmBtu\n3.00000\n Kerosene\nN₂O\nGrams\nmmBtu\n0.60000\n Propane\nCO₂\nKilograms\nmmBtu\n62.87000\n Propane\nCH₄\nGrams\nmmBtu\n3.00000\n Propane\nN₂O\nGrams\nmmBtu\n0.60000\n \n \n \n\n\n\n\n\n\n\n\n\n\n\nTable A.3: Solid waste emission factors. 2021 EPA GHG Emission Factor Hub, EPA\nWARM version 15, November 2020. \n \n \n Material\n Metric tons CO₂e per short ton material\n \n \n \n \n Recycled\n \n Mixed Recyclables\n0.09\n Mixed Organics\nNA\n Mixed MSW\nNA\n \n Landfilled\n \n Mixed Recyclables\n0.68\n Mixed Organics\n0.48\n Mixed MSW\n0.52\n \n Combusted\n \n Mixed Recyclables\n0.11\n Mixed Organics\n0.05\n Mixed MSW\n0.43\n \n Composted\n \n Mixed Recyclables\nNA\n Mixed Organics\n0.17\n Mixed MSW\nNA\n \n \n \n\n\n\n\n\nTransportation emissions factors were processed in epa_moves.R. Read more about these emission factors in Section 7.3.\n\n\n\n\n\n\nTable A.4: Transportation emissions factors. Source: EPA MOVES \n \n \n GHG\n Grams per vehicle mile traveled\n \n \n \n \n Passenger\n \n CO₂\n353.4300\n CO₂e\n356.4390\n CH₄\n0.0100\n N₂O\n0.0100\n \n Medium\n \n CO₂\n473.2400\n CO₂e\n476.2490\n CH₄\n0.0100\n N₂O\n0.0100\n \n Heavy\n \n CO₂\n1212.3600\n CO₂e\n1223.9093\n CH₄\n0.0206\n N₂O\n0.0402" - }, - { - "objectID": "_meta/supplementary_data.html#sec-gwp", - "href": "_meta/supplementary_data.html#sec-gwp", - "title": "Appendix A — Supplementary data", - "section": "A.2 Global Warming Potential (GWP)", - "text": "A.2 Global Warming Potential (GWP)\nThe Global Warming Potential (GWP) was developed to allow comparisons of the global warming impacts of different gases. Specifically, it is a measure of how much energy the emissions of 1 ton of a gas will absorb over a given period of time, relative to the emissions of 1 ton of carbon dioxide (CO2). The larger the GWP, the more that a given gas warms the Earth compared to CO2 over that time period (USEPA 2023).\n\n\nAcross all sectors, we used the GWP values established in the Intergovernmental Panel on Climate Change (IPCC) 6th Assessment Report (AR6), Table 7.SM.7 (IPCC 2023). We processed these values in global_warming_potential.R.\n\n\n\n\n\n \n Table A.5: Global Warming Potential (GWP) values \n \n \n Gas\n 100-year GWP value\n Source\n \n \n \n CO₂\n1.0\nIPCC AR5 (2014)\n CH₄\n27.9\nIPCC AR5 (2014)\n N₂O\n273.0\nIPCC AR5 (2014)\n CF₄\n7380.0\nIPCC AR5 (2014)\n HFC-152a1\n164.0\nIPCC AR5 (2014)\n \n \n \n \n 1 Hydrofluorocarbon-152a, Difluoroethane" - }, - { - "objectID": "_meta/supplementary_data.html#geographic-data", - "href": "_meta/supplementary_data.html#geographic-data", - "title": "Appendix A — Supplementary data", - "section": "A.3 Geographic data", - "text": "A.3 Geographic data\nGeographic data were processed in cprg_geography.R.\n\nA.3.1 Counties\nCounty data was pulled using {tigris}, an R package that downloads TIGER/Line shapefiles from the US Census Bureau (Walker 2023). 2021 geographies for Minnesota and Wisconsin were pulled, combined, and saved.\n\n\n\n\n\n \n Table A.6: County geography metadata \n \n \n Column\n Class\n Description\n \n \n \n STATE\ncharacter\nFull state name\n STATEFP\ncharacter\nState FIPS code\n STATE_ABB\ncharacter\nAbbreviated state name\n COUNTYFP\ncharacter\nCounty FIPS code\n GEOID\ncharacter\nCounty GEOID\n NAME\ncharacter\nCounty name\n NAMELSAD\ncharacter\nFull county name\n geometry\nsfc_MULTIPOLYGON\nSimple feature geometry\n \n \n \n\n\n\n\n\nAdditionally, population estimates were obtained from the American Community Survey 5-Year estimates (2017-2021) using {tidycensus} (U.S. Census Bureau 2021).\n\n\n\n\n\n \n Table A.7: County population metadata \n \n \n Column\n Class\n Description\n \n \n \n STATE\ncharacter\nFull state name\n STATEFP\ncharacter\nState FIPS code\n COUNTYFP\ncharacter\nCounty FIPS code\n GEOID\ncharacter\nCounty GEOID\n NAME\ncharacter\nCounty name\n NAMELSAD\ncharacter\nFull county name\n population\nnumeric\nTotal county population estimate\n population_data_source\ncharacter\nPopulation estimate data source\n \n \n \n\n\n\n\n\n\n\nA.3.2 Cities\nMinnesota cities, townships, and unorganized territories were imported from Minnesota Geospatial Commons (MnDOT 2023).\nWisconsin cities, towns, and villages were imported from Wisconsin’s Legislative Technology Services Bureau (Wisconsin Legislature 2023).\nData from both states was then combined and filtered to include only the workplan area counties.\n\n\n\n\n\n \n Table A.8: City geography metadata \n \n \n Column\n Class\n Description\n \n \n \n CTU_NAME\ncharacter\nCity, township, unorganized territory, or village name\n CTU_CLASS\ncharacter\nCity class (City, township, unorganized territory, or village)\n COUNTY_NAM\ncharacter\nCounty name\n STATEFP\ncharacter\nState FIPS code\n STATE\ncharacter\nFull state name\n STATE_ABB\ncharacter\nAbbreviated state name\n GNIS_FEATU\nnumeric\nMinnesota geographic identifier\n geometry\nsfc_MULTIPOLYGON\nSimple feature geometry\n GEOID\ncharacter\nWisconsin geographic identifier\n \n \n \n\n\n\n\n\n\n\n\n\n\nIPCC. 2023. Climate Change 2021 – The Physical Science Basis: Working Group I Contribution to the Sixth Assessment Report of the Intergovernmental Panel on Climate Change. 1st ed. Cambridge University Press. https://doi.org/10.1017/9781009157896.\n\n\nMnDOT. 2023. “City, Township, and Unorganized Territory in Minnesota - Minnesota Geospatial Commons.” Minnesota Geospatial Commons. https://gisdata.mn.gov/dataset/bdry-mn-city-township-unorg.\n\n\nU.S. Census Bureau. 2021. “ACS Demographic and Housing Estimates.” U.S. Census Bureau. https://data.census.gov/table/ACSDP5Y2021.DP05?g=050XX00US27053_040XX00US27.\n\n\nUSEPA. 2019. “WARM - Management Practices Chapters (Version 15).” Government. US EPA Office of Resource Conservation and Recovery, Prepared by ICF. https://www.epa.gov/sites/default/files/2019-10/documents/warm_v15_management_practices_updated_10-08-2019.pdf.\n\n\n———. 2023. “Understanding Global Warming Potentials.” Government. April 18, 2023. https://www.epa.gov/ghgemissions/understanding-global-warming-potentials.\n\n\nWalker, Kyle. 2023. Tigris: Load Census TIGER/Line Shapefiles. Manual. https://CRAN.R-project.org/package=tigris.\n\n\nWisconsin Legislature. 2023. “Wisconsin Cities, Towns and Villages (July 2023).” Legislative Technology Services Bureau (LTSB). https://gis-ltsb.hub.arcgis.com/datasets/LTSB::wi-cities-towns-and-villages-july-2023/explore." - }, - { - "objectID": "_meta/supplementary_tables.html#acronyms", - "href": "_meta/supplementary_tables.html#acronyms", - "title": "Appendix B — Supplementary tables", - "section": "B.1 Acronyms", - "text": "B.1 Acronyms\n\n\n\n\n\n \n Table B.1: Acronyms \n \n \n Acronym\n Definition\n \n \n \n CAA\nClean Air Act\n CFR\nCode of Federal Regulations\n CCAP\nComprehensive Climate Action Plan\n CPRG\nClimate Pollution Reduction Grant\n EPA\nU.S. Environmental Protection Agency\n GHG\nGreenhouse Gas\n GHGRP\nGreenhouse Gas Reporting Program (40 CFR Part 98)\n ICR\nInformation Collection Request\n METC\nMetropolitan Council of the Twin Cities\n NEI\nEPA’s National Emissions Inventory\n OAR\nEPA Office of Air and Radiation\n PCAP\nPriority Climate Action Plan\n PM\nProject Manager\n PO\nEPA Project Officer for Grant\n POP\nPeriod of Performance\n POR\nEPA Project Officer’s Representative\n PWP\nProject Work Plan\n QA\nQuality Assurance\n QAM\nQuality Assurance Manager\n QAMD\nQuality Assurance Manager Delegate\n QAPP\nQuality Assurance Project Plan \n QC\nQuality Control\n QCC\nQuality Control Coordinator\n LGGIT\nCommunity - GHG Inventory Tool (provided by the EPA)\n TL\nTask Leader\n Btu\nBritish thermal unit\n Ccf\nvolume of 100 cubic feet (cf)\n Mcf\nvolume of 1,000 cubic feet (cf)\n MMBtu\n1 million British thermal units\n Therm\nOne therm equals 100,000 Btu, or 0.10 MMBtu" - }, - { - "objectID": "_meta/supplementary_tables.html#data-quality", - "href": "_meta/supplementary_tables.html#data-quality", - "title": "Appendix B — Supplementary tables", - "section": "B.2 Data Quality", - "text": "B.2 Data Quality\n\n\n\n\n\n \n Table B.2: Data source quality ranking \n \n \n Quality Rank\n Source Type\n \n \n \n Highest\nFederal, state, and local government agencies\n Second\nConsultant reports for state and local government agencies\n Third\nNGO studies; peer-reviewed journal articles; trade journal articles; conference proceedings\n Fourth\nConference proceedings and other trade literature: non-peer-reviewed\n Fifth\nIndividual estimates (e.g., via personal communication with vendors)" - }, - { - "objectID": "_meta/additional_resources.html#climate-pollution-reduction-grants-cprg", - "href": "_meta/additional_resources.html#climate-pollution-reduction-grants-cprg", - "title": "Appendix C — Additional resources", - "section": "C.1 Climate Pollution Reduction Grants (CPRG)", - "text": "C.1 Climate Pollution Reduction Grants (CPRG)\n\nClimate Pollution Reduction Grants EPA site and SAM.gov\nFunding information for this project on USASpending.gov\nMinnesota statewide Priority Climate Action Plan (PCAP) engagement page" - }, - { - "objectID": "_meta/additional_resources.html#energy", - "href": "_meta/additional_resources.html#energy", - "title": "Appendix C — Additional resources", - "section": "C.2 Energy", - "text": "C.2 Energy\n\nU.S. Energy Information Administration (EIA) Glossary, available on their website." - }, - { - "objectID": "_energy/utility_service_area_maps.html", - "href": "_energy/utility_service_area_maps.html", - "title": "Appendix D — Utility service area maps", - "section": "", - "text": "To identify the utilities operating within our 11-county study area, we utilized data sets published by state and federal sources. The outcome of our data collection yields a list of distinct utilities suplying activity data and resides within distinct_natGas_util_WI.RDS (4 utilities, all investor-owned) and distinct_natGas_util_type_MN.RDS (7 utilities, six investor-owned and one municipally-owned).\n\nD.0.1 Minnesota\nSince there is no state-maintained map of natural gas service territories in Minnesota (Minnesota IT Services 2021), we looked to the Homeland Infrastructure Foundation-Level Data (HIFLD) database, a product of the Department of Homeland Security’s Geospatial Management Office (DHS GMO) that compiles “foundation-level geospatial data” for homeland security, homeland defense, and emergency preparedness purposes. This dataset was last updated in 2017 (Homeland Security 2017). Though this dataset is national in scope (see Figure D.1), it is clipped to only include utility service areas within the nine Minnesota counties included in the study area of this inventory (see Figure D.2). Note that utilities operating across county lines have a polygon covering the extent of their service territory within each and every county they operate within.\n\n\n\nFigure D.1: Nationwide utility service service territories\n\n\n\n\n\n\n\n\n\nFigure D.2: Minnesota utility service service territories in scope\n\n\n\n\n\n\n\nD.0.2 Wisconsin\nThe Public Service Commission of Wisconsin publishes and maintains maps of service territories for natural gas utilities operating within the state. This data set relies upon, and is accurate to, “the extent that various sources [utilities] supplied accurate data.” (Public Service Commission of Wisconsin 2021). This dataset spans the whole state of Wisconsin (see Figure D.3), but was clipped to the two Wisconsin counties included in the study area of this inventory (see Figure D.4).\n\n\n\nFigure D.3: Wisconsin utility service service territories\n\n\n\n\n\nWisconsin utilities in scope\n\n\n\nFigure D.4: Wisconsin utility service service territories in scope\n\n\n\n\n\n\n\n\n\n\nHomeland Security, Department of. 2017. “Natural Gas Service Territories - Homeland Infrastructure Foundation-Level Data.” https://hifld-geoplatform.opendata.arcgis.com/maps/natural-gas-service-territories.\n\n\nMinnesota IT Services. 2021. “Public Utilities Infrastructure Information for Minnesota.” 2021. https://www.mngeo.state.mn.us/chouse/utilities.html.\n\n\nPublic Service Commission of Wisconsin. 2021. “PSC Interactive Service Area Maps.” https://psc.wi.gov/Pages/ForConsumers/Maps.aspx." - }, - { - "objectID": "_meta/lidac_maps.html#footnotes", - "href": "_meta/lidac_maps.html#footnotes", - "title": "Appendix E — Low-Income and Disadvantaged Communities", - "section": "", - "text": "All differences in vulnerabilities comparing LIDAC to non-LIDAC tracts are statistically significant at the p <.001 level. ↩︎\nThis figure includes medium- and heavy-duty vehicles miles traveled in the seven-county Twin Cities metro region, generated from StreetLight Data, 2021.↩︎\nHeat Island Effect | US EPA↩︎\nExtreme Heat | Metropolitan Council↩︎" - }, - { - "objectID": "figures.html", - "href": "figures.html", - "title": "Appendix F — List of Figures", - "section": "", - "text": "Figure\nShort Caption\n\n\n\n\nFigure 1\nCounty emissions by sector and category\n\n\nFigure 2\nEnergy county level emissions\n\n\nFigure 3\nTransportation county level emissions\n\n\nFigure 4\nWaste and wastewater county level emissions\n\n\nFigure 1.1\nEnergy county emissions\n\n\nFigure 1.2\nEnergy county emissions by category\n\n\nFigure 1.3\n2021 county electricity emissions\n\n\nFigure 1.4\n2021 electricity emissions by sector\n\n\nFigure 1.5\nCounty population and electricity emissions\n\n\nFigure 1.6\nMetropolitan Council emissions inventory vs. downscaled EIA State Electricity Profiles\n\n\nFigure 1.7\nMetropolitan Council emissions inventory v. NREL SLOPE modeled emissions\n\n\nFigure 1.8\n2021 natural gas emissions\n\n\nFigure 1.9\n2021 natural gas emissions by sector\n\n\nFigure 1.10\nCounty population and natural gas emissions\n\n\nFigure 1.11\nMetropolitan Council emissions inventory v. NREL SLOPE modeled emissions\n\n\nFigure 4.1\n2021 annual liquid stationary fuel emissions\n\n\nFigure 6.1\nTransportation county emissions\n\n\nFigure 6.2\n2021 annual emissions by vehicle weight\n\n\nFigure 6.3\nCounty population and transportation emissions\n\n\nFigure 6.4\nCounty estimated emissions, NEI and calculated\n\n\nFigure 7.1\nStreetLight origin-destination passenger trip length matrix\n\n\nFigure 7.2\nStreetLight passenger trip length distribution widget\n\n\nFigure 7.3\nAvg. trip distance and minimum distance between counties\n\n\nFigure 7.4\nAvg. trip distance, Travel Behavior Inventory and StreetLight\n\n\nFigure 7.5\nAvg. distance for trips within county and county area\n\n\nFigure 7.6\nStreetLight origin-destination medium-duty trip length matrix\n\n\nFigure 7.7\nStreetLight origin-destination heavy-duty trip length matrix\n\n\nFigure 7.8\nStreetLight commercial trip length distribution widget\n\n\nFigure 7.9\nCounty vehicle miles traveled and StreetLight Volume\n\n\nFigure 7.10\nCounty vehicle miles traveled\n\n\nFigure 7.11\nStreetLight calibration locations and values\n\n\nFigure 7.12\nVehicle weight distribution at calibration points\n\n\nFigure 7.13\nMOVES4 and GHG Emissions Hub per mile emission rates by vehicle weight\n\n\nFigure 7.14\nRegional vehicle fleet model year by fuel type\n\n\nFigure 7.15\nTBI origin-destination trip length matrix\n\n\nFigure 9.1\nSolid waste and wastewater county emissions\n\n\nFigure 9.2\nSolid waste and wastewater county emissions by category\n\n\nFigure 9.3\n2021 wastewater emissions\n\n\nFigure 9.4\n2021 solid waste emissions\n\n\nFigure 9.5\n2021 solid waste emissions by category\n\n\n?fig-sw-total-emissions\n2021 solid waste emissions\n\n\nFigure 9.6\nCounty population and solid waste emissions\n\n\nFigure 10.1\nTotal waste generated by county\n\n\nFigure 10.2\nTotal waste generated by county and county area\n\n\nFigure 10.3\nTotal waste generated by county and county population\n\n\nFigure 10.4\nCounty aggregated wastewater emissions by scope\n\n\nFigure 10.5\nMetropoilitan Council wastewater service area\n\n\nFigure 10.6\nCounty wastewater emissions by data source\n\n\nFigure D.1\nNationwide utility service service territories\n\n\nFigure D.2\nMinnesota utility service service territories in scope\n\n\nFigure D.3\nWisconsin utility service service territories\n\n\nFigure D.4\nWisconsin utility service service territories in scope" - }, - { - "objectID": "tables.html", - "href": "tables.html", - "title": "Appendix G — List of Tables", - "section": "", - "text": "Table\nShort Caption\n\n\n\n\nTable 1.1\nGrid Mix for MROW subregion of 2021 eGRID\n\n\nTable 5.1\nLocal estimate comparison with control estimate\n\n\nTable 6.1\nMobile data entered into LGGIT\n\n\nTable 7.1\nStreetLight passenger travel analysis sample size\n\n\nTable 7.2\nStreetLight commercial travel analysis sample size\n\n\nTable 7.3\nVehicle weight classifications by data source\n\n\nTable 7.4\nEmissions in grams per mile traveled by vehicle weight in the Twin Cities region. EPA MOVES4.\n\n\nTable 7.5\nGrams of emissions per mile by vehicle type and fuel type. EPA GHG Emission Hub (2021)\n\n\nTable 7.6\n2021 TBI household survey geographic distribution\n\n\nTable 7.7\nMedian vehicle age and proportion of all regional vehicles by grouped fuel type\n\n\nTable 7.8\nRegional mean trip distance. 2021 TBI.\n\n\nTable 7.9\nMean trip distance by origin-destination county\n\n\nTable 8.1\nTransportation average miles per year, local and quality control comparison by vehicle and fuel types.\n\n\nTable 8.2\nTransportation average miles per gallon, local and quality control comparison by vehicle and fuel types.\n\n\nTable 10.1\nSolid waste management classifications by data source, including emissions factors\n\n\nTable 10.2\nWastewater data sources and geographic scopes\n\n\nTable 11.1\nLandfill emissions comparison between local estimate and FLIGHT.\n\n\nTable 12.1\nLocal estimate comparison with control estimate\n\n\nTable A.1\nElectricity emission factors. 2021 EPA GHG Emission Factor Hub, EPA eGRID2019, February 2021.\n\n\nTable A.2\nStationary combustion emission factors. 2021 EPA GHG Emission Factor Hub, Federal Register EPA; 40 CFR Part 98.\n\n\nTable A.3\nSolid waste emission factors. 2021 EPA GHG Emission Factor Hub, EPA WARM version 15, November 2020.\n\n\nTable A.4\nTransportation emissions factors. Source: EPA MOVES4\n\n\nTable A.5\nGlobal Warming Potential (GWP) values\n\n\nTable A.6\nCounty geography metadata\n\n\nTable A.7\nCounty population metadata\n\n\nTable A.8\nCity geography metadata\n\n\nTable B.1\nAcronyms\n\n\nTable B.2\nData source quality ranking" - }, - { - "objectID": "changelog.html#v1.1.1-july-2024", - "href": "changelog.html#v1.1.1-july-2024", - "title": "Appendix H — Release notes", - "section": "v1.1.1 (July 2024)", - "text": "v1.1.1 (July 2024)\nMinor changes across all sectors (excluding natural systems) by updating GWP values to AR6 (IPCC 2023).\nAdditional changes\n\nSome energy data processing to get back to 2005 in _energy/data-raw/MNWI_2005_CensusCrosswalk_UtilityAllocation.R\n\nText for GWP updated Section A.2\n\nNoted differences in LGGIT values Section 6.3.2.2\n\nRe-ran transportation LGGIT comparison values. Minor change in values\n\nTest values updated for EPA MOVES and GWP\n\nSlight updates to renv package repository locations (RSPM vs. CRAN)\n\nMinor text update in transportation section\n\nZotero and gitignore updated as needed\n\nSee full changelog in GitHub release v1.1.1" - }, - { - "objectID": "changelog.html#v1.1.0-june-2024", - "href": "changelog.html#v1.1.0-june-2024", - "title": "Appendix H — Release notes", - "section": "v1.1.0 (June 2024)", - "text": "v1.1.0 (June 2024)\nNEW SECTOR - Natural systems sequestration and carbon stock (Chapter 13).\nNatural systems sequestration and carbon stock at county level, with particular focus on regional parks. Data sources include WorldCover and USGS NLCD. Sequestration rates and carbon stock potential come from various literature as cited. Values are correlated with county area in square kilometers.\nAdditional changes\n\nIncrement release version to 1.1.0, increment date\n\nUpdates R version to 4.4.0 and Quarto version to 1.4.533\n\nUpdate renv packages to follow R 4.4.0\n\nNew packages FedData, terra, tidyterra, usethis, arcgislayers, dbplyr, and various sub-dependencies\n\nStart changelog section in appendix\n\nStart folder structure for agriculture sector\nVarious text edits and updates, including references\n\nSee full changelog in GitHub release v1.1.0" - }, - { - "objectID": "changelog.html#v1.0.0-march-2024", - "href": "changelog.html#v1.0.0-march-2024", - "title": "Appendix H — Release notes", - "section": "v1.0.0 (March 2024)", - "text": "v1.0.0 (March 2024)\nInitial release supporting PCAP. Sections include\n\nStationary energy (electricity, natural gas, propane and kerosene)\nTransportation (passenger, commercial)\nWaste and wastewater (solid waste, wastewater)\nAppendices with utility service area maps, low-income and disadvantaged communities (LIDAC)\n\nSee full changelog in GitHub release v1.0.0\n\n\n\n\nIPCC. 2023. Climate Change 2021 – The Physical Science Basis: Working Group I Contribution to the Sixth Assessment Report of the Intergovernmental Panel on Climate Change. 1st ed. Cambridge University Press. https://doi.org/10.1017/9781009157896." - }, - { - "objectID": "references.html", - "href": "references.html", - "title": "References", - "section": "", - "text": "Administration, U. S. Energy Information. 2023. “How Much\nElectricity Is Lost in Electricity Transmission and Distribution in the\nUnited States?” Frequently Asked Questions. 2023. https://www.eia.gov/tools/faqs/faq.php?id=105.\n\n\nBrusseau, Dawn. 2019. “Aging Trucks Create More Service\nOpportunities.” Industry. NTEA. January 11, 2019. https://www.ntea.com/NTEA/NTEA/Member_benefits/Industry_leading_news/NTEANewsarticles/Aging_trucks_create_more_service_opportunities.aspx.\n\n\nBTS. 2023. “Average Age of Automobiles\nand Trucks in Operation in the United\nStates.” https://www.bts.gov/content/average-age-automobiles-and-trucks-operation-united-states.\n\n\nClaflin, Anne, Nick Coleman, Linda Hagan, Kevin Gaffney, and Lise\nTrudeau. 2023. “Greenhouse Gas Emissions in Minnesota\n2005-2020.” Government lraq-2sy23. St. Paul, Minnesota:\nMinnesota Pollution Control Agency and Department of\nCommerce. https://www.pca.state.mn.us/sites/default/files/lraq-2sy23.pdf.\n\n\nCommerce, Minnesota Department of. 2005. CHAPTER 7610,\nENERGY INFORMATION REPORTING. https://www.revisor.mn.gov/rules/7610/.\n\n\nElk River Municipal Utilities. 2022. “2021 Annual Financial\nReport.” Financial report. https://www.ermumn.com/application/files/3316/5668/9846/2021_Annual_Financial_Report.pdf.\n\n\nHolt, Dominic. 2019. “Wisconsin’s Clean Energy\nPolicies.” Government. Wisconsin Department of Natural\nResources. https://dnr.wisconsin.gov/sites/default/files/topic/ClimateChange/WisconsinCleanEnergyPolicies.pdf.\n\n\nHomeland Security, Department of. 2017. “Natural Gas Service\nTerritories - Homeland Infrastructure Foundation-Level\nData.” https://hifld-geoplatform.opendata.arcgis.com/maps/natural-gas-service-territories.\n\n\nIPCC. 2023. Climate Change 2021 – The Physical\nScience Basis: Working Group I Contribution to the\nSixth Assessment Report of the Intergovernmental\nPanel on Climate Change. 1st ed. Cambridge\nUniversity Press. https://doi.org/10.1017/9781009157896.\n\n\nIPCC, and Core Writing Team. 2014. “Climate Change\n2014: Synthesis Report. Contribution of\nWorking Groups I, II and III to\nthe Fifth Assessment Report of the Intergovernmental\nPanel on Climate Change.” Edited by R.K.\nPachauri and L.A. Meyer. Geneva, Switzerland: Intergovernmental Panel on\nClimate Change. https://www.ipcc.ch/assessment-report/ar5/.\n\n\nKnops, Johannes M. H., and Kate L. Bradley. 2009. “Soil\nCarbon and Nitrogen Accumulation and\nVertical Distribution Across a 74-Year\nChronosequence.” Soil Science Society of America\nJournal 73 (6): 2096–2104. https://doi.org/10.2136/sssaj2009.0058.\n\n\nLiu, Shuguang, Jinxun Liu, Yiping Wu, Claudia Young, Jeremy Werner,\nDevendra Dahal, Jennifer Oeding, and Gail Schmidt. 2014. “Baseline\nand Projected Future Carbon Storage, Carbon\nSequestration, and Greenhouse-Gas Fluxes in\nTerrestrial Ecosystems of the Eastern United\nStates.” In. Professional Paper.\n\n\nMa, Ookie, Ricardo P Cardoso De Oliveira, Evan Rosenlieb, and Megan H\nDay. 2019. “Sector-Specific Methodologies for\nSubnatonal Energy Modeling.” NREL/TP-7A40-72748,\n1506626. https://doi.org/10.2172/1506626.\n\n\nMetropolitan Council. 2020. “Sewersheds (Metersheds,\nWWTP Service Areas).” Government. Minnesota\nGeospatial Commons. https://gisdata.mn.gov/dataset/us-mn-state-metc-util-sanitary-sewersheds.\n\n\n———. 2021. “Travel Behavior Inventory\n(TBI) 2021 Household Interview Survey.”\nMinnesota Geospatial Commons. https://gisdata.mn.gov/dataset/us-mn-state-metc-society-tbi-home-interview2021.\n\n\nMinnesota Department of Commerce. 2022. “Annual Reporting Forms\nfor Electric and Gas Utilities.” Government/regulatory filings.\nAnnual Reporting. 2022. https://mn.gov/commerce/energy/industry-government/utilities/annual-reporting.jsp.\n\n\nMinnesota IT Services. 2021. “Public Utilities\nInfrastructure Information for Minnesota.”\n2021. https://www.mngeo.state.mn.us/chouse/utilities.html.\n\n\nMnDOT. 2021a. “VMT by Route System for\nEach County.” MnDOT Website. https://www.dot.state.mn.us/roadway/data/data-products.html#VMT.\n\n\n———. 2021b. “Yearly Volume Trends With Truck\nDistribution.” MnDOT Website. https://www.dot.state.mn.us/traffic/data/data-products.html.\n\n\n———. 2023a. “TFA Data Collection Methods.”\nGovernment. 2023. https://www.dot.state.mn.us/traffic/data/coll-methods.html#TVPO.\n\n\n———. 2023b. “City, Township, and Unorganized\nTerritory in Minnesota - Minnesota Geospatial\nCommons.” Minnesota Geospatial Commons. https://gisdata.mn.gov/dataset/bdry-mn-city-township-unorg.\n\n\nMPCA. 2022. “MPCA SCORE Guidebook.” Government\nw-sw-1-31. St. Paul, Minnesota. https://www.pca.state.mn.us/sites/default/files/w-sw-1-31.pdf.\n\n\nMPCA. 2023a. “Climate Change Trends and Data.” 2023. https://www.pca.state.mn.us/air-water-land-climate/climate-change-trends-and-data.\n\n\nMPCA. 2023b. “Sustainable Materials Management and Solid Waste\nPolicy Report.” Government lrw-sw-1sy23. St. Paul, Minnesota:\nMinnesota Pollution Control Agency. https://www.pca.state.mn.us/sites/default/files/lrw-sw-1sy23.pdf.\n\n\nNahlik, A. M., and M. S. Fennessy. 2016. “Carbon Storage in\nUS Wetlands.” Nature Communications 7 (1,\n1): 13835. https://doi.org/10.1038/ncomms13835.\n\n\nNan, Nan, Zhipeng Yan, Yaru Zhang, Rui Chen, Guohua Qin, and Nan Sang.\n2023. “Overview of PM2.5 and Health Outcomes:\nFocusing on Components, Sources, and Pollutant Mixture\nCo-Exposure.” Chemosphere 323 (May): 138181. https://doi.org/10.1016/j.chemosphere.2023.138181.\n\n\nNew Prague Utilities Commission. 2022. “Agenda &\nPacket, 1/24/2022 Meeting of the New Prague Utilities\nCommission (Incl. Financial Report).” Utility. https://www.ci.new-prague.mn.us/vertical/sites/%7BAD7ECB62-2C5E-4BA0-8F19-1426026AFA3E%7D/uploads/01-24-2022_Utilities_Commission_Meeting_Packet.pdf.\n\n\nNowak, David J., Eric J. Greenfield, Robert E. Hoehn, and Elizabeth\nLapoint. 2013. “Carbon Storage and Sequestration by Trees in Urban\nand Community Areas of the United States.”\nEnvironmental Pollution 178 (July): 229–36. https://doi.org/10.1016/j.envpol.2013.03.019.\n\n\nNREL. 2017. “SLOPE: State and\nLocal Planning for Energy.” https://maps.nrel.gov/slope/.\n\n\nOffice, Minnesota IT Geospatial Information. 2023. “Electric\nUtility Service Areas, Minnesota,\nJanuary 2023.” https://gisdata.mn.gov/dataset/util-eusa.\n\n\nPhillips, Claire L., Ruying Wang, Clint Mattox, Tara L. E. Trammell,\nJoseph Young, and Alec Kowalewski. 2023. “High Soil Carbon\nSequestration Rates Persist Several Decades in Turfgrass Systems:\nA Meta-Analysis.” Science of The Total\nEnvironment 858 (February): 159974. https://doi.org/10.1016/j.scitotenv.2022.159974.\n\n\nPolasky, Stephen, and Yang Liu. 2006. “The Supply of\nTerrestrial Carbon Sequestration in\nMinnesota.” Minnesota Terrestrial Carbon\nSequestration Project, 1–25.\n\n\nPublic Service Commission of Wisconsin. 2021. “PSC\nInteractive Service Area Maps.” https://psc.wi.gov/Pages/ForConsumers/Maps.aspx.\n\n\n———. 2022. “Annual Reports : View PDFs,\nQueries, and Programs.”\nGovernment/regulatory filings. Annual Reporting. 2022. https://apps.psc.wi.gov/ARS/annualReports/default.aspx.\n\n\nRussell, Matthew. 2020. “Carbon in Minnesota Trees\nand Woodlands.” University of Minnesota Extension. 2020. https://extension.umn.edu/managing-woodlands/carbon-minnesota-trees-and-woodlands.\n\n\nSelhorst, Adam, and Rattan Lal. 2013. “Net Carbon\nSequestration Potential and Emissions in Home\nLawn Turfgrasses of the United States.”\nEnvironmental Management 51 (1): 198–208. https://doi.org/10.1007/s00267-012-9967-6.\n\n\nState Cartographer’s Office. 2021. “Wisconsin Road\nData.” University of Wisconsin-Madison. January 29, 2021.\nhttps://www.sco.wisc.edu/data/roads/.\n\n\nStreetLight Data. 2023a. “StreetLight All Vehicles Volume\nMethodology and Validation White Paper -\nUnited States.” Industry November 2023. https://support.streetlightdata.com/hc/article_attachments/20771176488091.\n\n\n———. 2023b. “StreetLight Index.” Industry. https://support.streetlightdata.com/hc/en-us/articles/360018552772-StreetLight-Index.\n\n\n———. 2023c. “Truck Travel Mode.” Industry. https://support.streetlightdata.com/hc/en-us/articles/8358369620507-Truck-travel-mode.\n\n\n———. 2023d. “What Is Single Factor Calibration?” Industry.\nhttps://support.streetlightdata.com/hc/en-us/articles/360019181272-What-is-single-factor-calibration-.\n\n\n———. 2024. “All Vehicles Travel Modes.”\nIndustry. https://support.streetlightdata.com/hc/en-us/articles/360034538232-All-Vehicles-travel-modes.\n\n\nU.S. Census Bureau. 2021. “ACS Demographic and\nHousing Estimates.” U.S. Census Bureau. https://data.census.gov/table/ACSDP5Y2021.DP05?g=050XX00US27053_040XX00US27.\n\n\nU.S. Energy Information Administration. 2023. “Annual\nElectric Power Industry Report, Form EIA-861\nDetailed Data Files (2021).” https://www.eia.gov/electricity/data/eia861/.\n\n\nUS EIA. 2023. “2020 Residential Energy Consumption\nSurvey: Consumption and Expenditures Technical\nDocumentation Summary.” Government. Washington, DC 20585:\nU.S. Department of Energy. https://www.eia.gov/consumption/residential/data/2020/pdf/2020%20RECS%20CE%20Methodology_Final.pdf.\n\n\nUS EPA, OAR. 2017. “Local Greenhouse Gas Inventory\nTool.” Data and Tools. June 30, 2017. https://www.epa.gov/statelocalenergy/local-greenhouse-gas-inventory-tool.\n\n\nUSEPA. 2016. “Population and Activity of On-road Vehicles in\nMOVES2014.” Government EPA-420-R-16-003a. Ann Arbor,\nMI: Office of Transportation and Air Quality. https://nepis.epa.gov/Exe/ZyPDF.cgi?Dockey=P100O7PS.pdf.\n\n\n———. 2019. “WARM - Management Practices\nChapters (Version 15).” Government. US EPA Office of\nResource Conservation and Recovery, Prepared by ICF. https://www.epa.gov/sites/default/files/2019-10/documents/warm_v15_management_practices_updated_10-08-2019.pdf.\n\n\nUSEPA. 2021a. “eGRID\n(Emissions & Generation Resource Integrated\nDatabase) 2021 Summary Data.” https://www.epa.gov/egrid/summary-data.\n\n\n———. 2021b. “Emissions Factors for Greenhouse\nGas Inventories.” https://www.epa.gov/system/files/documents/2023-04/emission-factors_sept2021.pdf.\n\n\nUSEPA. 2021c. “GHG Emission Factors Hub.” https://www.epa.gov/system/files/documents/2023-04/emission-factors_sept2021.pdf.\n\n\n———. 2023a. “Inventory of U.S.\nGreenhouse Gas Emissions and Sinks:\n1990-2021.” Reports and Assessments. https://www.epa.gov/ghgemissions/inventory-us-greenhouse-gas-emissions-and-sinks-1990-2021.\n\n\n———. 2023b. “2020 National Emissions Inventory Technical\nSupport Document.” Government EPA-454/R-23-001a. Office of\nAir Quality Planning; Standards. https://www.epa.gov/air-emissions-inventories/2020-national-emissions-inventory-nei-technical-support-document-tsd.\n\n\n———. 2023c. “Understanding Global Warming\nPotentials.” Government. April 18, 2023. https://www.epa.gov/ghgemissions/understanding-global-warming-potentials.\n\n\n———. 2024a. “State Greenhouse Gas Inventory and\nProjection Tools.” Government. https://www.epa.gov/statelocalenergy/download-state-inventory-and-projection-tool.\n\n\n———. 2024b. “State Greenhouse Gas Inventory Tool\nUser’s Guide for the Wastewater\nModule.” Government. State Energy and Environment\nProgram. https://www.epa.gov/system/files/documents/2024-02/wastewater-users-guide_508.pdf.\n\n\nWalker, Kyle. 2023. Tigris: Load Census\nTIGER/Line Shapefiles. Manual. https://CRAN.R-project.org/package=tigris.\n\n\nWeitekamp, Chelsea A., Lukas B. Kerr, Laura Dishaw, Jennifer Nichols,\nMcKayla Lein, and Michael J. Stewart. 2020. “A Systematic Review\nof the Health Effects Associated with the Inhalation of\nParticle-Filtered and Whole Diesel Exhaust.” Inhalation\nToxicology 32 (1): 1–13. https://doi.org/10.1080/08958378.2020.1725187.\n\n\nWisconsin DNR. 2021. “Wisconsin Greenhouse Gas Emissions\nInventory Report.” Government AM-610-2021. Madison,\nWisconsin. https://widnr.widen.net/view/pdf/o9xmpot5x7/AM610.pdf?t.download=true.\n\n\nWisconsin Legislature. 2023. “Wisconsin Cities,\nTowns and Villages (July\n2023).” Legislative Technology Services Bureau (LTSB). https://gis-ltsb.hub.arcgis.com/datasets/LTSB::wi-cities-towns-and-villages-july-2023/explore.\n\n\nWisconsin Public Service Commission, Division of Energy Regulation, and\nTyler Tomaszewski. 2024. “Electric Service\nTerritories.” https://maps.psc.wi.gov/portal/apps/webappviewer/index.html?id=bb1a9f501e3d472cbde970310540b466.\n\n\nWisconsin State Legislature. 2024. Chapter 196,\nRegulation of Public Utilities.\n35.18. https://docs.legis.wisconsin.gov/statutes/statutes/196.\n\n\nWisDOT. 2020. “Wisconsin Vehicle Classification\nData.” wisconsindot.gov. https://wisconsindot.gov/Pages/projects/data-plan/traf-fore/default.aspx.\n\n\n———. 2021. “Wisconsin Vehicle Miles of Travel\n(VMT).” https://wisconsindot.gov/. https://wisconsindot.gov/Pages/projects/data-plan/veh-miles/default.aspx." - } -] \ No newline at end of file diff --git a/docs/site_libs/bootstrap/bootstrap-icons.css b/docs/site_libs/bootstrap/bootstrap-icons.css deleted file mode 100644 index 94f19404..00000000 --- a/docs/site_libs/bootstrap/bootstrap-icons.css +++ /dev/null @@ -1,2018 +0,0 @@ -@font-face { - font-display: block; - font-family: "bootstrap-icons"; - src: -url("./bootstrap-icons.woff?2ab2cbbe07fcebb53bdaa7313bb290f2") format("woff"); -} - -.bi::before, -[class^="bi-"]::before, -[class*=" bi-"]::before { - display: inline-block; - font-family: bootstrap-icons !important; - font-style: normal; - font-weight: normal !important; - font-variant: normal; - text-transform: none; - line-height: 1; - vertical-align: -.125em; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.bi-123::before { content: "\f67f"; } -.bi-alarm-fill::before { content: "\f101"; } -.bi-alarm::before { content: "\f102"; } -.bi-align-bottom::before { content: "\f103"; } -.bi-align-center::before { content: "\f104"; } -.bi-align-end::before { content: "\f105"; } -.bi-align-middle::before { content: "\f106"; } -.bi-align-start::before { content: "\f107"; } -.bi-align-top::before { content: "\f108"; } -.bi-alt::before { content: "\f109"; } -.bi-app-indicator::before { content: "\f10a"; } -.bi-app::before { content: "\f10b"; } -.bi-archive-fill::before { content: "\f10c"; } -.bi-archive::before { content: "\f10d"; } -.bi-arrow-90deg-down::before { content: "\f10e"; } -.bi-arrow-90deg-left::before { content: "\f10f"; } -.bi-arrow-90deg-right::before { content: "\f110"; } -.bi-arrow-90deg-up::before { content: "\f111"; } -.bi-arrow-bar-down::before { content: "\f112"; } -.bi-arrow-bar-left::before { content: "\f113"; } -.bi-arrow-bar-right::before { content: "\f114"; } -.bi-arrow-bar-up::before { content: "\f115"; } -.bi-arrow-clockwise::before { content: "\f116"; } -.bi-arrow-counterclockwise::before { content: "\f117"; } -.bi-arrow-down-circle-fill::before { content: "\f118"; } -.bi-arrow-down-circle::before { content: "\f119"; } -.bi-arrow-down-left-circle-fill::before { content: "\f11a"; } -.bi-arrow-down-left-circle::before { content: "\f11b"; } -.bi-arrow-down-left-square-fill::before { content: "\f11c"; } -.bi-arrow-down-left-square::before { content: "\f11d"; } -.bi-arrow-down-left::before { content: "\f11e"; } -.bi-arrow-down-right-circle-fill::before { content: "\f11f"; } -.bi-arrow-down-right-circle::before { content: "\f120"; } -.bi-arrow-down-right-square-fill::before { content: "\f121"; } -.bi-arrow-down-right-square::before { content: "\f122"; } -.bi-arrow-down-right::before { content: "\f123"; } -.bi-arrow-down-short::before { content: "\f124"; } -.bi-arrow-down-square-fill::before { content: "\f125"; } -.bi-arrow-down-square::before { content: "\f126"; } -.bi-arrow-down-up::before { content: "\f127"; } -.bi-arrow-down::before { content: "\f128"; } -.bi-arrow-left-circle-fill::before { content: "\f129"; } -.bi-arrow-left-circle::before { content: "\f12a"; } -.bi-arrow-left-right::before { content: "\f12b"; } -.bi-arrow-left-short::before { content: "\f12c"; } -.bi-arrow-left-square-fill::before { content: "\f12d"; } -.bi-arrow-left-square::before { content: "\f12e"; } -.bi-arrow-left::before { content: "\f12f"; } -.bi-arrow-repeat::before { content: "\f130"; } -.bi-arrow-return-left::before { content: "\f131"; } -.bi-arrow-return-right::before { content: "\f132"; } -.bi-arrow-right-circle-fill::before { content: "\f133"; } -.bi-arrow-right-circle::before { content: "\f134"; } -.bi-arrow-right-short::before { content: "\f135"; } -.bi-arrow-right-square-fill::before { content: "\f136"; } -.bi-arrow-right-square::before { content: "\f137"; } -.bi-arrow-right::before { content: "\f138"; } -.bi-arrow-up-circle-fill::before { content: "\f139"; } -.bi-arrow-up-circle::before { content: "\f13a"; } -.bi-arrow-up-left-circle-fill::before { content: "\f13b"; } -.bi-arrow-up-left-circle::before { content: "\f13c"; } -.bi-arrow-up-left-square-fill::before { content: "\f13d"; } -.bi-arrow-up-left-square::before { content: "\f13e"; } -.bi-arrow-up-left::before { content: "\f13f"; } -.bi-arrow-up-right-circle-fill::before { content: "\f140"; } -.bi-arrow-up-right-circle::before { content: "\f141"; } -.bi-arrow-up-right-square-fill::before { content: "\f142"; } -.bi-arrow-up-right-square::before { content: "\f143"; } -.bi-arrow-up-right::before { content: "\f144"; } -.bi-arrow-up-short::before { content: "\f145"; } -.bi-arrow-up-square-fill::before { content: "\f146"; } -.bi-arrow-up-square::before { content: "\f147"; } -.bi-arrow-up::before { content: "\f148"; } -.bi-arrows-angle-contract::before { content: "\f149"; } -.bi-arrows-angle-expand::before { content: "\f14a"; } -.bi-arrows-collapse::before { content: "\f14b"; } -.bi-arrows-expand::before { content: "\f14c"; } -.bi-arrows-fullscreen::before { content: "\f14d"; } -.bi-arrows-move::before { content: "\f14e"; } -.bi-aspect-ratio-fill::before { content: "\f14f"; } -.bi-aspect-ratio::before { content: "\f150"; } -.bi-asterisk::before { content: "\f151"; } -.bi-at::before { content: "\f152"; } -.bi-award-fill::before { content: "\f153"; } -.bi-award::before { content: "\f154"; } -.bi-back::before { content: "\f155"; } -.bi-backspace-fill::before { content: "\f156"; } -.bi-backspace-reverse-fill::before { content: "\f157"; } -.bi-backspace-reverse::before { content: "\f158"; } -.bi-backspace::before { content: "\f159"; } -.bi-badge-3d-fill::before { content: "\f15a"; } -.bi-badge-3d::before { content: "\f15b"; } -.bi-badge-4k-fill::before { content: "\f15c"; } -.bi-badge-4k::before { content: "\f15d"; } -.bi-badge-8k-fill::before { content: "\f15e"; } -.bi-badge-8k::before { content: "\f15f"; } -.bi-badge-ad-fill::before { content: "\f160"; } -.bi-badge-ad::before { content: "\f161"; } -.bi-badge-ar-fill::before { content: "\f162"; } -.bi-badge-ar::before { content: "\f163"; } -.bi-badge-cc-fill::before { content: "\f164"; } -.bi-badge-cc::before { content: "\f165"; } -.bi-badge-hd-fill::before { content: "\f166"; } -.bi-badge-hd::before { content: "\f167"; } -.bi-badge-tm-fill::before { content: "\f168"; } -.bi-badge-tm::before { content: "\f169"; } -.bi-badge-vo-fill::before { content: "\f16a"; } -.bi-badge-vo::before { content: "\f16b"; } -.bi-badge-vr-fill::before { content: "\f16c"; } -.bi-badge-vr::before { content: "\f16d"; } -.bi-badge-wc-fill::before { content: "\f16e"; } -.bi-badge-wc::before { content: "\f16f"; } -.bi-bag-check-fill::before { content: "\f170"; } -.bi-bag-check::before { content: "\f171"; } -.bi-bag-dash-fill::before { content: "\f172"; } -.bi-bag-dash::before { content: "\f173"; } -.bi-bag-fill::before { content: "\f174"; } -.bi-bag-plus-fill::before { content: "\f175"; } -.bi-bag-plus::before { content: "\f176"; } -.bi-bag-x-fill::before { content: "\f177"; } -.bi-bag-x::before { content: "\f178"; } -.bi-bag::before { content: "\f179"; } -.bi-bar-chart-fill::before { content: "\f17a"; } -.bi-bar-chart-line-fill::before { content: "\f17b"; } -.bi-bar-chart-line::before { content: "\f17c"; } -.bi-bar-chart-steps::before { content: "\f17d"; } -.bi-bar-chart::before { content: "\f17e"; } -.bi-basket-fill::before { content: "\f17f"; } -.bi-basket::before { content: "\f180"; } -.bi-basket2-fill::before { content: "\f181"; } -.bi-basket2::before { content: "\f182"; } -.bi-basket3-fill::before { content: "\f183"; } -.bi-basket3::before { content: "\f184"; } -.bi-battery-charging::before { content: "\f185"; } -.bi-battery-full::before { content: "\f186"; } -.bi-battery-half::before { content: "\f187"; } -.bi-battery::before { content: "\f188"; } -.bi-bell-fill::before { content: "\f189"; } -.bi-bell::before { content: "\f18a"; } -.bi-bezier::before { content: "\f18b"; } -.bi-bezier2::before { content: "\f18c"; } -.bi-bicycle::before { content: "\f18d"; } -.bi-binoculars-fill::before { content: "\f18e"; } -.bi-binoculars::before { content: "\f18f"; } -.bi-blockquote-left::before { content: "\f190"; } -.bi-blockquote-right::before { content: "\f191"; } -.bi-book-fill::before { content: "\f192"; } -.bi-book-half::before { content: "\f193"; } -.bi-book::before { content: "\f194"; } -.bi-bookmark-check-fill::before { content: "\f195"; } -.bi-bookmark-check::before { content: "\f196"; } -.bi-bookmark-dash-fill::before { content: "\f197"; } -.bi-bookmark-dash::before { content: "\f198"; } -.bi-bookmark-fill::before { content: "\f199"; } -.bi-bookmark-heart-fill::before { content: "\f19a"; } -.bi-bookmark-heart::before { content: "\f19b"; } -.bi-bookmark-plus-fill::before { content: "\f19c"; } -.bi-bookmark-plus::before { content: "\f19d"; } -.bi-bookmark-star-fill::before { content: "\f19e"; } -.bi-bookmark-star::before { content: "\f19f"; } -.bi-bookmark-x-fill::before { content: "\f1a0"; } -.bi-bookmark-x::before { content: "\f1a1"; } -.bi-bookmark::before { content: "\f1a2"; } -.bi-bookmarks-fill::before { content: "\f1a3"; } -.bi-bookmarks::before { content: "\f1a4"; } -.bi-bookshelf::before { content: "\f1a5"; } -.bi-bootstrap-fill::before { content: "\f1a6"; } -.bi-bootstrap-reboot::before { content: "\f1a7"; } -.bi-bootstrap::before { content: "\f1a8"; } -.bi-border-all::before { content: "\f1a9"; } -.bi-border-bottom::before { content: "\f1aa"; } -.bi-border-center::before { content: "\f1ab"; } -.bi-border-inner::before { content: "\f1ac"; } -.bi-border-left::before { content: "\f1ad"; } -.bi-border-middle::before { content: "\f1ae"; } -.bi-border-outer::before { content: "\f1af"; } -.bi-border-right::before { content: "\f1b0"; } -.bi-border-style::before { content: "\f1b1"; } -.bi-border-top::before { content: "\f1b2"; } -.bi-border-width::before { content: "\f1b3"; } -.bi-border::before { content: "\f1b4"; } -.bi-bounding-box-circles::before { content: "\f1b5"; } -.bi-bounding-box::before { content: "\f1b6"; } -.bi-box-arrow-down-left::before { content: "\f1b7"; } -.bi-box-arrow-down-right::before { content: "\f1b8"; } -.bi-box-arrow-down::before { content: "\f1b9"; } -.bi-box-arrow-in-down-left::before { content: "\f1ba"; } -.bi-box-arrow-in-down-right::before { content: "\f1bb"; } -.bi-box-arrow-in-down::before { content: "\f1bc"; } -.bi-box-arrow-in-left::before { content: "\f1bd"; } -.bi-box-arrow-in-right::before { content: "\f1be"; } -.bi-box-arrow-in-up-left::before { content: "\f1bf"; } -.bi-box-arrow-in-up-right::before { content: "\f1c0"; } -.bi-box-arrow-in-up::before { content: "\f1c1"; } -.bi-box-arrow-left::before { content: "\f1c2"; } -.bi-box-arrow-right::before { content: "\f1c3"; } -.bi-box-arrow-up-left::before { content: "\f1c4"; } -.bi-box-arrow-up-right::before { content: "\f1c5"; } -.bi-box-arrow-up::before { content: "\f1c6"; } -.bi-box-seam::before { content: "\f1c7"; } -.bi-box::before { content: "\f1c8"; } -.bi-braces::before { content: "\f1c9"; } -.bi-bricks::before { content: "\f1ca"; } -.bi-briefcase-fill::before { content: "\f1cb"; } -.bi-briefcase::before { content: "\f1cc"; } -.bi-brightness-alt-high-fill::before { content: "\f1cd"; } -.bi-brightness-alt-high::before { content: "\f1ce"; } -.bi-brightness-alt-low-fill::before { content: "\f1cf"; } -.bi-brightness-alt-low::before { content: "\f1d0"; } -.bi-brightness-high-fill::before { content: "\f1d1"; } -.bi-brightness-high::before { content: "\f1d2"; } -.bi-brightness-low-fill::before { content: "\f1d3"; } -.bi-brightness-low::before { content: "\f1d4"; } -.bi-broadcast-pin::before { content: "\f1d5"; } -.bi-broadcast::before { content: "\f1d6"; } -.bi-brush-fill::before { content: "\f1d7"; } -.bi-brush::before { content: "\f1d8"; } -.bi-bucket-fill::before { content: "\f1d9"; } -.bi-bucket::before { content: "\f1da"; } -.bi-bug-fill::before { content: "\f1db"; } -.bi-bug::before { content: "\f1dc"; } -.bi-building::before { content: "\f1dd"; } -.bi-bullseye::before { content: "\f1de"; } -.bi-calculator-fill::before { content: "\f1df"; } -.bi-calculator::before { content: "\f1e0"; } -.bi-calendar-check-fill::before { content: "\f1e1"; } -.bi-calendar-check::before { content: "\f1e2"; } -.bi-calendar-date-fill::before { content: "\f1e3"; } -.bi-calendar-date::before { content: "\f1e4"; } -.bi-calendar-day-fill::before { content: "\f1e5"; } -.bi-calendar-day::before { content: "\f1e6"; } -.bi-calendar-event-fill::before { content: "\f1e7"; } -.bi-calendar-event::before { content: "\f1e8"; } -.bi-calendar-fill::before { content: "\f1e9"; } -.bi-calendar-minus-fill::before { content: "\f1ea"; } -.bi-calendar-minus::before { content: "\f1eb"; } -.bi-calendar-month-fill::before { content: "\f1ec"; } -.bi-calendar-month::before { content: "\f1ed"; } -.bi-calendar-plus-fill::before { content: "\f1ee"; } -.bi-calendar-plus::before { content: "\f1ef"; } -.bi-calendar-range-fill::before { content: "\f1f0"; } -.bi-calendar-range::before { content: "\f1f1"; } -.bi-calendar-week-fill::before { content: "\f1f2"; } -.bi-calendar-week::before { content: "\f1f3"; } -.bi-calendar-x-fill::before { content: "\f1f4"; } -.bi-calendar-x::before { content: "\f1f5"; } -.bi-calendar::before { content: "\f1f6"; } -.bi-calendar2-check-fill::before { content: "\f1f7"; } -.bi-calendar2-check::before { content: "\f1f8"; } -.bi-calendar2-date-fill::before { content: "\f1f9"; } -.bi-calendar2-date::before { content: "\f1fa"; } -.bi-calendar2-day-fill::before { content: "\f1fb"; } -.bi-calendar2-day::before { content: "\f1fc"; } -.bi-calendar2-event-fill::before { content: "\f1fd"; } -.bi-calendar2-event::before { content: "\f1fe"; } -.bi-calendar2-fill::before { content: "\f1ff"; } -.bi-calendar2-minus-fill::before { content: "\f200"; } -.bi-calendar2-minus::before { content: "\f201"; } -.bi-calendar2-month-fill::before { content: "\f202"; } -.bi-calendar2-month::before { content: "\f203"; } -.bi-calendar2-plus-fill::before { content: "\f204"; } -.bi-calendar2-plus::before { content: "\f205"; } -.bi-calendar2-range-fill::before { content: "\f206"; } -.bi-calendar2-range::before { content: "\f207"; } -.bi-calendar2-week-fill::before { content: "\f208"; } -.bi-calendar2-week::before { content: "\f209"; } -.bi-calendar2-x-fill::before { content: "\f20a"; } -.bi-calendar2-x::before { content: "\f20b"; } -.bi-calendar2::before { content: "\f20c"; } -.bi-calendar3-event-fill::before { content: "\f20d"; } -.bi-calendar3-event::before { content: "\f20e"; } -.bi-calendar3-fill::before { content: "\f20f"; } -.bi-calendar3-range-fill::before { content: "\f210"; } -.bi-calendar3-range::before { content: "\f211"; } -.bi-calendar3-week-fill::before { content: "\f212"; } -.bi-calendar3-week::before { content: "\f213"; } -.bi-calendar3::before { content: "\f214"; } -.bi-calendar4-event::before { content: "\f215"; } -.bi-calendar4-range::before { content: "\f216"; } -.bi-calendar4-week::before { content: "\f217"; } -.bi-calendar4::before { content: "\f218"; } -.bi-camera-fill::before { content: "\f219"; } -.bi-camera-reels-fill::before { content: "\f21a"; } -.bi-camera-reels::before { content: "\f21b"; } -.bi-camera-video-fill::before { content: "\f21c"; } -.bi-camera-video-off-fill::before { content: "\f21d"; } -.bi-camera-video-off::before { content: "\f21e"; } -.bi-camera-video::before { content: "\f21f"; } -.bi-camera::before { content: "\f220"; } -.bi-camera2::before { content: "\f221"; } -.bi-capslock-fill::before { content: "\f222"; } -.bi-capslock::before { content: "\f223"; } -.bi-card-checklist::before { content: "\f224"; } -.bi-card-heading::before { content: "\f225"; } -.bi-card-image::before { content: "\f226"; } -.bi-card-list::before { content: "\f227"; } -.bi-card-text::before { content: "\f228"; } -.bi-caret-down-fill::before { content: "\f229"; } -.bi-caret-down-square-fill::before { content: "\f22a"; } -.bi-caret-down-square::before { content: "\f22b"; } -.bi-caret-down::before { content: "\f22c"; } -.bi-caret-left-fill::before { content: "\f22d"; } -.bi-caret-left-square-fill::before { content: "\f22e"; } -.bi-caret-left-square::before { content: "\f22f"; } -.bi-caret-left::before { content: "\f230"; } -.bi-caret-right-fill::before { content: "\f231"; } -.bi-caret-right-square-fill::before { content: "\f232"; } -.bi-caret-right-square::before { content: "\f233"; } -.bi-caret-right::before { content: "\f234"; } -.bi-caret-up-fill::before { content: "\f235"; } -.bi-caret-up-square-fill::before { content: "\f236"; } -.bi-caret-up-square::before { content: "\f237"; } -.bi-caret-up::before { content: "\f238"; } -.bi-cart-check-fill::before { content: "\f239"; } -.bi-cart-check::before { content: "\f23a"; } -.bi-cart-dash-fill::before { content: "\f23b"; } -.bi-cart-dash::before { content: "\f23c"; } -.bi-cart-fill::before { content: "\f23d"; } -.bi-cart-plus-fill::before { content: "\f23e"; } -.bi-cart-plus::before { content: "\f23f"; } -.bi-cart-x-fill::before { content: "\f240"; } -.bi-cart-x::before { content: "\f241"; } -.bi-cart::before { content: "\f242"; } -.bi-cart2::before { content: "\f243"; } -.bi-cart3::before { content: "\f244"; } -.bi-cart4::before { content: "\f245"; } -.bi-cash-stack::before { content: "\f246"; } -.bi-cash::before { content: "\f247"; } -.bi-cast::before { content: "\f248"; } -.bi-chat-dots-fill::before { content: "\f249"; } -.bi-chat-dots::before { content: "\f24a"; } -.bi-chat-fill::before { content: "\f24b"; } -.bi-chat-left-dots-fill::before { content: "\f24c"; } -.bi-chat-left-dots::before { content: "\f24d"; } -.bi-chat-left-fill::before { content: "\f24e"; } -.bi-chat-left-quote-fill::before { content: "\f24f"; } -.bi-chat-left-quote::before { content: "\f250"; } -.bi-chat-left-text-fill::before { content: "\f251"; } -.bi-chat-left-text::before { content: "\f252"; } -.bi-chat-left::before { content: "\f253"; } -.bi-chat-quote-fill::before { content: "\f254"; } -.bi-chat-quote::before { content: "\f255"; } -.bi-chat-right-dots-fill::before { content: "\f256"; } -.bi-chat-right-dots::before { content: "\f257"; } -.bi-chat-right-fill::before { content: "\f258"; } -.bi-chat-right-quote-fill::before { content: "\f259"; } -.bi-chat-right-quote::before { content: "\f25a"; } -.bi-chat-right-text-fill::before { content: "\f25b"; } -.bi-chat-right-text::before { content: "\f25c"; } -.bi-chat-right::before { content: "\f25d"; } -.bi-chat-square-dots-fill::before { content: "\f25e"; } -.bi-chat-square-dots::before { content: "\f25f"; } -.bi-chat-square-fill::before { content: "\f260"; } -.bi-chat-square-quote-fill::before { content: "\f261"; } -.bi-chat-square-quote::before { content: "\f262"; } -.bi-chat-square-text-fill::before { content: "\f263"; } -.bi-chat-square-text::before { content: "\f264"; } -.bi-chat-square::before { content: "\f265"; } -.bi-chat-text-fill::before { content: "\f266"; } -.bi-chat-text::before { content: "\f267"; } -.bi-chat::before { content: "\f268"; } -.bi-check-all::before { content: "\f269"; } -.bi-check-circle-fill::before { content: "\f26a"; } -.bi-check-circle::before { content: "\f26b"; } -.bi-check-square-fill::before { content: "\f26c"; } -.bi-check-square::before { content: "\f26d"; } -.bi-check::before { content: "\f26e"; } -.bi-check2-all::before { content: "\f26f"; } -.bi-check2-circle::before { content: "\f270"; } -.bi-check2-square::before { content: "\f271"; } -.bi-check2::before { content: "\f272"; } -.bi-chevron-bar-contract::before { content: "\f273"; } -.bi-chevron-bar-down::before { content: "\f274"; } -.bi-chevron-bar-expand::before { content: "\f275"; } -.bi-chevron-bar-left::before { content: "\f276"; } -.bi-chevron-bar-right::before { content: "\f277"; } -.bi-chevron-bar-up::before { content: "\f278"; } -.bi-chevron-compact-down::before { content: "\f279"; } -.bi-chevron-compact-left::before { content: "\f27a"; } -.bi-chevron-compact-right::before { content: "\f27b"; } -.bi-chevron-compact-up::before { content: "\f27c"; } -.bi-chevron-contract::before { content: "\f27d"; } -.bi-chevron-double-down::before { content: "\f27e"; } -.bi-chevron-double-left::before { content: "\f27f"; } -.bi-chevron-double-right::before { content: "\f280"; } -.bi-chevron-double-up::before { content: "\f281"; } -.bi-chevron-down::before { content: "\f282"; } -.bi-chevron-expand::before { content: "\f283"; } -.bi-chevron-left::before { content: "\f284"; } -.bi-chevron-right::before { content: "\f285"; } -.bi-chevron-up::before { content: "\f286"; } -.bi-circle-fill::before { content: "\f287"; } -.bi-circle-half::before { content: "\f288"; } -.bi-circle-square::before { content: "\f289"; } -.bi-circle::before { content: "\f28a"; } -.bi-clipboard-check::before { content: "\f28b"; } -.bi-clipboard-data::before { content: "\f28c"; } -.bi-clipboard-minus::before { content: "\f28d"; } -.bi-clipboard-plus::before { content: "\f28e"; } -.bi-clipboard-x::before { content: "\f28f"; } -.bi-clipboard::before { content: "\f290"; } -.bi-clock-fill::before { content: "\f291"; } -.bi-clock-history::before { content: "\f292"; } -.bi-clock::before { content: "\f293"; } -.bi-cloud-arrow-down-fill::before { content: "\f294"; } -.bi-cloud-arrow-down::before { content: "\f295"; } -.bi-cloud-arrow-up-fill::before { content: "\f296"; } -.bi-cloud-arrow-up::before { content: "\f297"; } -.bi-cloud-check-fill::before { content: "\f298"; } -.bi-cloud-check::before { content: "\f299"; } -.bi-cloud-download-fill::before { content: "\f29a"; } -.bi-cloud-download::before { content: "\f29b"; } -.bi-cloud-drizzle-fill::before { content: "\f29c"; } -.bi-cloud-drizzle::before { content: "\f29d"; } -.bi-cloud-fill::before { content: "\f29e"; } -.bi-cloud-fog-fill::before { content: "\f29f"; } -.bi-cloud-fog::before { content: "\f2a0"; } -.bi-cloud-fog2-fill::before { content: "\f2a1"; } -.bi-cloud-fog2::before { content: "\f2a2"; } -.bi-cloud-hail-fill::before { content: "\f2a3"; } -.bi-cloud-hail::before { content: "\f2a4"; } -.bi-cloud-haze-1::before { content: "\f2a5"; } -.bi-cloud-haze-fill::before { content: "\f2a6"; } -.bi-cloud-haze::before { content: "\f2a7"; } -.bi-cloud-haze2-fill::before { content: "\f2a8"; } -.bi-cloud-lightning-fill::before { content: "\f2a9"; } -.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; } -.bi-cloud-lightning-rain::before { content: "\f2ab"; } -.bi-cloud-lightning::before { content: "\f2ac"; } -.bi-cloud-minus-fill::before { content: "\f2ad"; } -.bi-cloud-minus::before { content: "\f2ae"; } -.bi-cloud-moon-fill::before { content: "\f2af"; } -.bi-cloud-moon::before { content: "\f2b0"; } -.bi-cloud-plus-fill::before { content: "\f2b1"; } -.bi-cloud-plus::before { content: "\f2b2"; } -.bi-cloud-rain-fill::before { content: "\f2b3"; } -.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; } -.bi-cloud-rain-heavy::before { content: "\f2b5"; } -.bi-cloud-rain::before { content: "\f2b6"; } -.bi-cloud-slash-fill::before { content: "\f2b7"; } -.bi-cloud-slash::before { content: "\f2b8"; } -.bi-cloud-sleet-fill::before { content: "\f2b9"; } -.bi-cloud-sleet::before { content: "\f2ba"; } -.bi-cloud-snow-fill::before { content: "\f2bb"; } -.bi-cloud-snow::before { content: "\f2bc"; } -.bi-cloud-sun-fill::before { content: "\f2bd"; } -.bi-cloud-sun::before { content: "\f2be"; } -.bi-cloud-upload-fill::before { content: "\f2bf"; } -.bi-cloud-upload::before { content: "\f2c0"; } -.bi-cloud::before { content: "\f2c1"; } -.bi-clouds-fill::before { content: "\f2c2"; } -.bi-clouds::before { content: "\f2c3"; } -.bi-cloudy-fill::before { content: "\f2c4"; } -.bi-cloudy::before { content: "\f2c5"; } -.bi-code-slash::before { content: "\f2c6"; } -.bi-code-square::before { content: "\f2c7"; } -.bi-code::before { content: "\f2c8"; } -.bi-collection-fill::before { content: "\f2c9"; } -.bi-collection-play-fill::before { content: "\f2ca"; } -.bi-collection-play::before { content: "\f2cb"; } -.bi-collection::before { content: "\f2cc"; } -.bi-columns-gap::before { content: "\f2cd"; } -.bi-columns::before { content: "\f2ce"; } -.bi-command::before { content: "\f2cf"; } -.bi-compass-fill::before { content: "\f2d0"; } -.bi-compass::before { content: "\f2d1"; } -.bi-cone-striped::before { content: "\f2d2"; } -.bi-cone::before { content: "\f2d3"; } -.bi-controller::before { content: "\f2d4"; } -.bi-cpu-fill::before { content: "\f2d5"; } -.bi-cpu::before { content: "\f2d6"; } -.bi-credit-card-2-back-fill::before { content: "\f2d7"; } -.bi-credit-card-2-back::before { content: "\f2d8"; } -.bi-credit-card-2-front-fill::before { content: "\f2d9"; } -.bi-credit-card-2-front::before { content: "\f2da"; } -.bi-credit-card-fill::before { content: "\f2db"; } -.bi-credit-card::before { content: "\f2dc"; } -.bi-crop::before { content: "\f2dd"; } -.bi-cup-fill::before { content: "\f2de"; } -.bi-cup-straw::before { content: "\f2df"; } -.bi-cup::before { content: "\f2e0"; } -.bi-cursor-fill::before { content: "\f2e1"; } -.bi-cursor-text::before { content: "\f2e2"; } -.bi-cursor::before { content: "\f2e3"; } -.bi-dash-circle-dotted::before { content: "\f2e4"; } -.bi-dash-circle-fill::before { content: "\f2e5"; } -.bi-dash-circle::before { content: "\f2e6"; } -.bi-dash-square-dotted::before { content: "\f2e7"; } -.bi-dash-square-fill::before { content: "\f2e8"; } -.bi-dash-square::before { content: "\f2e9"; } -.bi-dash::before { content: "\f2ea"; } -.bi-diagram-2-fill::before { content: "\f2eb"; } -.bi-diagram-2::before { content: "\f2ec"; } -.bi-diagram-3-fill::before { content: "\f2ed"; } -.bi-diagram-3::before { content: "\f2ee"; } -.bi-diamond-fill::before { content: "\f2ef"; } -.bi-diamond-half::before { content: "\f2f0"; } -.bi-diamond::before { content: "\f2f1"; } -.bi-dice-1-fill::before { content: "\f2f2"; } -.bi-dice-1::before { content: "\f2f3"; } -.bi-dice-2-fill::before { content: "\f2f4"; } -.bi-dice-2::before { content: "\f2f5"; } -.bi-dice-3-fill::before { content: "\f2f6"; } -.bi-dice-3::before { content: "\f2f7"; } -.bi-dice-4-fill::before { content: "\f2f8"; } -.bi-dice-4::before { content: "\f2f9"; } -.bi-dice-5-fill::before { content: "\f2fa"; } -.bi-dice-5::before { content: "\f2fb"; } -.bi-dice-6-fill::before { content: "\f2fc"; } -.bi-dice-6::before { content: "\f2fd"; } -.bi-disc-fill::before { content: "\f2fe"; } -.bi-disc::before { content: "\f2ff"; } -.bi-discord::before { content: "\f300"; } -.bi-display-fill::before { content: "\f301"; } -.bi-display::before { content: "\f302"; } -.bi-distribute-horizontal::before { content: "\f303"; } -.bi-distribute-vertical::before { content: "\f304"; } -.bi-door-closed-fill::before { content: "\f305"; } -.bi-door-closed::before { content: "\f306"; } -.bi-door-open-fill::before { content: "\f307"; } -.bi-door-open::before { content: "\f308"; } -.bi-dot::before { content: "\f309"; } -.bi-download::before { content: "\f30a"; } -.bi-droplet-fill::before { content: "\f30b"; } -.bi-droplet-half::before { content: "\f30c"; } -.bi-droplet::before { content: "\f30d"; } -.bi-earbuds::before { content: "\f30e"; } -.bi-easel-fill::before { content: "\f30f"; } -.bi-easel::before { content: "\f310"; } -.bi-egg-fill::before { content: "\f311"; } -.bi-egg-fried::before { content: "\f312"; } -.bi-egg::before { content: "\f313"; } -.bi-eject-fill::before { content: "\f314"; } -.bi-eject::before { content: "\f315"; } -.bi-emoji-angry-fill::before { content: "\f316"; } -.bi-emoji-angry::before { content: "\f317"; } -.bi-emoji-dizzy-fill::before { content: "\f318"; } -.bi-emoji-dizzy::before { content: "\f319"; } -.bi-emoji-expressionless-fill::before { content: "\f31a"; } -.bi-emoji-expressionless::before { content: "\f31b"; } -.bi-emoji-frown-fill::before { content: "\f31c"; } -.bi-emoji-frown::before { content: "\f31d"; } -.bi-emoji-heart-eyes-fill::before { content: "\f31e"; } -.bi-emoji-heart-eyes::before { content: "\f31f"; } -.bi-emoji-laughing-fill::before { content: "\f320"; } -.bi-emoji-laughing::before { content: "\f321"; } -.bi-emoji-neutral-fill::before { content: "\f322"; } -.bi-emoji-neutral::before { content: "\f323"; } -.bi-emoji-smile-fill::before { content: "\f324"; } -.bi-emoji-smile-upside-down-fill::before { content: "\f325"; } -.bi-emoji-smile-upside-down::before { content: "\f326"; } -.bi-emoji-smile::before { content: "\f327"; } -.bi-emoji-sunglasses-fill::before { content: "\f328"; } -.bi-emoji-sunglasses::before { content: "\f329"; } -.bi-emoji-wink-fill::before { content: "\f32a"; } -.bi-emoji-wink::before { content: "\f32b"; } -.bi-envelope-fill::before { content: "\f32c"; } -.bi-envelope-open-fill::before { content: "\f32d"; } -.bi-envelope-open::before { content: "\f32e"; } -.bi-envelope::before { content: "\f32f"; } -.bi-eraser-fill::before { content: "\f330"; } -.bi-eraser::before { content: "\f331"; } -.bi-exclamation-circle-fill::before { content: "\f332"; } -.bi-exclamation-circle::before { content: "\f333"; } -.bi-exclamation-diamond-fill::before { content: "\f334"; } -.bi-exclamation-diamond::before { content: "\f335"; } -.bi-exclamation-octagon-fill::before { content: "\f336"; } -.bi-exclamation-octagon::before { content: "\f337"; } -.bi-exclamation-square-fill::before { content: "\f338"; } -.bi-exclamation-square::before { content: "\f339"; } -.bi-exclamation-triangle-fill::before { content: "\f33a"; } -.bi-exclamation-triangle::before { content: "\f33b"; } -.bi-exclamation::before { content: "\f33c"; } -.bi-exclude::before { content: "\f33d"; } -.bi-eye-fill::before { content: "\f33e"; } -.bi-eye-slash-fill::before { content: "\f33f"; } -.bi-eye-slash::before { content: "\f340"; } -.bi-eye::before { content: "\f341"; } -.bi-eyedropper::before { content: "\f342"; } -.bi-eyeglasses::before { content: "\f343"; } -.bi-facebook::before { content: "\f344"; } -.bi-file-arrow-down-fill::before { content: "\f345"; } -.bi-file-arrow-down::before { content: "\f346"; } -.bi-file-arrow-up-fill::before { content: "\f347"; } -.bi-file-arrow-up::before { content: "\f348"; } -.bi-file-bar-graph-fill::before { content: "\f349"; } -.bi-file-bar-graph::before { content: "\f34a"; } -.bi-file-binary-fill::before { content: "\f34b"; } -.bi-file-binary::before { content: "\f34c"; } -.bi-file-break-fill::before { content: "\f34d"; } -.bi-file-break::before { content: "\f34e"; } -.bi-file-check-fill::before { content: "\f34f"; } -.bi-file-check::before { content: "\f350"; } -.bi-file-code-fill::before { content: "\f351"; } -.bi-file-code::before { content: "\f352"; } -.bi-file-diff-fill::before { content: "\f353"; } -.bi-file-diff::before { content: "\f354"; } -.bi-file-earmark-arrow-down-fill::before { content: "\f355"; } -.bi-file-earmark-arrow-down::before { content: "\f356"; } -.bi-file-earmark-arrow-up-fill::before { content: "\f357"; } -.bi-file-earmark-arrow-up::before { content: "\f358"; } -.bi-file-earmark-bar-graph-fill::before { content: "\f359"; } -.bi-file-earmark-bar-graph::before { content: "\f35a"; } -.bi-file-earmark-binary-fill::before { content: "\f35b"; } -.bi-file-earmark-binary::before { content: "\f35c"; } -.bi-file-earmark-break-fill::before { content: "\f35d"; } -.bi-file-earmark-break::before { content: "\f35e"; } -.bi-file-earmark-check-fill::before { content: "\f35f"; } -.bi-file-earmark-check::before { content: "\f360"; } -.bi-file-earmark-code-fill::before { content: "\f361"; } -.bi-file-earmark-code::before { content: "\f362"; } -.bi-file-earmark-diff-fill::before { content: "\f363"; } -.bi-file-earmark-diff::before { content: "\f364"; } -.bi-file-earmark-easel-fill::before { content: "\f365"; } -.bi-file-earmark-easel::before { content: "\f366"; } -.bi-file-earmark-excel-fill::before { content: "\f367"; } -.bi-file-earmark-excel::before { content: "\f368"; } -.bi-file-earmark-fill::before { content: "\f369"; } -.bi-file-earmark-font-fill::before { content: "\f36a"; } -.bi-file-earmark-font::before { content: "\f36b"; } -.bi-file-earmark-image-fill::before { content: "\f36c"; } -.bi-file-earmark-image::before { content: "\f36d"; } -.bi-file-earmark-lock-fill::before { content: "\f36e"; } -.bi-file-earmark-lock::before { content: "\f36f"; } -.bi-file-earmark-lock2-fill::before { content: "\f370"; } -.bi-file-earmark-lock2::before { content: "\f371"; } -.bi-file-earmark-medical-fill::before { content: "\f372"; } -.bi-file-earmark-medical::before { content: "\f373"; } -.bi-file-earmark-minus-fill::before { content: "\f374"; } -.bi-file-earmark-minus::before { content: "\f375"; } -.bi-file-earmark-music-fill::before { content: "\f376"; } -.bi-file-earmark-music::before { content: "\f377"; } -.bi-file-earmark-person-fill::before { content: "\f378"; } -.bi-file-earmark-person::before { content: "\f379"; } -.bi-file-earmark-play-fill::before { content: "\f37a"; } -.bi-file-earmark-play::before { content: "\f37b"; } -.bi-file-earmark-plus-fill::before { content: "\f37c"; } -.bi-file-earmark-plus::before { content: "\f37d"; } -.bi-file-earmark-post-fill::before { content: "\f37e"; } -.bi-file-earmark-post::before { content: "\f37f"; } -.bi-file-earmark-ppt-fill::before { content: "\f380"; } -.bi-file-earmark-ppt::before { content: "\f381"; } -.bi-file-earmark-richtext-fill::before { content: "\f382"; } -.bi-file-earmark-richtext::before { content: "\f383"; } -.bi-file-earmark-ruled-fill::before { content: "\f384"; } -.bi-file-earmark-ruled::before { content: "\f385"; } -.bi-file-earmark-slides-fill::before { content: "\f386"; } -.bi-file-earmark-slides::before { content: "\f387"; } -.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; } -.bi-file-earmark-spreadsheet::before { content: "\f389"; } -.bi-file-earmark-text-fill::before { content: "\f38a"; } -.bi-file-earmark-text::before { content: "\f38b"; } -.bi-file-earmark-word-fill::before { content: "\f38c"; } -.bi-file-earmark-word::before { content: "\f38d"; } -.bi-file-earmark-x-fill::before { content: "\f38e"; } -.bi-file-earmark-x::before { content: "\f38f"; } -.bi-file-earmark-zip-fill::before { content: "\f390"; } -.bi-file-earmark-zip::before { content: "\f391"; } -.bi-file-earmark::before { content: "\f392"; } -.bi-file-easel-fill::before { content: "\f393"; } -.bi-file-easel::before { content: "\f394"; } -.bi-file-excel-fill::before { content: "\f395"; } -.bi-file-excel::before { content: "\f396"; } -.bi-file-fill::before { content: "\f397"; } -.bi-file-font-fill::before { content: "\f398"; } -.bi-file-font::before { content: "\f399"; } -.bi-file-image-fill::before { content: "\f39a"; } -.bi-file-image::before { content: "\f39b"; } -.bi-file-lock-fill::before { content: "\f39c"; } -.bi-file-lock::before { content: "\f39d"; } -.bi-file-lock2-fill::before { content: "\f39e"; } -.bi-file-lock2::before { content: "\f39f"; } -.bi-file-medical-fill::before { content: "\f3a0"; } -.bi-file-medical::before { content: "\f3a1"; } -.bi-file-minus-fill::before { content: "\f3a2"; } -.bi-file-minus::before { content: "\f3a3"; } -.bi-file-music-fill::before { content: "\f3a4"; } -.bi-file-music::before { content: "\f3a5"; } -.bi-file-person-fill::before { content: "\f3a6"; } -.bi-file-person::before { content: "\f3a7"; } -.bi-file-play-fill::before { content: "\f3a8"; } -.bi-file-play::before { content: "\f3a9"; } -.bi-file-plus-fill::before { content: "\f3aa"; } -.bi-file-plus::before { content: "\f3ab"; } -.bi-file-post-fill::before { content: "\f3ac"; } -.bi-file-post::before { content: "\f3ad"; } -.bi-file-ppt-fill::before { content: "\f3ae"; } -.bi-file-ppt::before { content: "\f3af"; } -.bi-file-richtext-fill::before { content: "\f3b0"; } -.bi-file-richtext::before { content: "\f3b1"; } -.bi-file-ruled-fill::before { content: "\f3b2"; } -.bi-file-ruled::before { content: "\f3b3"; } -.bi-file-slides-fill::before { content: "\f3b4"; } -.bi-file-slides::before { content: "\f3b5"; } -.bi-file-spreadsheet-fill::before { content: "\f3b6"; } -.bi-file-spreadsheet::before { content: "\f3b7"; } -.bi-file-text-fill::before { content: "\f3b8"; } -.bi-file-text::before { content: "\f3b9"; } -.bi-file-word-fill::before { content: "\f3ba"; } -.bi-file-word::before { content: "\f3bb"; } -.bi-file-x-fill::before { content: "\f3bc"; } -.bi-file-x::before { content: "\f3bd"; } -.bi-file-zip-fill::before { content: "\f3be"; } -.bi-file-zip::before { content: "\f3bf"; } -.bi-file::before { content: "\f3c0"; } -.bi-files-alt::before { content: "\f3c1"; } -.bi-files::before { content: "\f3c2"; } -.bi-film::before { content: "\f3c3"; } -.bi-filter-circle-fill::before { content: "\f3c4"; } -.bi-filter-circle::before { content: "\f3c5"; } -.bi-filter-left::before { content: "\f3c6"; } -.bi-filter-right::before { content: "\f3c7"; } -.bi-filter-square-fill::before { content: "\f3c8"; } -.bi-filter-square::before { content: "\f3c9"; } -.bi-filter::before { content: "\f3ca"; } -.bi-flag-fill::before { content: "\f3cb"; } -.bi-flag::before { content: "\f3cc"; } -.bi-flower1::before { content: "\f3cd"; } -.bi-flower2::before { content: "\f3ce"; } -.bi-flower3::before { content: "\f3cf"; } -.bi-folder-check::before { content: "\f3d0"; } -.bi-folder-fill::before { content: "\f3d1"; } -.bi-folder-minus::before { content: "\f3d2"; } -.bi-folder-plus::before { content: "\f3d3"; } -.bi-folder-symlink-fill::before { content: "\f3d4"; } -.bi-folder-symlink::before { content: "\f3d5"; } -.bi-folder-x::before { content: "\f3d6"; } -.bi-folder::before { content: "\f3d7"; } -.bi-folder2-open::before { content: "\f3d8"; } -.bi-folder2::before { content: "\f3d9"; } -.bi-fonts::before { content: "\f3da"; } -.bi-forward-fill::before { content: "\f3db"; } -.bi-forward::before { content: "\f3dc"; } -.bi-front::before { content: "\f3dd"; } -.bi-fullscreen-exit::before { content: "\f3de"; } -.bi-fullscreen::before { content: "\f3df"; } -.bi-funnel-fill::before { content: "\f3e0"; } -.bi-funnel::before { content: "\f3e1"; } -.bi-gear-fill::before { content: "\f3e2"; } -.bi-gear-wide-connected::before { content: "\f3e3"; } -.bi-gear-wide::before { content: "\f3e4"; } -.bi-gear::before { content: "\f3e5"; } -.bi-gem::before { content: "\f3e6"; } -.bi-geo-alt-fill::before { content: "\f3e7"; } -.bi-geo-alt::before { content: "\f3e8"; } -.bi-geo-fill::before { content: "\f3e9"; } -.bi-geo::before { content: "\f3ea"; } -.bi-gift-fill::before { content: "\f3eb"; } -.bi-gift::before { content: "\f3ec"; } -.bi-github::before { content: "\f3ed"; } -.bi-globe::before { content: "\f3ee"; } -.bi-globe2::before { content: "\f3ef"; } -.bi-google::before { content: "\f3f0"; } -.bi-graph-down::before { content: "\f3f1"; } -.bi-graph-up::before { content: "\f3f2"; } -.bi-grid-1x2-fill::before { content: "\f3f3"; } -.bi-grid-1x2::before { content: "\f3f4"; } -.bi-grid-3x2-gap-fill::before { content: "\f3f5"; } -.bi-grid-3x2-gap::before { content: "\f3f6"; } -.bi-grid-3x2::before { content: "\f3f7"; } -.bi-grid-3x3-gap-fill::before { content: "\f3f8"; } -.bi-grid-3x3-gap::before { content: "\f3f9"; } -.bi-grid-3x3::before { content: "\f3fa"; } -.bi-grid-fill::before { content: "\f3fb"; } -.bi-grid::before { content: "\f3fc"; } -.bi-grip-horizontal::before { content: "\f3fd"; } -.bi-grip-vertical::before { content: "\f3fe"; } -.bi-hammer::before { content: "\f3ff"; } -.bi-hand-index-fill::before { content: "\f400"; } -.bi-hand-index-thumb-fill::before { content: "\f401"; } -.bi-hand-index-thumb::before { content: "\f402"; } -.bi-hand-index::before { content: "\f403"; } -.bi-hand-thumbs-down-fill::before { content: "\f404"; } -.bi-hand-thumbs-down::before { content: "\f405"; } -.bi-hand-thumbs-up-fill::before { content: "\f406"; } -.bi-hand-thumbs-up::before { content: "\f407"; } -.bi-handbag-fill::before { content: "\f408"; } -.bi-handbag::before { content: "\f409"; } -.bi-hash::before { content: "\f40a"; } -.bi-hdd-fill::before { content: "\f40b"; } -.bi-hdd-network-fill::before { content: "\f40c"; } -.bi-hdd-network::before { content: "\f40d"; } -.bi-hdd-rack-fill::before { content: "\f40e"; } -.bi-hdd-rack::before { content: "\f40f"; } -.bi-hdd-stack-fill::before { content: "\f410"; } -.bi-hdd-stack::before { content: "\f411"; } -.bi-hdd::before { content: "\f412"; } -.bi-headphones::before { content: "\f413"; } -.bi-headset::before { content: "\f414"; } -.bi-heart-fill::before { content: "\f415"; } -.bi-heart-half::before { content: "\f416"; } -.bi-heart::before { content: "\f417"; } -.bi-heptagon-fill::before { content: "\f418"; } -.bi-heptagon-half::before { content: "\f419"; } -.bi-heptagon::before { content: "\f41a"; } -.bi-hexagon-fill::before { content: "\f41b"; } -.bi-hexagon-half::before { content: "\f41c"; } -.bi-hexagon::before { content: "\f41d"; } -.bi-hourglass-bottom::before { content: "\f41e"; } -.bi-hourglass-split::before { content: "\f41f"; } -.bi-hourglass-top::before { content: "\f420"; } -.bi-hourglass::before { content: "\f421"; } -.bi-house-door-fill::before { content: "\f422"; } -.bi-house-door::before { content: "\f423"; } -.bi-house-fill::before { content: "\f424"; } -.bi-house::before { content: "\f425"; } -.bi-hr::before { content: "\f426"; } -.bi-hurricane::before { content: "\f427"; } -.bi-image-alt::before { content: "\f428"; } -.bi-image-fill::before { content: "\f429"; } -.bi-image::before { content: "\f42a"; } -.bi-images::before { content: "\f42b"; } -.bi-inbox-fill::before { content: "\f42c"; } -.bi-inbox::before { content: "\f42d"; } -.bi-inboxes-fill::before { content: "\f42e"; } -.bi-inboxes::before { content: "\f42f"; } -.bi-info-circle-fill::before { content: "\f430"; } -.bi-info-circle::before { content: "\f431"; } -.bi-info-square-fill::before { content: "\f432"; } -.bi-info-square::before { content: "\f433"; } -.bi-info::before { content: "\f434"; } -.bi-input-cursor-text::before { content: "\f435"; } -.bi-input-cursor::before { content: "\f436"; } -.bi-instagram::before { content: "\f437"; } -.bi-intersect::before { content: "\f438"; } -.bi-journal-album::before { content: "\f439"; } -.bi-journal-arrow-down::before { content: "\f43a"; } -.bi-journal-arrow-up::before { content: "\f43b"; } -.bi-journal-bookmark-fill::before { content: "\f43c"; } -.bi-journal-bookmark::before { content: "\f43d"; } -.bi-journal-check::before { content: "\f43e"; } -.bi-journal-code::before { content: "\f43f"; } -.bi-journal-medical::before { content: "\f440"; } -.bi-journal-minus::before { content: "\f441"; } -.bi-journal-plus::before { content: "\f442"; } -.bi-journal-richtext::before { content: "\f443"; } -.bi-journal-text::before { content: "\f444"; } -.bi-journal-x::before { content: "\f445"; } -.bi-journal::before { content: "\f446"; } -.bi-journals::before { content: "\f447"; } -.bi-joystick::before { content: "\f448"; } -.bi-justify-left::before { content: "\f449"; } -.bi-justify-right::before { content: "\f44a"; } -.bi-justify::before { content: "\f44b"; } -.bi-kanban-fill::before { content: "\f44c"; } -.bi-kanban::before { content: "\f44d"; } -.bi-key-fill::before { content: "\f44e"; } -.bi-key::before { content: "\f44f"; } -.bi-keyboard-fill::before { content: "\f450"; } -.bi-keyboard::before { content: "\f451"; } -.bi-ladder::before { content: "\f452"; } -.bi-lamp-fill::before { content: "\f453"; } -.bi-lamp::before { content: "\f454"; } -.bi-laptop-fill::before { content: "\f455"; } -.bi-laptop::before { content: "\f456"; } -.bi-layer-backward::before { content: "\f457"; } -.bi-layer-forward::before { content: "\f458"; } -.bi-layers-fill::before { content: "\f459"; } -.bi-layers-half::before { content: "\f45a"; } -.bi-layers::before { content: "\f45b"; } -.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; } -.bi-layout-sidebar-inset::before { content: "\f45d"; } -.bi-layout-sidebar-reverse::before { content: "\f45e"; } -.bi-layout-sidebar::before { content: "\f45f"; } -.bi-layout-split::before { content: "\f460"; } -.bi-layout-text-sidebar-reverse::before { content: "\f461"; } -.bi-layout-text-sidebar::before { content: "\f462"; } -.bi-layout-text-window-reverse::before { content: "\f463"; } -.bi-layout-text-window::before { content: "\f464"; } -.bi-layout-three-columns::before { content: "\f465"; } -.bi-layout-wtf::before { content: "\f466"; } -.bi-life-preserver::before { content: "\f467"; } -.bi-lightbulb-fill::before { content: "\f468"; } -.bi-lightbulb-off-fill::before { content: "\f469"; } -.bi-lightbulb-off::before { content: "\f46a"; } -.bi-lightbulb::before { content: "\f46b"; } -.bi-lightning-charge-fill::before { content: "\f46c"; } -.bi-lightning-charge::before { content: "\f46d"; } -.bi-lightning-fill::before { content: "\f46e"; } -.bi-lightning::before { content: "\f46f"; } -.bi-link-45deg::before { content: "\f470"; } -.bi-link::before { content: "\f471"; } -.bi-linkedin::before { content: "\f472"; } -.bi-list-check::before { content: "\f473"; } -.bi-list-nested::before { content: "\f474"; } -.bi-list-ol::before { content: "\f475"; } -.bi-list-stars::before { content: "\f476"; } -.bi-list-task::before { content: "\f477"; } -.bi-list-ul::before { content: "\f478"; } -.bi-list::before { content: "\f479"; } -.bi-lock-fill::before { content: "\f47a"; } -.bi-lock::before { content: "\f47b"; } -.bi-mailbox::before { content: "\f47c"; } -.bi-mailbox2::before { content: "\f47d"; } -.bi-map-fill::before { content: "\f47e"; } -.bi-map::before { content: "\f47f"; } -.bi-markdown-fill::before { content: "\f480"; } -.bi-markdown::before { content: "\f481"; } -.bi-mask::before { content: "\f482"; } -.bi-megaphone-fill::before { content: "\f483"; } -.bi-megaphone::before { content: "\f484"; } -.bi-menu-app-fill::before { content: "\f485"; } -.bi-menu-app::before { content: "\f486"; } -.bi-menu-button-fill::before { content: "\f487"; } -.bi-menu-button-wide-fill::before { content: "\f488"; } -.bi-menu-button-wide::before { content: "\f489"; } -.bi-menu-button::before { content: "\f48a"; } -.bi-menu-down::before { content: "\f48b"; } -.bi-menu-up::before { content: "\f48c"; } -.bi-mic-fill::before { content: "\f48d"; } -.bi-mic-mute-fill::before { content: "\f48e"; } -.bi-mic-mute::before { content: "\f48f"; } -.bi-mic::before { content: "\f490"; } -.bi-minecart-loaded::before { content: "\f491"; } -.bi-minecart::before { content: "\f492"; } -.bi-moisture::before { content: "\f493"; } -.bi-moon-fill::before { content: "\f494"; } -.bi-moon-stars-fill::before { content: "\f495"; } -.bi-moon-stars::before { content: "\f496"; } -.bi-moon::before { content: "\f497"; } -.bi-mouse-fill::before { content: "\f498"; } -.bi-mouse::before { content: "\f499"; } -.bi-mouse2-fill::before { content: "\f49a"; } -.bi-mouse2::before { content: "\f49b"; } -.bi-mouse3-fill::before { content: "\f49c"; } -.bi-mouse3::before { content: "\f49d"; } -.bi-music-note-beamed::before { content: "\f49e"; } -.bi-music-note-list::before { content: "\f49f"; } -.bi-music-note::before { content: "\f4a0"; } -.bi-music-player-fill::before { content: "\f4a1"; } -.bi-music-player::before { content: "\f4a2"; } -.bi-newspaper::before { content: "\f4a3"; } -.bi-node-minus-fill::before { content: "\f4a4"; } -.bi-node-minus::before { content: "\f4a5"; } -.bi-node-plus-fill::before { content: "\f4a6"; } -.bi-node-plus::before { content: "\f4a7"; } -.bi-nut-fill::before { content: "\f4a8"; } -.bi-nut::before { content: "\f4a9"; } -.bi-octagon-fill::before { content: "\f4aa"; } -.bi-octagon-half::before { content: "\f4ab"; } -.bi-octagon::before { content: "\f4ac"; } -.bi-option::before { content: "\f4ad"; } -.bi-outlet::before { content: "\f4ae"; } -.bi-paint-bucket::before { content: "\f4af"; } -.bi-palette-fill::before { content: "\f4b0"; } -.bi-palette::before { content: "\f4b1"; } -.bi-palette2::before { content: "\f4b2"; } -.bi-paperclip::before { content: "\f4b3"; } -.bi-paragraph::before { content: "\f4b4"; } -.bi-patch-check-fill::before { content: "\f4b5"; } -.bi-patch-check::before { content: "\f4b6"; } -.bi-patch-exclamation-fill::before { content: "\f4b7"; } -.bi-patch-exclamation::before { content: "\f4b8"; } -.bi-patch-minus-fill::before { content: "\f4b9"; } -.bi-patch-minus::before { content: "\f4ba"; } -.bi-patch-plus-fill::before { content: "\f4bb"; } -.bi-patch-plus::before { content: "\f4bc"; } -.bi-patch-question-fill::before { content: "\f4bd"; } -.bi-patch-question::before { content: "\f4be"; } -.bi-pause-btn-fill::before { content: "\f4bf"; } -.bi-pause-btn::before { content: "\f4c0"; } -.bi-pause-circle-fill::before { content: "\f4c1"; } -.bi-pause-circle::before { content: "\f4c2"; } -.bi-pause-fill::before { content: "\f4c3"; } -.bi-pause::before { content: "\f4c4"; } -.bi-peace-fill::before { content: "\f4c5"; } -.bi-peace::before { content: "\f4c6"; } -.bi-pen-fill::before { content: "\f4c7"; } -.bi-pen::before { content: "\f4c8"; } -.bi-pencil-fill::before { content: "\f4c9"; } -.bi-pencil-square::before { content: "\f4ca"; } -.bi-pencil::before { content: "\f4cb"; } -.bi-pentagon-fill::before { content: "\f4cc"; } -.bi-pentagon-half::before { content: "\f4cd"; } -.bi-pentagon::before { content: "\f4ce"; } -.bi-people-fill::before { content: "\f4cf"; } -.bi-people::before { content: "\f4d0"; } -.bi-percent::before { content: "\f4d1"; } -.bi-person-badge-fill::before { content: "\f4d2"; } -.bi-person-badge::before { content: "\f4d3"; } -.bi-person-bounding-box::before { content: "\f4d4"; } -.bi-person-check-fill::before { content: "\f4d5"; } -.bi-person-check::before { content: "\f4d6"; } -.bi-person-circle::before { content: "\f4d7"; } -.bi-person-dash-fill::before { content: "\f4d8"; } -.bi-person-dash::before { content: "\f4d9"; } -.bi-person-fill::before { content: "\f4da"; } -.bi-person-lines-fill::before { content: "\f4db"; } -.bi-person-plus-fill::before { content: "\f4dc"; } -.bi-person-plus::before { content: "\f4dd"; } -.bi-person-square::before { content: "\f4de"; } -.bi-person-x-fill::before { content: "\f4df"; } -.bi-person-x::before { content: "\f4e0"; } -.bi-person::before { content: "\f4e1"; } -.bi-phone-fill::before { content: "\f4e2"; } -.bi-phone-landscape-fill::before { content: "\f4e3"; } -.bi-phone-landscape::before { content: "\f4e4"; } -.bi-phone-vibrate-fill::before { content: "\f4e5"; } -.bi-phone-vibrate::before { content: "\f4e6"; } -.bi-phone::before { content: "\f4e7"; } -.bi-pie-chart-fill::before { content: "\f4e8"; } -.bi-pie-chart::before { content: "\f4e9"; } -.bi-pin-angle-fill::before { content: "\f4ea"; } -.bi-pin-angle::before { content: "\f4eb"; } -.bi-pin-fill::before { content: "\f4ec"; } -.bi-pin::before { content: "\f4ed"; } -.bi-pip-fill::before { content: "\f4ee"; } -.bi-pip::before { content: "\f4ef"; } -.bi-play-btn-fill::before { content: "\f4f0"; } -.bi-play-btn::before { content: "\f4f1"; } -.bi-play-circle-fill::before { content: "\f4f2"; } -.bi-play-circle::before { content: "\f4f3"; } -.bi-play-fill::before { content: "\f4f4"; } -.bi-play::before { content: "\f4f5"; } -.bi-plug-fill::before { content: "\f4f6"; } -.bi-plug::before { content: "\f4f7"; } -.bi-plus-circle-dotted::before { content: "\f4f8"; } -.bi-plus-circle-fill::before { content: "\f4f9"; } -.bi-plus-circle::before { content: "\f4fa"; } -.bi-plus-square-dotted::before { content: "\f4fb"; } -.bi-plus-square-fill::before { content: "\f4fc"; } -.bi-plus-square::before { content: "\f4fd"; } -.bi-plus::before { content: "\f4fe"; } -.bi-power::before { content: "\f4ff"; } -.bi-printer-fill::before { content: "\f500"; } -.bi-printer::before { content: "\f501"; } -.bi-puzzle-fill::before { content: "\f502"; } -.bi-puzzle::before { content: "\f503"; } -.bi-question-circle-fill::before { content: "\f504"; } -.bi-question-circle::before { content: "\f505"; } -.bi-question-diamond-fill::before { content: "\f506"; } -.bi-question-diamond::before { content: "\f507"; } -.bi-question-octagon-fill::before { content: "\f508"; } -.bi-question-octagon::before { content: "\f509"; } -.bi-question-square-fill::before { content: "\f50a"; } -.bi-question-square::before { content: "\f50b"; } -.bi-question::before { content: "\f50c"; } -.bi-rainbow::before { content: "\f50d"; } -.bi-receipt-cutoff::before { content: "\f50e"; } -.bi-receipt::before { content: "\f50f"; } -.bi-reception-0::before { content: "\f510"; } -.bi-reception-1::before { content: "\f511"; } -.bi-reception-2::before { content: "\f512"; } -.bi-reception-3::before { content: "\f513"; } -.bi-reception-4::before { content: "\f514"; } -.bi-record-btn-fill::before { content: "\f515"; } -.bi-record-btn::before { content: "\f516"; } -.bi-record-circle-fill::before { content: "\f517"; } -.bi-record-circle::before { content: "\f518"; } -.bi-record-fill::before { content: "\f519"; } -.bi-record::before { content: "\f51a"; } -.bi-record2-fill::before { content: "\f51b"; } -.bi-record2::before { content: "\f51c"; } -.bi-reply-all-fill::before { content: "\f51d"; } -.bi-reply-all::before { content: "\f51e"; } -.bi-reply-fill::before { content: "\f51f"; } -.bi-reply::before { content: "\f520"; } -.bi-rss-fill::before { content: "\f521"; } -.bi-rss::before { content: "\f522"; } -.bi-rulers::before { content: "\f523"; } -.bi-save-fill::before { content: "\f524"; } -.bi-save::before { content: "\f525"; } -.bi-save2-fill::before { content: "\f526"; } -.bi-save2::before { content: "\f527"; } -.bi-scissors::before { content: "\f528"; } -.bi-screwdriver::before { content: "\f529"; } -.bi-search::before { content: "\f52a"; } -.bi-segmented-nav::before { content: "\f52b"; } -.bi-server::before { content: "\f52c"; } -.bi-share-fill::before { content: "\f52d"; } -.bi-share::before { content: "\f52e"; } -.bi-shield-check::before { content: "\f52f"; } -.bi-shield-exclamation::before { content: "\f530"; } -.bi-shield-fill-check::before { content: "\f531"; } -.bi-shield-fill-exclamation::before { content: "\f532"; } -.bi-shield-fill-minus::before { content: "\f533"; } -.bi-shield-fill-plus::before { content: "\f534"; } -.bi-shield-fill-x::before { content: "\f535"; } -.bi-shield-fill::before { content: "\f536"; } -.bi-shield-lock-fill::before { content: "\f537"; } -.bi-shield-lock::before { content: "\f538"; } -.bi-shield-minus::before { content: "\f539"; } -.bi-shield-plus::before { content: "\f53a"; } -.bi-shield-shaded::before { content: "\f53b"; } -.bi-shield-slash-fill::before { content: "\f53c"; } -.bi-shield-slash::before { content: "\f53d"; } -.bi-shield-x::before { content: "\f53e"; } -.bi-shield::before { content: "\f53f"; } -.bi-shift-fill::before { content: "\f540"; } -.bi-shift::before { content: "\f541"; } -.bi-shop-window::before { content: "\f542"; } -.bi-shop::before { content: "\f543"; } -.bi-shuffle::before { content: "\f544"; } -.bi-signpost-2-fill::before { content: "\f545"; } -.bi-signpost-2::before { content: "\f546"; } -.bi-signpost-fill::before { content: "\f547"; } -.bi-signpost-split-fill::before { content: "\f548"; } -.bi-signpost-split::before { content: "\f549"; } -.bi-signpost::before { content: "\f54a"; } -.bi-sim-fill::before { content: "\f54b"; } -.bi-sim::before { content: "\f54c"; } -.bi-skip-backward-btn-fill::before { content: "\f54d"; } -.bi-skip-backward-btn::before { content: "\f54e"; } -.bi-skip-backward-circle-fill::before { content: "\f54f"; } -.bi-skip-backward-circle::before { content: "\f550"; } -.bi-skip-backward-fill::before { content: "\f551"; } -.bi-skip-backward::before { content: "\f552"; } -.bi-skip-end-btn-fill::before { content: "\f553"; } -.bi-skip-end-btn::before { content: "\f554"; } -.bi-skip-end-circle-fill::before { content: "\f555"; } -.bi-skip-end-circle::before { content: "\f556"; } -.bi-skip-end-fill::before { content: "\f557"; } -.bi-skip-end::before { content: "\f558"; } -.bi-skip-forward-btn-fill::before { content: "\f559"; } -.bi-skip-forward-btn::before { content: "\f55a"; } -.bi-skip-forward-circle-fill::before { content: "\f55b"; } -.bi-skip-forward-circle::before { content: "\f55c"; } -.bi-skip-forward-fill::before { content: "\f55d"; } -.bi-skip-forward::before { content: "\f55e"; } -.bi-skip-start-btn-fill::before { content: "\f55f"; } -.bi-skip-start-btn::before { content: "\f560"; } -.bi-skip-start-circle-fill::before { content: "\f561"; } -.bi-skip-start-circle::before { content: "\f562"; } -.bi-skip-start-fill::before { content: "\f563"; } -.bi-skip-start::before { content: "\f564"; } -.bi-slack::before { content: "\f565"; } -.bi-slash-circle-fill::before { content: "\f566"; } -.bi-slash-circle::before { content: "\f567"; } -.bi-slash-square-fill::before { content: "\f568"; } -.bi-slash-square::before { content: "\f569"; } -.bi-slash::before { content: "\f56a"; } -.bi-sliders::before { content: "\f56b"; } -.bi-smartwatch::before { content: "\f56c"; } -.bi-snow::before { content: "\f56d"; } -.bi-snow2::before { content: "\f56e"; } -.bi-snow3::before { content: "\f56f"; } -.bi-sort-alpha-down-alt::before { content: "\f570"; } -.bi-sort-alpha-down::before { content: "\f571"; } -.bi-sort-alpha-up-alt::before { content: "\f572"; } -.bi-sort-alpha-up::before { content: "\f573"; } -.bi-sort-down-alt::before { content: "\f574"; } -.bi-sort-down::before { content: "\f575"; } -.bi-sort-numeric-down-alt::before { content: "\f576"; } -.bi-sort-numeric-down::before { content: "\f577"; } -.bi-sort-numeric-up-alt::before { content: "\f578"; } -.bi-sort-numeric-up::before { content: "\f579"; } -.bi-sort-up-alt::before { content: "\f57a"; } -.bi-sort-up::before { content: "\f57b"; } -.bi-soundwave::before { content: "\f57c"; } -.bi-speaker-fill::before { content: "\f57d"; } -.bi-speaker::before { content: "\f57e"; } -.bi-speedometer::before { content: "\f57f"; } -.bi-speedometer2::before { content: "\f580"; } -.bi-spellcheck::before { content: "\f581"; } -.bi-square-fill::before { content: "\f582"; } -.bi-square-half::before { content: "\f583"; } -.bi-square::before { content: "\f584"; } -.bi-stack::before { content: "\f585"; } -.bi-star-fill::before { content: "\f586"; } -.bi-star-half::before { content: "\f587"; } -.bi-star::before { content: "\f588"; } -.bi-stars::before { content: "\f589"; } -.bi-stickies-fill::before { content: "\f58a"; } -.bi-stickies::before { content: "\f58b"; } -.bi-sticky-fill::before { content: "\f58c"; } -.bi-sticky::before { content: "\f58d"; } -.bi-stop-btn-fill::before { content: "\f58e"; } -.bi-stop-btn::before { content: "\f58f"; } -.bi-stop-circle-fill::before { content: "\f590"; } -.bi-stop-circle::before { content: "\f591"; } -.bi-stop-fill::before { content: "\f592"; } -.bi-stop::before { content: "\f593"; } -.bi-stoplights-fill::before { content: "\f594"; } -.bi-stoplights::before { content: "\f595"; } -.bi-stopwatch-fill::before { content: "\f596"; } -.bi-stopwatch::before { content: "\f597"; } -.bi-subtract::before { content: "\f598"; } -.bi-suit-club-fill::before { content: "\f599"; } -.bi-suit-club::before { content: "\f59a"; } -.bi-suit-diamond-fill::before { content: "\f59b"; } -.bi-suit-diamond::before { content: "\f59c"; } -.bi-suit-heart-fill::before { content: "\f59d"; } -.bi-suit-heart::before { content: "\f59e"; } -.bi-suit-spade-fill::before { content: "\f59f"; } -.bi-suit-spade::before { content: "\f5a0"; } -.bi-sun-fill::before { content: "\f5a1"; } -.bi-sun::before { content: "\f5a2"; } -.bi-sunglasses::before { content: "\f5a3"; } -.bi-sunrise-fill::before { content: "\f5a4"; } -.bi-sunrise::before { content: "\f5a5"; } -.bi-sunset-fill::before { content: "\f5a6"; } -.bi-sunset::before { content: "\f5a7"; } -.bi-symmetry-horizontal::before { content: "\f5a8"; } -.bi-symmetry-vertical::before { content: "\f5a9"; } -.bi-table::before { content: "\f5aa"; } -.bi-tablet-fill::before { content: "\f5ab"; } -.bi-tablet-landscape-fill::before { content: "\f5ac"; } -.bi-tablet-landscape::before { content: "\f5ad"; } -.bi-tablet::before { content: "\f5ae"; } -.bi-tag-fill::before { content: "\f5af"; } -.bi-tag::before { content: "\f5b0"; } -.bi-tags-fill::before { content: "\f5b1"; } -.bi-tags::before { content: "\f5b2"; } -.bi-telegram::before { content: "\f5b3"; } -.bi-telephone-fill::before { content: "\f5b4"; } -.bi-telephone-forward-fill::before { content: "\f5b5"; } -.bi-telephone-forward::before { content: "\f5b6"; } -.bi-telephone-inbound-fill::before { content: "\f5b7"; } -.bi-telephone-inbound::before { content: "\f5b8"; } -.bi-telephone-minus-fill::before { content: "\f5b9"; } -.bi-telephone-minus::before { content: "\f5ba"; } -.bi-telephone-outbound-fill::before { content: "\f5bb"; } -.bi-telephone-outbound::before { content: "\f5bc"; } -.bi-telephone-plus-fill::before { content: "\f5bd"; } -.bi-telephone-plus::before { content: "\f5be"; } -.bi-telephone-x-fill::before { content: "\f5bf"; } -.bi-telephone-x::before { content: "\f5c0"; } -.bi-telephone::before { content: "\f5c1"; } -.bi-terminal-fill::before { content: "\f5c2"; } -.bi-terminal::before { content: "\f5c3"; } -.bi-text-center::before { content: "\f5c4"; } -.bi-text-indent-left::before { content: "\f5c5"; } -.bi-text-indent-right::before { content: "\f5c6"; } -.bi-text-left::before { content: "\f5c7"; } -.bi-text-paragraph::before { content: "\f5c8"; } -.bi-text-right::before { content: "\f5c9"; } -.bi-textarea-resize::before { content: "\f5ca"; } -.bi-textarea-t::before { content: "\f5cb"; } -.bi-textarea::before { content: "\f5cc"; } -.bi-thermometer-half::before { content: "\f5cd"; } -.bi-thermometer-high::before { content: "\f5ce"; } -.bi-thermometer-low::before { content: "\f5cf"; } -.bi-thermometer-snow::before { content: "\f5d0"; } -.bi-thermometer-sun::before { content: "\f5d1"; } -.bi-thermometer::before { content: "\f5d2"; } -.bi-three-dots-vertical::before { content: "\f5d3"; } -.bi-three-dots::before { content: "\f5d4"; } -.bi-toggle-off::before { content: "\f5d5"; } -.bi-toggle-on::before { content: "\f5d6"; } -.bi-toggle2-off::before { content: "\f5d7"; } -.bi-toggle2-on::before { content: "\f5d8"; } -.bi-toggles::before { content: "\f5d9"; } -.bi-toggles2::before { content: "\f5da"; } -.bi-tools::before { content: "\f5db"; } -.bi-tornado::before { content: "\f5dc"; } -.bi-trash-fill::before { content: "\f5dd"; } -.bi-trash::before { content: "\f5de"; } -.bi-trash2-fill::before { content: "\f5df"; } -.bi-trash2::before { content: "\f5e0"; } -.bi-tree-fill::before { content: "\f5e1"; } -.bi-tree::before { content: "\f5e2"; } -.bi-triangle-fill::before { content: "\f5e3"; } -.bi-triangle-half::before { content: "\f5e4"; } -.bi-triangle::before { content: "\f5e5"; } -.bi-trophy-fill::before { content: "\f5e6"; } -.bi-trophy::before { content: "\f5e7"; } -.bi-tropical-storm::before { content: "\f5e8"; } -.bi-truck-flatbed::before { content: "\f5e9"; } -.bi-truck::before { content: "\f5ea"; } -.bi-tsunami::before { content: "\f5eb"; } -.bi-tv-fill::before { content: "\f5ec"; } -.bi-tv::before { content: "\f5ed"; } -.bi-twitch::before { content: "\f5ee"; } -.bi-twitter::before { content: "\f5ef"; } -.bi-type-bold::before { content: "\f5f0"; } -.bi-type-h1::before { content: "\f5f1"; } -.bi-type-h2::before { content: "\f5f2"; } -.bi-type-h3::before { content: "\f5f3"; } -.bi-type-italic::before { content: "\f5f4"; } -.bi-type-strikethrough::before { content: "\f5f5"; } -.bi-type-underline::before { content: "\f5f6"; } -.bi-type::before { content: "\f5f7"; } -.bi-ui-checks-grid::before { content: "\f5f8"; } -.bi-ui-checks::before { content: "\f5f9"; } -.bi-ui-radios-grid::before { content: "\f5fa"; } -.bi-ui-radios::before { content: "\f5fb"; } -.bi-umbrella-fill::before { content: "\f5fc"; } -.bi-umbrella::before { content: "\f5fd"; } -.bi-union::before { content: "\f5fe"; } -.bi-unlock-fill::before { content: "\f5ff"; } -.bi-unlock::before { content: "\f600"; } -.bi-upc-scan::before { content: "\f601"; } -.bi-upc::before { content: "\f602"; } -.bi-upload::before { content: "\f603"; } -.bi-vector-pen::before { content: "\f604"; } -.bi-view-list::before { content: "\f605"; } -.bi-view-stacked::before { content: "\f606"; } -.bi-vinyl-fill::before { content: "\f607"; } -.bi-vinyl::before { content: "\f608"; } -.bi-voicemail::before { content: "\f609"; } -.bi-volume-down-fill::before { content: "\f60a"; } -.bi-volume-down::before { content: "\f60b"; } -.bi-volume-mute-fill::before { content: "\f60c"; } -.bi-volume-mute::before { content: "\f60d"; } -.bi-volume-off-fill::before { content: "\f60e"; } -.bi-volume-off::before { content: "\f60f"; } -.bi-volume-up-fill::before { content: "\f610"; } -.bi-volume-up::before { content: "\f611"; } -.bi-vr::before { content: "\f612"; } -.bi-wallet-fill::before { content: "\f613"; } -.bi-wallet::before { content: "\f614"; } -.bi-wallet2::before { content: "\f615"; } -.bi-watch::before { content: "\f616"; } -.bi-water::before { content: "\f617"; } -.bi-whatsapp::before { content: "\f618"; } -.bi-wifi-1::before { content: "\f619"; } -.bi-wifi-2::before { content: "\f61a"; } -.bi-wifi-off::before { content: "\f61b"; } -.bi-wifi::before { content: "\f61c"; } -.bi-wind::before { content: "\f61d"; } -.bi-window-dock::before { content: "\f61e"; } -.bi-window-sidebar::before { content: "\f61f"; } -.bi-window::before { content: "\f620"; } -.bi-wrench::before { content: "\f621"; } -.bi-x-circle-fill::before { content: "\f622"; } -.bi-x-circle::before { content: "\f623"; } -.bi-x-diamond-fill::before { content: "\f624"; } -.bi-x-diamond::before { content: "\f625"; } -.bi-x-octagon-fill::before { content: "\f626"; } -.bi-x-octagon::before { content: "\f627"; } -.bi-x-square-fill::before { content: "\f628"; } -.bi-x-square::before { content: "\f629"; } -.bi-x::before { content: "\f62a"; } -.bi-youtube::before { content: "\f62b"; } -.bi-zoom-in::before { content: "\f62c"; } -.bi-zoom-out::before { content: "\f62d"; } -.bi-bank::before { content: "\f62e"; } -.bi-bank2::before { content: "\f62f"; } -.bi-bell-slash-fill::before { content: "\f630"; } -.bi-bell-slash::before { content: "\f631"; } -.bi-cash-coin::before { content: "\f632"; } -.bi-check-lg::before { content: "\f633"; } -.bi-coin::before { content: "\f634"; } -.bi-currency-bitcoin::before { content: "\f635"; } -.bi-currency-dollar::before { content: "\f636"; } -.bi-currency-euro::before { content: "\f637"; } -.bi-currency-exchange::before { content: "\f638"; } -.bi-currency-pound::before { content: "\f639"; } -.bi-currency-yen::before { content: "\f63a"; } -.bi-dash-lg::before { content: "\f63b"; } -.bi-exclamation-lg::before { content: "\f63c"; } -.bi-file-earmark-pdf-fill::before { content: "\f63d"; } -.bi-file-earmark-pdf::before { content: "\f63e"; } -.bi-file-pdf-fill::before { content: "\f63f"; } -.bi-file-pdf::before { content: "\f640"; } -.bi-gender-ambiguous::before { content: "\f641"; } -.bi-gender-female::before { content: "\f642"; } -.bi-gender-male::before { content: "\f643"; } -.bi-gender-trans::before { content: "\f644"; } -.bi-headset-vr::before { content: "\f645"; } -.bi-info-lg::before { content: "\f646"; } -.bi-mastodon::before { content: "\f647"; } -.bi-messenger::before { content: "\f648"; } -.bi-piggy-bank-fill::before { content: "\f649"; } -.bi-piggy-bank::before { content: "\f64a"; } -.bi-pin-map-fill::before { content: "\f64b"; } -.bi-pin-map::before { content: "\f64c"; } -.bi-plus-lg::before { content: "\f64d"; } -.bi-question-lg::before { content: "\f64e"; } -.bi-recycle::before { content: "\f64f"; } -.bi-reddit::before { content: "\f650"; } -.bi-safe-fill::before { content: "\f651"; } -.bi-safe2-fill::before { content: "\f652"; } -.bi-safe2::before { content: "\f653"; } -.bi-sd-card-fill::before { content: "\f654"; } -.bi-sd-card::before { content: "\f655"; } -.bi-skype::before { content: "\f656"; } -.bi-slash-lg::before { content: "\f657"; } -.bi-translate::before { content: "\f658"; } -.bi-x-lg::before { content: "\f659"; } -.bi-safe::before { content: "\f65a"; } -.bi-apple::before { content: "\f65b"; } -.bi-microsoft::before { content: "\f65d"; } -.bi-windows::before { content: "\f65e"; } -.bi-behance::before { content: "\f65c"; } -.bi-dribbble::before { content: "\f65f"; } -.bi-line::before { content: "\f660"; } -.bi-medium::before { content: "\f661"; } -.bi-paypal::before { content: "\f662"; } -.bi-pinterest::before { content: "\f663"; } -.bi-signal::before { content: "\f664"; } -.bi-snapchat::before { content: "\f665"; } -.bi-spotify::before { content: "\f666"; } -.bi-stack-overflow::before { content: "\f667"; } -.bi-strava::before { content: "\f668"; } -.bi-wordpress::before { content: "\f669"; } -.bi-vimeo::before { content: "\f66a"; } -.bi-activity::before { content: "\f66b"; } -.bi-easel2-fill::before { content: "\f66c"; } -.bi-easel2::before { content: "\f66d"; } -.bi-easel3-fill::before { content: "\f66e"; } -.bi-easel3::before { content: "\f66f"; } -.bi-fan::before { content: "\f670"; } -.bi-fingerprint::before { content: "\f671"; } -.bi-graph-down-arrow::before { content: "\f672"; } -.bi-graph-up-arrow::before { content: "\f673"; } -.bi-hypnotize::before { content: "\f674"; } -.bi-magic::before { content: "\f675"; } -.bi-person-rolodex::before { content: "\f676"; } -.bi-person-video::before { content: "\f677"; } -.bi-person-video2::before { content: "\f678"; } -.bi-person-video3::before { content: "\f679"; } -.bi-person-workspace::before { content: "\f67a"; } -.bi-radioactive::before { content: "\f67b"; } -.bi-webcam-fill::before { content: "\f67c"; } -.bi-webcam::before { content: "\f67d"; } -.bi-yin-yang::before { content: "\f67e"; } -.bi-bandaid-fill::before { content: "\f680"; } -.bi-bandaid::before { content: "\f681"; } -.bi-bluetooth::before { content: "\f682"; } -.bi-body-text::before { content: "\f683"; } -.bi-boombox::before { content: "\f684"; } -.bi-boxes::before { content: "\f685"; } -.bi-dpad-fill::before { content: "\f686"; } -.bi-dpad::before { content: "\f687"; } -.bi-ear-fill::before { content: "\f688"; } -.bi-ear::before { content: "\f689"; } -.bi-envelope-check-1::before { content: "\f68a"; } -.bi-envelope-check-fill::before { content: "\f68b"; } -.bi-envelope-check::before { content: "\f68c"; } -.bi-envelope-dash-1::before { content: "\f68d"; } -.bi-envelope-dash-fill::before { content: "\f68e"; } -.bi-envelope-dash::before { content: "\f68f"; } -.bi-envelope-exclamation-1::before { content: "\f690"; } -.bi-envelope-exclamation-fill::before { content: "\f691"; } -.bi-envelope-exclamation::before { content: "\f692"; } -.bi-envelope-plus-fill::before { content: "\f693"; } -.bi-envelope-plus::before { content: "\f694"; } -.bi-envelope-slash-1::before { content: "\f695"; } -.bi-envelope-slash-fill::before { content: "\f696"; } -.bi-envelope-slash::before { content: "\f697"; } -.bi-envelope-x-1::before { content: "\f698"; } -.bi-envelope-x-fill::before { content: "\f699"; } -.bi-envelope-x::before { content: "\f69a"; } -.bi-explicit-fill::before { content: "\f69b"; } -.bi-explicit::before { content: "\f69c"; } -.bi-git::before { content: "\f69d"; } -.bi-infinity::before { content: "\f69e"; } -.bi-list-columns-reverse::before { content: "\f69f"; } -.bi-list-columns::before { content: "\f6a0"; } -.bi-meta::before { content: "\f6a1"; } -.bi-mortorboard-fill::before { content: "\f6a2"; } -.bi-mortorboard::before { content: "\f6a3"; } -.bi-nintendo-switch::before { content: "\f6a4"; } -.bi-pc-display-horizontal::before { content: "\f6a5"; } -.bi-pc-display::before { content: "\f6a6"; } -.bi-pc-horizontal::before { content: "\f6a7"; } -.bi-pc::before { content: "\f6a8"; } -.bi-playstation::before { content: "\f6a9"; } -.bi-plus-slash-minus::before { content: "\f6aa"; } -.bi-projector-fill::before { content: "\f6ab"; } -.bi-projector::before { content: "\f6ac"; } -.bi-qr-code-scan::before { content: "\f6ad"; } -.bi-qr-code::before { content: "\f6ae"; } -.bi-quora::before { content: "\f6af"; } -.bi-quote::before { content: "\f6b0"; } -.bi-robot::before { content: "\f6b1"; } -.bi-send-check-fill::before { content: "\f6b2"; } -.bi-send-check::before { content: "\f6b3"; } -.bi-send-dash-fill::before { content: "\f6b4"; } -.bi-send-dash::before { content: "\f6b5"; } -.bi-send-exclamation-1::before { content: "\f6b6"; } -.bi-send-exclamation-fill::before { content: "\f6b7"; } -.bi-send-exclamation::before { content: "\f6b8"; } -.bi-send-fill::before { content: "\f6b9"; } -.bi-send-plus-fill::before { content: "\f6ba"; } -.bi-send-plus::before { content: "\f6bb"; } -.bi-send-slash-fill::before { content: "\f6bc"; } -.bi-send-slash::before { content: "\f6bd"; } -.bi-send-x-fill::before { content: "\f6be"; } -.bi-send-x::before { content: "\f6bf"; } -.bi-send::before { content: "\f6c0"; } -.bi-steam::before { content: "\f6c1"; } -.bi-terminal-dash-1::before { content: "\f6c2"; } -.bi-terminal-dash::before { content: "\f6c3"; } -.bi-terminal-plus::before { content: "\f6c4"; } -.bi-terminal-split::before { content: "\f6c5"; } -.bi-ticket-detailed-fill::before { content: "\f6c6"; } -.bi-ticket-detailed::before { content: "\f6c7"; } -.bi-ticket-fill::before { content: "\f6c8"; } -.bi-ticket-perforated-fill::before { content: "\f6c9"; } -.bi-ticket-perforated::before { content: "\f6ca"; } -.bi-ticket::before { content: "\f6cb"; } -.bi-tiktok::before { content: "\f6cc"; } -.bi-window-dash::before { content: "\f6cd"; } -.bi-window-desktop::before { content: "\f6ce"; } -.bi-window-fullscreen::before { content: "\f6cf"; } -.bi-window-plus::before { content: "\f6d0"; } -.bi-window-split::before { content: "\f6d1"; } -.bi-window-stack::before { content: "\f6d2"; } -.bi-window-x::before { content: "\f6d3"; } -.bi-xbox::before { content: "\f6d4"; } -.bi-ethernet::before { content: "\f6d5"; } -.bi-hdmi-fill::before { content: "\f6d6"; } -.bi-hdmi::before { content: "\f6d7"; } -.bi-usb-c-fill::before { content: "\f6d8"; } -.bi-usb-c::before { content: "\f6d9"; } -.bi-usb-fill::before { content: "\f6da"; } -.bi-usb-plug-fill::before { content: "\f6db"; } -.bi-usb-plug::before { content: "\f6dc"; } -.bi-usb-symbol::before { content: "\f6dd"; } -.bi-usb::before { content: "\f6de"; } -.bi-boombox-fill::before { content: "\f6df"; } -.bi-displayport-1::before { content: "\f6e0"; } -.bi-displayport::before { content: "\f6e1"; } -.bi-gpu-card::before { content: "\f6e2"; } -.bi-memory::before { content: "\f6e3"; } -.bi-modem-fill::before { content: "\f6e4"; } -.bi-modem::before { content: "\f6e5"; } -.bi-motherboard-fill::before { content: "\f6e6"; } -.bi-motherboard::before { content: "\f6e7"; } -.bi-optical-audio-fill::before { content: "\f6e8"; } -.bi-optical-audio::before { content: "\f6e9"; } -.bi-pci-card::before { content: "\f6ea"; } -.bi-router-fill::before { content: "\f6eb"; } -.bi-router::before { content: "\f6ec"; } -.bi-ssd-fill::before { content: "\f6ed"; } -.bi-ssd::before { content: "\f6ee"; } -.bi-thunderbolt-fill::before { content: "\f6ef"; } -.bi-thunderbolt::before { content: "\f6f0"; } -.bi-usb-drive-fill::before { content: "\f6f1"; } -.bi-usb-drive::before { content: "\f6f2"; } -.bi-usb-micro-fill::before { content: "\f6f3"; } -.bi-usb-micro::before { content: "\f6f4"; } -.bi-usb-mini-fill::before { content: "\f6f5"; } -.bi-usb-mini::before { content: "\f6f6"; } -.bi-cloud-haze2::before { content: "\f6f7"; } -.bi-device-hdd-fill::before { content: "\f6f8"; } -.bi-device-hdd::before { content: "\f6f9"; } -.bi-device-ssd-fill::before { content: "\f6fa"; } -.bi-device-ssd::before { content: "\f6fb"; } -.bi-displayport-fill::before { content: "\f6fc"; } -.bi-mortarboard-fill::before { content: "\f6fd"; } -.bi-mortarboard::before { content: "\f6fe"; } -.bi-terminal-x::before { content: "\f6ff"; } -.bi-arrow-through-heart-fill::before { content: "\f700"; } -.bi-arrow-through-heart::before { content: "\f701"; } -.bi-badge-sd-fill::before { content: "\f702"; } -.bi-badge-sd::before { content: "\f703"; } -.bi-bag-heart-fill::before { content: "\f704"; } -.bi-bag-heart::before { content: "\f705"; } -.bi-balloon-fill::before { content: "\f706"; } -.bi-balloon-heart-fill::before { content: "\f707"; } -.bi-balloon-heart::before { content: "\f708"; } -.bi-balloon::before { content: "\f709"; } -.bi-box2-fill::before { content: "\f70a"; } -.bi-box2-heart-fill::before { content: "\f70b"; } -.bi-box2-heart::before { content: "\f70c"; } -.bi-box2::before { content: "\f70d"; } -.bi-braces-asterisk::before { content: "\f70e"; } -.bi-calendar-heart-fill::before { content: "\f70f"; } -.bi-calendar-heart::before { content: "\f710"; } -.bi-calendar2-heart-fill::before { content: "\f711"; } -.bi-calendar2-heart::before { content: "\f712"; } -.bi-chat-heart-fill::before { content: "\f713"; } -.bi-chat-heart::before { content: "\f714"; } -.bi-chat-left-heart-fill::before { content: "\f715"; } -.bi-chat-left-heart::before { content: "\f716"; } -.bi-chat-right-heart-fill::before { content: "\f717"; } -.bi-chat-right-heart::before { content: "\f718"; } -.bi-chat-square-heart-fill::before { content: "\f719"; } -.bi-chat-square-heart::before { content: "\f71a"; } -.bi-clipboard-check-fill::before { content: "\f71b"; } -.bi-clipboard-data-fill::before { content: "\f71c"; } -.bi-clipboard-fill::before { content: "\f71d"; } -.bi-clipboard-heart-fill::before { content: "\f71e"; } -.bi-clipboard-heart::before { content: "\f71f"; } -.bi-clipboard-minus-fill::before { content: "\f720"; } -.bi-clipboard-plus-fill::before { content: "\f721"; } -.bi-clipboard-pulse::before { content: "\f722"; } -.bi-clipboard-x-fill::before { content: "\f723"; } -.bi-clipboard2-check-fill::before { content: "\f724"; } -.bi-clipboard2-check::before { content: "\f725"; } -.bi-clipboard2-data-fill::before { content: "\f726"; } -.bi-clipboard2-data::before { content: "\f727"; } -.bi-clipboard2-fill::before { content: "\f728"; } -.bi-clipboard2-heart-fill::before { content: "\f729"; } -.bi-clipboard2-heart::before { content: "\f72a"; } -.bi-clipboard2-minus-fill::before { content: "\f72b"; } -.bi-clipboard2-minus::before { content: "\f72c"; } -.bi-clipboard2-plus-fill::before { content: "\f72d"; } -.bi-clipboard2-plus::before { content: "\f72e"; } -.bi-clipboard2-pulse-fill::before { content: "\f72f"; } -.bi-clipboard2-pulse::before { content: "\f730"; } -.bi-clipboard2-x-fill::before { content: "\f731"; } -.bi-clipboard2-x::before { content: "\f732"; } -.bi-clipboard2::before { content: "\f733"; } -.bi-emoji-kiss-fill::before { content: "\f734"; } -.bi-emoji-kiss::before { content: "\f735"; } -.bi-envelope-heart-fill::before { content: "\f736"; } -.bi-envelope-heart::before { content: "\f737"; } -.bi-envelope-open-heart-fill::before { content: "\f738"; } -.bi-envelope-open-heart::before { content: "\f739"; } -.bi-envelope-paper-fill::before { content: "\f73a"; } -.bi-envelope-paper-heart-fill::before { content: "\f73b"; } -.bi-envelope-paper-heart::before { content: "\f73c"; } -.bi-envelope-paper::before { content: "\f73d"; } -.bi-filetype-aac::before { content: "\f73e"; } -.bi-filetype-ai::before { content: "\f73f"; } -.bi-filetype-bmp::before { content: "\f740"; } -.bi-filetype-cs::before { content: "\f741"; } -.bi-filetype-css::before { content: "\f742"; } -.bi-filetype-csv::before { content: "\f743"; } -.bi-filetype-doc::before { content: "\f744"; } -.bi-filetype-docx::before { content: "\f745"; } -.bi-filetype-exe::before { content: "\f746"; } -.bi-filetype-gif::before { content: "\f747"; } -.bi-filetype-heic::before { content: "\f748"; } -.bi-filetype-html::before { content: "\f749"; } -.bi-filetype-java::before { content: "\f74a"; } -.bi-filetype-jpg::before { content: "\f74b"; } -.bi-filetype-js::before { content: "\f74c"; } -.bi-filetype-jsx::before { content: "\f74d"; } -.bi-filetype-key::before { content: "\f74e"; } -.bi-filetype-m4p::before { content: "\f74f"; } -.bi-filetype-md::before { content: "\f750"; } -.bi-filetype-mdx::before { content: "\f751"; } -.bi-filetype-mov::before { content: "\f752"; } -.bi-filetype-mp3::before { content: "\f753"; } -.bi-filetype-mp4::before { content: "\f754"; } -.bi-filetype-otf::before { content: "\f755"; } -.bi-filetype-pdf::before { content: "\f756"; } -.bi-filetype-php::before { content: "\f757"; } -.bi-filetype-png::before { content: "\f758"; } -.bi-filetype-ppt-1::before { content: "\f759"; } -.bi-filetype-ppt::before { content: "\f75a"; } -.bi-filetype-psd::before { content: "\f75b"; } -.bi-filetype-py::before { content: "\f75c"; } -.bi-filetype-raw::before { content: "\f75d"; } -.bi-filetype-rb::before { content: "\f75e"; } -.bi-filetype-sass::before { content: "\f75f"; } -.bi-filetype-scss::before { content: "\f760"; } -.bi-filetype-sh::before { content: "\f761"; } -.bi-filetype-svg::before { content: "\f762"; } -.bi-filetype-tiff::before { content: "\f763"; } -.bi-filetype-tsx::before { content: "\f764"; } -.bi-filetype-ttf::before { content: "\f765"; } -.bi-filetype-txt::before { content: "\f766"; } -.bi-filetype-wav::before { content: "\f767"; } -.bi-filetype-woff::before { content: "\f768"; } -.bi-filetype-xls-1::before { content: "\f769"; } -.bi-filetype-xls::before { content: "\f76a"; } -.bi-filetype-xml::before { content: "\f76b"; } -.bi-filetype-yml::before { content: "\f76c"; } -.bi-heart-arrow::before { content: "\f76d"; } -.bi-heart-pulse-fill::before { content: "\f76e"; } -.bi-heart-pulse::before { content: "\f76f"; } -.bi-heartbreak-fill::before { content: "\f770"; } -.bi-heartbreak::before { content: "\f771"; } -.bi-hearts::before { content: "\f772"; } -.bi-hospital-fill::before { content: "\f773"; } -.bi-hospital::before { content: "\f774"; } -.bi-house-heart-fill::before { content: "\f775"; } -.bi-house-heart::before { content: "\f776"; } -.bi-incognito::before { content: "\f777"; } -.bi-magnet-fill::before { content: "\f778"; } -.bi-magnet::before { content: "\f779"; } -.bi-person-heart::before { content: "\f77a"; } -.bi-person-hearts::before { content: "\f77b"; } -.bi-phone-flip::before { content: "\f77c"; } -.bi-plugin::before { content: "\f77d"; } -.bi-postage-fill::before { content: "\f77e"; } -.bi-postage-heart-fill::before { content: "\f77f"; } -.bi-postage-heart::before { content: "\f780"; } -.bi-postage::before { content: "\f781"; } -.bi-postcard-fill::before { content: "\f782"; } -.bi-postcard-heart-fill::before { content: "\f783"; } -.bi-postcard-heart::before { content: "\f784"; } -.bi-postcard::before { content: "\f785"; } -.bi-search-heart-fill::before { content: "\f786"; } -.bi-search-heart::before { content: "\f787"; } -.bi-sliders2-vertical::before { content: "\f788"; } -.bi-sliders2::before { content: "\f789"; } -.bi-trash3-fill::before { content: "\f78a"; } -.bi-trash3::before { content: "\f78b"; } -.bi-valentine::before { content: "\f78c"; } -.bi-valentine2::before { content: "\f78d"; } -.bi-wrench-adjustable-circle-fill::before { content: "\f78e"; } -.bi-wrench-adjustable-circle::before { content: "\f78f"; } -.bi-wrench-adjustable::before { content: "\f790"; } -.bi-filetype-json::before { content: "\f791"; } -.bi-filetype-pptx::before { content: "\f792"; } -.bi-filetype-xlsx::before { content: "\f793"; } -.bi-1-circle-1::before { content: "\f794"; } -.bi-1-circle-fill-1::before { content: "\f795"; } -.bi-1-circle-fill::before { content: "\f796"; } -.bi-1-circle::before { content: "\f797"; } -.bi-1-square-fill::before { content: "\f798"; } -.bi-1-square::before { content: "\f799"; } -.bi-2-circle-1::before { content: "\f79a"; } -.bi-2-circle-fill-1::before { content: "\f79b"; } -.bi-2-circle-fill::before { content: "\f79c"; } -.bi-2-circle::before { content: "\f79d"; } -.bi-2-square-fill::before { content: "\f79e"; } -.bi-2-square::before { content: "\f79f"; } -.bi-3-circle-1::before { content: "\f7a0"; } -.bi-3-circle-fill-1::before { content: "\f7a1"; } -.bi-3-circle-fill::before { content: "\f7a2"; } -.bi-3-circle::before { content: "\f7a3"; } -.bi-3-square-fill::before { content: "\f7a4"; } -.bi-3-square::before { content: "\f7a5"; } -.bi-4-circle-1::before { content: "\f7a6"; } -.bi-4-circle-fill-1::before { content: "\f7a7"; } -.bi-4-circle-fill::before { content: "\f7a8"; } -.bi-4-circle::before { content: "\f7a9"; } -.bi-4-square-fill::before { content: "\f7aa"; } -.bi-4-square::before { content: "\f7ab"; } -.bi-5-circle-1::before { content: "\f7ac"; } -.bi-5-circle-fill-1::before { content: "\f7ad"; } -.bi-5-circle-fill::before { content: "\f7ae"; } -.bi-5-circle::before { content: "\f7af"; } -.bi-5-square-fill::before { content: "\f7b0"; } -.bi-5-square::before { content: "\f7b1"; } -.bi-6-circle-1::before { content: "\f7b2"; } -.bi-6-circle-fill-1::before { content: "\f7b3"; } -.bi-6-circle-fill::before { content: "\f7b4"; } -.bi-6-circle::before { content: "\f7b5"; } -.bi-6-square-fill::before { content: "\f7b6"; } -.bi-6-square::before { content: "\f7b7"; } -.bi-7-circle-1::before { content: "\f7b8"; } -.bi-7-circle-fill-1::before { content: "\f7b9"; } -.bi-7-circle-fill::before { content: "\f7ba"; } -.bi-7-circle::before { content: "\f7bb"; } -.bi-7-square-fill::before { content: "\f7bc"; } -.bi-7-square::before { content: "\f7bd"; } -.bi-8-circle-1::before { content: "\f7be"; } -.bi-8-circle-fill-1::before { content: "\f7bf"; } -.bi-8-circle-fill::before { content: "\f7c0"; } -.bi-8-circle::before { content: "\f7c1"; } -.bi-8-square-fill::before { content: "\f7c2"; } -.bi-8-square::before { content: "\f7c3"; } -.bi-9-circle-1::before { content: "\f7c4"; } -.bi-9-circle-fill-1::before { content: "\f7c5"; } -.bi-9-circle-fill::before { content: "\f7c6"; } -.bi-9-circle::before { content: "\f7c7"; } -.bi-9-square-fill::before { content: "\f7c8"; } -.bi-9-square::before { content: "\f7c9"; } -.bi-airplane-engines-fill::before { content: "\f7ca"; } -.bi-airplane-engines::before { content: "\f7cb"; } -.bi-airplane-fill::before { content: "\f7cc"; } -.bi-airplane::before { content: "\f7cd"; } -.bi-alexa::before { content: "\f7ce"; } -.bi-alipay::before { content: "\f7cf"; } -.bi-android::before { content: "\f7d0"; } -.bi-android2::before { content: "\f7d1"; } -.bi-box-fill::before { content: "\f7d2"; } -.bi-box-seam-fill::before { content: "\f7d3"; } -.bi-browser-chrome::before { content: "\f7d4"; } -.bi-browser-edge::before { content: "\f7d5"; } -.bi-browser-firefox::before { content: "\f7d6"; } -.bi-browser-safari::before { content: "\f7d7"; } -.bi-c-circle-1::before { content: "\f7d8"; } -.bi-c-circle-fill-1::before { content: "\f7d9"; } -.bi-c-circle-fill::before { content: "\f7da"; } -.bi-c-circle::before { content: "\f7db"; } -.bi-c-square-fill::before { content: "\f7dc"; } -.bi-c-square::before { content: "\f7dd"; } -.bi-capsule-pill::before { content: "\f7de"; } -.bi-capsule::before { content: "\f7df"; } -.bi-car-front-fill::before { content: "\f7e0"; } -.bi-car-front::before { content: "\f7e1"; } -.bi-cassette-fill::before { content: "\f7e2"; } -.bi-cassette::before { content: "\f7e3"; } -.bi-cc-circle-1::before { content: "\f7e4"; } -.bi-cc-circle-fill-1::before { content: "\f7e5"; } -.bi-cc-circle-fill::before { content: "\f7e6"; } -.bi-cc-circle::before { content: "\f7e7"; } -.bi-cc-square-fill::before { content: "\f7e8"; } -.bi-cc-square::before { content: "\f7e9"; } -.bi-cup-hot-fill::before { content: "\f7ea"; } -.bi-cup-hot::before { content: "\f7eb"; } -.bi-currency-rupee::before { content: "\f7ec"; } -.bi-dropbox::before { content: "\f7ed"; } -.bi-escape::before { content: "\f7ee"; } -.bi-fast-forward-btn-fill::before { content: "\f7ef"; } -.bi-fast-forward-btn::before { content: "\f7f0"; } -.bi-fast-forward-circle-fill::before { content: "\f7f1"; } -.bi-fast-forward-circle::before { content: "\f7f2"; } -.bi-fast-forward-fill::before { content: "\f7f3"; } -.bi-fast-forward::before { content: "\f7f4"; } -.bi-filetype-sql::before { content: "\f7f5"; } -.bi-fire::before { content: "\f7f6"; } -.bi-google-play::before { content: "\f7f7"; } -.bi-h-circle-1::before { content: "\f7f8"; } -.bi-h-circle-fill-1::before { content: "\f7f9"; } -.bi-h-circle-fill::before { content: "\f7fa"; } -.bi-h-circle::before { content: "\f7fb"; } -.bi-h-square-fill::before { content: "\f7fc"; } -.bi-h-square::before { content: "\f7fd"; } -.bi-indent::before { content: "\f7fe"; } -.bi-lungs-fill::before { content: "\f7ff"; } -.bi-lungs::before { content: "\f800"; } -.bi-microsoft-teams::before { content: "\f801"; } -.bi-p-circle-1::before { content: "\f802"; } -.bi-p-circle-fill-1::before { content: "\f803"; } -.bi-p-circle-fill::before { content: "\f804"; } -.bi-p-circle::before { content: "\f805"; } -.bi-p-square-fill::before { content: "\f806"; } -.bi-p-square::before { content: "\f807"; } -.bi-pass-fill::before { content: "\f808"; } -.bi-pass::before { content: "\f809"; } -.bi-prescription::before { content: "\f80a"; } -.bi-prescription2::before { content: "\f80b"; } -.bi-r-circle-1::before { content: "\f80c"; } -.bi-r-circle-fill-1::before { content: "\f80d"; } -.bi-r-circle-fill::before { content: "\f80e"; } -.bi-r-circle::before { content: "\f80f"; } -.bi-r-square-fill::before { content: "\f810"; } -.bi-r-square::before { content: "\f811"; } -.bi-repeat-1::before { content: "\f812"; } -.bi-repeat::before { content: "\f813"; } -.bi-rewind-btn-fill::before { content: "\f814"; } -.bi-rewind-btn::before { content: "\f815"; } -.bi-rewind-circle-fill::before { content: "\f816"; } -.bi-rewind-circle::before { content: "\f817"; } -.bi-rewind-fill::before { content: "\f818"; } -.bi-rewind::before { content: "\f819"; } -.bi-train-freight-front-fill::before { content: "\f81a"; } -.bi-train-freight-front::before { content: "\f81b"; } -.bi-train-front-fill::before { content: "\f81c"; } -.bi-train-front::before { content: "\f81d"; } -.bi-train-lightrail-front-fill::before { content: "\f81e"; } -.bi-train-lightrail-front::before { content: "\f81f"; } -.bi-truck-front-fill::before { content: "\f820"; } -.bi-truck-front::before { content: "\f821"; } -.bi-ubuntu::before { content: "\f822"; } -.bi-unindent::before { content: "\f823"; } -.bi-unity::before { content: "\f824"; } -.bi-universal-access-circle::before { content: "\f825"; } -.bi-universal-access::before { content: "\f826"; } -.bi-virus::before { content: "\f827"; } -.bi-virus2::before { content: "\f828"; } -.bi-wechat::before { content: "\f829"; } -.bi-yelp::before { content: "\f82a"; } -.bi-sign-stop-fill::before { content: "\f82b"; } -.bi-sign-stop-lights-fill::before { content: "\f82c"; } -.bi-sign-stop-lights::before { content: "\f82d"; } -.bi-sign-stop::before { content: "\f82e"; } -.bi-sign-turn-left-fill::before { content: "\f82f"; } -.bi-sign-turn-left::before { content: "\f830"; } -.bi-sign-turn-right-fill::before { content: "\f831"; } -.bi-sign-turn-right::before { content: "\f832"; } -.bi-sign-turn-slight-left-fill::before { content: "\f833"; } -.bi-sign-turn-slight-left::before { content: "\f834"; } -.bi-sign-turn-slight-right-fill::before { content: "\f835"; } -.bi-sign-turn-slight-right::before { content: "\f836"; } -.bi-sign-yield-fill::before { content: "\f837"; } -.bi-sign-yield::before { content: "\f838"; } -.bi-ev-station-fill::before { content: "\f839"; } -.bi-ev-station::before { content: "\f83a"; } -.bi-fuel-pump-diesel-fill::before { content: "\f83b"; } -.bi-fuel-pump-diesel::before { content: "\f83c"; } -.bi-fuel-pump-fill::before { content: "\f83d"; } -.bi-fuel-pump::before { content: "\f83e"; } -.bi-0-circle-fill::before { content: "\f83f"; } -.bi-0-circle::before { content: "\f840"; } -.bi-0-square-fill::before { content: "\f841"; } -.bi-0-square::before { content: "\f842"; } -.bi-rocket-fill::before { content: "\f843"; } -.bi-rocket-takeoff-fill::before { content: "\f844"; } -.bi-rocket-takeoff::before { content: "\f845"; } -.bi-rocket::before { content: "\f846"; } -.bi-stripe::before { content: "\f847"; } -.bi-subscript::before { content: "\f848"; } -.bi-superscript::before { content: "\f849"; } -.bi-trello::before { content: "\f84a"; } -.bi-envelope-at-fill::before { content: "\f84b"; } -.bi-envelope-at::before { content: "\f84c"; } -.bi-regex::before { content: "\f84d"; } -.bi-text-wrap::before { content: "\f84e"; } -.bi-sign-dead-end-fill::before { content: "\f84f"; } -.bi-sign-dead-end::before { content: "\f850"; } -.bi-sign-do-not-enter-fill::before { content: "\f851"; } -.bi-sign-do-not-enter::before { content: "\f852"; } -.bi-sign-intersection-fill::before { content: "\f853"; } -.bi-sign-intersection-side-fill::before { content: "\f854"; } -.bi-sign-intersection-side::before { content: "\f855"; } -.bi-sign-intersection-t-fill::before { content: "\f856"; } -.bi-sign-intersection-t::before { content: "\f857"; } -.bi-sign-intersection-y-fill::before { content: "\f858"; } -.bi-sign-intersection-y::before { content: "\f859"; } -.bi-sign-intersection::before { content: "\f85a"; } -.bi-sign-merge-left-fill::before { content: "\f85b"; } -.bi-sign-merge-left::before { content: "\f85c"; } -.bi-sign-merge-right-fill::before { content: "\f85d"; } -.bi-sign-merge-right::before { content: "\f85e"; } -.bi-sign-no-left-turn-fill::before { content: "\f85f"; } -.bi-sign-no-left-turn::before { content: "\f860"; } -.bi-sign-no-parking-fill::before { content: "\f861"; } -.bi-sign-no-parking::before { content: "\f862"; } -.bi-sign-no-right-turn-fill::before { content: "\f863"; } -.bi-sign-no-right-turn::before { content: "\f864"; } -.bi-sign-railroad-fill::before { content: "\f865"; } -.bi-sign-railroad::before { content: "\f866"; } -.bi-building-add::before { content: "\f867"; } -.bi-building-check::before { content: "\f868"; } -.bi-building-dash::before { content: "\f869"; } -.bi-building-down::before { content: "\f86a"; } -.bi-building-exclamation::before { content: "\f86b"; } -.bi-building-fill-add::before { content: "\f86c"; } -.bi-building-fill-check::before { content: "\f86d"; } -.bi-building-fill-dash::before { content: "\f86e"; } -.bi-building-fill-down::before { content: "\f86f"; } -.bi-building-fill-exclamation::before { content: "\f870"; } -.bi-building-fill-gear::before { content: "\f871"; } -.bi-building-fill-lock::before { content: "\f872"; } -.bi-building-fill-slash::before { content: "\f873"; } -.bi-building-fill-up::before { content: "\f874"; } -.bi-building-fill-x::before { content: "\f875"; } -.bi-building-fill::before { content: "\f876"; } -.bi-building-gear::before { content: "\f877"; } -.bi-building-lock::before { content: "\f878"; } -.bi-building-slash::before { content: "\f879"; } -.bi-building-up::before { content: "\f87a"; } -.bi-building-x::before { content: "\f87b"; } -.bi-buildings-fill::before { content: "\f87c"; } -.bi-buildings::before { content: "\f87d"; } -.bi-bus-front-fill::before { content: "\f87e"; } -.bi-bus-front::before { content: "\f87f"; } -.bi-ev-front-fill::before { content: "\f880"; } -.bi-ev-front::before { content: "\f881"; } -.bi-globe-americas::before { content: "\f882"; } -.bi-globe-asia-australia::before { content: "\f883"; } -.bi-globe-central-south-asia::before { content: "\f884"; } -.bi-globe-europe-africa::before { content: "\f885"; } -.bi-house-add-fill::before { content: "\f886"; } -.bi-house-add::before { content: "\f887"; } -.bi-house-check-fill::before { content: "\f888"; } -.bi-house-check::before { content: "\f889"; } -.bi-house-dash-fill::before { content: "\f88a"; } -.bi-house-dash::before { content: "\f88b"; } -.bi-house-down-fill::before { content: "\f88c"; } -.bi-house-down::before { content: "\f88d"; } -.bi-house-exclamation-fill::before { content: "\f88e"; } -.bi-house-exclamation::before { content: "\f88f"; } -.bi-house-gear-fill::before { content: "\f890"; } -.bi-house-gear::before { content: "\f891"; } -.bi-house-lock-fill::before { content: "\f892"; } -.bi-house-lock::before { content: "\f893"; } -.bi-house-slash-fill::before { content: "\f894"; } -.bi-house-slash::before { content: "\f895"; } -.bi-house-up-fill::before { content: "\f896"; } -.bi-house-up::before { content: "\f897"; } -.bi-house-x-fill::before { content: "\f898"; } -.bi-house-x::before { content: "\f899"; } -.bi-person-add::before { content: "\f89a"; } -.bi-person-down::before { content: "\f89b"; } -.bi-person-exclamation::before { content: "\f89c"; } -.bi-person-fill-add::before { content: "\f89d"; } -.bi-person-fill-check::before { content: "\f89e"; } -.bi-person-fill-dash::before { content: "\f89f"; } -.bi-person-fill-down::before { content: "\f8a0"; } -.bi-person-fill-exclamation::before { content: "\f8a1"; } -.bi-person-fill-gear::before { content: "\f8a2"; } -.bi-person-fill-lock::before { content: "\f8a3"; } -.bi-person-fill-slash::before { content: "\f8a4"; } -.bi-person-fill-up::before { content: "\f8a5"; } -.bi-person-fill-x::before { content: "\f8a6"; } -.bi-person-gear::before { content: "\f8a7"; } -.bi-person-lock::before { content: "\f8a8"; } -.bi-person-slash::before { content: "\f8a9"; } -.bi-person-up::before { content: "\f8aa"; } -.bi-scooter::before { content: "\f8ab"; } -.bi-taxi-front-fill::before { content: "\f8ac"; } -.bi-taxi-front::before { content: "\f8ad"; } -.bi-amd::before { content: "\f8ae"; } -.bi-database-add::before { content: "\f8af"; } -.bi-database-check::before { content: "\f8b0"; } -.bi-database-dash::before { content: "\f8b1"; } -.bi-database-down::before { content: "\f8b2"; } -.bi-database-exclamation::before { content: "\f8b3"; } -.bi-database-fill-add::before { content: "\f8b4"; } -.bi-database-fill-check::before { content: "\f8b5"; } -.bi-database-fill-dash::before { content: "\f8b6"; } -.bi-database-fill-down::before { content: "\f8b7"; } -.bi-database-fill-exclamation::before { content: "\f8b8"; } -.bi-database-fill-gear::before { content: "\f8b9"; } -.bi-database-fill-lock::before { content: "\f8ba"; } -.bi-database-fill-slash::before { content: "\f8bb"; } -.bi-database-fill-up::before { content: "\f8bc"; } -.bi-database-fill-x::before { content: "\f8bd"; } -.bi-database-fill::before { content: "\f8be"; } -.bi-database-gear::before { content: "\f8bf"; } -.bi-database-lock::before { content: "\f8c0"; } -.bi-database-slash::before { content: "\f8c1"; } -.bi-database-up::before { content: "\f8c2"; } -.bi-database-x::before { content: "\f8c3"; } -.bi-database::before { content: "\f8c4"; } -.bi-houses-fill::before { content: "\f8c5"; } -.bi-houses::before { content: "\f8c6"; } -.bi-nvidia::before { content: "\f8c7"; } -.bi-person-vcard-fill::before { content: "\f8c8"; } -.bi-person-vcard::before { content: "\f8c9"; } -.bi-sina-weibo::before { content: "\f8ca"; } -.bi-tencent-qq::before { content: "\f8cb"; } -.bi-wikipedia::before { content: "\f8cc"; } diff --git a/docs/site_libs/bootstrap/bootstrap-icons.woff b/docs/site_libs/bootstrap/bootstrap-icons.woff deleted file mode 100644 index 18d21d45..00000000 Binary files a/docs/site_libs/bootstrap/bootstrap-icons.woff and /dev/null differ diff --git a/docs/site_libs/bootstrap/bootstrap.min.css b/docs/site_libs/bootstrap/bootstrap.min.css deleted file mode 100644 index 1eba2b8e..00000000 --- a/docs/site_libs/bootstrap/bootstrap.min.css +++ /dev/null @@ -1,10 +0,0 @@ -@import"https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;700&display=swap";@uses "style/font.scss";@font-face{font-family:"Light";font-style:normal;src:url("style/helveticaneueltstd-light-webfont.woff") format("woff")}@font-face{font-family:"Condensed";font-style:normal;src:url("style/helveticaneueltstd-cn-webfont.woff") format("woff")}@font-face{font-family:"Bold-Condensed";font-style:normal;src:url("style/helveticaneueltstd-bdcn-webfont.woff") format("woff")}@font-face{font-family:"Medium";font-style:normal;src:url("style/helveticaneueltstd-md-webfont.woff") format("woff") local("Medium")}@font-face{font-family:"Medium-Condensed";font-style:normal;src:url("style/helveticaneueltstd-mdcn-webfont.woff") format("woff")}@font-face{font-family:"Roman";font-style:normal;src:url("style/helveticaneueltstd-roman-webfont.woff") format("woff")}@font-face{font-family:"Arial Narrow";font-style:normal;src:url("style/ARIALN.TTF") format("ttf")}table,.table{margin-bottom:1.5rem;max-width:94%;font-size:12pt}/*! - * Bootstrap v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors - * Copyright 2011-2021 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--bs-blue: #0054a4;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #e83e8c;--bs-red: #EE3124;--bs-orange: #fd7e14;--bs-yellow: #e99002;--bs-green: #78A22F;--bs-teal: #20c997;--bs-cyan: #5bc0de;--bs-white: #FFFFFF;--bs-gray: #6c757d;--bs-gray-dark: #333;--bs-gray-100: #f8f9fa;--bs-gray-200: #eee;--bs-gray-300: #dee2e6;--bs-gray-400: #ccc;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #333;--bs-gray-900: #222;--bs-default: #eee;--bs-primary: #0054a4;--bs-secondary: #eee;--bs-success: #78A22F;--bs-info: #5bc0de;--bs-warning: #e99002;--bs-danger: #EE3124;--bs-light: #eee;--bs-dark: #222;--bs-default-rgb: 238, 238, 238;--bs-primary-rgb: 0, 84, 164;--bs-secondary-rgb: 238, 238, 238;--bs-success-rgb: 120, 162, 47;--bs-info-rgb: 91, 192, 222;--bs-warning-rgb: 233, 144, 2;--bs-danger-rgb: 238, 49, 36;--bs-light-rgb: 238, 238, 238;--bs-dark-rgb: 34, 34, 34;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 37, 37, 37;--bs-body-color-rgb: 51, 51, 51;--bs-body-bg-rgb: 255, 255, 255;--bs-font-sans-serif: Roman, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-root-font-size: 17px;--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #333;--bs-body-bg: #FFFFFF}*,*::before,*::after{box-sizing:border-box}:root{font-size:var(--bs-root-font-size)}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(37,37,37,0)}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-family:Light,Helvetica,Tahoma,Geneva,"Arial Narrow",Arial,sans-serif;font-weight:300;line-height:1.2;color:#01408a}h1,.h1{font-size:calc(1.325rem + 0.9vw)}@media(min-width: 1200px){h1,.h1{font-size:2rem}}h2,.h2{font-size:calc(1.29rem + 0.48vw)}@media(min-width: 1200px){h2,.h2{font-size:1.65rem}}h3,.h3{font-size:calc(1.27rem + 0.24vw)}@media(min-width: 1200px){h3,.h3{font-size:1.45rem}}h4,.h4{font-size:1.25rem}h5,.h5{font-size:1.1rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-bs-original-title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:0.875em}mark,.mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#0054a4;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{color:#004383}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr /* rtl:ignore */;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em;color:#252525;background-color:#f7f7f7;padding:.5rem;border:1px solid #dee2e6}pre code{background-color:rgba(0,0,0,0);font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:#9753b8;background-color:#f7f7f7;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.4rem .4rem;font-size:0.875em;color:#fff;background-color:#222}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media(min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:0.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:0.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:0.875em;color:#6c757d}.grid{display:grid;grid-template-rows:repeat(var(--bs-rows, 1), 1fr);grid-template-columns:repeat(var(--bs-columns, 12), 1fr);gap:var(--bs-gap, 1.5rem)}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media(min-width: 576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media(min-width: 768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media(min-width: 992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media(min-width: 1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media(min-width: 1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.table{--bs-table-bg: transparent;--bs-table-accent-bg: transparent;--bs-table-striped-color: #333;--bs-table-striped-bg: rgba(37, 37, 37, 0.05);--bs-table-active-color: #333;--bs-table-active-bg: rgba(37, 37, 37, 0.1);--bs-table-hover-color: #333;--bs-table-hover-bg: rgba(37, 37, 37, 0.075);width:100%;margin-bottom:1rem;color:#333;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid #b3b3b3}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg: #0054a4;--bs-table-striped-bg: #0d5da9;--bs-table-striped-color: #FFFFFF;--bs-table-active-bg: #1a65ad;--bs-table-active-color: #FFFFFF;--bs-table-hover-bg: #1361ab;--bs-table-hover-color: #FFFFFF;color:#fff;border-color:#1a65ad}.table-secondary{--bs-table-bg: #eeeeee;--bs-table-striped-bg: #e4e4e4;--bs-table-striped-color: #252525;--bs-table-active-bg: #dadada;--bs-table-active-color: #252525;--bs-table-hover-bg: #dfdfdf;--bs-table-hover-color: #252525;color:#252525;border-color:#dadada}.table-success{--bs-table-bg: #78a22f;--bs-table-striped-bg: #7fa739;--bs-table-striped-color: #FFFFFF;--bs-table-active-bg: #86ab44;--bs-table-active-color: #FFFFFF;--bs-table-hover-bg: #82a93f;--bs-table-hover-color: #FFFFFF;color:#fff;border-color:#86ab44}.table-info{--bs-table-bg: #5bc0de;--bs-table-striped-bg: #63c3e0;--bs-table-striped-color: #FFFFFF;--bs-table-active-bg: #6bc6e1;--bs-table-active-color: #FFFFFF;--bs-table-hover-bg: #67c5e0;--bs-table-hover-color: #FFFFFF;color:#fff;border-color:#6bc6e1}.table-warning{--bs-table-bg: #e99002;--bs-table-striped-bg: #ea960f;--bs-table-striped-color: #FFFFFF;--bs-table-active-bg: #eb9b1b;--bs-table-active-color: #FFFFFF;--bs-table-hover-bg: #eb9815;--bs-table-hover-color: #FFFFFF;color:#fff;border-color:#eb9b1b}.table-danger{--bs-table-bg: #ee3124;--bs-table-striped-bg: #ef3b2f;--bs-table-striped-color: #FFFFFF;--bs-table-active-bg: #f0463a;--bs-table-active-color: #FFFFFF;--bs-table-hover-bg: #ef4034;--bs-table-hover-color: #FFFFFF;color:#fff;border-color:#f0463a}.table-light{--bs-table-bg: #eee;--bs-table-striped-bg: #e4e4e4;--bs-table-striped-color: #252525;--bs-table-active-bg: #dadada;--bs-table-active-color: #252525;--bs-table-hover-bg: #dfdfdf;--bs-table-hover-color: #252525;color:#252525;border-color:#dadada}.table-dark{--bs-table-bg: #222;--bs-table-striped-bg: #2d2d2d;--bs-table-striped-color: #FFFFFF;--bs-table-active-bg: #383838;--bs-table-active-color: #FFFFFF;--bs-table-hover-bg: #333333;--bs-table-hover-color: #FFFFFF;color:#fff;border-color:#383838}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(0.375rem + 1px);padding-bottom:calc(0.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:16}.form-text{margin-top:.25rem;font-size:0.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .5rem;font-size:1rem;font-weight:400;line-height:1.5;color:#333;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#333;background-color:#fff;border-color:#80aad2;outline:0;box-shadow:0 0 0 .25rem rgba(0,84,164,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eee;opacity:1}.form-control::file-selector-button{padding:.375rem .5rem;margin:-0.375rem -0.5rem;margin-inline-end:.5rem;color:#333;background-color:#eee;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#e2e2e2}.form-control::-webkit-file-upload-button{padding:.375rem .5rem;margin:-0.375rem -0.5rem;margin-inline-end:.5rem;color:#333;background-color:#eee;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#e2e2e2}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#333;background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:16}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 0.75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + 0.5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em}.form-control-color::-webkit-color-swatch{height:1.5em}.form-select{display:block;width:100%;padding:.375rem 1.5rem .375rem .5rem;-moz-padding-start:calc(0.5rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#333;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .5rem center;background-size:16px 12px;border:1px solid #ccc;border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#80aad2;outline:0;box-shadow:0 0 0 .25rem rgba(0,84,164,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.5rem;background-image:none}.form-select:disabled{background-color:#eee}.form-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #333}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:16}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(37,37,37,.25);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;color-adjust:exact;-webkit-print-color-adjust:exact}.form-check-input[type=radio],.shiny-input-container .checkbox input[type=radio],.shiny-input-container .checkbox-inline input[type=radio],.shiny-input-container .radio input[type=radio],.shiny-input-container .radio-inline input[type=radio]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#80aad2;outline:0;box-shadow:0 0 0 .25rem rgba(0,84,164,.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#0054a4;border-color:#0054a4}.form-check-input:checked[type=checkbox],.shiny-input-container .checkbox input:checked[type=checkbox],.shiny-input-container .checkbox-inline input:checked[type=checkbox],.shiny-input-container .radio input:checked[type=checkbox],.shiny-input-container .radio-inline input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio],.shiny-input-container .checkbox input:checked[type=radio],.shiny-input-container .checkbox-inline input:checked[type=radio],.shiny-input-container .radio input:checked[type=radio],.shiny-input-container .radio-inline input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23FFFFFF'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate,.shiny-input-container .checkbox input[type=checkbox]:indeterminate,.shiny-input-container .checkbox-inline input[type=checkbox]:indeterminate,.shiny-input-container .radio input[type=checkbox]:indeterminate,.shiny-input-container .radio-inline input[type=checkbox]:indeterminate{background-color:#0054a4;border-color:#0054a4;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%2837, 37, 37, 0.25%29'/%3e%3c/svg%3e");background-position:left center;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380aad2'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e")}.form-check-inline,.shiny-input-container .checkbox-inline,.shiny-input-container .radio-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:rgba(0,0,0,0);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(0,84,164,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(0,84,164,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#0054a4;border:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3cce4}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#dee2e6;border-color:rgba(0,0,0,0)}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0054a4;border:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3cce4}.form-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#dee2e6;border-color:rgba(0,0,0,0)}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .5rem;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .5rem}.form-floating>.form-control::placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .5rem;font-size:1rem;font-weight:400;line-height:1.5;color:#333;text-align:center;white-space:nowrap;background-color:#eee;border:1px solid #ccc}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:16}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:2rem}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#78a22f}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:16;color:#fff;background-color:rgba(120,162,47,.9)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#78a22f;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2378A22F' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#78a22f;box-shadow:0 0 0 .25rem rgba(120,162,47,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#78a22f}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{padding-right:2.75rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2378A22F' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .5rem center,center right 1.5rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#78a22f;box-shadow:0 0 0 .25rem rgba(120,162,47,.25)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#78a22f}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#78a22f}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(120,162,47,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#78a22f}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group .form-control:valid,.input-group .form-control.is-valid,.was-validated .input-group .form-select:valid,.input-group .form-select.is-valid{z-index:1}.was-validated .input-group .form-control:valid:focus,.input-group .form-control.is-valid:focus,.was-validated .input-group .form-select:valid:focus,.input-group .form-select.is-valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#ee3124}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:16;color:#fff;background-color:rgba(238,49,36,.9)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#ee3124;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23EE3124'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23EE3124' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#ee3124;box-shadow:0 0 0 .25rem rgba(238,49,36,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#ee3124}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{padding-right:2.75rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23EE3124'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23EE3124' stroke='none'/%3e%3c/svg%3e");background-position:right .5rem center,center right 1.5rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#ee3124;box-shadow:0 0 0 .25rem rgba(238,49,36,.25)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#ee3124}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#ee3124}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(238,49,36,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#ee3124}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group .form-control:invalid,.input-group .form-control.is-invalid,.was-validated .input-group .form-select:invalid,.input-group .form-select.is-invalid{z-index:2}.was-validated .input-group .form-control:invalid:focus,.input-group .form-control.is-invalid:focus,.was-validated .input-group .form-select:invalid:focus,.input-group .form-select.is-invalid:focus{z-index:3}.btn{display:inline-block;font-weight:300;line-height:1.5;color:#333;text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);padding:.375rem .5rem;font-size:1rem;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#333}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(0,84,164,.25)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-default{color:#252525;background-color:#eee;border-color:#eee}.btn-default:hover{color:#252525;background-color:#f1f1f1;border-color:#f0f0f0}.btn-check:focus+.btn-default,.btn-default:focus{color:#252525;background-color:#f1f1f1;border-color:#f0f0f0;box-shadow:0 0 0 .25rem rgba(208,208,208,.5)}.btn-check:checked+.btn-default,.btn-check:active+.btn-default,.btn-default:active,.btn-default.active,.show>.btn-default.dropdown-toggle{color:#252525;background-color:#f1f1f1;border-color:#f0f0f0}.btn-check:checked+.btn-default:focus,.btn-check:active+.btn-default:focus,.btn-default:active:focus,.btn-default.active:focus,.show>.btn-default.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(208,208,208,.5)}.btn-default:disabled,.btn-default.disabled{color:#252525;background-color:#eee;border-color:#eee}.btn-primary{color:#fff;background-color:#0054a4;border-color:#0054a4}.btn-primary:hover{color:#fff;background-color:#00478b;border-color:#004383}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#00478b;border-color:#004383;box-shadow:0 0 0 .25rem rgba(38,110,178,.5)}.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#004383;border-color:#003f7b}.btn-check:checked+.btn-primary:focus,.btn-check:active+.btn-primary:focus,.btn-primary:active:focus,.btn-primary.active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(38,110,178,.5)}.btn-primary:disabled,.btn-primary.disabled{color:#fff;background-color:#0054a4;border-color:#0054a4}.btn-secondary{color:#252525;background-color:#eee;border-color:#eee}.btn-secondary:hover{color:#252525;background-color:#f1f1f1;border-color:#f0f0f0}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#252525;background-color:#f1f1f1;border-color:#f0f0f0;box-shadow:0 0 0 .25rem rgba(208,208,208,.5)}.btn-check:checked+.btn-secondary,.btn-check:active+.btn-secondary,.btn-secondary:active,.btn-secondary.active,.show>.btn-secondary.dropdown-toggle{color:#252525;background-color:#f1f1f1;border-color:#f0f0f0}.btn-check:checked+.btn-secondary:focus,.btn-check:active+.btn-secondary:focus,.btn-secondary:active:focus,.btn-secondary.active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(208,208,208,.5)}.btn-secondary:disabled,.btn-secondary.disabled{color:#252525;background-color:#eee;border-color:#eee}.btn-success{color:#fff;background-color:#78a22f;border-color:#78a22f}.btn-success:hover{color:#fff;background-color:#668a28;border-color:#608226}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#668a28;border-color:#608226;box-shadow:0 0 0 .25rem rgba(140,176,78,.5)}.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#608226;border-color:#5a7a23}.btn-check:checked+.btn-success:focus,.btn-check:active+.btn-success:focus,.btn-success:active:focus,.btn-success.active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(140,176,78,.5)}.btn-success:disabled,.btn-success.disabled{color:#fff;background-color:#78a22f;border-color:#78a22f}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#4da3bd;border-color:#499ab2}.btn-check:focus+.btn-info,.btn-info:focus{color:#fff;background-color:#4da3bd;border-color:#499ab2;box-shadow:0 0 0 .25rem rgba(116,201,227,.5)}.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#499ab2;border-color:#4490a7}.btn-check:checked+.btn-info:focus,.btn-check:active+.btn-info:focus,.btn-info:active:focus,.btn-info.active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(116,201,227,.5)}.btn-info:disabled,.btn-info.disabled{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-warning{color:#fff;background-color:#e99002;border-color:#e99002}.btn-warning:hover{color:#fff;background-color:#c67a02;border-color:#ba7302}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#fff;background-color:#c67a02;border-color:#ba7302;box-shadow:0 0 0 .25rem rgba(236,161,40,.5)}.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ba7302;border-color:#af6c02}.btn-check:checked+.btn-warning:focus,.btn-check:active+.btn-warning:focus,.btn-warning:active:focus,.btn-warning.active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(236,161,40,.5)}.btn-warning:disabled,.btn-warning.disabled{color:#fff;background-color:#e99002;border-color:#e99002}.btn-danger{color:#fff;background-color:#ee3124;border-color:#ee3124}.btn-danger:hover{color:#fff;background-color:#ca2a1f;border-color:#be271d}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#ca2a1f;border-color:#be271d;box-shadow:0 0 0 .25rem rgba(241,80,69,.5)}.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#be271d;border-color:#b3251b}.btn-check:checked+.btn-danger:focus,.btn-check:active+.btn-danger:focus,.btn-danger:active:focus,.btn-danger.active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(241,80,69,.5)}.btn-danger:disabled,.btn-danger.disabled{color:#fff;background-color:#ee3124;border-color:#ee3124}.btn-light{color:#252525;background-color:#eee;border-color:#eee}.btn-light:hover{color:#252525;background-color:#f1f1f1;border-color:#f0f0f0}.btn-check:focus+.btn-light,.btn-light:focus{color:#252525;background-color:#f1f1f1;border-color:#f0f0f0;box-shadow:0 0 0 .25rem rgba(208,208,208,.5)}.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#252525;background-color:#f1f1f1;border-color:#f0f0f0}.btn-check:checked+.btn-light:focus,.btn-check:active+.btn-light:focus,.btn-light:active:focus,.btn-light.active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(208,208,208,.5)}.btn-light:disabled,.btn-light.disabled{color:#252525;background-color:#eee;border-color:#eee}.btn-dark{color:#fff;background-color:#222;border-color:#222}.btn-dark:hover{color:#fff;background-color:#1d1d1d;border-color:#1b1b1b}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1d1d1d;border-color:#1b1b1b;box-shadow:0 0 0 .25rem rgba(67,67,67,.5)}.btn-check:checked+.btn-dark,.btn-check:active+.btn-dark,.btn-dark:active,.btn-dark.active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1b1b1b;border-color:#1a1a1a}.btn-check:checked+.btn-dark:focus,.btn-check:active+.btn-dark:focus,.btn-dark:active:focus,.btn-dark.active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(67,67,67,.5)}.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#222;border-color:#222}.btn-outline-default{color:#eee;border-color:#eee;background-color:rgba(0,0,0,0)}.btn-outline-default:hover{color:#252525;background-color:#eee;border-color:#eee}.btn-check:focus+.btn-outline-default,.btn-outline-default:focus{box-shadow:0 0 0 .25rem rgba(238,238,238,.5)}.btn-check:checked+.btn-outline-default,.btn-check:active+.btn-outline-default,.btn-outline-default:active,.btn-outline-default.active,.btn-outline-default.dropdown-toggle.show{color:#252525;background-color:#eee;border-color:#eee}.btn-check:checked+.btn-outline-default:focus,.btn-check:active+.btn-outline-default:focus,.btn-outline-default:active:focus,.btn-outline-default.active:focus,.btn-outline-default.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(238,238,238,.5)}.btn-outline-default:disabled,.btn-outline-default.disabled{color:#eee;background-color:rgba(0,0,0,0)}.btn-outline-primary{color:#0054a4;border-color:#0054a4;background-color:rgba(0,0,0,0)}.btn-outline-primary:hover{color:#fff;background-color:#0054a4;border-color:#0054a4}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(0,84,164,.5)}.btn-check:checked+.btn-outline-primary,.btn-check:active+.btn-outline-primary,.btn-outline-primary:active,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show{color:#fff;background-color:#0054a4;border-color:#0054a4}.btn-check:checked+.btn-outline-primary:focus,.btn-check:active+.btn-outline-primary:focus,.btn-outline-primary:active:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(0,84,164,.5)}.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#0054a4;background-color:rgba(0,0,0,0)}.btn-outline-secondary{color:#eee;border-color:#eee;background-color:rgba(0,0,0,0)}.btn-outline-secondary:hover{color:#252525;background-color:#eee;border-color:#eee}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(238,238,238,.5)}.btn-check:checked+.btn-outline-secondary,.btn-check:active+.btn-outline-secondary,.btn-outline-secondary:active,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show{color:#252525;background-color:#eee;border-color:#eee}.btn-check:checked+.btn-outline-secondary:focus,.btn-check:active+.btn-outline-secondary:focus,.btn-outline-secondary:active:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(238,238,238,.5)}.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#eee;background-color:rgba(0,0,0,0)}.btn-outline-success{color:#78a22f;border-color:#78a22f;background-color:rgba(0,0,0,0)}.btn-outline-success:hover{color:#fff;background-color:#78a22f;border-color:#78a22f}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(120,162,47,.5)}.btn-check:checked+.btn-outline-success,.btn-check:active+.btn-outline-success,.btn-outline-success:active,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show{color:#fff;background-color:#78a22f;border-color:#78a22f}.btn-check:checked+.btn-outline-success:focus,.btn-check:active+.btn-outline-success:focus,.btn-outline-success:active:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(120,162,47,.5)}.btn-outline-success:disabled,.btn-outline-success.disabled{color:#78a22f;background-color:rgba(0,0,0,0)}.btn-outline-info{color:#5bc0de;border-color:#5bc0de;background-color:rgba(0,0,0,0)}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(91,192,222,.5)}.btn-check:checked+.btn-outline-info,.btn-check:active+.btn-outline-info,.btn-outline-info:active,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-check:checked+.btn-outline-info:focus,.btn-check:active+.btn-outline-info:focus,.btn-outline-info:active:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(91,192,222,.5)}.btn-outline-info:disabled,.btn-outline-info.disabled{color:#5bc0de;background-color:rgba(0,0,0,0)}.btn-outline-warning{color:#e99002;border-color:#e99002;background-color:rgba(0,0,0,0)}.btn-outline-warning:hover{color:#fff;background-color:#e99002;border-color:#e99002}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(233,144,2,.5)}.btn-check:checked+.btn-outline-warning,.btn-check:active+.btn-outline-warning,.btn-outline-warning:active,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show{color:#fff;background-color:#e99002;border-color:#e99002}.btn-check:checked+.btn-outline-warning:focus,.btn-check:active+.btn-outline-warning:focus,.btn-outline-warning:active:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(233,144,2,.5)}.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#e99002;background-color:rgba(0,0,0,0)}.btn-outline-danger{color:#ee3124;border-color:#ee3124;background-color:rgba(0,0,0,0)}.btn-outline-danger:hover{color:#fff;background-color:#ee3124;border-color:#ee3124}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(238,49,36,.5)}.btn-check:checked+.btn-outline-danger,.btn-check:active+.btn-outline-danger,.btn-outline-danger:active,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show{color:#fff;background-color:#ee3124;border-color:#ee3124}.btn-check:checked+.btn-outline-danger:focus,.btn-check:active+.btn-outline-danger:focus,.btn-outline-danger:active:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(238,49,36,.5)}.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#ee3124;background-color:rgba(0,0,0,0)}.btn-outline-light{color:#eee;border-color:#eee;background-color:rgba(0,0,0,0)}.btn-outline-light:hover{color:#252525;background-color:#eee;border-color:#eee}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(238,238,238,.5)}.btn-check:checked+.btn-outline-light,.btn-check:active+.btn-outline-light,.btn-outline-light:active,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show{color:#252525;background-color:#eee;border-color:#eee}.btn-check:checked+.btn-outline-light:focus,.btn-check:active+.btn-outline-light:focus,.btn-outline-light:active:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(238,238,238,.5)}.btn-outline-light:disabled,.btn-outline-light.disabled{color:#eee;background-color:rgba(0,0,0,0)}.btn-outline-dark{color:#222;border-color:#222;background-color:rgba(0,0,0,0)}.btn-outline-dark:hover{color:#fff;background-color:#222;border-color:#222}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(34,34,34,.5)}.btn-check:checked+.btn-outline-dark,.btn-check:active+.btn-outline-dark,.btn-outline-dark:active,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show{color:#fff;background-color:#222;border-color:#222}.btn-check:checked+.btn-outline-dark:focus,.btn-check:active+.btn-outline-dark:focus,.btn-outline-dark:active:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(34,34,34,.5)}.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#222;background-color:rgba(0,0,0,0)}.btn-link{font-weight:400;color:#0054a4;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:hover{color:#004383}.btn-link:disabled,.btn-link.disabled{color:#6c757d}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:0}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:16;border-radius:0}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .2s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#333;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(37,37,37,.1)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(37,37,37,.1)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#222;text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0}.dropdown-item:hover,.dropdown-item:focus{color:#1f1f1f;background-color:#eee}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0054a4}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:16;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#222}.dropdown-menu-dark{color:#dee2e6;background-color:#333;border-color:rgba(37,37,37,.1)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0054a4}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(37,37,37,.1)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.nav{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0054a4;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:#004383}.nav-link.disabled{color:#ccc;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid rgba(37,37,37,.1)}.nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid rgba(0,0,0,0)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:rgba(37,37,37,.1);isolation:isolate}.nav-tabs .nav-link.disabled{color:#ccc;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:rgba(37,37,37,.1)}.nav-tabs .dropdown-menu{margin-top:-1px}.nav-pills .nav-link{background:none;border:0}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0054a4}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container-xxl,.navbar>.container-xl,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container,.navbar>.container-fluid{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler{padding:.25 0;font-size:1.25rem;line-height:1;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);transition:box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:rgba(0,0,0,0);border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-top,.navbar-expand-sm .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:rgba(0,0,0,0);border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-top,.navbar-expand-md .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:rgba(0,0,0,0);border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-top,.navbar-expand-lg .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:rgba(0,0,0,0);border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-top,.navbar-expand-xl .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:rgba(0,0,0,0);border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-top,.navbar-expand-xxl .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;-webkit-flex-grow:1;visibility:visible !important;background-color:rgba(0,0,0,0);border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-top,.navbar-expand .offcanvas-bottom{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-light{background-color:#eee}.navbar-light .navbar-brand{color:#4f4f4f}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#044f97}.navbar-light .navbar-nav .nav-link{color:#4f4f4f}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(4,79,151,.8)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(79,79,79,.75)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .nav-link.active{color:#044f97}.navbar-light .navbar-toggler{color:#4f4f4f;border-color:rgba(79,79,79,0)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%234f4f4f' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#4f4f4f}.navbar-light .navbar-text a,.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:#044f97}.navbar-dark{background-color:#eee}.navbar-dark .navbar-brand{color:#4f4f4f}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#044f97}.navbar-dark .navbar-nav .nav-link{color:#4f4f4f}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(4,79,151,.8)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(79,79,79,.75)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active{color:#044f97}.navbar-dark .navbar-toggler{color:#4f4f4f;border-color:rgba(79,79,79,0)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%234f4f4f' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#4f4f4f}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#044f97}.card{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(37,37,37,.125)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0}.card>.list-group:last-child{border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-0.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:#adb5bd;border-bottom:1px solid rgba(37,37,37,.125)}.card-footer{padding:.5rem 1rem;background-color:#adb5bd;border-top:1px solid rgba(37,37,37,.125)}.card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-group>.card{margin-bottom:.75rem}@media(min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}}.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#333;text-align:left;background-color:#fff;border:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media(prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#004c94;background-color:#e6eef6;box-shadow:inset 0 -1px 0 rgba(37,37,37,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23004c94'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media(prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#80aad2;outline:0;box-shadow:0 0 0 .25rem rgba(0,84,164,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(37,37,37,.125)}.accordion-item:not(:first-of-type){border-top:0}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.breadcrumb{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:.375rem .75rem;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, ">") /* rtl: var(--bs-breadcrumb-divider, ">") */}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#6c757d;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:#fff;border:1px solid rgba(37,37,37,.1);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#004383;background-color:#eee;border-color:#dee2e6}.page-link:focus{z-index:3;color:#004383;background-color:#eee;outline:0;box-shadow:0 0 0 .25rem rgba(0,84,164,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0054a4;border-color:#00478b}.page-item.disabled .page-link{color:#eee;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:16}.badge{display:inline-block;padding:.35em 1rem;font-size:0.75em;font-weight:300;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:0 solid rgba(0,0,0,0)}.alert-heading{color:inherit}.alert-link{font-weight:400}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{color:#8f8f8f;background-color:#eee;border-color:#fafafa}.alert-default .alert-link{color:#727272}.alert-primary{color:#99bbdb;background-color:#0054a4;border-color:#b3cce4}.alert-primary .alert-link{color:#7a96af}.alert-secondary{color:#8f8f8f;background-color:#eee;border-color:#fafafa}.alert-secondary .alert-link{color:#727272}.alert-success{color:#48611c;background-color:#78a22f;border-color:#d7e3c1}.alert-success .alert-link{color:#3a4e16}.alert-info{color:#377385;background-color:#5bc0de;border-color:#ceecf5}.alert-info .alert-link{color:#2c5c6a}.alert-warning{color:#8c5601;background-color:#e99002;border-color:#f8deb3}.alert-warning .alert-link{color:#704501}.alert-danger{color:#8f1d16;background-color:#ee3124;border-color:#fac1bd}.alert-danger .alert-link{color:#721712}.alert-light{color:#8f8f8f;background-color:#eee;border-color:#fafafa}.alert-light .alert-link{color:#727272}.alert-dark{color:#a7a7a7;background-color:#222;border-color:#bdbdbd}.alert-dark .alert-link{color:#868686}@keyframes progress-bar-stripes{0%{background-position-x:.5rem}}.progress{display:flex;display:-webkit-flex;height:.5rem;overflow:hidden;font-size:0.75rem;background-color:#ccc}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0054a4;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:.5rem .5rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#333;background-color:#eee}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#222;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:#fff;border:1px solid rgba(37,37,37,.125)}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#eee}.list-group-item.active{z-index:2;color:#fff;background-color:#0054a4;border-color:#0054a4}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{color:#8f8f8f;background-color:#fcfcfc}.list-group-item-default.list-group-item-action:hover,.list-group-item-default.list-group-item-action:focus{color:#8f8f8f;background-color:#e3e3e3}.list-group-item-default.list-group-item-action.active{color:#fff;background-color:#8f8f8f;border-color:#8f8f8f}.list-group-item-primary{color:#003262;background-color:#ccdded}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#003262;background-color:#b8c7d5}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#003262;border-color:#003262}.list-group-item-secondary{color:#8f8f8f;background-color:#fcfcfc}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#8f8f8f;background-color:#e3e3e3}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#8f8f8f;border-color:#8f8f8f}.list-group-item-success{color:#48611c;background-color:#e4ecd5}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#48611c;background-color:#cdd4c0}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#48611c;border-color:#48611c}.list-group-item-info{color:#377385;background-color:#def2f8}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#377385;background-color:#c8dadf}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#377385;border-color:#377385}.list-group-item-warning{color:#8c5601;background-color:#fbe9cc}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#8c5601;background-color:#e2d2b8}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#8c5601;border-color:#8c5601}.list-group-item-danger{color:#8f1d16;background-color:#fcd6d3}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#8f1d16;background-color:#e3c1be}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#8f1d16;border-color:#8f1d16}.list-group-item-light{color:#8f8f8f;background-color:#fcfcfc}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#8f8f8f;background-color:#e3e3e3}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#8f8f8f;border-color:#8f8f8f}.list-group-item-dark{color:#141414;background-color:#d3d3d3}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#141414;background-color:#bebebe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141414;border-color:#141414}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#6c757d;background:rgba(0,0,0,0) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236c757d'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;opacity:.6}.btn-close:hover{color:#6c757d;text-decoration:none;opacity:1}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(0,84,164,.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:0.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(37,37,37,.1);box-shadow:0 .5rem 1rem rgba(37,37,37,.15)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(37,37,37,.05)}.toast-header .btn-close{margin-right:-0.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(37,37,37,.2);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#252525}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6}.modal-header .btn-close{padding:.5rem .5rem;margin:-0.5rem -0.5rem -0.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:1rem}.modal-footer{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6}.modal-footer>*{margin:.25rem}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:16;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[data-popper-placement^=top]{padding:.4rem 0}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#252525}.bs-tooltip-end,.bs-tooltip-auto[data-popper-placement^=right]{padding:0 .4rem}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#252525}.bs-tooltip-bottom,.bs-tooltip-auto[data-popper-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#252525}.bs-tooltip-start,.bs-tooltip-auto[data-popper-placement^=left]{padding:0 .4rem}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#252525}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#252525}.popover{position:absolute;top:0;left:0 /* rtl:ignore */;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:16;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(37,37,37,.2)}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(37,37,37,.25)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(37,37,37,.25)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(37,37,37,.25)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(37,37,37,.25)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;color:#01408a;background-color:#f0f0f0;border-bottom:1px solid rgba(37,37,37,.2)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#333}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;display:-webkit-flex;justify-content:center;-webkit-justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;-webkit-flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#252525}.carousel-dark .carousel-caption{color:#252525}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;border:.25em solid currentColor;border-right-color:rgba(0,0,0,0);border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s;-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-ms-animation-duration:1.5s;-o-animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media(prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#252525}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-0.5rem;margin-right:-0.5rem;margin-bottom:-0.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(37,37,37,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(37,37,37,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(37,37,37,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(37,37,37,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #252525 55%, rgba(0, 0, 0, 0.8) 75%, #252525 95%);-webkit-mask-image:linear-gradient(130deg, #252525 55%, rgba(0, 0, 0, 0.8) 75%, #252525 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-default{color:#eee}.link-default:hover,.link-default:focus{color:#f1f1f1}.link-primary{color:#0054a4}.link-primary:hover,.link-primary:focus{color:#004383}.link-secondary{color:#eee}.link-secondary:hover,.link-secondary:focus{color:#f1f1f1}.link-success{color:#78a22f}.link-success:hover,.link-success:focus{color:#608226}.link-info{color:#5bc0de}.link-info:hover,.link-info:focus{color:#499ab2}.link-warning{color:#e99002}.link-warning:hover,.link-warning:focus{color:#ba7302}.link-danger{color:#ee3124}.link-danger:hover,.link-danger:focus{color:#be271d}.link-light{color:#eee}.link-light:hover,.link-light:focus{color:#f1f1f1}.link-dark{color:#222}.link-dark:hover,.link-dark:focus{color:#1b1b1b}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 .5rem 1rem rgba(37,37,37,.15) !important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(37,37,37,.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(37,37,37,.175) !important}.shadow-none{box-shadow:none !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-top-0{border-top:0 !important}.border-end{border-right:1px solid #dee2e6 !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:1px solid #dee2e6 !important}.border-start-0{border-left:0 !important}.border-default{border-color:#eee !important}.border-primary{border-color:#0054a4 !important}.border-secondary{border-color:#eee !important}.border-success{border-color:#78a22f !important}.border-info{border-color:#5bc0de !important}.border-warning{border-color:#e99002 !important}.border-danger{border-color:#ee3124 !important}.border-light{border-color:#eee !important}.border-dark{border-color:#222 !important}.border-white{border-color:#fff !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.325rem + 0.9vw) !important}.fs-2{font-size:calc(1.29rem + 0.48vw) !important}.fs-3{font-size:calc(1.27rem + 0.24vw) !important}.fs-4{font-size:1.25rem !important}.fs-5{font-size:1.1rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-light{font-weight:300 !important}.fw-lighter{font-weight:lighter !important}.fw-normal{font-weight:400 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:#6c757d !important}.text-black-50{--bs-text-opacity: 1;color:rgba(37,37,37,.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,.5) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:.25rem !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:.2em !important}.rounded-2{border-radius:.25rem !important}.rounded-3{border-radius:0 !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-end{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-start{border-bottom-left-radius:.25rem !important;border-top-left-radius:.25rem !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#252525}.bg-primary{color:#fff}.bg-secondary{color:#252525}.bg-success{color:#fff}.bg-info{color:#fff}.bg-warning{color:#fff}.bg-danger{color:#fff}.bg-light{color:#252525}.bg-dark{color:#fff}@media(min-width: 1200px){.fs-1{font-size:2rem !important}.fs-2{font-size:1.65rem !important}.fs-3{font-size:1.45rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}.sidebar-item .chapter-number{color:#333}.quarto-container{min-height:calc(100vh - 132px)}footer.footer .nav-footer,#quarto-header>nav{padding-left:1em;padding-right:1em}nav[role=doc-toc]{padding-left:.5em}#quarto-content>*{padding-top:14px}@media(max-width: 991.98px){#quarto-content>*{padding-top:0}#quarto-content .subtitle{padding-top:14px}#quarto-content section:first-of-type h2:first-of-type,#quarto-content section:first-of-type .h2:first-of-type{margin-top:1rem}}.headroom-target,header.headroom{will-change:transform;transition:position 200ms linear;transition:all 200ms linear}header.headroom--pinned{transform:translateY(0%)}header.headroom--unpinned{transform:translateY(-100%)}.navbar-container{width:100%}.navbar-brand{overflow:hidden;text-overflow:ellipsis}.navbar-brand-container{max-width:calc(100% - 115px);min-width:0;display:flex;align-items:center}@media(min-width: 992px){.navbar-brand-container{margin-right:1em}}.navbar-brand.navbar-brand-logo{margin-right:4px;display:inline-flex}.navbar-toggler{flex-basis:content;flex-shrink:0}.navbar .navbar-toggler{order:-1;margin-right:.5em}.navbar-logo{max-height:24px;width:auto;padding-right:4px}nav .nav-item:not(.compact){padding-top:1px}nav .nav-link i,nav .dropdown-item i{padding-right:1px}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.6rem;padding-right:.6rem}nav .nav-item.compact .nav-link{padding-left:.5rem;padding-right:.5rem;font-size:1.1rem}.navbar .quarto-navbar-tools div.dropdown{display:inline-block}.navbar .quarto-navbar-tools .quarto-navigation-tool{color:#4f4f4f}.navbar .quarto-navbar-tools .quarto-navigation-tool:hover{color:#044f97}@media(max-width: 991.98px){.navbar .quarto-navbar-tools{margin-top:.25em;padding-top:.75em;display:block;color:solid #cfcfcf 1px;text-align:center;vertical-align:middle;margin-right:auto}}.navbar-nav .dropdown-menu{min-width:220px;font-size:.9rem}.navbar .navbar-nav .nav-link.dropdown-toggle::after{opacity:.75;vertical-align:.175em}.navbar ul.dropdown-menu{padding-top:0;padding-bottom:0}.navbar .dropdown-header{text-transform:uppercase;font-size:.8rem;padding:0 .5rem}.navbar .dropdown-item{padding:.4rem .5rem}.navbar .dropdown-item>i.bi{margin-left:.1rem;margin-right:.25em}.sidebar #quarto-search{margin-top:-1px}.sidebar #quarto-search svg.aa-SubmitIcon{width:16px;height:16px}.sidebar-navigation a{color:inherit}.sidebar-title{margin-top:.25rem;padding-bottom:.5rem;font-size:1.3rem;line-height:1.6rem;visibility:visible}.sidebar-title>a{font-size:inherit;text-decoration:none}.sidebar-title .sidebar-tools-main{margin-top:-6px}@media(max-width: 991.98px){#quarto-sidebar div.sidebar-header{padding-top:.2em}}.sidebar-header-stacked .sidebar-title{margin-top:.6rem}.sidebar-logo{max-width:90%;padding-bottom:.5rem}.sidebar-logo-link{text-decoration:none}.sidebar-navigation li a{text-decoration:none}.sidebar-navigation .quarto-navigation-tool{opacity:.7;font-size:.875rem}#quarto-sidebar>nav>.sidebar-tools-main{margin-left:14px}.sidebar-tools-main{display:inline-flex;margin-left:0px;order:2}.sidebar-tools-main:not(.tools-wide){vertical-align:middle}.sidebar-navigation .quarto-navigation-tool.dropdown-toggle::after{display:none}.sidebar.sidebar-navigation>*{padding-top:1em}.sidebar-item{margin-bottom:.2em}.sidebar-section{margin-top:.2em;padding-left:.5em;padding-bottom:.2em}.sidebar-item .sidebar-item-container{display:flex;justify-content:space-between}.sidebar-item-toggle:hover{cursor:pointer}.sidebar-item .sidebar-item-toggle .bi{font-size:.7rem;text-align:center}.sidebar-item .sidebar-item-toggle .bi-chevron-right::before{transition:transform 200ms ease}.sidebar-item .sidebar-item-toggle[aria-expanded=false] .bi-chevron-right::before{transform:none}.sidebar-item .sidebar-item-toggle[aria-expanded=true] .bi-chevron-right::before{transform:rotate(90deg)}.sidebar-navigation .sidebar-divider{margin-left:0;margin-right:0;margin-top:.5rem;margin-bottom:.5rem}@media(max-width: 991.98px){.quarto-secondary-nav{display:block}.quarto-secondary-nav button.quarto-search-button{padding-right:0em;padding-left:2em}.quarto-secondary-nav button.quarto-btn-toggle{margin-left:-0.75rem;margin-right:.15rem}.quarto-secondary-nav nav.quarto-page-breadcrumbs{display:flex;align-items:center;padding-right:1em;margin-left:-0.25em}.quarto-secondary-nav nav.quarto-page-breadcrumbs a{text-decoration:none}.quarto-secondary-nav nav.quarto-page-breadcrumbs ol.breadcrumb{margin-bottom:0}}@media(min-width: 992px){.quarto-secondary-nav{display:none}}.quarto-secondary-nav .quarto-btn-toggle{color:#4f4f4f}.quarto-secondary-nav[aria-expanded=false] .quarto-btn-toggle .bi-chevron-right::before{transform:none}.quarto-secondary-nav[aria-expanded=true] .quarto-btn-toggle .bi-chevron-right::before{transform:rotate(90deg)}.quarto-secondary-nav .quarto-btn-toggle .bi-chevron-right::before{transition:transform 200ms ease}.quarto-secondary-nav{cursor:pointer}.quarto-secondary-nav-title{margin-top:.3em;color:#4f4f4f;padding-top:4px}.quarto-secondary-nav nav.quarto-page-breadcrumbs{color:#4f4f4f}.quarto-secondary-nav nav.quarto-page-breadcrumbs a{color:#4f4f4f}.quarto-secondary-nav nav.quarto-page-breadcrumbs a:hover{color:rgba(4,79,151,.8)}.quarto-secondary-nav nav.quarto-page-breadcrumbs .breadcrumb-item::before{color:#828282}div.sidebar-item-container{color:#4f4f4f}div.sidebar-item-container:hover,div.sidebar-item-container:focus{color:rgba(4,79,151,.8)}div.sidebar-item-container.disabled{color:rgba(79,79,79,.75)}div.sidebar-item-container .active,div.sidebar-item-container .show>.nav-link,div.sidebar-item-container .sidebar-link>code{color:#044f97}div.sidebar.sidebar-navigation.rollup.quarto-sidebar-toggle-contents,nav.sidebar.sidebar-navigation:not(.rollup){background-color:#eee}.sidebar.sidebar-navigation:not(.rollup){border-right:1px solid #dee2e6 !important}@media(max-width: 991.98px){.sidebar-navigation .sidebar-item a,.nav-page .nav-page-text,.sidebar-navigation{font-size:1rem}.sidebar-navigation ul.sidebar-section.depth1 .sidebar-section-item{font-size:1.1rem}.sidebar-logo{display:none}.sidebar.sidebar-navigation{position:static;border-bottom:1px solid #dee2e6}.sidebar.sidebar-navigation.collapsing{position:fixed;z-index:1000}.sidebar.sidebar-navigation.show{position:fixed;z-index:1000}.sidebar.sidebar-navigation{min-height:100%}nav.quarto-secondary-nav{background-color:#eee;border-bottom:1px solid #dee2e6}.sidebar .sidebar-footer{visibility:visible;padding-top:1rem;position:inherit}.sidebar-tools-collapse{display:block}}#quarto-sidebar{transition:width .15s ease-in}#quarto-sidebar>*{padding-right:1em}@media(max-width: 991.98px){#quarto-sidebar .sidebar-menu-container{white-space:nowrap;min-width:225px}#quarto-sidebar.show{transition:width .15s ease-out}}@media(min-width: 992px){#quarto-sidebar{display:flex;flex-direction:column}.nav-page .nav-page-text,.sidebar-navigation .sidebar-section .sidebar-item{font-size:.875rem}.sidebar-navigation .sidebar-item{font-size:.925rem}.sidebar.sidebar-navigation{display:block;position:sticky}.sidebar-search{width:100%}.sidebar .sidebar-footer{visibility:visible}}@media(max-width: 991.98px){#quarto-sidebar-glass{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(255,255,255,0);transition:background-color .15s ease-in;z-index:-1}#quarto-sidebar-glass.collapsing{z-index:1000}#quarto-sidebar-glass.show{transition:background-color .15s ease-out;background-color:rgba(102,102,102,.4);z-index:1000}}.sidebar .sidebar-footer{padding:.5rem 1rem;align-self:flex-end;color:#6c757d;width:100%}.quarto-page-breadcrumbs .breadcrumb-item+.breadcrumb-item,.quarto-page-breadcrumbs .breadcrumb-item{padding-right:.33em;padding-left:0}.quarto-page-breadcrumbs .breadcrumb-item::before{padding-right:.33em}.quarto-sidebar-footer{font-size:.875em}.sidebar-section .bi-chevron-right{vertical-align:middle}.sidebar-section .bi-chevron-right::before{font-size:.9em}.notransition{-webkit-transition:none !important;-moz-transition:none !important;-o-transition:none !important;transition:none !important}.btn:focus:not(:focus-visible){box-shadow:none}.page-navigation{display:flex;justify-content:space-between}.nav-page{padding-bottom:.75em}.nav-page .bi{font-size:1.8rem;vertical-align:middle}.nav-page .nav-page-text{padding-left:.25em;padding-right:.25em}.nav-page a{color:#6c757d;text-decoration:none;display:flex;align-items:center}.nav-page a:hover{color:#004383}.toc-actions{display:flex}.toc-actions p{margin-block-start:0;margin-block-end:0}.toc-actions a{text-decoration:none;color:inherit;font-weight:400}.toc-actions a:hover{color:#004383}.toc-actions .action-links{margin-left:4px}.sidebar nav[role=doc-toc] .toc-actions .bi{margin-left:-4px;font-size:.7rem;color:#6c757d}.sidebar nav[role=doc-toc] .toc-actions .bi:before{padding-top:3px}#quarto-margin-sidebar .toc-actions .bi:before{margin-top:.3rem;font-size:.7rem;color:#6c757d;vertical-align:top}.sidebar nav[role=doc-toc] .toc-actions>div:first-of-type{margin-top:-3px}#quarto-margin-sidebar .toc-actions p,.sidebar nav[role=doc-toc] .toc-actions p{font-size:.875rem}.nav-footer .toc-actions{padding-bottom:.5em;padding-top:.5em}.nav-footer .toc-actions :first-child{margin-left:auto}.nav-footer .toc-actions :last-child{margin-right:auto}.nav-footer .toc-actions .action-links{display:flex}.nav-footer .toc-actions .action-links p{padding-right:1.5em}.nav-footer .toc-actions .action-links p:last-of-type{padding-right:0}.nav-footer{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:baseline;text-align:center;padding-top:.5rem;padding-bottom:.5rem;background-color:#fff}body.nav-fixed{padding-top:64px}.nav-footer-contents{color:#6c757d;margin-top:.25rem}.nav-footer{min-height:3.5em;color:#767676}.nav-footer a{color:#767676}.nav-footer .nav-footer-left{font-size:.825em}.nav-footer .nav-footer-center{font-size:.825em}.nav-footer .nav-footer-right{font-size:.825em}.nav-footer-left .footer-items,.nav-footer-center .footer-items,.nav-footer-right .footer-items{display:inline-flex;padding-top:.3em;padding-bottom:.3em;margin-bottom:0em}.nav-footer-left .footer-items .nav-link,.nav-footer-center .footer-items .nav-link,.nav-footer-right .footer-items .nav-link{padding-left:.6em;padding-right:.6em}.nav-footer-left{flex:1 1 0px;text-align:left}.nav-footer-right{flex:1 1 0px;text-align:right}.nav-footer-center{flex:1 1 0px;min-height:3em;text-align:center}.nav-footer-center .footer-items{justify-content:center}@media(max-width: 767.98px){.nav-footer-center{margin-top:3em}}.navbar .quarto-reader-toggle.reader .quarto-reader-toggle-btn{background-color:#4f4f4f;border-radius:3px}.quarto-reader-toggle.reader.quarto-navigation-tool .quarto-reader-toggle-btn{background-color:#4f4f4f;border-radius:3px}.quarto-reader-toggle .quarto-reader-toggle-btn{display:inline-flex;padding-left:.2em;padding-right:.2em;margin-left:-0.2em;margin-right:-0.2em;text-align:center}.navbar .quarto-reader-toggle:not(.reader) .bi::before{background-image:url('data:image/svg+xml,')}.navbar .quarto-reader-toggle.reader .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-reader-toggle:not(.reader) .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-reader-toggle.reader .bi::before{background-image:url('data:image/svg+xml,')}#quarto-back-to-top{display:none;position:fixed;bottom:50px;background-color:#fff;border-radius:.25rem;box-shadow:0 .2rem .5rem #6c757d,0 0 .05rem #6c757d;color:#6c757d;text-decoration:none;font-size:.9em;text-align:center;left:50%;padding:.4rem .8rem;transform:translate(-50%, 0)}.aa-DetachedOverlay ul.aa-List,#quarto-search-results ul.aa-List{list-style:none;padding-left:0}.aa-DetachedOverlay .aa-Panel,#quarto-search-results .aa-Panel{background-color:#fff;position:absolute;z-index:2000}#quarto-search-results .aa-Panel{max-width:400px}#quarto-search input{font-size:.925rem}@media(min-width: 992px){.navbar #quarto-search{margin-left:.25rem;order:999}}@media(max-width: 991.98px){#quarto-sidebar .sidebar-search{display:none}}#quarto-sidebar .sidebar-search .aa-Autocomplete{width:100%}.navbar .aa-Autocomplete .aa-Form{width:180px}.navbar #quarto-search.type-overlay .aa-Autocomplete{width:40px}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form{background-color:inherit;border:none}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form:focus-within{box-shadow:none;outline:none}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-InputWrapper{display:none}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-InputWrapper:focus-within{display:inherit}.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-Label svg,.navbar #quarto-search.type-overlay .aa-Autocomplete .aa-Form .aa-LoadingIndicator svg{width:26px;height:26px;color:#4f4f4f;opacity:1}.navbar #quarto-search.type-overlay .aa-Autocomplete svg.aa-SubmitIcon{width:26px;height:26px;color:#4f4f4f;opacity:1}.aa-Autocomplete .aa-Form,.aa-DetachedFormContainer .aa-Form{align-items:center;background-color:#fff;border:1px solid #ccc;border-radius:.25rem;color:#333;display:flex;line-height:1em;margin:0;position:relative;width:100%}.aa-Autocomplete .aa-Form:focus-within,.aa-DetachedFormContainer .aa-Form:focus-within{box-shadow:rgba(0,84,164,.6) 0 0 0 1px;outline:currentColor none medium}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix{align-items:center;display:flex;flex-shrink:0;order:1}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-Label,.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-Label,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator{cursor:initial;flex-shrink:0;padding:0;text-align:left}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-Label svg,.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator svg,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-Label svg,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator svg{color:#333;opacity:.5}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-SubmitButton,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-SubmitButton{appearance:none;background:none;border:0;margin:0}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator{align-items:center;display:flex;justify-content:center}.aa-Autocomplete .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator[hidden],.aa-DetachedFormContainer .aa-Form .aa-InputWrapperPrefix .aa-LoadingIndicator[hidden]{display:none}.aa-Autocomplete .aa-Form .aa-InputWrapper,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper{order:3;position:relative;width:100%}.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input{appearance:none;background:none;border:0;color:#333;font:inherit;height:calc(1.5em + .1rem + 2px);padding:0;width:100%}.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::placeholder,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::placeholder{color:#333;opacity:.8}.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input:focus,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input:focus{border-color:none;box-shadow:none;outline:none}.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-decoration,.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-cancel-button,.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-results-button,.aa-Autocomplete .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-results-decoration,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-decoration,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-cancel-button,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-results-button,.aa-DetachedFormContainer .aa-Form .aa-InputWrapper .aa-Input::-webkit-search-results-decoration{display:none}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix{align-items:center;display:flex;order:4}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton{align-items:center;background:none;border:0;color:#333;opacity:.8;cursor:pointer;display:flex;margin:0;width:calc(1.5em + .1rem + 2px)}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton:hover,.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton:focus,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton:hover,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton:focus{color:#333;opacity:.8}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton[hidden],.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton[hidden]{display:none}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-ClearButton svg,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-ClearButton svg{width:calc(1.5em + 0.75rem + 2px)}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-CopyButton,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-CopyButton{border:none;align-items:center;background:none;color:#333;opacity:.4;font-size:.7rem;cursor:pointer;display:none;margin:0;width:calc(1em + .1rem + 2px)}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-CopyButton:hover,.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-CopyButton:focus,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-CopyButton:hover,.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-CopyButton:focus{color:#333;opacity:.8}.aa-Autocomplete .aa-Form .aa-InputWrapperSuffix .aa-CopyButton[hidden],.aa-DetachedFormContainer .aa-Form .aa-InputWrapperSuffix .aa-CopyButton[hidden]{display:none}.aa-PanelLayout:empty{display:none}.quarto-search-no-results.no-query{display:none}.aa-Source:has(.no-query){display:none}#quarto-search-results .aa-Panel{border:solid #ccc 1px}#quarto-search-results .aa-SourceNoResults{width:398px}.aa-DetachedOverlay .aa-Panel,#quarto-search-results .aa-Panel{max-height:65vh;overflow-y:auto;font-size:.925rem}.aa-DetachedOverlay .aa-SourceNoResults,#quarto-search-results .aa-SourceNoResults{height:60px;display:flex;justify-content:center;align-items:center}.aa-DetachedOverlay .search-error,#quarto-search-results .search-error{padding-top:10px;padding-left:20px;padding-right:20px;cursor:default}.aa-DetachedOverlay .search-error .search-error-title,#quarto-search-results .search-error .search-error-title{font-size:1.1rem;margin-bottom:.5rem}.aa-DetachedOverlay .search-error .search-error-title .search-error-icon,#quarto-search-results .search-error .search-error-title .search-error-icon{margin-right:8px}.aa-DetachedOverlay .search-error .search-error-text,#quarto-search-results .search-error .search-error-text{font-weight:300}.aa-DetachedOverlay .search-result-text,#quarto-search-results .search-result-text{font-weight:300;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2rem;max-height:2.4rem}.aa-DetachedOverlay .aa-SourceHeader .search-result-header,#quarto-search-results .aa-SourceHeader .search-result-header{font-size:.875rem;background-color:#f2f2f2;padding-left:14px;padding-bottom:4px;padding-top:4px}.aa-DetachedOverlay .aa-SourceHeader .search-result-header-no-results,#quarto-search-results .aa-SourceHeader .search-result-header-no-results{display:none}.aa-DetachedOverlay .aa-SourceFooter .algolia-search-logo,#quarto-search-results .aa-SourceFooter .algolia-search-logo{width:110px;opacity:.85;margin:8px;float:right}.aa-DetachedOverlay .search-result-section,#quarto-search-results .search-result-section{font-size:.925em}.aa-DetachedOverlay a.search-result-link,#quarto-search-results a.search-result-link{color:inherit;text-decoration:none}.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item,#quarto-search-results li.aa-Item[aria-selected=true] .search-item{background-color:#0054a4}.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item.search-result-more,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-result-section,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-result-text,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-result-title-container,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-result-text-container,#quarto-search-results li.aa-Item[aria-selected=true] .search-item.search-result-more,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-result-section,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-result-text,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-result-title-container,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-result-text-container{color:#fff;background-color:#0054a4}.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item mark.search-match,.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item .search-match.mark,#quarto-search-results li.aa-Item[aria-selected=true] .search-item mark.search-match,#quarto-search-results li.aa-Item[aria-selected=true] .search-item .search-match.mark{color:#fff;background-color:#0069cd}.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item,#quarto-search-results li.aa-Item[aria-selected=false] .search-item{background-color:#fff}.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item.search-result-more,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-result-section,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-result-text,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-result-title-container,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-result-text-container,#quarto-search-results li.aa-Item[aria-selected=false] .search-item.search-result-more,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-result-section,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-result-text,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-result-title-container,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-result-text-container{color:#333}.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item mark.search-match,.aa-DetachedOverlay li.aa-Item[aria-selected=false] .search-item .search-match.mark,#quarto-search-results li.aa-Item[aria-selected=false] .search-item mark.search-match,#quarto-search-results li.aa-Item[aria-selected=false] .search-item .search-match.mark{color:inherit;background-color:#7bbfff}.aa-DetachedOverlay .aa-Item .search-result-doc:not(.document-selectable) .search-result-title-container,#quarto-search-results .aa-Item .search-result-doc:not(.document-selectable) .search-result-title-container{background-color:#fff;color:#333}.aa-DetachedOverlay .aa-Item .search-result-doc:not(.document-selectable) .search-result-text-container,#quarto-search-results .aa-Item .search-result-doc:not(.document-selectable) .search-result-text-container{padding-top:0px}.aa-DetachedOverlay li.aa-Item .search-result-doc.document-selectable .search-result-text-container,#quarto-search-results li.aa-Item .search-result-doc.document-selectable .search-result-text-container{margin-top:-4px}.aa-DetachedOverlay .aa-Item,#quarto-search-results .aa-Item{cursor:pointer}.aa-DetachedOverlay .aa-Item .search-item,#quarto-search-results .aa-Item .search-item{border-left:none;border-right:none;border-top:none;background-color:#fff;border-color:#ccc;color:#333}.aa-DetachedOverlay .aa-Item .search-item p,#quarto-search-results .aa-Item .search-item p{margin-top:0;margin-bottom:0}.aa-DetachedOverlay .aa-Item .search-item i.bi,#quarto-search-results .aa-Item .search-item i.bi{padding-left:8px;padding-right:8px;font-size:1.3em}.aa-DetachedOverlay .aa-Item .search-item .search-result-title,#quarto-search-results .aa-Item .search-item .search-result-title{margin-top:.3em;margin-bottom:.1rem}.aa-DetachedOverlay .aa-Item .search-result-title-container,#quarto-search-results .aa-Item .search-result-title-container{font-size:1em;display:flex;padding:6px 4px 6px 4px}.aa-DetachedOverlay .aa-Item .search-result-text-container,#quarto-search-results .aa-Item .search-result-text-container{padding-bottom:8px;padding-right:8px;margin-left:44px}.aa-DetachedOverlay .aa-Item .search-result-doc-section,.aa-DetachedOverlay .aa-Item .search-result-more,#quarto-search-results .aa-Item .search-result-doc-section,#quarto-search-results .aa-Item .search-result-more{padding-top:8px;padding-bottom:8px;padding-left:44px}.aa-DetachedOverlay .aa-Item .search-result-more,#quarto-search-results .aa-Item .search-result-more{font-size:.8em;font-weight:400}.aa-DetachedOverlay .aa-Item .search-result-doc,#quarto-search-results .aa-Item .search-result-doc{border-top:1px solid #ccc}.aa-DetachedSearchButton{background:none;border:none}.aa-DetachedSearchButton .aa-DetachedSearchButtonPlaceholder{display:none}.navbar .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon{color:#4f4f4f}.sidebar-tools-collapse #quarto-search,.sidebar-tools-main #quarto-search{display:inline}.sidebar-tools-collapse #quarto-search .aa-Autocomplete,.sidebar-tools-main #quarto-search .aa-Autocomplete{display:inline}.sidebar-tools-collapse #quarto-search .aa-DetachedSearchButton,.sidebar-tools-main #quarto-search .aa-DetachedSearchButton{padding-left:4px;padding-right:4px}.sidebar-tools-collapse #quarto-search .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon,.sidebar-tools-main #quarto-search .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon{color:#4f4f4f}.sidebar-tools-collapse #quarto-search .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon .aa-SubmitIcon,.sidebar-tools-main #quarto-search .aa-DetachedSearchButton .aa-DetachedSearchButtonIcon .aa-SubmitIcon{margin-top:-3px}.aa-DetachedContainer{background:rgba(255,255,255,.65);width:90%;bottom:0;box-shadow:rgba(204,204,204,.6) 0 0 0 1px;outline:currentColor none medium;display:flex;flex-direction:column;left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:0;z-index:1101}.aa-DetachedContainer::after{height:32px}.aa-DetachedContainer .aa-SourceHeader{margin:var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px}.aa-DetachedContainer .aa-Panel{background-color:#fff;border-radius:0;box-shadow:none;flex-grow:1;margin:0;padding:0;position:relative}.aa-DetachedContainer .aa-PanelLayout{bottom:0;box-shadow:none;left:0;margin:0;max-height:none;overflow-y:auto;position:absolute;right:0;top:0;width:100%}.aa-DetachedFormContainer{background-color:#fff;border-bottom:1px solid #ccc;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:.5em}.aa-DetachedCancelButton{background:none;font-size:.8em;border:0;border-radius:3px;color:#333;cursor:pointer;margin:0 0 0 .5em;padding:0 .5em}.aa-DetachedCancelButton:hover,.aa-DetachedCancelButton:focus{box-shadow:rgba(0,84,164,.6) 0 0 0 1px;outline:currentColor none medium}.aa-DetachedContainer--modal{bottom:inherit;height:auto;margin:0 auto;position:absolute;top:100px;border-radius:6px;max-width:850px}@media(max-width: 575.98px){.aa-DetachedContainer--modal{width:100%;top:0px;border-radius:0px;border:none}}.aa-DetachedContainer--modal .aa-PanelLayout{max-height:var(--aa-detached-modal-max-height);padding-bottom:var(--aa-spacing-half);position:static}.aa-Detached{height:100vh;overflow:hidden}.aa-DetachedOverlay{background-color:rgba(51,51,51,.4);position:fixed;left:0;right:0;top:0;margin:0;padding:0;height:100vh;z-index:1100}.quarto-listing{padding-bottom:1em}.listing-pagination{padding-top:.5em}ul.pagination{float:right;padding-left:8px;padding-top:.5em}ul.pagination li{padding-right:.75em}ul.pagination li.disabled a,ul.pagination li.active a{color:#333;text-decoration:none}ul.pagination li:last-of-type{padding-right:0}.listing-actions-group{display:flex}.quarto-listing-filter{margin-bottom:1em;width:200px;margin-left:auto}.quarto-listing-sort{margin-bottom:1em;margin-right:auto;width:auto}.quarto-listing-sort .input-group-text{font-size:.8em}.input-group-text{border-right:none}.quarto-listing-sort select.form-select{font-size:.8em}.listing-no-matching{text-align:center;padding-top:2em;padding-bottom:3em;font-size:1em}#quarto-margin-sidebar .quarto-listing-category{padding-top:0;font-size:1rem}#quarto-margin-sidebar .quarto-listing-category-title{cursor:pointer;font-weight:600;font-size:1rem}.quarto-listing-category .category{cursor:pointer}.quarto-listing-category .category.active{font-weight:600}.quarto-listing-category.category-cloud{display:flex;flex-wrap:wrap;align-items:baseline}.quarto-listing-category.category-cloud .category{padding-right:5px}.quarto-listing-category.category-cloud .category-cloud-1{font-size:.75em}.quarto-listing-category.category-cloud .category-cloud-2{font-size:.95em}.quarto-listing-category.category-cloud .category-cloud-3{font-size:1.15em}.quarto-listing-category.category-cloud .category-cloud-4{font-size:1.35em}.quarto-listing-category.category-cloud .category-cloud-5{font-size:1.55em}.quarto-listing-category.category-cloud .category-cloud-6{font-size:1.75em}.quarto-listing-category.category-cloud .category-cloud-7{font-size:1.95em}.quarto-listing-category.category-cloud .category-cloud-8{font-size:2.15em}.quarto-listing-category.category-cloud .category-cloud-9{font-size:2.35em}.quarto-listing-category.category-cloud .category-cloud-10{font-size:2.55em}.quarto-listing-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-1{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-2{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-3{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-3{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-4{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-4{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-5{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-5{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-6{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-6{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-7{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-7{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-8{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-8{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-9{grid-template-columns:repeat(9, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-9{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-9{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-10{grid-template-columns:repeat(10, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-10{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-10{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-11{grid-template-columns:repeat(11, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-11{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-11{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr));gap:1.5em}@media(max-width: 767.98px){.quarto-listing-cols-12{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5em}}@media(max-width: 575.98px){.quarto-listing-cols-12{grid-template-columns:minmax(0, 1fr);gap:1.5em}}.quarto-listing-grid{gap:1.5em}.quarto-grid-item.borderless{border:none}.quarto-grid-item.borderless .listing-categories .listing-category:last-of-type,.quarto-grid-item.borderless .listing-categories .listing-category:first-of-type{padding-left:0}.quarto-grid-item.borderless .listing-categories .listing-category{border:0}.quarto-grid-link{text-decoration:none;color:inherit}.quarto-grid-link:hover{text-decoration:none;color:inherit}.quarto-grid-item h5.title,.quarto-grid-item .title.h5{margin-top:0;margin-bottom:0}.quarto-grid-item .card-footer{display:flex;justify-content:space-between;font-size:.8em}.quarto-grid-item .card-footer p{margin-bottom:0}.quarto-grid-item p.card-img-top{margin-bottom:0}.quarto-grid-item p.card-img-top>img{object-fit:cover}.quarto-grid-item .card-other-values{margin-top:.5em;font-size:.8em}.quarto-grid-item .card-other-values tr{margin-bottom:.5em}.quarto-grid-item .card-other-values tr>td:first-of-type{font-weight:600;padding-right:1em;padding-left:1em;vertical-align:top}.quarto-grid-item div.post-contents{display:flex;flex-direction:column;text-decoration:none;height:100%}.quarto-grid-item .listing-item-img-placeholder{background-color:#adb5bd;flex-shrink:0}.quarto-grid-item .card-attribution{padding-top:1em;display:flex;gap:1em;text-transform:uppercase;color:#6c757d;font-weight:500;flex-grow:10;align-items:flex-end}.quarto-grid-item .description{padding-bottom:1em}.quarto-grid-item .card-attribution .date{align-self:flex-end}.quarto-grid-item .card-attribution.justify{justify-content:space-between}.quarto-grid-item .card-attribution.start{justify-content:flex-start}.quarto-grid-item .card-attribution.end{justify-content:flex-end}.quarto-grid-item .card-title{margin-bottom:.1em}.quarto-grid-item .card-subtitle{padding-top:.25em}.quarto-grid-item .card-text{font-size:.9em}.quarto-grid-item .listing-reading-time{padding-bottom:.25em}.quarto-grid-item .card-text-small{font-size:.8em}.quarto-grid-item .card-subtitle.subtitle{font-size:.9em;font-weight:600;padding-bottom:.5em}.quarto-grid-item .listing-categories{display:flex;flex-wrap:wrap;padding-bottom:5px}.quarto-grid-item .listing-categories .listing-category{color:#6c757d;border:solid 1px #dee2e6;border-radius:.25rem;text-transform:uppercase;font-size:.65em;padding-left:.5em;padding-right:.5em;padding-top:.15em;padding-bottom:.15em;cursor:pointer;margin-right:4px;margin-bottom:4px}.quarto-grid-item.card-right{text-align:right}.quarto-grid-item.card-right .listing-categories{justify-content:flex-end}.quarto-grid-item.card-left{text-align:left}.quarto-grid-item.card-center{text-align:center}.quarto-grid-item.card-center .listing-description{text-align:justify}.quarto-grid-item.card-center .listing-categories{justify-content:center}table.quarto-listing-table td.image{padding:0px}table.quarto-listing-table td.image img{width:100%;max-width:50px;object-fit:contain}table.quarto-listing-table a{text-decoration:none}table.quarto-listing-table th a{color:inherit}table.quarto-listing-table th a.asc:after{margin-bottom:-2px;margin-left:5px;display:inline-block;height:1rem;width:1rem;background-repeat:no-repeat;background-size:1rem 1rem;background-image:url('data:image/svg+xml,');content:""}table.quarto-listing-table th a.desc:after{margin-bottom:-2px;margin-left:5px;display:inline-block;height:1rem;width:1rem;background-repeat:no-repeat;background-size:1rem 1rem;background-image:url('data:image/svg+xml,');content:""}table.quarto-listing-table.table-hover td{cursor:pointer}.quarto-post.image-left{flex-direction:row}.quarto-post.image-right{flex-direction:row-reverse}@media(max-width: 767.98px){.quarto-post.image-right,.quarto-post.image-left{gap:0em;flex-direction:column}.quarto-post .metadata{padding-bottom:1em;order:2}.quarto-post .body{order:1}.quarto-post .thumbnail{order:3}}.list.quarto-listing-default div:last-of-type{border-bottom:none}@media(min-width: 992px){.quarto-listing-container-default{margin-right:2em}}div.quarto-post{display:flex;gap:2em;margin-bottom:1.5em;border-bottom:1px solid #dee2e6}@media(max-width: 767.98px){div.quarto-post{padding-bottom:1em}}div.quarto-post .metadata{flex-basis:20%;flex-grow:0;margin-top:.2em;flex-shrink:10}div.quarto-post .thumbnail{flex-basis:30%;flex-grow:0;flex-shrink:0}div.quarto-post .thumbnail img{margin-top:.4em;width:100%;object-fit:cover}div.quarto-post .body{flex-basis:45%;flex-grow:1;flex-shrink:0}div.quarto-post .body h3.listing-title,div.quarto-post .body .listing-title.h3{margin-top:0px;margin-bottom:0px;border-bottom:none}div.quarto-post .body .listing-subtitle{font-size:.875em;margin-bottom:.5em;margin-top:.2em}div.quarto-post .body .description{font-size:.9em}div.quarto-post a{color:#333;display:flex;flex-direction:column;text-decoration:none}div.quarto-post a div.description{flex-shrink:0}div.quarto-post .metadata{display:flex;flex-direction:column;font-size:.8em;font-family:var(--bs-font-sans-serif);flex-basis:33%}div.quarto-post .listing-categories{display:flex;flex-wrap:wrap;padding-bottom:5px}div.quarto-post .listing-categories .listing-category{color:#6c757d;border:solid 1px #dee2e6;border-radius:.25rem;text-transform:uppercase;font-size:.65em;padding-left:.5em;padding-right:.5em;padding-top:.15em;padding-bottom:.15em;cursor:pointer;margin-right:4px;margin-bottom:4px}div.quarto-post .listing-description{margin-bottom:.5em}div.quarto-about-jolla{display:flex !important;flex-direction:column;align-items:center;margin-top:10%;padding-bottom:1em}div.quarto-about-jolla .about-image{object-fit:cover;margin-left:auto;margin-right:auto;margin-bottom:1.5em}div.quarto-about-jolla img.round{border-radius:50%}div.quarto-about-jolla img.rounded{border-radius:10px}div.quarto-about-jolla .quarto-title h1.title,div.quarto-about-jolla .quarto-title .title.h1{text-align:center}div.quarto-about-jolla .quarto-title .description{text-align:center}div.quarto-about-jolla h2,div.quarto-about-jolla .h2{border-bottom:none}div.quarto-about-jolla .about-sep{width:60%}div.quarto-about-jolla main{text-align:center}div.quarto-about-jolla .about-links{display:flex}@media(min-width: 992px){div.quarto-about-jolla .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-jolla .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-jolla .about-link{color:#666;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-jolla .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-jolla .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-jolla .about-link:hover{color:#0054a4}div.quarto-about-jolla .about-link i.bi{margin-right:.15em}div.quarto-about-solana{display:flex !important;flex-direction:column;padding-top:3em !important;padding-bottom:1em}div.quarto-about-solana .about-entity{display:flex !important;align-items:start;justify-content:space-between}@media(min-width: 992px){div.quarto-about-solana .about-entity{flex-direction:row}}@media(max-width: 991.98px){div.quarto-about-solana .about-entity{flex-direction:column-reverse;align-items:center;text-align:center}}div.quarto-about-solana .about-entity .entity-contents{display:flex;flex-direction:column}@media(max-width: 767.98px){div.quarto-about-solana .about-entity .entity-contents{width:100%}}div.quarto-about-solana .about-entity .about-image{object-fit:cover}@media(max-width: 991.98px){div.quarto-about-solana .about-entity .about-image{margin-bottom:1.5em}}div.quarto-about-solana .about-entity img.round{border-radius:50%}div.quarto-about-solana .about-entity img.rounded{border-radius:10px}div.quarto-about-solana .about-entity .about-links{display:flex;justify-content:left;padding-bottom:1.2em}@media(min-width: 992px){div.quarto-about-solana .about-entity .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-solana .about-entity .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-solana .about-entity .about-link{color:#666;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-solana .about-entity .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-solana .about-entity .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-solana .about-entity .about-link:hover{color:#0054a4}div.quarto-about-solana .about-entity .about-link i.bi{margin-right:.15em}div.quarto-about-solana .about-contents{padding-right:1.5em;flex-basis:0;flex-grow:1}div.quarto-about-solana .about-contents main.content{margin-top:0}div.quarto-about-solana .about-contents h2,div.quarto-about-solana .about-contents .h2{border-bottom:none}div.quarto-about-trestles{display:flex !important;flex-direction:row;padding-top:3em !important;padding-bottom:1em}@media(max-width: 991.98px){div.quarto-about-trestles{flex-direction:column;padding-top:0em !important}}div.quarto-about-trestles .about-entity{display:flex !important;flex-direction:column;align-items:center;text-align:center;padding-right:1em}@media(min-width: 992px){div.quarto-about-trestles .about-entity{flex:0 0 42%}}div.quarto-about-trestles .about-entity .about-image{object-fit:cover;margin-bottom:1.5em}div.quarto-about-trestles .about-entity img.round{border-radius:50%}div.quarto-about-trestles .about-entity img.rounded{border-radius:10px}div.quarto-about-trestles .about-entity .about-links{display:flex;justify-content:center}@media(min-width: 992px){div.quarto-about-trestles .about-entity .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-trestles .about-entity .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-trestles .about-entity .about-link{color:#666;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-trestles .about-entity .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-trestles .about-entity .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-trestles .about-entity .about-link:hover{color:#0054a4}div.quarto-about-trestles .about-entity .about-link i.bi{margin-right:.15em}div.quarto-about-trestles .about-contents{flex-basis:0;flex-grow:1}div.quarto-about-trestles .about-contents h2,div.quarto-about-trestles .about-contents .h2{border-bottom:none}@media(min-width: 992px){div.quarto-about-trestles .about-contents{border-left:solid 1px #dee2e6;padding-left:1.5em}}div.quarto-about-trestles .about-contents main.content{margin-top:0}div.quarto-about-marquee{padding-bottom:1em}div.quarto-about-marquee .about-contents{display:flex;flex-direction:column}div.quarto-about-marquee .about-image{max-height:550px;margin-bottom:1.5em;object-fit:cover}div.quarto-about-marquee img.round{border-radius:50%}div.quarto-about-marquee img.rounded{border-radius:10px}div.quarto-about-marquee h2,div.quarto-about-marquee .h2{border-bottom:none}div.quarto-about-marquee .about-links{display:flex;justify-content:center;padding-top:1.5em}@media(min-width: 992px){div.quarto-about-marquee .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-marquee .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-marquee .about-link{color:#666;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-marquee .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-marquee .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-marquee .about-link:hover{color:#0054a4}div.quarto-about-marquee .about-link i.bi{margin-right:.15em}@media(min-width: 992px){div.quarto-about-marquee .about-link{border:none}}div.quarto-about-broadside{display:flex;flex-direction:column;padding-bottom:1em}div.quarto-about-broadside .about-main{display:flex !important;padding-top:0 !important}@media(min-width: 992px){div.quarto-about-broadside .about-main{flex-direction:row;align-items:flex-start}}@media(max-width: 991.98px){div.quarto-about-broadside .about-main{flex-direction:column}}@media(max-width: 991.98px){div.quarto-about-broadside .about-main .about-entity{flex-shrink:0;width:100%;height:450px;margin-bottom:1.5em;background-size:cover;background-repeat:no-repeat}}@media(min-width: 992px){div.quarto-about-broadside .about-main .about-entity{flex:0 10 50%;margin-right:1.5em;width:100%;height:100%;background-size:100%;background-repeat:no-repeat}}div.quarto-about-broadside .about-main .about-contents{padding-top:14px;flex:0 0 50%}div.quarto-about-broadside h2,div.quarto-about-broadside .h2{border-bottom:none}div.quarto-about-broadside .about-sep{margin-top:1.5em;width:60%;align-self:center}div.quarto-about-broadside .about-links{display:flex;justify-content:center;column-gap:20px;padding-top:1.5em}@media(min-width: 992px){div.quarto-about-broadside .about-links{flex-direction:row;column-gap:.8em;row-gap:15px;flex-wrap:wrap}}@media(max-width: 991.98px){div.quarto-about-broadside .about-links{flex-direction:column;row-gap:1em;width:100%;padding-bottom:1.5em}}div.quarto-about-broadside .about-link{color:#666;text-decoration:none;border:solid 1px}@media(min-width: 992px){div.quarto-about-broadside .about-link{font-size:.8em;padding:.25em .5em;border-radius:4px}}@media(max-width: 991.98px){div.quarto-about-broadside .about-link{font-size:1.1em;padding:.5em .5em;text-align:center;border-radius:6px}}div.quarto-about-broadside .about-link:hover{color:#0054a4}div.quarto-about-broadside .about-link i.bi{margin-right:.15em}@media(min-width: 992px){div.quarto-about-broadside .about-link{border:none}}.tippy-box[data-theme~=quarto]{background-color:#fff;border:solid 1px #dee2e6;border-radius:.25rem;color:#333;font-size:16}.tippy-box[data-theme~=quarto]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=quarto]>.tippy-arrow:after,.tippy-box[data-theme~=quarto]>.tippy-svg-arrow:after{content:"";position:absolute;z-index:-1}.tippy-box[data-theme~=quarto]>.tippy-arrow:after{border-color:rgba(0,0,0,0);border-style:solid}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-6px}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-6px}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-6px}.tippy-box[data-placement^=left]>.tippy-arrow:before{right:-6px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-arrow:after{border-top-color:#dee2e6;border-width:7px 7px 0;top:17px;left:1px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-svg-arrow>svg{top:16px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-svg-arrow:after{top:17px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff;bottom:16px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:#dee2e6;border-width:0 7px 7px;bottom:17px;left:1px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:15px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-svg-arrow:after{bottom:17px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-arrow:after{border-left-color:#dee2e6;border-width:7px 0 7px 7px;left:17px;top:1px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-svg-arrow>svg{left:11px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-svg-arrow:after{left:12px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff;right:16px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-arrow:after{border-width:7px 7px 7px 0;right:17px;top:1px;border-right-color:#dee2e6}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-svg-arrow>svg{right:11px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-svg-arrow:after{right:12px}.tippy-box[data-theme~=quarto]>.tippy-svg-arrow{fill:#333}.tippy-box[data-theme~=quarto]>.tippy-svg-arrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);background-size:16px 6px;width:16px;height:6px}.top-right{position:absolute;top:1em;right:1em}.hidden{display:none !important}.zindex-bottom{z-index:-1 !important}.quarto-layout-panel{margin-bottom:1em}.quarto-layout-panel>figure{width:100%}.quarto-layout-panel>figure>figcaption,.quarto-layout-panel>.panel-caption{margin-top:10pt}.quarto-layout-panel>.table-caption{margin-top:0px}.table-caption p{margin-bottom:.5em}.quarto-layout-row{display:flex;flex-direction:row;align-items:flex-start}.quarto-layout-valign-top{align-items:flex-start}.quarto-layout-valign-bottom{align-items:flex-end}.quarto-layout-valign-center{align-items:center}.quarto-layout-cell{position:relative;margin-right:20px}.quarto-layout-cell:last-child{margin-right:0}.quarto-layout-cell figure,.quarto-layout-cell>p{margin:.2em}.quarto-layout-cell img{max-width:100%}.quarto-layout-cell .html-widget{width:100% !important}.quarto-layout-cell div figure p{margin:0}.quarto-layout-cell figure{display:inline-block;margin-inline-start:0;margin-inline-end:0}.quarto-layout-cell table{display:inline-table}.quarto-layout-cell-subref figcaption,figure .quarto-layout-row figure figcaption{text-align:center;font-style:italic}.quarto-figure{position:relative;margin-bottom:1em}.quarto-figure>figure{width:100%;margin-bottom:0}.quarto-figure-left>figure>p,.quarto-figure-left>figure>div{text-align:left}.quarto-figure-center>figure>p,.quarto-figure-center>figure>div{text-align:center}.quarto-figure-right>figure>p,.quarto-figure-right>figure>div{text-align:right}figure>p:empty{display:none}figure>p:first-child{margin-top:0;margin-bottom:0}figure>figcaption{margin-top:.5em}div[id^=tbl-]{position:relative}.quarto-figure>.anchorjs-link{position:absolute;top:.6em;right:.5em}div[id^=tbl-]>.anchorjs-link{position:absolute;top:.7em;right:.3em}.quarto-figure:hover>.anchorjs-link,div[id^=tbl-]:hover>.anchorjs-link,h2:hover>.anchorjs-link,.h2:hover>.anchorjs-link,h3:hover>.anchorjs-link,.h3:hover>.anchorjs-link,h4:hover>.anchorjs-link,.h4:hover>.anchorjs-link,h5:hover>.anchorjs-link,.h5:hover>.anchorjs-link,h6:hover>.anchorjs-link,.h6:hover>.anchorjs-link,.reveal-anchorjs-link>.anchorjs-link{opacity:1}#title-block-header{margin-block-end:1rem;position:relative;margin-top:-1px}#title-block-header .abstract{margin-block-start:1rem}#title-block-header .abstract .abstract-title{font-weight:600}#title-block-header a{text-decoration:none}#title-block-header .author,#title-block-header .date,#title-block-header .doi{margin-block-end:.2rem}#title-block-header .quarto-title-block>div{display:flex}#title-block-header .quarto-title-block>div>h1,#title-block-header .quarto-title-block>div>.h1{flex-grow:1}#title-block-header .quarto-title-block>div>button{flex-shrink:0;height:2.25rem;margin-top:0}@media(min-width: 992px){#title-block-header .quarto-title-block>div>button{margin-top:5px}}tr.header>th>p:last-of-type{margin-bottom:0px}table,.table{caption-side:top;margin-bottom:1.5rem}caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:center}.utterances{max-width:none;margin-left:-8px}iframe{margin-bottom:1em}details{margin-bottom:1em}details[show]{margin-bottom:0}details>summary{color:#6c757d}details>summary>p:only-child{display:inline}pre.sourceCode,code.sourceCode{position:relative}p code:not(.sourceCode){white-space:pre-wrap}code{white-space:pre}@media print{code{white-space:pre-wrap}}pre>code{display:block}pre>code.sourceCode{white-space:pre}pre>code.sourceCode>span>a:first-child::before{text-decoration:none}pre.code-overflow-wrap>code.sourceCode{white-space:pre-wrap}pre.code-overflow-scroll>code.sourceCode{white-space:pre}code a:any-link{color:inherit;text-decoration:none}code a:hover{color:inherit;text-decoration:underline}ul.task-list{padding-left:1em}[data-tippy-root]{display:inline-block}.tippy-content .footnote-back{display:none}.quarto-embedded-source-code{display:none}.quarto-unresolved-ref{font-weight:600}.quarto-cover-image{max-width:35%;float:right;margin-left:30px}.cell-output-display .widget-subarea{margin-bottom:1em}.cell-output-display:not(.no-overflow-x),.knitsql-table:not(.no-overflow-x){overflow-x:auto}.panel-input{margin-bottom:1em}.panel-input>div,.panel-input>div>div{display:inline-block;vertical-align:top;padding-right:12px}.panel-input>p:last-child{margin-bottom:0}.layout-sidebar{margin-bottom:1em}.layout-sidebar .tab-content{border:none}.tab-content>.page-columns.active{display:grid}div.sourceCode>iframe{width:100%;height:300px;margin-bottom:-0.5em}div.ansi-escaped-output{font-family:monospace;display:block}/*! -* -* ansi colors from IPython notebook's -* -*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-fg{color:#282c36}.ansi-black-intense-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-fg{color:#b22b31}.ansi-red-intense-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-fg{color:#007427}.ansi-green-intense-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-fg{color:#b27d12}.ansi-yellow-intense-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-fg{color:#0065ca}.ansi-blue-intense-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-fg{color:#a03196}.ansi-magenta-intense-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-fg{color:#258f8f}.ansi-cyan-intense-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-fg{color:#a1a6b2}.ansi-white-intense-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #FFFFFF;--quarto-body-color: #333;--quarto-text-muted: #6c757d;--quarto-border-color: #dee2e6;--quarto-border-width: 1px;--quarto-border-radius: 0.25rem}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:rgba(0,0,0,0)}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}.code-annotation-tip-content{word-wrap:break-word}.code-annotation-container-hidden{display:none !important}dl.code-annotation-container-grid{display:grid;grid-template-columns:min-content auto}dl.code-annotation-container-grid dt{grid-column:1}dl.code-annotation-container-grid dd{grid-column:2}pre.sourceCode.code-annotation-code{padding-right:0}code.sourceCode .code-annotation-anchor{z-index:100;position:absolute;right:.5em;left:inherit;background-color:rgba(0,0,0,0)}:root{--mermaid-bg-color: #FFFFFF;--mermaid-edge-color: #eee;--mermaid-node-fg-color: #333;--mermaid-fg-color: #333;--mermaid-fg-color--lighter: #4d4d4d;--mermaid-fg-color--lightest: #666666;--mermaid-font-family: Roman, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;--mermaid-label-bg-color: #FFFFFF;--mermaid-label-fg-color: #0054a4;--mermaid-node-bg-color: rgba(0, 84, 164, 0.1);--mermaid-node-fg-color: #333}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:rgba(0,0,0,0);z-index:3}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,')}main ol ol,main ul ul,main ol ul,main ul ol{margin-bottom:1em}ul>li:not(:has(>p))>ul,ol>li:not(:has(>p))>ul,ul>li:not(:has(>p))>ol,ol>li:not(:has(>p))>ol{margin-bottom:0}ul>li:not(:has(>p))>ul>li:has(>p),ol>li:not(:has(>p))>ul>li:has(>p),ul>li:not(:has(>p))>ol>li:has(>p),ol>li:not(:has(>p))>ol>li:has(>p){margin-top:1rem}body{margin:0}main.page-columns>header>h1.title,main.page-columns>header>.title.h1{margin-bottom:0}@media(min-width: 992px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 1.5em [body-end] 14px [body-end-outset] minmax(30px, 58px) [page-end-inset] 14px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 1.5em [body-end] 14px [body-end-outset] 14px [page-end-inset page-end] 5fr [screen-end-inset] 1.5em}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 1.5em [body-end] 20px [body-end-outset] minmax(0px, 80px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 850px - 3em )) [body-content-end] 3em [body-end] 50px [body-end-outset] minmax(0px, 100px) [page-end-inset] minmax(50px, 100px) [page-end] 1fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 20px [body-end-outset] minmax(0px, 80px) [page-end-inset] 20px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 20px [body-end-outset] minmax(0px, 80px) [page-end-inset] 20px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] minmax(10px, 20px) [body-end-outset] minmax(20px, 60px) [page-end-inset] minmax(10px, 20px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end] 20px [body-end-outset] minmax(20px, 40px) [page-end-inset] 20px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 20px [body-end-outset] minmax(0px, 80px) [page-end-inset] 20px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end] 20px [body-end-outset] minmax(0px, 80px) [page-end-inset] 20px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 20px [body-end-outset] minmax(20px, 60px) [page-end-inset] 20px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] minmax(10px, 20px) [body-end-outset] minmax(20px, 60px) [page-end-inset] minmax(10px, 20px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 991.98px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 14px [body-end-outset] minmax(30px, 58px) [page-end-inset] 14px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end] 14px [body-end-outset] minmax(30px, 58px) [page-end-inset] 14px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc( 1250px - 3em )) [body-content-end body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1.5em [body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 20px [body-end-outset] minmax(30px, 60px) [page-end-inset] 10px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 20px [body-end-outset] minmax(10px, 20px) [page-end-inset] 20px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 1000px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc( 800px - 3em )) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 20px [body-end-outset] minmax(10px, 20px) [page-end-inset] 20px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 20px [body-end-outset] minmax(10px, 20px) [page-end-inset] 20px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 14px [body-end-outset] minmax(30px, 58px) [page-end-inset] 14px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc( 750px - 3em )) [body-content-end] 1.5em [body-end] 20px [body-end-outset] minmax(30px, 60px) [page-end-inset] 10px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 767.98px){body .page-columns,body.fullcontent:not(.floating):not(.docked) .page-columns,body.slimcontent:not(.floating):not(.docked) .page-columns,body.docked .page-columns,body.docked.slimcontent .page-columns,body.docked.fullcontent .page-columns,body.floating .page-columns,body.floating.slimcontent .page-columns,body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}nav[role=doc-toc]{display:none}}body,.page-row-navigation{grid-template-rows:[page-top] max-content [contents-top] max-content [contents-bottom] max-content [page-bottom]}.page-rows-contents{grid-template-rows:[content-top] minmax(max-content, 1fr) [content-bottom] minmax(60px, max-content) [page-bottom]}.page-full{grid-column:screen-start/screen-end !important}.page-columns>*{grid-column:body-content-start/body-content-end}.page-columns.column-page>*{grid-column:page-start/page-end}.page-columns.column-page-left>*{grid-column:page-start/body-content-end}.page-columns.column-page-right>*{grid-column:body-content-start/page-end}.page-rows{grid-auto-rows:auto}.header{grid-column:screen-start/screen-end;grid-row:page-top/contents-top}#quarto-content{padding:0;grid-column:screen-start/screen-end;grid-row:contents-top/contents-bottom}body.floating .sidebar.sidebar-navigation{grid-column:page-start/body-start;grid-row:content-top/page-bottom}body.docked .sidebar.sidebar-navigation{grid-column:screen-start/body-start;grid-row:content-top/page-bottom}.sidebar.toc-left{grid-column:page-start/body-start;grid-row:content-top/page-bottom}.sidebar.margin-sidebar{grid-column:body-end/page-end;grid-row:content-top/page-bottom}.page-columns .content{grid-column:body-content-start/body-content-end;grid-row:content-top/content-bottom;align-content:flex-start}.page-columns .page-navigation{grid-column:body-content-start/body-content-end;grid-row:content-bottom/page-bottom}.page-columns .footer{grid-column:screen-start/screen-end;grid-row:contents-bottom/page-bottom}.page-columns .column-body{grid-column:body-content-start/body-content-end}.page-columns .column-body-fullbleed{grid-column:body-start/body-end}.page-columns .column-body-outset{grid-column:body-start-outset/body-end-outset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset table{background:#fff}.page-columns .column-body-outset-left{grid-column:body-start-outset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset-left table{background:#fff}.page-columns .column-body-outset-right{grid-column:body-content-start/body-end-outset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-body-outset-right table{background:#fff}.page-columns .column-page{grid-column:page-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page table{background:#fff}.page-columns .column-page-inset{grid-column:page-start-inset/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset table{background:#fff}.page-columns .column-page-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset-left table{background:#fff}.page-columns .column-page-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-inset-right figcaption table{background:#fff}.page-columns .column-page-left{grid-column:page-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-left table{background:#fff}.page-columns .column-page-right{grid-column:body-content-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-page-right figcaption table{background:#fff}#quarto-content.page-columns #quarto-margin-sidebar,#quarto-content.page-columns #quarto-sidebar{z-index:1}@media(max-width: 991.98px){#quarto-content.page-columns #quarto-margin-sidebar.collapse,#quarto-content.page-columns #quarto-sidebar.collapse,#quarto-content.page-columns #quarto-margin-sidebar.collapsing,#quarto-content.page-columns #quarto-sidebar.collapsing{z-index:1055}}#quarto-content.page-columns main.column-page,#quarto-content.page-columns main.column-page-right,#quarto-content.page-columns main.column-page-left{z-index:0}.page-columns .column-screen-inset{grid-column:screen-start-inset/screen-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:screen-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/screen-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:screen-start/screen-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:screen-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/screen-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:screen-start/screen-end;padding:1em;background:#eee;z-index:998;transform:translate3d(0, 0, 0);margin-bottom:1em}.zindex-content{z-index:998;transform:translate3d(0, 0, 0)}.zindex-modal{z-index:1055;transform:translate3d(0, 0, 0)}.zindex-over-content{z-index:999;transform:translate3d(0, 0, 0)}img.img-fluid.column-screen,img.img-fluid.column-screen-inset-shaded,img.img-fluid.column-screen-inset,img.img-fluid.column-screen-inset-left,img.img-fluid.column-screen-inset-right,img.img-fluid.column-screen-left,img.img-fluid.column-screen-right{width:100%}@media(min-width: 992px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-end/page-end !important;z-index:998}.column-sidebar{grid-column:page-start/body-start !important;z-index:998}.column-leftmargin{grid-column:screen-start-inset/body-start !important;z-index:998}.no-row-height{height:1em;overflow:visible}}@media(max-width: 991.98px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-end/page-end !important;z-index:998}.no-row-height{height:1em;overflow:visible}.page-columns.page-full{overflow:visible}.page-columns.toc-left .margin-caption,.page-columns.toc-left div.aside,.page-columns.toc-left aside,.page-columns.toc-left .column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;transform:translate3d(0, 0, 0)}.page-columns.toc-left .no-row-height{height:initial;overflow:initial}}@media(max-width: 767.98px){.margin-caption,div.aside,aside,.column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;transform:translate3d(0, 0, 0)}.no-row-height{height:initial;overflow:initial}#quarto-margin-sidebar{display:none}#quarto-sidebar-toc-left{display:none}.hidden-sm{display:none}}.panel-grid{display:grid;grid-template-rows:repeat(1, 1fr);grid-template-columns:repeat(24, 1fr);gap:1em}.panel-grid .g-col-1{grid-column:auto/span 1}.panel-grid .g-col-2{grid-column:auto/span 2}.panel-grid .g-col-3{grid-column:auto/span 3}.panel-grid .g-col-4{grid-column:auto/span 4}.panel-grid .g-col-5{grid-column:auto/span 5}.panel-grid .g-col-6{grid-column:auto/span 6}.panel-grid .g-col-7{grid-column:auto/span 7}.panel-grid .g-col-8{grid-column:auto/span 8}.panel-grid .g-col-9{grid-column:auto/span 9}.panel-grid .g-col-10{grid-column:auto/span 10}.panel-grid .g-col-11{grid-column:auto/span 11}.panel-grid .g-col-12{grid-column:auto/span 12}.panel-grid .g-col-13{grid-column:auto/span 13}.panel-grid .g-col-14{grid-column:auto/span 14}.panel-grid .g-col-15{grid-column:auto/span 15}.panel-grid .g-col-16{grid-column:auto/span 16}.panel-grid .g-col-17{grid-column:auto/span 17}.panel-grid .g-col-18{grid-column:auto/span 18}.panel-grid .g-col-19{grid-column:auto/span 19}.panel-grid .g-col-20{grid-column:auto/span 20}.panel-grid .g-col-21{grid-column:auto/span 21}.panel-grid .g-col-22{grid-column:auto/span 22}.panel-grid .g-col-23{grid-column:auto/span 23}.panel-grid .g-col-24{grid-column:auto/span 24}.panel-grid .g-start-1{grid-column-start:1}.panel-grid .g-start-2{grid-column-start:2}.panel-grid .g-start-3{grid-column-start:3}.panel-grid .g-start-4{grid-column-start:4}.panel-grid .g-start-5{grid-column-start:5}.panel-grid .g-start-6{grid-column-start:6}.panel-grid .g-start-7{grid-column-start:7}.panel-grid .g-start-8{grid-column-start:8}.panel-grid .g-start-9{grid-column-start:9}.panel-grid .g-start-10{grid-column-start:10}.panel-grid .g-start-11{grid-column-start:11}.panel-grid .g-start-12{grid-column-start:12}.panel-grid .g-start-13{grid-column-start:13}.panel-grid .g-start-14{grid-column-start:14}.panel-grid .g-start-15{grid-column-start:15}.panel-grid .g-start-16{grid-column-start:16}.panel-grid .g-start-17{grid-column-start:17}.panel-grid .g-start-18{grid-column-start:18}.panel-grid .g-start-19{grid-column-start:19}.panel-grid .g-start-20{grid-column-start:20}.panel-grid .g-start-21{grid-column-start:21}.panel-grid .g-start-22{grid-column-start:22}.panel-grid .g-start-23{grid-column-start:23}@media(min-width: 576px){.panel-grid .g-col-sm-1{grid-column:auto/span 1}.panel-grid .g-col-sm-2{grid-column:auto/span 2}.panel-grid .g-col-sm-3{grid-column:auto/span 3}.panel-grid .g-col-sm-4{grid-column:auto/span 4}.panel-grid .g-col-sm-5{grid-column:auto/span 5}.panel-grid .g-col-sm-6{grid-column:auto/span 6}.panel-grid .g-col-sm-7{grid-column:auto/span 7}.panel-grid .g-col-sm-8{grid-column:auto/span 8}.panel-grid .g-col-sm-9{grid-column:auto/span 9}.panel-grid .g-col-sm-10{grid-column:auto/span 10}.panel-grid .g-col-sm-11{grid-column:auto/span 11}.panel-grid .g-col-sm-12{grid-column:auto/span 12}.panel-grid .g-col-sm-13{grid-column:auto/span 13}.panel-grid .g-col-sm-14{grid-column:auto/span 14}.panel-grid .g-col-sm-15{grid-column:auto/span 15}.panel-grid .g-col-sm-16{grid-column:auto/span 16}.panel-grid .g-col-sm-17{grid-column:auto/span 17}.panel-grid .g-col-sm-18{grid-column:auto/span 18}.panel-grid .g-col-sm-19{grid-column:auto/span 19}.panel-grid .g-col-sm-20{grid-column:auto/span 20}.panel-grid .g-col-sm-21{grid-column:auto/span 21}.panel-grid .g-col-sm-22{grid-column:auto/span 22}.panel-grid .g-col-sm-23{grid-column:auto/span 23}.panel-grid .g-col-sm-24{grid-column:auto/span 24}.panel-grid .g-start-sm-1{grid-column-start:1}.panel-grid .g-start-sm-2{grid-column-start:2}.panel-grid .g-start-sm-3{grid-column-start:3}.panel-grid .g-start-sm-4{grid-column-start:4}.panel-grid .g-start-sm-5{grid-column-start:5}.panel-grid .g-start-sm-6{grid-column-start:6}.panel-grid .g-start-sm-7{grid-column-start:7}.panel-grid .g-start-sm-8{grid-column-start:8}.panel-grid .g-start-sm-9{grid-column-start:9}.panel-grid .g-start-sm-10{grid-column-start:10}.panel-grid .g-start-sm-11{grid-column-start:11}.panel-grid .g-start-sm-12{grid-column-start:12}.panel-grid .g-start-sm-13{grid-column-start:13}.panel-grid .g-start-sm-14{grid-column-start:14}.panel-grid .g-start-sm-15{grid-column-start:15}.panel-grid .g-start-sm-16{grid-column-start:16}.panel-grid .g-start-sm-17{grid-column-start:17}.panel-grid .g-start-sm-18{grid-column-start:18}.panel-grid .g-start-sm-19{grid-column-start:19}.panel-grid .g-start-sm-20{grid-column-start:20}.panel-grid .g-start-sm-21{grid-column-start:21}.panel-grid .g-start-sm-22{grid-column-start:22}.panel-grid .g-start-sm-23{grid-column-start:23}}@media(min-width: 768px){.panel-grid .g-col-md-1{grid-column:auto/span 1}.panel-grid .g-col-md-2{grid-column:auto/span 2}.panel-grid .g-col-md-3{grid-column:auto/span 3}.panel-grid .g-col-md-4{grid-column:auto/span 4}.panel-grid .g-col-md-5{grid-column:auto/span 5}.panel-grid .g-col-md-6{grid-column:auto/span 6}.panel-grid .g-col-md-7{grid-column:auto/span 7}.panel-grid .g-col-md-8{grid-column:auto/span 8}.panel-grid .g-col-md-9{grid-column:auto/span 9}.panel-grid .g-col-md-10{grid-column:auto/span 10}.panel-grid .g-col-md-11{grid-column:auto/span 11}.panel-grid .g-col-md-12{grid-column:auto/span 12}.panel-grid .g-col-md-13{grid-column:auto/span 13}.panel-grid .g-col-md-14{grid-column:auto/span 14}.panel-grid .g-col-md-15{grid-column:auto/span 15}.panel-grid .g-col-md-16{grid-column:auto/span 16}.panel-grid .g-col-md-17{grid-column:auto/span 17}.panel-grid .g-col-md-18{grid-column:auto/span 18}.panel-grid .g-col-md-19{grid-column:auto/span 19}.panel-grid .g-col-md-20{grid-column:auto/span 20}.panel-grid .g-col-md-21{grid-column:auto/span 21}.panel-grid .g-col-md-22{grid-column:auto/span 22}.panel-grid .g-col-md-23{grid-column:auto/span 23}.panel-grid .g-col-md-24{grid-column:auto/span 24}.panel-grid .g-start-md-1{grid-column-start:1}.panel-grid .g-start-md-2{grid-column-start:2}.panel-grid .g-start-md-3{grid-column-start:3}.panel-grid .g-start-md-4{grid-column-start:4}.panel-grid .g-start-md-5{grid-column-start:5}.panel-grid .g-start-md-6{grid-column-start:6}.panel-grid .g-start-md-7{grid-column-start:7}.panel-grid .g-start-md-8{grid-column-start:8}.panel-grid .g-start-md-9{grid-column-start:9}.panel-grid .g-start-md-10{grid-column-start:10}.panel-grid .g-start-md-11{grid-column-start:11}.panel-grid .g-start-md-12{grid-column-start:12}.panel-grid .g-start-md-13{grid-column-start:13}.panel-grid .g-start-md-14{grid-column-start:14}.panel-grid .g-start-md-15{grid-column-start:15}.panel-grid .g-start-md-16{grid-column-start:16}.panel-grid .g-start-md-17{grid-column-start:17}.panel-grid .g-start-md-18{grid-column-start:18}.panel-grid .g-start-md-19{grid-column-start:19}.panel-grid .g-start-md-20{grid-column-start:20}.panel-grid .g-start-md-21{grid-column-start:21}.panel-grid .g-start-md-22{grid-column-start:22}.panel-grid .g-start-md-23{grid-column-start:23}}@media(min-width: 992px){.panel-grid .g-col-lg-1{grid-column:auto/span 1}.panel-grid .g-col-lg-2{grid-column:auto/span 2}.panel-grid .g-col-lg-3{grid-column:auto/span 3}.panel-grid .g-col-lg-4{grid-column:auto/span 4}.panel-grid .g-col-lg-5{grid-column:auto/span 5}.panel-grid .g-col-lg-6{grid-column:auto/span 6}.panel-grid .g-col-lg-7{grid-column:auto/span 7}.panel-grid .g-col-lg-8{grid-column:auto/span 8}.panel-grid .g-col-lg-9{grid-column:auto/span 9}.panel-grid .g-col-lg-10{grid-column:auto/span 10}.panel-grid .g-col-lg-11{grid-column:auto/span 11}.panel-grid .g-col-lg-12{grid-column:auto/span 12}.panel-grid .g-col-lg-13{grid-column:auto/span 13}.panel-grid .g-col-lg-14{grid-column:auto/span 14}.panel-grid .g-col-lg-15{grid-column:auto/span 15}.panel-grid .g-col-lg-16{grid-column:auto/span 16}.panel-grid .g-col-lg-17{grid-column:auto/span 17}.panel-grid .g-col-lg-18{grid-column:auto/span 18}.panel-grid .g-col-lg-19{grid-column:auto/span 19}.panel-grid .g-col-lg-20{grid-column:auto/span 20}.panel-grid .g-col-lg-21{grid-column:auto/span 21}.panel-grid .g-col-lg-22{grid-column:auto/span 22}.panel-grid .g-col-lg-23{grid-column:auto/span 23}.panel-grid .g-col-lg-24{grid-column:auto/span 24}.panel-grid .g-start-lg-1{grid-column-start:1}.panel-grid .g-start-lg-2{grid-column-start:2}.panel-grid .g-start-lg-3{grid-column-start:3}.panel-grid .g-start-lg-4{grid-column-start:4}.panel-grid .g-start-lg-5{grid-column-start:5}.panel-grid .g-start-lg-6{grid-column-start:6}.panel-grid .g-start-lg-7{grid-column-start:7}.panel-grid .g-start-lg-8{grid-column-start:8}.panel-grid .g-start-lg-9{grid-column-start:9}.panel-grid .g-start-lg-10{grid-column-start:10}.panel-grid .g-start-lg-11{grid-column-start:11}.panel-grid .g-start-lg-12{grid-column-start:12}.panel-grid .g-start-lg-13{grid-column-start:13}.panel-grid .g-start-lg-14{grid-column-start:14}.panel-grid .g-start-lg-15{grid-column-start:15}.panel-grid .g-start-lg-16{grid-column-start:16}.panel-grid .g-start-lg-17{grid-column-start:17}.panel-grid .g-start-lg-18{grid-column-start:18}.panel-grid .g-start-lg-19{grid-column-start:19}.panel-grid .g-start-lg-20{grid-column-start:20}.panel-grid .g-start-lg-21{grid-column-start:21}.panel-grid .g-start-lg-22{grid-column-start:22}.panel-grid .g-start-lg-23{grid-column-start:23}}@media(min-width: 1200px){.panel-grid .g-col-xl-1{grid-column:auto/span 1}.panel-grid .g-col-xl-2{grid-column:auto/span 2}.panel-grid .g-col-xl-3{grid-column:auto/span 3}.panel-grid .g-col-xl-4{grid-column:auto/span 4}.panel-grid .g-col-xl-5{grid-column:auto/span 5}.panel-grid .g-col-xl-6{grid-column:auto/span 6}.panel-grid .g-col-xl-7{grid-column:auto/span 7}.panel-grid .g-col-xl-8{grid-column:auto/span 8}.panel-grid .g-col-xl-9{grid-column:auto/span 9}.panel-grid .g-col-xl-10{grid-column:auto/span 10}.panel-grid .g-col-xl-11{grid-column:auto/span 11}.panel-grid .g-col-xl-12{grid-column:auto/span 12}.panel-grid .g-col-xl-13{grid-column:auto/span 13}.panel-grid .g-col-xl-14{grid-column:auto/span 14}.panel-grid .g-col-xl-15{grid-column:auto/span 15}.panel-grid .g-col-xl-16{grid-column:auto/span 16}.panel-grid .g-col-xl-17{grid-column:auto/span 17}.panel-grid .g-col-xl-18{grid-column:auto/span 18}.panel-grid .g-col-xl-19{grid-column:auto/span 19}.panel-grid .g-col-xl-20{grid-column:auto/span 20}.panel-grid .g-col-xl-21{grid-column:auto/span 21}.panel-grid .g-col-xl-22{grid-column:auto/span 22}.panel-grid .g-col-xl-23{grid-column:auto/span 23}.panel-grid .g-col-xl-24{grid-column:auto/span 24}.panel-grid .g-start-xl-1{grid-column-start:1}.panel-grid .g-start-xl-2{grid-column-start:2}.panel-grid .g-start-xl-3{grid-column-start:3}.panel-grid .g-start-xl-4{grid-column-start:4}.panel-grid .g-start-xl-5{grid-column-start:5}.panel-grid .g-start-xl-6{grid-column-start:6}.panel-grid .g-start-xl-7{grid-column-start:7}.panel-grid .g-start-xl-8{grid-column-start:8}.panel-grid .g-start-xl-9{grid-column-start:9}.panel-grid .g-start-xl-10{grid-column-start:10}.panel-grid .g-start-xl-11{grid-column-start:11}.panel-grid .g-start-xl-12{grid-column-start:12}.panel-grid .g-start-xl-13{grid-column-start:13}.panel-grid .g-start-xl-14{grid-column-start:14}.panel-grid .g-start-xl-15{grid-column-start:15}.panel-grid .g-start-xl-16{grid-column-start:16}.panel-grid .g-start-xl-17{grid-column-start:17}.panel-grid .g-start-xl-18{grid-column-start:18}.panel-grid .g-start-xl-19{grid-column-start:19}.panel-grid .g-start-xl-20{grid-column-start:20}.panel-grid .g-start-xl-21{grid-column-start:21}.panel-grid .g-start-xl-22{grid-column-start:22}.panel-grid .g-start-xl-23{grid-column-start:23}}@media(min-width: 1400px){.panel-grid .g-col-xxl-1{grid-column:auto/span 1}.panel-grid .g-col-xxl-2{grid-column:auto/span 2}.panel-grid .g-col-xxl-3{grid-column:auto/span 3}.panel-grid .g-col-xxl-4{grid-column:auto/span 4}.panel-grid .g-col-xxl-5{grid-column:auto/span 5}.panel-grid .g-col-xxl-6{grid-column:auto/span 6}.panel-grid .g-col-xxl-7{grid-column:auto/span 7}.panel-grid .g-col-xxl-8{grid-column:auto/span 8}.panel-grid .g-col-xxl-9{grid-column:auto/span 9}.panel-grid .g-col-xxl-10{grid-column:auto/span 10}.panel-grid .g-col-xxl-11{grid-column:auto/span 11}.panel-grid .g-col-xxl-12{grid-column:auto/span 12}.panel-grid .g-col-xxl-13{grid-column:auto/span 13}.panel-grid .g-col-xxl-14{grid-column:auto/span 14}.panel-grid .g-col-xxl-15{grid-column:auto/span 15}.panel-grid .g-col-xxl-16{grid-column:auto/span 16}.panel-grid .g-col-xxl-17{grid-column:auto/span 17}.panel-grid .g-col-xxl-18{grid-column:auto/span 18}.panel-grid .g-col-xxl-19{grid-column:auto/span 19}.panel-grid .g-col-xxl-20{grid-column:auto/span 20}.panel-grid .g-col-xxl-21{grid-column:auto/span 21}.panel-grid .g-col-xxl-22{grid-column:auto/span 22}.panel-grid .g-col-xxl-23{grid-column:auto/span 23}.panel-grid .g-col-xxl-24{grid-column:auto/span 24}.panel-grid .g-start-xxl-1{grid-column-start:1}.panel-grid .g-start-xxl-2{grid-column-start:2}.panel-grid .g-start-xxl-3{grid-column-start:3}.panel-grid .g-start-xxl-4{grid-column-start:4}.panel-grid .g-start-xxl-5{grid-column-start:5}.panel-grid .g-start-xxl-6{grid-column-start:6}.panel-grid .g-start-xxl-7{grid-column-start:7}.panel-grid .g-start-xxl-8{grid-column-start:8}.panel-grid .g-start-xxl-9{grid-column-start:9}.panel-grid .g-start-xxl-10{grid-column-start:10}.panel-grid .g-start-xxl-11{grid-column-start:11}.panel-grid .g-start-xxl-12{grid-column-start:12}.panel-grid .g-start-xxl-13{grid-column-start:13}.panel-grid .g-start-xxl-14{grid-column-start:14}.panel-grid .g-start-xxl-15{grid-column-start:15}.panel-grid .g-start-xxl-16{grid-column-start:16}.panel-grid .g-start-xxl-17{grid-column-start:17}.panel-grid .g-start-xxl-18{grid-column-start:18}.panel-grid .g-start-xxl-19{grid-column-start:19}.panel-grid .g-start-xxl-20{grid-column-start:20}.panel-grid .g-start-xxl-21{grid-column-start:21}.panel-grid .g-start-xxl-22{grid-column-start:22}.panel-grid .g-start-xxl-23{grid-column-start:23}}main{margin-top:1em;margin-bottom:1em}h1,.h1,h2,.h2{opacity:.9;margin-top:2rem;margin-bottom:1rem;font-weight:600}h1.title,.title.h1{margin-top:0}h2,.h2{border-bottom:1px solid #dee2e6;padding-bottom:.5rem}h3,.h3{font-weight:600}h3,.h3,h4,.h4{opacity:.9;margin-top:1.5rem}h5,.h5,h6,.h6{opacity:.9}.header-section-number{color:#737373}.nav-link.active .header-section-number{color:inherit}mark,.mark{padding:0em}.panel-caption,caption,.figure-caption{font-size:.9rem}.panel-caption,.figure-caption,figcaption{color:#737373}.table-caption,caption{color:#333}.quarto-layout-cell[data-ref-parent] caption{color:#737373}.column-margin figcaption,.margin-caption,div.aside,aside,.column-margin{color:#737373;font-size:.825rem}.panel-caption.margin-caption{text-align:inherit}.column-margin.column-container p{margin-bottom:0}.column-margin.column-container>*:not(.collapse){padding-top:.5em;padding-bottom:.5em;display:block}.column-margin.column-container>*.collapse:not(.show){display:none}@media(min-width: 768px){.column-margin.column-container .callout-margin-content:first-child{margin-top:4.5em}.column-margin.column-container .callout-margin-content-simple:first-child{margin-top:3.5em}}.margin-caption>*{padding-top:.5em;padding-bottom:.5em}@media(max-width: 767.98px){.quarto-layout-row{flex-direction:column}}.nav-tabs .nav-item{margin-top:1px;cursor:pointer}.tab-content{margin-top:0px;border-left:rgba(37,37,37,.1) 1px solid;border-right:rgba(37,37,37,.1) 1px solid;border-bottom:rgba(37,37,37,.1) 1px solid;margin-left:0;padding:1em;margin-bottom:1em}@media(max-width: 767.98px){.layout-sidebar{margin-left:0;margin-right:0}}.panel-sidebar,.panel-sidebar .form-control,.panel-input,.panel-input .form-control,.selectize-dropdown{font-size:.9rem}.panel-sidebar .form-control,.panel-input .form-control{padding-top:.1rem}.tab-pane div.sourceCode{margin-top:0px}.tab-pane>p{padding-top:1em}.tab-content>.tab-pane:not(.active){display:none !important}div.sourceCode{background-color:rgba(204,204,204,.65);border:1px solid rgba(204,204,204,.65);border-radius:.25rem}pre.sourceCode{background-color:rgba(0,0,0,0)}pre.sourceCode{border:none;font-size:.875em;overflow:visible !important;padding:.4em}.callout pre.sourceCode{padding-left:0}div.sourceCode{overflow-y:hidden}.callout div.sourceCode{margin-left:initial}.blockquote{font-size:inherit;padding-left:1rem;padding-right:1.5rem;color:#737373}.blockquote h1:first-child,.blockquote .h1:first-child,.blockquote h2:first-child,.blockquote .h2:first-child,.blockquote h3:first-child,.blockquote .h3:first-child,.blockquote h4:first-child,.blockquote .h4:first-child,.blockquote h5:first-child,.blockquote .h5:first-child{margin-top:0}pre{background-color:initial;padding:initial;border:initial}p code:not(.sourceCode),li code:not(.sourceCode),td code:not(.sourceCode){background-color:#f7f7f7;padding:.2em}nav p code:not(.sourceCode),nav li code:not(.sourceCode),nav td code:not(.sourceCode){background-color:rgba(0,0,0,0);padding:0}td code:not(.sourceCode){white-space:pre-wrap}#quarto-embedded-source-code-modal>.modal-dialog{max-width:1000px;padding-left:1.75rem;padding-right:1.75rem}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body{padding:0}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body div.sourceCode{margin:0;padding:.2rem .2rem;border-radius:0px;border:none}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-header{padding:.7rem}.code-tools-button{font-size:1rem;padding:.15rem .15rem;margin-left:5px;color:#6c757d;background-color:rgba(0,0,0,0);transition:initial;cursor:pointer}.code-tools-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}.code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}.sidebar{will-change:top;transition:top 200ms linear;position:sticky;overflow-y:auto;padding-top:1.2em;max-height:100vh}.sidebar.toc-left,.sidebar.margin-sidebar{top:0px;padding-top:1em}.sidebar.toc-left>*,.sidebar.margin-sidebar>*{padding-top:.5em}.sidebar.quarto-banner-title-block-sidebar>*{padding-top:1.65em}figure .quarto-notebook-link{margin-top:.5em}.quarto-notebook-link{font-size:.75em;color:#6c757d;margin-bottom:1em;text-decoration:none;display:block}.quarto-notebook-link:hover{text-decoration:underline;color:#0054a4}.quarto-notebook-link::before{display:inline-block;height:.75rem;width:.75rem;margin-bottom:0em;margin-right:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:.75rem .75rem}.quarto-alternate-notebooks i.bi,.quarto-alternate-formats i.bi{margin-right:.4em}.quarto-notebook .cell-container{display:flex}.quarto-notebook .cell-container .cell{flex-grow:4}.quarto-notebook .cell-container .cell-decorator{padding-top:1.5em;padding-right:1em;text-align:right}.quarto-notebook h2,.quarto-notebook .h2{border-bottom:none}.sidebar .quarto-alternate-formats a,.sidebar .quarto-alternate-notebooks a{text-decoration:none}.sidebar .quarto-alternate-formats a:hover,.sidebar .quarto-alternate-notebooks a:hover{color:#0054a4}.sidebar .quarto-alternate-notebooks h2,.sidebar .quarto-alternate-notebooks .h2,.sidebar .quarto-alternate-formats h2,.sidebar .quarto-alternate-formats .h2,.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-size:.875rem;font-weight:400;margin-bottom:.5rem;margin-top:.3rem;font-family:inherit;border-bottom:0;padding-bottom:0;padding-top:0px}.sidebar .quarto-alternate-notebooks h2,.sidebar .quarto-alternate-notebooks .h2,.sidebar .quarto-alternate-formats h2,.sidebar .quarto-alternate-formats .h2{margin-top:1rem}.sidebar nav[role=doc-toc]>ul a{border-left:1px solid #eee;padding-left:.6rem}.sidebar .quarto-alternate-notebooks h2>ul a,.sidebar .quarto-alternate-notebooks .h2>ul a,.sidebar .quarto-alternate-formats h2>ul a,.sidebar .quarto-alternate-formats .h2>ul a{border-left:none;padding-left:.6rem}.sidebar .quarto-alternate-notebooks ul a:empty,.sidebar .quarto-alternate-formats ul a:empty,.sidebar nav[role=doc-toc]>ul a:empty{display:none}.sidebar .quarto-alternate-notebooks ul,.sidebar .quarto-alternate-formats ul,.sidebar nav[role=doc-toc] ul{padding-left:0;list-style:none;font-size:.875rem;font-weight:300}.sidebar .quarto-alternate-notebooks ul li a,.sidebar .quarto-alternate-formats ul li a,.sidebar nav[role=doc-toc]>ul li a{line-height:1.1rem;padding-bottom:.2rem;padding-top:.2rem;color:inherit}.sidebar nav[role=doc-toc] ul>li>ul>li>a{padding-left:1.2em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>a{padding-left:2.4em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>a{padding-left:3.6em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:4.8em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:6em}.sidebar nav[role=doc-toc] ul>li>a.active,.sidebar nav[role=doc-toc] ul>li>ul>li>a.active{border-left:1px solid #0054a4;color:#0054a4 !important}.sidebar nav[role=doc-toc] ul>li>a:hover,.sidebar nav[role=doc-toc] ul>li>ul>li>a:hover{color:#0054a4 !important}kbd,.kbd{color:#333;background-color:#f8f9fa;border:1px solid;border-radius:5px;border-color:#dee2e6}div.hanging-indent{margin-left:1em;text-indent:-1em}.citation a,.footnote-ref{text-decoration:none}.footnotes ol{padding-left:1em}.tippy-content>*{margin-bottom:.7em}.tippy-content>*:last-child{margin-bottom:0}.table a{word-break:break-word}.table>thead{border-top-width:1px;border-top-color:#dee2e6;border-bottom:1px solid #b3b3b3}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:.25rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:.4em .7em;border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout.callout-style-default{border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:.9rem;font-weight:400}.callout.callout-style-default .callout-body{font-size:.9rem;font-weight:400}.callout.callout-titled .callout-body{margin-top:.2em}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:.2em;margin-bottom:-0.2em}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:.9rem;padding-left:.5em;padding-right:.5em}.callout.callout-style-default div.callout-body{padding-left:.5em;padding-right:.5em}.callout.callout-style-default div.callout-body>:first-child{margin-top:.5em}.callout>div.callout-header[data-bs-toggle=collapse]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded=false],.callout.callout-style-default .callout-header[aria-expanded=true]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){margin-bottom:.5rem}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:.2rem}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:.9rem;width:.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:.9rem .9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-btn-toggle .callout-toggle::before{transition:transform .2s linear}.callout .callout-header[aria-expanded=false] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded=true] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:.2em;padding-right:.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:.1em;padding-right:.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:.3em;padding-right:.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:#6c757d}div.callout.callout-style-default>.callout-header{background-color:#6c757d}div.callout-note.callout{border-left-color:#0054a4}div.callout-note.callout-style-default>.callout-header{background-color:#e6eef6}div.callout-note:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:#78a22f}div.callout-tip.callout-style-default>.callout-header{background-color:#f2f6ea}div.callout-tip:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:#e99002}div.callout-warning.callout-style-default>.callout-header{background-color:#fdf4e6}div.callout-warning:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:#fd7e14}div.callout-caution.callout-style-default>.callout-header{background-color:#fff2e8}div.callout-caution:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:#ee3124}div.callout-important.callout-style-default>.callout-header{background-color:#fdeae9}div.callout-important:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}.quarto-toggle-container{display:flex;align-items:center}.quarto-reader-toggle .bi::before,.quarto-color-scheme-toggle .bi::before{display:inline-block;height:1rem;width:1rem;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.sidebar-navigation{padding-left:20px}.navbar .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.navbar .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.quarto-sidebar-toggle{border-color:#dee2e6;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-style:solid;border-width:1px;overflow:hidden;border-top-width:0px;padding-top:0px !important}.quarto-sidebar-toggle-title{cursor:pointer;padding-bottom:2px;margin-left:.25em;text-align:center;font-weight:400;font-size:.775em}#quarto-content .quarto-sidebar-toggle{background:#fafafa}#quarto-content .quarto-sidebar-toggle-title{color:#333}.quarto-sidebar-toggle-icon{color:#dee2e6;margin-right:.5em;float:right;transition:transform .2s ease}.quarto-sidebar-toggle-icon::before{padding-top:5px}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-icon{transform:rotate(-180deg)}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-title{border-bottom:solid #dee2e6 1px}.quarto-sidebar-toggle-contents{background-color:#fff;padding-right:10px;padding-left:10px;margin-top:0px !important;transition:max-height .5s ease}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-contents{padding-top:1em;padding-bottom:10px}.quarto-sidebar-toggle:not(.expanded) .quarto-sidebar-toggle-contents{padding-top:0px !important;padding-bottom:0px}nav[role=doc-toc]{z-index:1020}#quarto-sidebar>*,nav[role=doc-toc]>*{transition:opacity .1s ease,border .1s ease}#quarto-sidebar.slow>*,nav[role=doc-toc].slow>*{transition:opacity .4s ease,border .4s ease}.quarto-color-scheme-toggle:not(.alternate).top-right .bi::before{background-image:url('data:image/svg+xml,')}.quarto-color-scheme-toggle.alternate.top-right .bi::before{background-image:url('data:image/svg+xml,')}#quarto-appendix.default{border-top:1px solid #dee2e6}#quarto-appendix.default{background-color:#fff;padding-top:1.5em;margin-top:2em;z-index:998}#quarto-appendix.default .quarto-appendix-heading{margin-top:0;line-height:1.4em;font-weight:600;opacity:.9;border-bottom:none;margin-bottom:0}#quarto-appendix.default .footnotes ol,#quarto-appendix.default .footnotes ol li>p:last-of-type,#quarto-appendix.default .quarto-appendix-contents>p:last-of-type{margin-bottom:0}#quarto-appendix.default .quarto-appendix-secondary-label{margin-bottom:.4em}#quarto-appendix.default .quarto-appendix-bibtex{font-size:.7em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-bibtex code.sourceCode{white-space:pre-wrap}#quarto-appendix.default .quarto-appendix-citeas{font-size:.9em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-heading{font-size:1em !important}#quarto-appendix.default *[role=doc-endnotes]>ol,#quarto-appendix.default .quarto-appendix-contents>*:not(h2):not(.h2){font-size:.9em}#quarto-appendix.default section{padding-bottom:1.5em}#quarto-appendix.default section *[role=doc-endnotes],#quarto-appendix.default section>*:not(a){opacity:.9;word-wrap:break-word}.btn.btn-quarto,div.cell-output-display .btn-quarto{color:#4f4f4f;background-color:#eee;border-color:#eee}.btn.btn-quarto:hover,div.cell-output-display .btn-quarto:hover{color:#4f4f4f;background-color:#f1f1f1;border-color:#f0f0f0}.btn-check:focus+.btn.btn-quarto,.btn.btn-quarto:focus,.btn-check:focus+div.cell-output-display .btn-quarto,div.cell-output-display .btn-quarto:focus{color:#4f4f4f;background-color:#f1f1f1;border-color:#f0f0f0;box-shadow:0 0 0 .25rem rgba(214,214,214,.5)}.btn-check:checked+.btn.btn-quarto,.btn-check:active+.btn.btn-quarto,.btn.btn-quarto:active,.btn.btn-quarto.active,.show>.btn.btn-quarto.dropdown-toggle,.btn-check:checked+div.cell-output-display .btn-quarto,.btn-check:active+div.cell-output-display .btn-quarto,div.cell-output-display .btn-quarto:active,div.cell-output-display .btn-quarto.active,.show>div.cell-output-display .btn-quarto.dropdown-toggle{color:#252525;background-color:#f1f1f1;border-color:#f0f0f0}.btn-check:checked+.btn.btn-quarto:focus,.btn-check:active+.btn.btn-quarto:focus,.btn.btn-quarto:active:focus,.btn.btn-quarto.active:focus,.show>.btn.btn-quarto.dropdown-toggle:focus,.btn-check:checked+div.cell-output-display .btn-quarto:focus,.btn-check:active+div.cell-output-display .btn-quarto:focus,div.cell-output-display .btn-quarto:active:focus,div.cell-output-display .btn-quarto.active:focus,.show>div.cell-output-display .btn-quarto.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(214,214,214,.5)}.btn.btn-quarto:disabled,.btn.btn-quarto.disabled,div.cell-output-display .btn-quarto:disabled,div.cell-output-display .btn-quarto.disabled{color:#252525;background-color:#eee;border-color:#eee}nav.quarto-secondary-nav.color-navbar{background-color:#eee;color:#4f4f4f}nav.quarto-secondary-nav.color-navbar h1,nav.quarto-secondary-nav.color-navbar .h1,nav.quarto-secondary-nav.color-navbar .quarto-btn-toggle{color:#4f4f4f}@media(max-width: 991.98px){body.nav-sidebar .quarto-title-banner{margin-bottom:0;padding-bottom:0}body.nav-sidebar #title-block-header{margin-block-end:0}}p.subtitle{margin-top:.25em;margin-bottom:.5em}code a:any-link{color:inherit;text-decoration-color:#6c757d}/*! light */div.observablehq table thead tr th{background-color:var(--bs-body-bg)}input,button,select,optgroup,textarea{background-color:var(--bs-body-bg)}.code-annotated .code-copy-button{margin-right:1.25em;margin-top:0;padding-bottom:0;padding-top:3px}.code-annotation-gutter-bg{background-color:#fff}.code-annotation-gutter{background-color:rgba(204,204,204,.65)}.code-annotation-gutter,.code-annotation-gutter-bg{height:100%;width:calc(20px + .5em);position:absolute;top:0;right:0}dl.code-annotation-container-grid dt{margin-right:1em;margin-top:.25rem}dl.code-annotation-container-grid dt{font-family:var(--bs-font-monospace);color:#4d4d4d;border:solid #4d4d4d 1px;border-radius:50%;height:22px;width:22px;line-height:22px;font-size:11px;text-align:center;vertical-align:middle;text-decoration:none}dl.code-annotation-container-grid dt[data-target-cell]{cursor:pointer}dl.code-annotation-container-grid dt[data-target-cell].code-annotation-active{color:#fff;border:solid #aaa 1px;background-color:#aaa}pre.code-annotation-code{padding-top:0;padding-bottom:0}pre.code-annotation-code code{z-index:3}#code-annotation-line-highlight-gutter{width:100%;border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}#code-annotation-line-highlight{margin-left:-4em;width:calc(100% + 4em);border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}code.sourceCode .code-annotation-anchor.code-annotation-active{background-color:var(--quarto-hl-normal-color, #aaaaaa);border:solid var(--quarto-hl-normal-color, #aaaaaa) 1px;color:#ccc;font-weight:bolder}code.sourceCode .code-annotation-anchor{font-family:var(--bs-font-monospace);color:var(--quarto-hl-co-color);border:solid var(--quarto-hl-co-color) 1px;border-radius:50%;height:18px;width:18px;font-size:9px;margin-top:2px}code.sourceCode button.code-annotation-anchor{padding:2px}code.sourceCode a.code-annotation-anchor{line-height:18px;text-align:center;vertical-align:middle;cursor:default;text-decoration:none}@media print{.page-columns .column-screen-inset{grid-column:page-start-inset/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:page-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:page-start/body-content-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/page-end;z-index:998;transform:translate3d(0, 0, 0)}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:page-start-inset/page-end-inset;padding:1em;background:#eee;z-index:998;transform:translate3d(0, 0, 0);margin-bottom:1em}}.quarto-video{margin-bottom:1em}.table>thead{border-top-width:0}.table>:not(caption)>*:not(:last-child)>*{border-bottom-color:#e6e6e6;border-bottom-style:solid;border-bottom-width:1px}.table>:not(:first-child){border-top:1px solid #b3b3b3;border-bottom:1px solid inherit}.table tbody{border-bottom-color:#b3b3b3}a.external:after{display:inline-block;height:.75rem;width:.75rem;margin-bottom:.15em;margin-left:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:.75rem .75rem}div.sourceCode code a.external:after{content:none}a.external:after:hover{cursor:pointer}.quarto-ext-icon{display:inline-block;font-size:.75em;padding-left:.3em}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file,.code-with-filename .code-with-filename-file pre{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file,.quarto-dark .code-with-filename .code-with-filename-file pre{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.quarto-title-banner{margin-bottom:1em;color:#4f4f4f;background:#eee}.quarto-title-banner .code-tools-button{color:#828282}.quarto-title-banner .code-tools-button:hover{color:#4f4f4f}.quarto-title-banner .code-tools-button>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .quarto-title .title{font-weight:600}.quarto-title-banner .quarto-categories{margin-top:.75em}@media(min-width: 992px){.quarto-title-banner{padding-top:2.5em;padding-bottom:2.5em}}@media(max-width: 991.98px){.quarto-title-banner{padding-top:1em;padding-bottom:1em}}main.quarto-banner-title-block>section:first-child>h2,main.quarto-banner-title-block>section:first-child>.h2,main.quarto-banner-title-block>section:first-child>h3,main.quarto-banner-title-block>section:first-child>.h3,main.quarto-banner-title-block>section:first-child>h4,main.quarto-banner-title-block>section:first-child>.h4{margin-top:0}.quarto-title .quarto-categories{display:flex;flex-wrap:wrap;row-gap:.5em;column-gap:.4em;padding-bottom:.5em;margin-top:.75em}.quarto-title .quarto-categories .quarto-category{padding:.25em .75em;font-size:.65em;text-transform:uppercase;border:solid 1px;border-radius:.25rem;opacity:.6}.quarto-title .quarto-categories .quarto-category a{color:inherit}#title-block-header.quarto-title-block.default .quarto-title-meta{display:grid;grid-template-columns:repeat(2, 1fr)}#title-block-header.quarto-title-block.default .quarto-title .title{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-author-orcid img{margin-top:-5px}#title-block-header.quarto-title-block.default .quarto-description p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p,#title-block-header.quarto-title-block.default .quarto-title-authors p,#title-block-header.quarto-title-block.default .quarto-title-affiliations p{margin-bottom:.1em}#title-block-header.quarto-title-block.default .quarto-title-meta-heading{text-transform:uppercase;margin-top:1em;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-contents{font-size:.9em}#title-block-header.quarto-title-block.default .quarto-title-meta-contents a{color:#333}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p.affiliation:last-of-type{margin-bottom:.7em}#title-block-header.quarto-title-block.default p.affiliation{margin-bottom:.1em}#title-block-header.quarto-title-block.default .description,#title-block-header.quarto-title-block.default .abstract{margin-top:0}#title-block-header.quarto-title-block.default .description>p,#title-block-header.quarto-title-block.default .abstract>p{font-size:.9em}#title-block-header.quarto-title-block.default .description>p:last-of-type,#title-block-header.quarto-title-block.default .abstract>p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .description .abstract-title,#title-block-header.quarto-title-block.default .abstract .abstract-title{margin-top:1em;text-transform:uppercase;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-author{display:grid;grid-template-columns:1fr 1fr}.quarto-title-tools-only{display:flex;justify-content:right}body{-webkit-font-smoothing:antialiased}.badge.bg-light{color:#222}.progress .progress-bar{font-size:8px;line-height:8px}.navbar{font-weight:300}.bg-primary .dropdown-menu{background-color:#0054a4}.bg-primary .dropdown-menu .dropdown-item,.bg-primary .dropdown-menu .dropdown-item:focus{color:#4f4f4f}.bg-primary .dropdown-menu .dropdown-item.active,.bg-primary .dropdown-menu .dropdown-item:hover,.bg-primary .dropdown-menu .dropdown-item:focus{background-color:#004c94;color:#fff}.bg-dark{background-color:#333 !important}.bg-dark .dropdown-menu{background-color:#333}.bg-dark .dropdown-menu .dropdown-item,.bg-dark .dropdown-menu .dropdown-item:focus{color:#4f4f4f}.bg-dark .dropdown-menu .dropdown-item.active,.bg-dark .dropdown-menu .dropdown-item:hover,.bg-dark .dropdown-menu .dropdown-item:focus{background-color:#2e2e2e;color:#fff}.bg-light .dropdown-menu{background-color:#eee}.bg-light .dropdown-menu .dropdown-item,.bg-light .dropdown-menu .dropdown-item:focus{color:#4f4f4f}.bg-light .dropdown-menu .dropdown-item.active,.bg-light .dropdown-menu .dropdown-item:hover,.bg-light .dropdown-menu .dropdown-item:focus{background-color:#f0f0f0;color:rgba(4,79,151,.8)}.navbar-logo{max-height:73px;width:auto;padding-right:4px}.navbar-title{font-family:Condensed,"Helvetica","Tahoma","Geneva","Arial Narrow","Arial",sans-serif;text-transform:uppercase;font-weight:400}.nav-footer{padding-left:0rem !important;padding-right:0rem !important;padding-top:0rem !important;padding-bottom:0rem !important}.footer{background:#043971}.btn-primary{border-color:#004c94}.btn-default{border-color:#d6d6d6}.btn-secondary{border-color:#d6d6d6}.btn-success{border-color:#6c922a}.btn-info{border-color:#52adc8;color:#fff}.btn-danger{border-color:#d62c20}.btn-warning{border-color:#d28202;color:#fff}.btn-light{border-color:#d6d6d6}.btn-dark{border-color:#1f1f1f}.btn-group .dropdown-menu{border-top-width:0}.btn-group .dropdown-toggle.btn-primary~.dropdown-menu{background-color:#0054a4;border-color:#004c94}.btn-group .dropdown-toggle.btn-primary~.dropdown-menu .dropdown-item{color:#fff}.btn-group .dropdown-toggle.btn-primary~.dropdown-menu .dropdown-item:hover,.btn-group .dropdown-toggle.btn-primary~.dropdown-menu .dropdown-item:focus{background-color:#00478a}.btn-group .dropdown-toggle.btn-secondary~.dropdown-menu{background-color:#eee;border-color:#d6d6d6}.btn-group .dropdown-toggle.btn-secondary~.dropdown-menu .dropdown-item{color:#333}.btn-group .dropdown-toggle.btn-secondary~.dropdown-menu .dropdown-item:hover,.btn-group .dropdown-toggle.btn-secondary~.dropdown-menu .dropdown-item:focus{background-color:#c8c8c8}.btn-group .dropdown-toggle.btn-success~.dropdown-menu{background-color:#78a22f;border-color:#6c922a}.btn-group .dropdown-toggle.btn-success~.dropdown-menu .dropdown-item{color:#fff}.btn-group .dropdown-toggle.btn-success~.dropdown-menu .dropdown-item:hover,.btn-group .dropdown-toggle.btn-success~.dropdown-menu .dropdown-item:focus{background-color:#658827}.btn-group .dropdown-toggle.btn-info~.dropdown-menu{background-color:#5bc0de;border-color:#52adc8}.btn-group .dropdown-toggle.btn-info~.dropdown-menu .dropdown-item{color:#fff}.btn-group .dropdown-toggle.btn-info~.dropdown-menu .dropdown-item:hover,.btn-group .dropdown-toggle.btn-info~.dropdown-menu .dropdown-item:focus{background-color:#4ca1ba}.btn-group .dropdown-toggle.btn-warning~.dropdown-menu{background-color:#e99002;border-color:#d28202}.btn-group .dropdown-toggle.btn-warning~.dropdown-menu .dropdown-item{color:#fff}.btn-group .dropdown-toggle.btn-warning~.dropdown-menu .dropdown-item:hover,.btn-group .dropdown-toggle.btn-warning~.dropdown-menu .dropdown-item:focus{background-color:#c47902}.btn-group .dropdown-toggle.btn-danger~.dropdown-menu{background-color:#ee3124;border-color:#d62c20}.btn-group .dropdown-toggle.btn-danger~.dropdown-menu .dropdown-item{color:#fff}.btn-group .dropdown-toggle.btn-danger~.dropdown-menu .dropdown-item:hover,.btn-group .dropdown-toggle.btn-danger~.dropdown-menu .dropdown-item:focus{background-color:#c8291e}.text-secondary{color:#495057 !important}.blockquote-footer{color:#6c757d}body{font-size:13pt !important;line-height:1.6;font-weight:100;font-family:Arial,Helvetica,Tahoma,Geneva,Arial,sans-serif}b,strong{font-family:Medium,"Arial Narrow",!important;font-weight:600;color:#01408a}table{font-size:16}label,.control-label,.help-block,.checkbox,.radio,.form-control-feedback{font-size:16}.sidebar-title{margin-top:.25rem;padding-bottom:.5rem;font-size:1.3rem;line-height:1.6rem;font-family:Light,Helvetica,Tahoma,Geneva,"Arial Narrow",Arial,sans-serif;visibility:visible;color:#01408a}.sidebar-item .sidebar-item-container{display:flex;justify-content:space-between;padding:2.5%}div.sidebar-item-container:hover,div.sidebar-item-container:focus{color:rgba(4,79,151,.8);background:#ccc;text-decoration:underline}div.sidebar-item-container .active,div.sidebar-item-container .show>.nav-link,div.sidebar-item-container .sidebar-link>code{color:#044f97;font-weight:bold}.sidebar-section{margin-top:.2em;margin-left:.3em;padding-left:.5em;padding-bottom:.2em;border:#0054a4;border-left-style:solid;border-left-width:2px}.sidebar-item .chapter-number{color:#333;font-weight:bold}.dropdown-item{padding-top:.75rem;padding-bottom:.75rem;font-size:16;font-weight:300}.nav-tabs .nav-link,.nav-tabs .nav-link.disabled,.nav-tabs .nav-link.disabled:hover,.nav-tabs .nav-link.disabled:focus{border-color:rgba(37,37,37,.1);background-color:#eee}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{background-color:#f0f0f0}.nav-pills .active{border:1px solid #004c94}.breadcrumb{border:1px solid rgba(37,37,37,.1);font-size:16;font-weight:300;text-transform:uppercase}.pagination{font-weight:300}.pagination .page-link{border-color:rgba(0,0,0,0);border-radius:3px;margin-left:.1em;margin-right:.1em}.pagination .page-link:hover,.pagination .page-link:focus{text-decoration:none}.pagination .page-item.disabled .page-link{border-color:rgba(0,0,0,0)}.pagination .page-item:first-child .page-link,.pagination .page-item:last-child .page-link,.pagination-lg .page-item:first-child .page-link,.pagination-lg .page-item:last-child .page-link,.pagination-sm .page-item:first-child .page-link,.pagination-sm .page-item:last-child .page-link{border-radius:3px}.list-group{font-size:16;font-weight:300}.alert{font-size:16;font-weight:300;color:#fff}.alert .alert-link{color:#fff;text-decoration:underline}.alert:not(.alert-secondary):not(.alert-light) .btn-close{background-image:url("data:image/svg+xml,")}.alert-secondary,.alert-secondary a:not(.btn),.alert-secondary .alert-link,.alert-light,.alert-light a:not(.btn),.alert-light .alert-link{color:#333}.badge.bg-secondary,.badge.bg-light{color:#222}.progress[value]{height:22px;padding:2px;background-color:#f6f6f6;border:1px solid #ccc}.popover-header{border-top-left-radius:0;border-top-right-radius:0}span.toc-section-number{font-weight:600}.quarto-secondary-nav-title{margin-top:.3em;color:#01408a;padding-top:4px}.leaflet-container{text-align:left}.quarto-figure-center>figure>p,.quarto-figure-center>figure>div{text-align:inherit}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:.25rem;overflow-wrap:break-word}.callout.callout-style-default>div.callout-header{border-bottom:none;opacity:85%;font-size:1rem;padding-left:.5em;padding-right:.5em;font-family:Light,Helvetica,Tahoma,Geneva,"Arial Narrow",Arial,sans-serif;font-weight:300;line-height:1.5;font-family:Light,Helvetica,Tahoma,Geneva,"Arial Narrow",Arial,sans-serif !important}caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:left}iframe{margin-bottom:0em;margin-top:0em;margin-left:0em;margin-right:0em}.global-footer{margin-top:0px !important}body:not(.floating) .nav-footer{border-top:0px solid #dee2e6 !important;background-color:#001d3d}.reveal .slide figure>figcaption,.reveal .slide img.stretch+p.caption,.reveal .slide img.r-stretch+p.caption{font-size:1em;color:#737373}.reveal tr:nth-child(odd){background-color:#f2f2f2}.reveal{font-size:13pt;line-height:1.6;font-weight:100;font-family:Helvetica,Tahoma,Geneva,Arial,sans-serif}.reveal .slide-logo{display:block;position:fixed;bottom:0;right:12px;min-height:3.5rem;max-height:4.2rem;height:100%;width:auto}div.csl-entry{clear:both;overflow-wrap:break-word}.js-plotly-plot .plotly [data-title]:hover::before,.js-plotly-plot .plotly [data-title]:hover::after{display:block;opacity:1;width:auto;height:auto;font-family:Roman,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"}.scrolling{max-height:500px;overflow-y:auto}.container-fluid.crosstalk-bscols{margin-left:3% !important;margin-right:3% !important;white-space:normal}@font-face{font-family:"Light";font-style:normal;src:url("style/helveticaneueltstd-light-webfont.woff") format("woff")}@font-face{font-family:"Condensed";font-style:normal;src:url("style/helveticaneueltstd-cn-webfont.woff") format("woff")}@font-face{font-family:"Bold-Condensed";font-style:normal;src:url("style/helveticaneueltstd-bdcn-webfont.woff") format("woff")}@font-face{font-family:"Medium";font-style:normal;src:url("style/helveticaneueltstd-md-webfont.woff") format("woff") local("Medium")}@font-face{font-family:"Medium-Condensed";font-style:normal;src:url("style/helveticaneueltstd-mdcn-webfont.woff") format("woff")}@font-face{font-family:"Roman";font-style:normal;src:url("style/helveticaneueltstd-roman-webfont.woff") format("woff")}@font-face{font-family:"Arial Narrow";font-style:normal;src:url("style/ARIALN.TTF") format("ttf")}/*# sourceMappingURL=15ad9f27ecfa6715ab39fb4f491d95b0.css.map */ diff --git a/docs/site_libs/bootstrap/bootstrap.min.js b/docs/site_libs/bootstrap/bootstrap.min.js deleted file mode 100644 index cc0a2556..00000000 --- a/docs/site_libs/bootstrap/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v5.1.3 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t="transitionend",e=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},n=t=>{const i=e(t);return i?document.querySelector(i):null},s=e=>{e.dispatchEvent(new Event(t))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,a=(t,e,i)=>{Object.keys(i).forEach((n=>{const s=i[n],r=e[n],a=r&&o(r)?"element":null==(l=r)?`${l}`:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}))},l=t=>!(!o(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),c=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},d=()=>{},u=t=>{t.offsetHeight},f=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},p=[],m=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(p.length||document.addEventListener("DOMContentLoaded",(()=>{p.forEach((t=>t()))})),p.push(e)):e()},_=t=>{"function"==typeof t&&t()},b=(e,i,n=!0)=>{if(!n)return void _(e);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r=!1;const a=({target:n})=>{n===i&&(r=!0,i.removeEventListener(t,a),_(e))};i.addEventListener(t,a),setTimeout((()=>{r||s(i)}),o)},v=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},y=/[^.]*(?=\..*)\.|.*/,w=/\..*/,E=/::\d+$/,A={};let T=1;const O={mouseenter:"mouseover",mouseleave:"mouseout"},C=/^(mouseenter|mouseleave)/i,k=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function L(t,e){return e&&`${e}::${T++}`||t.uidEvent||T++}function x(t){const e=L(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function D(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;sfunction(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=S(e,i,n),l=x(t),c=l[a]||(l[a]={}),h=D(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=L(r,e.replace(y,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&j.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&j.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function I(t,e,i,n,s){const o=D(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function P(t){return t=t.replace(w,""),O[t]||t}const j={on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=S(e,i,n),a=r!==e,l=x(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void I(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach((i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach((o=>{if(o.includes(n)){const n=s[o];I(t,e,i,n.originalHandler,n.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h=l[r]||{};Object.keys(h).forEach((i=>{const n=i.replace(E,"");if(!a||e.includes(n)){const e=h[i];I(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=f(),s=P(e),o=e!==s,r=k.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach((t=>{Object.defineProperty(d,t,{get:()=>i[t]})})),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},M=new Map,H={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};class B{constructor(t){(t=r(t))&&(this._element=t,H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t=>{this[t]=null}))}_queueCallback(t,e,i=!0){b(t,e,i)}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.1.3"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),c(this))return;const o=n(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class W extends B{static get NAME(){return"alert"}close(){if(j.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=W.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(W,"close"),g(W);const $='[data-bs-toggle="button"]';class z extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=z.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function q(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function F(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}j.on(document,"click.bs.button.data-api",$,(t=>{t.preventDefault();const e=t.target.closest($);z.getOrCreateInstance(e).toggle()})),g(z);const U={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter((t=>t.startsWith("bs"))).forEach((i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=q(t.dataset[i])})),e},getDataAttribute:(t,e)=>q(t.getAttribute(`data-bs-${F(e)}`)),offset(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},V={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(", ");return this.find(e,t).filter((t=>!c(t)&&l(t)))}},K="carousel",X={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Y={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Q="next",G="prev",Z="left",J="right",tt={ArrowLeft:J,ArrowRight:Z},et="slid.bs.carousel",it="active",nt=".active.carousel-item";class st extends B{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=V.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return X}static get NAME(){return K}next(){this._slide(Q)}nextWhenVisible(){!document.hidden&&l(this._element)&&this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused=!0),V.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(s(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=V.findOne(nt,this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,et,(()=>this.to(t)));if(e===t)return this.pause(),void this.cycle();const i=t>e?Q:G;this._slide(i,this._items[t])}_getConfig(t){return t={...X,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(K,t,Y),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?J:Z)}_addEventListeners(){this._config.keyboard&&j.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(j.on(this._element,"mouseenter.bs.carousel",(t=>this.pause(t))),j.on(this._element,"mouseleave.bs.carousel",(t=>this.cycle(t)))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>this._pointerEvent&&("pen"===t.pointerType||"touch"===t.pointerType),e=e=>{t(e)?this.touchStartX=e.clientX:this._pointerEvent||(this.touchStartX=e.touches[0].clientX)},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=e=>{t(e)&&(this.touchDeltaX=e.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((t=>this.cycle(t)),500+this._config.interval))};V.find(".carousel-item img",this._element).forEach((t=>{j.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()))})),this._pointerEvent?(j.on(this._element,"pointerdown.bs.carousel",(t=>e(t))),j.on(this._element,"pointerup.bs.carousel",(t=>n(t))),this._element.classList.add("pointer-event")):(j.on(this._element,"touchstart.bs.carousel",(t=>e(t))),j.on(this._element,"touchmove.bs.carousel",(t=>i(t))),j.on(this._element,"touchend.bs.carousel",(t=>n(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=tt[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?V.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===Q;return v(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),n=this._getItemIndex(V.findOne(nt,this._element));return j.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=V.findOne(".active",this._indicatorsElement);e.classList.remove(it),e.removeAttribute("aria-current");const i=V.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{j.trigger(this._element,et,{relatedTarget:o,direction:d,from:s,to:r})};if(this._element.classList.contains("slide")){o.classList.add(h),u(o),n.classList.add(c),o.classList.add(c);const t=()=>{o.classList.remove(c,h),o.classList.add(it),n.classList.remove(it,h,c),this._isSliding=!1,setTimeout(f,0)};this._queueCallback(t,n,!0)}else n.classList.remove(it),o.classList.add(it),this._isSliding=!1,f();a&&this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?m()?t===Z?G:Q:t===Z?Q:G:t}_orderToDirection(t){return[Q,G].includes(t)?m()?t===G?Z:J:t===G?J:Z:t}static carouselInterface(t,e){const i=st.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){st.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=n(this);if(!e||!e.classList.contains("carousel"))return;const i={...U.getDataAttributes(e),...U.getDataAttributes(this)},s=this.getAttribute("data-bs-slide-to");s&&(i.interval=!1),st.carouselInterface(e,i),s&&st.getInstance(e).to(s),t.preventDefault()}}j.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",st.dataApiClickHandler),j.on(window,"load.bs.carousel.data-api",(()=>{const t=V.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;et===this._element));null!==s&&o.length&&(this._selector=s,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return rt}static get NAME(){return ot}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e=[];if(this._config.parent){const t=V.find(ut,this._config.parent);e=V.find(".collapse.show, .collapse.collapsing",this._config.parent).filter((e=>!t.includes(e)))}const i=V.findOne(this._selector);if(e.length){const n=e.find((t=>i!==t));if(t=n?pt.getInstance(n):null,t&&t._isTransitioning)return}if(j.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e.forEach((e=>{i!==e&&pt.getOrCreateInstance(e,{toggle:!1}).hide(),t||H.set(e,"bs.collapse",null)}));const n=this._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[n]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[n]="",j.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[n]=`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);const e=this._triggerArray.length;for(let t=0;t{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct),j.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(lt)}_getConfig(t){return(t={...rt,...U.getDataAttributes(this._element),...t}).toggle=Boolean(t.toggle),t.parent=r(t.parent),a(ot,t,at),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=V.find(ut,this._config.parent);V.find(ft,this._config.parent).filter((e=>!t.includes(e))).forEach((t=>{const e=n(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach((t=>{e?t.classList.remove(dt):t.classList.add(dt),t.setAttribute("aria-expanded",e)}))}static jQueryInterface(t){return this.each((function(){const e={};"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1);const i=pt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}j.on(document,"click.bs.collapse.data-api",ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=i(this);V.find(e).forEach((t=>{pt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),g(pt);var mt="top",gt="bottom",_t="right",bt="left",vt="auto",yt=[mt,gt,_t,bt],wt="start",Et="end",At="clippingParents",Tt="viewport",Ot="popper",Ct="reference",kt=yt.reduce((function(t,e){return t.concat([e+"-"+wt,e+"-"+Et])}),[]),Lt=[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+"-"+wt,e+"-"+Et])}),[]),xt="beforeRead",Dt="read",St="afterRead",Nt="beforeMain",It="main",Pt="afterMain",jt="beforeWrite",Mt="write",Ht="afterWrite",Bt=[xt,Dt,St,Nt,It,Pt,jt,Mt,Ht];function Rt(t){return t?(t.nodeName||"").toLowerCase():null}function Wt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function $t(t){return t instanceof Wt(t).Element||t instanceof Element}function zt(t){return t instanceof Wt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Wt(t).ShadowRoot||t instanceof ShadowRoot)}const Ft={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];zt(s)&&Rt(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});zt(n)&&Rt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function Ut(t){return t.split("-")[0]}function Vt(t,e){var i=t.getBoundingClientRect();return{width:i.width/1,height:i.height/1,top:i.top/1,right:i.right/1,bottom:i.bottom/1,left:i.left/1,x:i.left/1,y:i.top/1}}function Kt(t){var e=Vt(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Xt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&qt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Yt(t){return Wt(t).getComputedStyle(t)}function Qt(t){return["table","td","th"].indexOf(Rt(t))>=0}function Gt(t){return(($t(t)?t.ownerDocument:t.document)||window.document).documentElement}function Zt(t){return"html"===Rt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||Gt(t)}function Jt(t){return zt(t)&&"fixed"!==Yt(t).position?t.offsetParent:null}function te(t){for(var e=Wt(t),i=Jt(t);i&&Qt(i)&&"static"===Yt(i).position;)i=Jt(i);return i&&("html"===Rt(i)||"body"===Rt(i)&&"static"===Yt(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&zt(t)&&"fixed"===Yt(t).position)return null;for(var i=Zt(t);zt(i)&&["html","body"].indexOf(Rt(i))<0;){var n=Yt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function ee(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var ie=Math.max,ne=Math.min,se=Math.round;function oe(t,e,i){return ie(t,ne(e,i))}function re(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ae(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const le={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=Ut(i.placement),l=ee(a),c=[bt,_t].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return re("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ae(t,yt))}(s.padding,i),d=Kt(o),u="y"===l?mt:bt,f="y"===l?gt:_t,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=te(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,E=oe(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Xt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ce(t){return t.split("-")[1]}var he={top:"auto",right:"auto",bottom:"auto",left:"auto"};function de(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:se(se(e*n)/n)||0,y:se(se(i*n)/n)||0}}(r):"function"==typeof h?h(r):r,u=d.x,f=void 0===u?0:u,p=d.y,m=void 0===p?0:p,g=r.hasOwnProperty("x"),_=r.hasOwnProperty("y"),b=bt,v=mt,y=window;if(c){var w=te(i),E="clientHeight",A="clientWidth";w===Wt(i)&&"static"!==Yt(w=Gt(i)).position&&"absolute"===a&&(E="scrollHeight",A="scrollWidth"),w=w,s!==mt&&(s!==bt&&s!==_t||o!==Et)||(v=gt,m-=w[E]-n.height,m*=l?1:-1),s!==bt&&(s!==mt&&s!==gt||o!==Et)||(b=_t,f-=w[A]-n.width,f*=l?1:-1)}var T,O=Object.assign({position:a},c&&he);return l?Object.assign({},O,((T={})[v]=_?"0":"",T[b]=g?"0":"",T.transform=(y.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",T)):Object.assign({},O,((e={})[v]=_?m+"px":"",e[b]=g?f+"px":"",e.transform="",e))}const ue={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:Ut(e.placement),variation:ce(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,de(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,de(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var fe={passive:!0};const pe={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=Wt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,fe)})),a&&l.addEventListener("resize",i.update,fe),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,fe)})),a&&l.removeEventListener("resize",i.update,fe)}},data:{}};var me={left:"right",right:"left",bottom:"top",top:"bottom"};function ge(t){return t.replace(/left|right|bottom|top/g,(function(t){return me[t]}))}var _e={start:"end",end:"start"};function be(t){return t.replace(/start|end/g,(function(t){return _e[t]}))}function ve(t){var e=Wt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ye(t){return Vt(Gt(t)).left+ve(t).scrollLeft}function we(t){var e=Yt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return["html","body","#document"].indexOf(Rt(t))>=0?t.ownerDocument.body:zt(t)&&we(t)?t:Ee(Zt(t))}function Ae(t,e){var i;void 0===e&&(e=[]);var n=Ee(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Wt(n),r=s?[o].concat(o.visualViewport||[],we(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Ae(Zt(r)))}function Te(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e){return e===Tt?Te(function(t){var e=Wt(t),i=Gt(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+ye(t),y:a}}(t)):zt(e)?function(t){var e=Vt(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Te(function(t){var e,i=Gt(t),n=ve(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ie(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ie(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ye(t),l=-n.scrollTop;return"rtl"===Yt(s||i).direction&&(a+=ie(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Gt(t)))}function Ce(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?Ut(s):null,r=s?ce(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case mt:e={x:a,y:i.y-n.height};break;case gt:e={x:a,y:i.y+i.height};break;case _t:e={x:i.x+i.width,y:l};break;case bt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?ee(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case wt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Et:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?At:o,a=i.rootBoundary,l=void 0===a?Tt:a,c=i.elementContext,h=void 0===c?Ot:c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=re("number"!=typeof p?p:ae(p,yt)),g=h===Ot?Ct:Ot,_=t.rects.popper,b=t.elements[u?g:h],v=function(t,e,i){var n="clippingParents"===e?function(t){var e=Ae(Zt(t)),i=["absolute","fixed"].indexOf(Yt(t).position)>=0&&zt(t)?te(t):t;return $t(i)?e.filter((function(t){return $t(t)&&Xt(t,i)&&"body"!==Rt(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Oe(t,i);return e.top=ie(n.top,e.top),e.right=ne(n.right,e.right),e.bottom=ne(n.bottom,e.bottom),e.left=ie(n.left,e.left),e}),Oe(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}($t(b)?b:b.contextElement||Gt(t.elements.popper),r,l),y=Vt(t.elements.reference),w=Ce({reference:y,element:_,strategy:"absolute",placement:s}),E=Te(Object.assign({},_,w)),A=h===Ot?E:y,T={top:v.top-A.top+m.top,bottom:A.bottom-v.bottom+m.bottom,left:v.left-A.left+m.left,right:A.right-v.right+m.right},O=t.modifiersData.offset;if(h===Ot&&O){var C=O[s];Object.keys(T).forEach((function(t){var e=[_t,gt].indexOf(t)>=0?1:-1,i=[mt,gt].indexOf(t)>=0?"y":"x";T[t]+=C[i]*e}))}return T}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?Lt:l,h=ce(n),d=h?a?kt:kt.filter((function(t){return ce(t)===h})):yt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Ut(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const xe={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=Ut(g),b=l||(_!==g&&p?function(t){if(Ut(t)===vt)return[];var e=ge(t);return[be(t),e,be(e)]}(g):[ge(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(Ut(i)===vt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O=0,D=x?"width":"height",S=ke(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),N=x?L?_t:bt:L?gt:mt;y[D]>w[D]&&(N=ge(N));var I=ge(N),P=[];if(o&&P.push(S[k]<=0),a&&P.push(S[N]<=0,S[I]<=0),P.every((function(t){return t}))){T=C,A=!1;break}E.set(C,P)}if(A)for(var j=function(t){var e=v.find((function(e){var i=E.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function De(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Se(t){return[mt,_t,gt,bt].some((function(e){return t[e]>=0}))}const Ne={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ke(e,{elementContext:"reference"}),a=ke(e,{altBoundary:!0}),l=De(r,n),c=De(a,s,o),h=Se(l),d=Se(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},Ie={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=Lt.reduce((function(t,i){return t[i]=function(t,e,i){var n=Ut(t),s=[bt,mt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[bt,_t].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},Pe={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Ce({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},je={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=Ut(e.placement),b=ce(e.placement),v=!b,y=ee(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?mt:bt,L="y"===y?gt:_t,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],N=E[y]-g[L],I=f?-T[x]/2:0,P=b===wt?A[x]:T[x],j=b===wt?-T[x]:-A[x],M=e.elements.arrow,H=f&&M?Kt(M):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},R=B[k],W=B[L],$=oe(0,A[x],H[x]),z=v?A[x]/2-I-$-R-O:P-$-R-O,q=v?-A[x]/2+I+$+W+O:j+$+W+O,F=e.elements.arrow&&te(e.elements.arrow),U=F?"y"===y?F.clientTop||0:F.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+z-V-U,X=E[y]+q-V;if(o){var Y=oe(f?ne(S,K):S,D,f?ie(N,X):N);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?mt:bt,G="x"===y?gt:_t,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=oe(f?ne(J,K):J,Z,f?ie(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function Me(t,e,i){void 0===i&&(i=!1);var n=zt(e);zt(e)&&function(t){var e=t.getBoundingClientRect();e.width,t.offsetWidth,e.height,t.offsetHeight}(e);var s,o,r=Gt(e),a=Vt(t),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(n||!n&&!i)&&(("body"!==Rt(e)||we(r))&&(l=(s=e)!==Wt(s)&&zt(s)?{scrollLeft:(o=s).scrollLeft,scrollTop:o.scrollTop}:ve(s)),zt(e)?((c=Vt(e)).x+=e.clientLeft,c.y+=e.clientTop):r&&(c.x=ye(r))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function He(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be={placement:"bottom",modifiers:[],strategy:"absolute"};function Re(){for(var t=arguments.length,e=new Array(t),i=0;ij.on(t,"mouseover",d))),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Je),this._element.classList.add(Je),j.trigger(this._element,"shown.bs.dropdown",t)}hide(){if(c(this._element)||!this._isShown(this._menu))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){j.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._popper&&this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute("aria-expanded","false"),U.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...U.getDataAttributes(this._element),...t},a(Ue,t,this.constructor.DefaultType),"object"==typeof t.reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ue.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(t){if(void 0===Fe)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:o(this._config.reference)?e=r(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find((t=>"applyStyles"===t.name&&!1===t.enabled));this._popper=qe(e,this._menu,i),n&&U.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.classList.contains(Je)}_getMenuElement(){return V.next(this._element,ei)[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ri;if(t.classList.contains("dropstart"))return ai;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ni:ii:e?oi:si}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=V.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(l);i.length&&v(i,e,t===Ye,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=V.find(ti);for(let i=0,n=e.length;ie+t)),this._setElementAttributes(di,"paddingRight",(e=>e+t)),this._setElementAttributes(ui,"marginRight",(e=>e-t))}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t)[e];t.style[e]=`${i(Number.parseFloat(s))}px`}))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(di,"paddingRight"),this._resetElementAttributes(ui,"marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=U.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]=i)}))}_applyManipulationCallback(t,e){o(t)?e(t):V.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const pi={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},mi={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},gi="show",_i="mousedown.bs.backdrop";class bi{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&u(this._getElement()),this._getElement().classList.add(gi),this._emulateAnimation((()=>{_(t)}))):_(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(gi),this._emulateAnimation((()=>{this.dispose(),_(t)}))):_(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...pi,..."object"==typeof t?t:{}}).rootElement=r(t.rootElement),a("backdrop",t,mi),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),j.on(this._getElement(),_i,(()=>{_(this._config.clickCallback)})),this._isAppended=!0)}dispose(){this._isAppended&&(j.off(this._element,_i),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const vi={trapElement:null,autofocus:!0},yi={trapElement:"element",autofocus:"boolean"},wi=".bs.focustrap",Ei="backward";class Ai{constructor(t){this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:e}=this._config;this._isActive||(e&&t.focus(),j.off(document,wi),j.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),j.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,wi))}_handleFocusin(t){const{target:e}=t,{trapElement:i}=this._config;if(e===document||e===i||i.contains(e))return;const n=V.focusableChildren(i);0===n.length?i.focus():this._lastTabNavDirection===Ei?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Ei:"forward")}_getConfig(t){return t={...vi,..."object"==typeof t?t:{}},a("focustrap",t,yi),t}}const Ti="modal",Oi="Escape",Ci={backdrop:!0,keyboard:!0,focus:!0},ki={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"},Li="hidden.bs.modal",xi="show.bs.modal",Di="resize.bs.modal",Si="click.dismiss.bs.modal",Ni="keydown.dismiss.bs.modal",Ii="mousedown.dismiss.bs.modal",Pi="modal-open",ji="show",Mi="modal-static";class Hi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=V.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new fi}static get Default(){return Ci}static get NAME(){return Ti}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add(Pi),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),j.on(this._dialog,Ii,(()=>{j.one(this._element,"mouseup.dismiss.bs.modal",(t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)}))})),this._showBackdrop((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if(j.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(ji),j.off(this._element,Si),j.off(this._dialog,Ii),this._queueCallback((()=>this._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t=>j.off(t,".bs.modal"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_getConfig(t){return t={...Ci,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Ti,t,ki),t}_showElement(t){const e=this._isAnimated(),i=V.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),e&&u(this._element),this._element.classList.add(ji),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?j.on(this._element,Ni,(t=>{this._config.keyboard&&t.key===Oi?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!==Oi||this._triggerBackdropTransition()})):j.off(this._element,Ni)}_setResizeEvent(){this._isShown?j.on(window,Di,(()=>this._adjustDialog())):j.off(window,Di)}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Pi),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Li)}))}_showBackdrop(t){j.on(this._element,Si,(t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(j.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains(Mi)||(n||(i.overflowY="hidden"),t.add(Mi),this._queueCallback((()=>{t.remove(Mi),n||this._queueCallback((()=>{i.overflowY=""}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!m()||i&&!t&&m())&&(this._element.style.paddingLeft=`${e}px`),(i&&!t&&!m()||!i&&t&&m())&&(this._element.style.paddingRight=`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}j.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=n(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),j.one(e,xi,(t=>{t.defaultPrevented||j.one(e,Li,(()=>{l(this)&&this.focus()}))}));const i=V.findOne(".modal.show");i&&Hi.getInstance(i).hide(),Hi.getOrCreateInstance(e).toggle(this)})),R(Hi),g(Hi);const Bi="offcanvas",Ri={backdrop:!0,keyboard:!0,scroll:!1},Wi={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},$i="show",zi=".offcanvas.show",qi="hidden.bs.offcanvas";class Fi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return Bi}static get Default(){return Ri}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new fi).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add($i),this._queueCallback((()=>{this._config.scroll||this._focustrap.activate(),j.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove($i),this._backdrop.hide(),this._queueCallback((()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new fi).reset(),j.trigger(this._element,qi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t={...Ri,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Bi,t,Wi),t}_initializeBackDrop(){return new bi({className:"offcanvas-backdrop",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_addEventListeners(){j.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()}))}static jQueryInterface(t){return this.each((function(){const e=Fi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}j.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=n(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this))return;j.one(e,qi,(()=>{l(this)&&this.focus()}));const i=V.findOne(zi);i&&i!==e&&Fi.getInstance(i).hide(),Fi.getOrCreateInstance(e).toggle(this)})),j.on(window,"load.bs.offcanvas.data-api",(()=>V.find(zi).forEach((t=>Fi.getOrCreateInstance(t).show())))),R(Fi),g(Fi);const Ui=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Vi=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Ki=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Xi=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!Ui.has(i)||Boolean(Vi.test(t.nodeValue)||Ki.test(t.nodeValue));const n=e.filter((t=>t instanceof RegExp));for(let t=0,e=n.length;t{Xi(t,r)||i.removeAttribute(t.nodeName)}))}return n.body.innerHTML}const Qi="tooltip",Gi=new Set(["sanitize","allowList","sanitizeFn"]),Zi={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},Ji={AUTO:"auto",TOP:"top",RIGHT:m()?"left":"right",BOTTOM:"bottom",LEFT:m()?"right":"left"},tn={animation:!0,template:'',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},en={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},nn="fade",sn="show",on="show",rn="out",an=".tooltip-inner",ln=".modal",cn="hide.bs.modal",hn="hover",dn="focus";class un extends B{constructor(t,e){if(void 0===Fe)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return tn}static get NAME(){return Qi}static get Event(){return en}static get DefaultType(){return Zi}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(sn))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ln),cn,this._hideModalHandler),this.tip&&this.tip.remove(),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=j.trigger(this._element,this.constructor.Event.SHOW),e=h(this._element),i=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;"tooltip"===this.constructor.NAME&&this.tip&&this.getTitle()!==this.tip.querySelector(an).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const n=this.getTipElement(),s=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute("id",s),this._element.setAttribute("aria-describedby",s),this._config.animation&&n.classList.add(nn);const o="function"==typeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,r=this._getAttachment(o);this._addAttachmentClass(r);const{container:a}=this._config;H.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(n),j.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=qe(this._element,n,this._getPopperConfig(r)),n.classList.add(sn);const l=this._resolvePossibleFunction(this._config.customClass);l&&n.classList.add(...l.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>{j.on(t,"mouseover",d)}));const c=this.tip.classList.contains(nn);this._queueCallback((()=>{const t=this._hoverState;this._hoverState=null,j.trigger(this._element,this.constructor.Event.SHOWN),t===rn&&this._leave(null,this)}),this.tip,c)}hide(){if(!this._popper)return;const t=this.getTipElement();if(j.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(sn),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains(nn);this._queueCallback((()=>{this._isWithActiveTrigger()||(this._hoverState!==on&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove(nn,sn),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),an)}_sanitizeAndSetContent(t,e,i){const n=V.findOne(i,t);e||!n?this.setElementContent(n,e):n.remove()}setElementContent(t,e){if(null!==t)return o(e)?(e=r(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Yi(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){const t=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Ji[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach((t=>{if("click"===t)j.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t=>this.toggle(t)));else if("manual"!==t){const e=t===hn?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i=t===hn?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;j.on(this._element,e,this._config.selector,(t=>this._enter(t))),j.on(this._element,i,this._config.selector,(t=>this._leave(t)))}})),this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(ln),cn,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?dn:hn]=!0),e.getTipElement().classList.contains(sn)||e._hoverState===on?e._hoverState=on:(clearTimeout(e._timeout),e._hoverState=on,e._config.delay&&e._config.delay.show?e._timeout=setTimeout((()=>{e._hoverState===on&&e.show()}),e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?dn:hn]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=rn,e._config.delay&&e._config.delay.hide?e._timeout=setTimeout((()=>{e._hoverState===rn&&e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=U.getDataAttributes(this._element);return Object.keys(e).forEach((t=>{Gi.has(t)&&delete e[t]})),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),a(Qi,t,this.constructor.DefaultType),t.sanitize&&(t.template=Yi(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),i=t.getAttribute("class").match(e);null!==i&&i.length>0&&i.map((t=>t.trim())).forEach((e=>t.classList.remove(e)))}_getBasicClassPrefix(){return"bs-tooltip"}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(un);const fn={...un.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},pn={...un.DefaultType,content:"(string|element|function)"},mn={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class gn extends un{static get Default(){return fn}static get NAME(){return"popover"}static get Event(){return mn}static get DefaultType(){return pn}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".popover-header"),this._sanitizeAndSetContent(t,this._getContent(),".popover-body")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return"bs-popover"}static jQueryInterface(t){return this.each((function(){const e=gn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(gn);const _n="scrollspy",bn={offset:10,method:"auto",target:""},vn={offset:"number",method:"string",target:"(string|element)"},yn="active",wn=".nav-link, .list-group-item, .dropdown-item",En="position";class An extends B{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,j.on(this._scrollElement,"scroll.bs.scrollspy",(()=>this._process())),this.refresh(),this._process()}static get Default(){return bn}static get NAME(){return _n}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":En,e="auto"===this._config.method?t:this._config.method,n=e===En?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),V.find(wn,this._config.target).map((t=>{const s=i(t),o=s?V.findOne(s):null;if(o){const t=o.getBoundingClientRect();if(t.width||t.height)return[U[e](o).top+n,s]}return null})).filter((t=>t)).sort(((t,e)=>t[0]-e[0])).forEach((t=>{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){j.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){return(t={...bn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=r(t.target)||document.documentElement,a(_n,t,vn),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${e}[data-bs-target="${t}"],${e}[href="${t}"]`)),i=V.findOne(e.join(","),this._config.target);i.classList.add(yn),i.classList.contains("dropdown-item")?V.findOne(".dropdown-toggle",i.closest(".dropdown")).classList.add(yn):V.parents(i,".nav, .list-group").forEach((t=>{V.prev(t,".nav-link, .list-group-item").forEach((t=>t.classList.add(yn))),V.prev(t,".nav-item").forEach((t=>{V.children(t,".nav-link").forEach((t=>t.classList.add(yn)))}))})),j.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){V.find(wn,this._config.target).filter((t=>t.classList.contains(yn))).forEach((t=>t.classList.remove(yn)))}static jQueryInterface(t){return this.each((function(){const e=An.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(window,"load.bs.scrollspy.data-api",(()=>{V.find('[data-bs-spy="scroll"]').forEach((t=>new An(t)))})),g(An);const Tn="active",On="fade",Cn="show",kn=".active",Ln=":scope > li > .active";class xn extends B{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Tn))return;let t;const e=n(this._element),i=this._element.closest(".nav, .list-group");if(i){const e="UL"===i.nodeName||"OL"===i.nodeName?Ln:kn;t=V.find(e,i),t=t[t.length-1]}const s=t?j.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if(j.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==s&&s.defaultPrevented)return;this._activate(this._element,i);const o=()=>{j.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),j.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const n=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?V.children(e,kn):V.find(Ln,e))[0],s=i&&n&&n.classList.contains(On),o=()=>this._transitionComplete(t,n,i);n&&s?(n.classList.remove(Cn),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Tn);const t=V.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove(Tn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add(Tn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),u(t),t.classList.contains(On)&&t.classList.add(Cn);let n=t.parentNode;if(n&&"LI"===n.nodeName&&(n=n.parentNode),n&&n.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&V.find(".dropdown-toggle",e).forEach((t=>t.classList.add(Tn))),t.setAttribute("aria-expanded",!0)}i&&i()}static jQueryInterface(t){return this.each((function(){const e=xn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this)||xn.getOrCreateInstance(this).show()})),g(xn);const Dn="toast",Sn="hide",Nn="show",In="showing",Pn={animation:"boolean",autohide:"boolean",delay:"number"},jn={animation:!0,autohide:!0,delay:5e3};class Mn extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return Pn}static get Default(){return jn}static get NAME(){return Dn}show(){j.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Sn),u(this._element),this._element.classList.add(Nn),this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.remove(In),j.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(Nn)&&(j.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.add(Sn),this._element.classList.remove(In),this._element.classList.remove(Nn),j.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(Nn)&&this._element.classList.remove(Nn),super.dispose()}_getConfig(t){return t={...jn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},a(Dn,t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),j.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Mn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(Mn),g(Mn),{Alert:W,Button:z,Carousel:st,Collapse:pt,Dropdown:hi,Modal:Hi,Offcanvas:Fi,Popover:gn,ScrollSpy:An,Tab:xn,Toast:Mn,Tooltip:un}})); -//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/docs/site_libs/quarto-html/anchor.min.js b/docs/site_libs/quarto-html/anchor.min.js deleted file mode 100644 index 1c2b86fa..00000000 --- a/docs/site_libs/quarto-html/anchor.min.js +++ /dev/null @@ -1,9 +0,0 @@ -// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat -// -// AnchorJS - v4.3.1 - 2021-04-17 -// https://www.bryanbraun.com/anchorjs/ -// Copyright (c) 2021 Bryan Braun; Licensed MIT -// -// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat -!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function d(A){A.icon=Object.prototype.hasOwnProperty.call(A,"icon")?A.icon:"",A.visible=Object.prototype.hasOwnProperty.call(A,"visible")?A.visible:"hover",A.placement=Object.prototype.hasOwnProperty.call(A,"placement")?A.placement:"right",A.ariaLabel=Object.prototype.hasOwnProperty.call(A,"ariaLabel")?A.ariaLabel:"Anchor",A.class=Object.prototype.hasOwnProperty.call(A,"class")?A.class:"",A.base=Object.prototype.hasOwnProperty.call(A,"base")?A.base:"",A.truncate=Object.prototype.hasOwnProperty.call(A,"truncate")?Math.floor(A.truncate):64,A.titleText=Object.prototype.hasOwnProperty.call(A,"titleText")?A.titleText:""}function w(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new TypeError("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],d(this.options),this.isTouchDevice=function(){return Boolean("ontouchstart"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,o,i,n,s,a,c,r,l,h,u,p=[];if(d(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),0===(e=w(A=A||"h2, h3, h4, h5, h6")).length)return this;for(null===document.head.querySelector("style.anchorjs")&&((u=document.createElement("style")).className="anchorjs",u.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(u):document.head.insertBefore(u,A),u.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",u.sheet.cssRules.length),u.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",u.sheet.cssRules.length),u.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",u.sheet.cssRules.length),u.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',u.sheet.cssRules.length)),u=document.querySelectorAll("[id]"),t=[].map.call(u,function(A){return A.id}),i=0;i\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),A=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||A||!1}}}); -// @license-end \ No newline at end of file diff --git a/docs/site_libs/quarto-html/popper.min.js b/docs/site_libs/quarto-html/popper.min.js deleted file mode 100644 index 2269d669..00000000 --- a/docs/site_libs/quarto-html/popper.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @popperjs/core v2.11.4 - MIT License - */ - -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),o=1,i=1;if(r(e)&&t){var a=e.offsetHeight,f=e.offsetWidth;f>0&&(o=s(n.width)/f||1),a>0&&(i=s(n.height)/a||1)}return{width:n.width/o,height:n.height/i,top:n.top/i,right:n.right/o,bottom:n.bottom/i,left:n.left/o,x:n.left/o,y:n.top/i}}function c(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function p(e){return e?(e.nodeName||"").toLowerCase():null}function u(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function l(e){return f(u(e)).left+c(e).scrollLeft}function d(e){return t(e).getComputedStyle(e)}function h(e){var t=d(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function m(e,n,o){void 0===o&&(o=!1);var i,a,d=r(n),m=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),v=u(n),g=f(e,m),y={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(d||!d&&!o)&&(("body"!==p(n)||h(v))&&(y=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:c(i)),r(n)?((b=f(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):v&&(b.x=l(v))),{x:g.left+y.scrollLeft-b.x,y:g.top+y.scrollTop-b.y,width:g.width,height:g.height}}function v(e){var t=f(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function g(e){return"html"===p(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||u(e)}function y(e){return["html","body","#document"].indexOf(p(e))>=0?e.ownerDocument.body:r(e)&&h(e)?e:y(g(e))}function b(e,n){var r;void 0===n&&(n=[]);var o=y(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],h(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(b(g(s)))}function x(e){return["table","td","th"].indexOf(p(e))>=0}function w(e){return r(e)&&"fixed"!==d(e).position?e.offsetParent:null}function O(e){for(var n=t(e),i=w(e);i&&x(i)&&"static"===d(i).position;)i=w(i);return i&&("html"===p(i)||"body"===p(i)&&"static"===d(i).position)?n:i||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&r(e)&&"fixed"===d(e).position)return null;var n=g(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(p(n))<0;){var i=d(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var j="top",E="bottom",D="right",A="left",L="auto",P=[j,E,D,A],M="start",k="end",W="viewport",B="popper",H=P.reduce((function(e,t){return e.concat([t+"-"+M,t+"-"+k])}),[]),T=[].concat(P,[L]).reduce((function(e,t){return e.concat([t,t+"-"+M,t+"-"+k])}),[]),R=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function S(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function C(e){return e.split("-")[0]}function q(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function V(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function N(e,r){return r===W?V(function(e){var n=t(e),r=u(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,s=0,f=0;return o&&(i=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=o.offsetLeft,f=o.offsetTop)),{width:i,height:a,x:s+l(e),y:f}}(e)):n(r)?function(e){var t=f(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(r):V(function(e){var t,n=u(e),r=c(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+l(e),p=-r.scrollTop;return"rtl"===d(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:p}}(u(e)))}function I(e,t,o){var s="clippingParents"===t?function(e){var t=b(g(e)),o=["absolute","fixed"].indexOf(d(e).position)>=0&&r(e)?O(e):e;return n(o)?t.filter((function(e){return n(e)&&q(e,o)&&"body"!==p(e)})):[]}(e):[].concat(t),f=[].concat(s,[o]),c=f[0],u=f.reduce((function(t,n){var r=N(e,n);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),N(e,c));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function _(e){return e.split("-")[1]}function F(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function U(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?C(o):null,a=o?_(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case j:t={x:s,y:n.y-r.height};break;case E:t={x:s,y:n.y+n.height};break;case D:t={x:n.x+n.width,y:f};break;case A:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?F(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case M:t[c]=t[c]-(n[p]/2-r[p]/2);break;case k:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function z(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function X(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function Y(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.boundary,s=void 0===a?"clippingParents":a,c=r.rootBoundary,p=void 0===c?W:c,l=r.elementContext,d=void 0===l?B:l,h=r.altBoundary,m=void 0!==h&&h,v=r.padding,g=void 0===v?0:v,y=z("number"!=typeof g?g:X(g,P)),b=d===B?"reference":B,x=e.rects.popper,w=e.elements[m?b:d],O=I(n(w)?w:w.contextElement||u(e.elements.popper),s,p),A=f(e.elements.reference),L=U({reference:A,element:x,strategy:"absolute",placement:i}),M=V(Object.assign({},x,L)),k=d===B?M:A,H={top:O.top-k.top+y.top,bottom:k.bottom-O.bottom+y.bottom,left:O.left-k.left+y.left,right:k.right-O.right+y.right},T=e.modifiersData.offset;if(d===B&&T){var R=T[i];Object.keys(H).forEach((function(e){var t=[D,E].indexOf(e)>=0?1:-1,n=[j,E].indexOf(e)>=0?"y":"x";H[e]+=R[n]*t}))}return H}var G={placement:"bottom",modifiers:[],strategy:"absolute"};function J(){for(var e=arguments.length,t=new Array(e),n=0;n=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[A,D].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},ie={left:"right",right:"left",bottom:"top",top:"bottom"};function ae(e){return e.replace(/left|right|bottom|top/g,(function(e){return ie[e]}))}var se={start:"end",end:"start"};function fe(e){return e.replace(/start|end/g,(function(e){return se[e]}))}function ce(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?T:f,p=_(r),u=p?s?H:H.filter((function(e){return _(e)===p})):P,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=Y(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[C(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var pe={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,g=C(v),y=f||(g===v||!h?[ae(v)]:function(e){if(C(e)===L)return[];var t=ae(e);return[fe(e),t,fe(t)]}(v)),b=[v].concat(y).reduce((function(e,n){return e.concat(C(n)===L?ce(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,w=t.rects.popper,O=new Map,P=!0,k=b[0],W=0;W=0,S=R?"width":"height",q=Y(t,{placement:B,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),V=R?T?D:A:T?E:j;x[S]>w[S]&&(V=ae(V));var N=ae(V),I=[];if(i&&I.push(q[H]<=0),s&&I.push(q[V]<=0,q[N]<=0),I.every((function(e){return e}))){k=B,P=!1;break}O.set(B,I)}if(P)for(var F=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return k=t,"break"},U=h?3:1;U>0;U--){if("break"===F(U))break}t.placement!==k&&(t.modifiersData[r]._skip=!0,t.placement=k,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function ue(e,t,n){return i(e,a(t,n))}var le={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,g=n.tetherOffset,y=void 0===g?0:g,b=Y(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),x=C(t.placement),w=_(t.placement),L=!w,P=F(x),k="x"===P?"y":"x",W=t.modifiersData.popperOffsets,B=t.rects.reference,H=t.rects.popper,T="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,R="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,q={x:0,y:0};if(W){if(s){var V,N="y"===P?j:A,I="y"===P?E:D,U="y"===P?"height":"width",z=W[P],X=z+b[N],G=z-b[I],J=m?-H[U]/2:0,K=w===M?B[U]:H[U],Q=w===M?-H[U]:-B[U],Z=t.elements.arrow,$=m&&Z?v(Z):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[N],ne=ee[I],re=ue(0,B[U],$[U]),oe=L?B[U]/2-J-re-te-R.mainAxis:K-re-te-R.mainAxis,ie=L?-B[U]/2+J+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=t.elements.arrow&&O(t.elements.arrow),se=ae?"y"===P?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(V=null==S?void 0:S[P])?V:0,ce=z+ie-fe,pe=ue(m?a(X,z+oe-fe-se):X,z,m?i(G,ce):G);W[P]=pe,q[P]=pe-z}if(c){var le,de="x"===P?j:A,he="x"===P?E:D,me=W[k],ve="y"===k?"height":"width",ge=me+b[de],ye=me-b[he],be=-1!==[j,A].indexOf(x),xe=null!=(le=null==S?void 0:S[k])?le:0,we=be?ge:me-B[ve]-H[ve]-xe+R.altAxis,Oe=be?me+B[ve]+H[ve]-xe-R.altAxis:ye,je=m&&be?function(e,t,n){var r=ue(e,t,n);return r>n?n:r}(we,me,Oe):ue(m?we:ge,me,m?Oe:ye);W[k]=je,q[k]=je-me}t.modifiersData[r]=q}},requiresIfExists:["offset"]};var de={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=C(n.placement),f=F(s),c=[A,D].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return z("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:X(e,P))}(o.padding,n),u=v(i),l="y"===f?j:A,d="y"===f?E:D,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],g=O(i),y=g?"y"===f?g.clientHeight||0:g.clientWidth||0:0,b=h/2-m/2,x=p[l],w=y-u[c]-p[d],L=y/2-u[c]/2+b,M=ue(x,L,w),k=f;n.modifiersData[r]=((t={})[k]=M,t.centerOffset=M-L,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&q(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function he(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function me(e){return[j,D,E,A].some((function(t){return e[t]>=0}))}var ve={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=Y(t,{elementContext:"reference"}),s=Y(t,{altBoundary:!0}),f=he(a,r),c=he(s,o,i),p=me(f),u=me(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}},ge=K({defaultModifiers:[Z,$,ne,re]}),ye=[Z,$,ne,re,oe,pe,le,de,ve],be=K({defaultModifiers:ye});e.applyStyles=re,e.arrow=de,e.computeStyles=ne,e.createPopper=be,e.createPopperLite=ge,e.defaultModifiers=ye,e.detectOverflow=Y,e.eventListeners=Z,e.flip=pe,e.hide=ve,e.offset=oe,e.popperGenerator=K,e.popperOffsets=$,e.preventOverflow=le,Object.defineProperty(e,"__esModule",{value:!0})})); - diff --git a/docs/site_libs/quarto-html/quarto.js b/docs/site_libs/quarto-html/quarto.js deleted file mode 100644 index c3935c7e..00000000 --- a/docs/site_libs/quarto-html/quarto.js +++ /dev/null @@ -1,902 +0,0 @@ -const sectionChanged = new CustomEvent("quarto-sectionChanged", { - detail: {}, - bubbles: true, - cancelable: false, - composed: false, -}); - -const layoutMarginEls = () => { - // Find any conflicting margin elements and add margins to the - // top to prevent overlap - const marginChildren = window.document.querySelectorAll( - ".column-margin.column-container > * " - ); - - let lastBottom = 0; - for (const marginChild of marginChildren) { - if (marginChild.offsetParent !== null) { - // clear the top margin so we recompute it - marginChild.style.marginTop = null; - const top = marginChild.getBoundingClientRect().top + window.scrollY; - console.log({ - childtop: marginChild.getBoundingClientRect().top, - scroll: window.scrollY, - top, - lastBottom, - }); - if (top < lastBottom) { - const margin = lastBottom - top; - marginChild.style.marginTop = `${margin}px`; - } - const styles = window.getComputedStyle(marginChild); - const marginTop = parseFloat(styles["marginTop"]); - - console.log({ - top, - height: marginChild.getBoundingClientRect().height, - marginTop, - total: top + marginChild.getBoundingClientRect().height + marginTop, - }); - lastBottom = top + marginChild.getBoundingClientRect().height + marginTop; - } - } -}; - -window.document.addEventListener("DOMContentLoaded", function (_event) { - // Recompute the position of margin elements anytime the body size changes - if (window.ResizeObserver) { - const resizeObserver = new window.ResizeObserver( - throttle(layoutMarginEls, 50) - ); - resizeObserver.observe(window.document.body); - } - - const tocEl = window.document.querySelector('nav.toc-active[role="doc-toc"]'); - const sidebarEl = window.document.getElementById("quarto-sidebar"); - const leftTocEl = window.document.getElementById("quarto-sidebar-toc-left"); - const marginSidebarEl = window.document.getElementById( - "quarto-margin-sidebar" - ); - // function to determine whether the element has a previous sibling that is active - const prevSiblingIsActiveLink = (el) => { - const sibling = el.previousElementSibling; - if (sibling && sibling.tagName === "A") { - return sibling.classList.contains("active"); - } else { - return false; - } - }; - - // fire slideEnter for bootstrap tab activations (for htmlwidget resize behavior) - function fireSlideEnter(e) { - const event = window.document.createEvent("Event"); - event.initEvent("slideenter", true, true); - window.document.dispatchEvent(event); - } - const tabs = window.document.querySelectorAll('a[data-bs-toggle="tab"]'); - tabs.forEach((tab) => { - tab.addEventListener("shown.bs.tab", fireSlideEnter); - }); - - // fire slideEnter for tabby tab activations (for htmlwidget resize behavior) - document.addEventListener("tabby", fireSlideEnter, false); - - // Track scrolling and mark TOC links as active - // get table of contents and sidebar (bail if we don't have at least one) - const tocLinks = tocEl - ? [...tocEl.querySelectorAll("a[data-scroll-target]")] - : []; - const makeActive = (link) => tocLinks[link].classList.add("active"); - const removeActive = (link) => tocLinks[link].classList.remove("active"); - const removeAllActive = () => - [...Array(tocLinks.length).keys()].forEach((link) => removeActive(link)); - - // activate the anchor for a section associated with this TOC entry - tocLinks.forEach((link) => { - link.addEventListener("click", () => { - if (link.href.indexOf("#") !== -1) { - const anchor = link.href.split("#")[1]; - const heading = window.document.querySelector( - `[data-anchor-id=${anchor}]` - ); - if (heading) { - // Add the class - heading.classList.add("reveal-anchorjs-link"); - - // function to show the anchor - const handleMouseout = () => { - heading.classList.remove("reveal-anchorjs-link"); - heading.removeEventListener("mouseout", handleMouseout); - }; - - // add a function to clear the anchor when the user mouses out of it - heading.addEventListener("mouseout", handleMouseout); - } - } - }); - }); - - const sections = tocLinks.map((link) => { - const target = link.getAttribute("data-scroll-target"); - if (target.startsWith("#")) { - return window.document.getElementById(decodeURI(`${target.slice(1)}`)); - } else { - return window.document.querySelector(decodeURI(`${target}`)); - } - }); - - const sectionMargin = 200; - let currentActive = 0; - // track whether we've initialized state the first time - let init = false; - - const updateActiveLink = () => { - // The index from bottom to top (e.g. reversed list) - let sectionIndex = -1; - if ( - window.innerHeight + window.pageYOffset >= - window.document.body.offsetHeight - ) { - sectionIndex = 0; - } else { - sectionIndex = [...sections].reverse().findIndex((section) => { - if (section) { - return window.pageYOffset >= section.offsetTop - sectionMargin; - } else { - return false; - } - }); - } - if (sectionIndex > -1) { - const current = sections.length - sectionIndex - 1; - if (current !== currentActive) { - removeAllActive(); - currentActive = current; - makeActive(current); - if (init) { - window.dispatchEvent(sectionChanged); - } - init = true; - } - } - }; - - const inHiddenRegion = (top, bottom, hiddenRegions) => { - for (const region of hiddenRegions) { - if (top <= region.bottom && bottom >= region.top) { - return true; - } - } - return false; - }; - - const categorySelector = "header.quarto-title-block .quarto-category"; - const activateCategories = (href) => { - // Find any categories - // Surround them with a link pointing back to: - // #category=Authoring - try { - const categoryEls = window.document.querySelectorAll(categorySelector); - for (const categoryEl of categoryEls) { - const categoryText = categoryEl.textContent; - if (categoryText) { - const link = `${href}#category=${encodeURIComponent(categoryText)}`; - const linkEl = window.document.createElement("a"); - linkEl.setAttribute("href", link); - for (const child of categoryEl.childNodes) { - linkEl.append(child); - } - categoryEl.appendChild(linkEl); - } - } - } catch { - // Ignore errors - } - }; - function hasTitleCategories() { - return window.document.querySelector(categorySelector) !== null; - } - - function offsetRelativeUrl(url) { - const offset = getMeta("quarto:offset"); - return offset ? offset + url : url; - } - - function offsetAbsoluteUrl(url) { - const offset = getMeta("quarto:offset"); - const baseUrl = new URL(offset, window.location); - - const projRelativeUrl = url.replace(baseUrl, ""); - if (projRelativeUrl.startsWith("/")) { - return projRelativeUrl; - } else { - return "/" + projRelativeUrl; - } - } - - // read a meta tag value - function getMeta(metaName) { - const metas = window.document.getElementsByTagName("meta"); - for (let i = 0; i < metas.length; i++) { - if (metas[i].getAttribute("name") === metaName) { - return metas[i].getAttribute("content"); - } - } - return ""; - } - - async function findAndActivateCategories() { - const currentPagePath = offsetAbsoluteUrl(window.location.href); - const response = await fetch(offsetRelativeUrl("listings.json")); - if (response.status == 200) { - return response.json().then(function (listingPaths) { - const listingHrefs = []; - for (const listingPath of listingPaths) { - const pathWithoutLeadingSlash = listingPath.listing.substring(1); - for (const item of listingPath.items) { - if ( - item === currentPagePath || - item === currentPagePath + "index.html" - ) { - // Resolve this path against the offset to be sure - // we already are using the correct path to the listing - // (this adjusts the listing urls to be rooted against - // whatever root the page is actually running against) - const relative = offsetRelativeUrl(pathWithoutLeadingSlash); - const baseUrl = window.location; - const resolvedPath = new URL(relative, baseUrl); - listingHrefs.push(resolvedPath.pathname); - break; - } - } - } - - // Look up the tree for a nearby linting and use that if we find one - const nearestListing = findNearestParentListing( - offsetAbsoluteUrl(window.location.pathname), - listingHrefs - ); - if (nearestListing) { - activateCategories(nearestListing); - } else { - // See if the referrer is a listing page for this item - const referredRelativePath = offsetAbsoluteUrl(document.referrer); - const referrerListing = listingHrefs.find((listingHref) => { - const isListingReferrer = - listingHref === referredRelativePath || - listingHref === referredRelativePath + "index.html"; - return isListingReferrer; - }); - - if (referrerListing) { - // Try to use the referrer if possible - activateCategories(referrerListing); - } else if (listingHrefs.length > 0) { - // Otherwise, just fall back to the first listing - activateCategories(listingHrefs[0]); - } - } - }); - } - } - if (hasTitleCategories()) { - findAndActivateCategories(); - } - - const findNearestParentListing = (href, listingHrefs) => { - if (!href || !listingHrefs) { - return undefined; - } - // Look up the tree for a nearby linting and use that if we find one - const relativeParts = href.substring(1).split("/"); - while (relativeParts.length > 0) { - const path = relativeParts.join("/"); - for (const listingHref of listingHrefs) { - if (listingHref.startsWith(path)) { - return listingHref; - } - } - relativeParts.pop(); - } - - return undefined; - }; - - const manageSidebarVisiblity = (el, placeholderDescriptor) => { - let isVisible = true; - let elRect; - - return (hiddenRegions) => { - if (el === null) { - return; - } - - // Find the last element of the TOC - const lastChildEl = el.lastElementChild; - - if (lastChildEl) { - // Converts the sidebar to a menu - const convertToMenu = () => { - for (const child of el.children) { - child.style.opacity = 0; - child.style.overflow = "hidden"; - } - - nexttick(() => { - const toggleContainer = window.document.createElement("div"); - toggleContainer.style.width = "100%"; - toggleContainer.classList.add("zindex-over-content"); - toggleContainer.classList.add("quarto-sidebar-toggle"); - toggleContainer.classList.add("headroom-target"); // Marks this to be managed by headeroom - toggleContainer.id = placeholderDescriptor.id; - toggleContainer.style.position = "fixed"; - - const toggleIcon = window.document.createElement("i"); - toggleIcon.classList.add("quarto-sidebar-toggle-icon"); - toggleIcon.classList.add("bi"); - toggleIcon.classList.add("bi-caret-down-fill"); - - const toggleTitle = window.document.createElement("div"); - const titleEl = window.document.body.querySelector( - placeholderDescriptor.titleSelector - ); - if (titleEl) { - toggleTitle.append( - titleEl.textContent || titleEl.innerText, - toggleIcon - ); - } - toggleTitle.classList.add("zindex-over-content"); - toggleTitle.classList.add("quarto-sidebar-toggle-title"); - toggleContainer.append(toggleTitle); - - const toggleContents = window.document.createElement("div"); - toggleContents.classList = el.classList; - toggleContents.classList.add("zindex-over-content"); - toggleContents.classList.add("quarto-sidebar-toggle-contents"); - for (const child of el.children) { - if (child.id === "toc-title") { - continue; - } - - const clone = child.cloneNode(true); - clone.style.opacity = 1; - clone.style.display = null; - toggleContents.append(clone); - } - toggleContents.style.height = "0px"; - const positionToggle = () => { - // position the element (top left of parent, same width as parent) - if (!elRect) { - elRect = el.getBoundingClientRect(); - } - toggleContainer.style.left = `${elRect.left}px`; - toggleContainer.style.top = `${elRect.top}px`; - toggleContainer.style.width = `${elRect.width}px`; - }; - positionToggle(); - - toggleContainer.append(toggleContents); - el.parentElement.prepend(toggleContainer); - - // Process clicks - let tocShowing = false; - // Allow the caller to control whether this is dismissed - // when it is clicked (e.g. sidebar navigation supports - // opening and closing the nav tree, so don't dismiss on click) - const clickEl = placeholderDescriptor.dismissOnClick - ? toggleContainer - : toggleTitle; - - const closeToggle = () => { - if (tocShowing) { - toggleContainer.classList.remove("expanded"); - toggleContents.style.height = "0px"; - tocShowing = false; - } - }; - - // Get rid of any expanded toggle if the user scrolls - window.document.addEventListener( - "scroll", - throttle(() => { - closeToggle(); - }, 50) - ); - - // Handle positioning of the toggle - window.addEventListener( - "resize", - throttle(() => { - elRect = undefined; - positionToggle(); - }, 50) - ); - - window.addEventListener("quarto-hrChanged", () => { - elRect = undefined; - }); - - // Process the click - clickEl.onclick = () => { - if (!tocShowing) { - toggleContainer.classList.add("expanded"); - toggleContents.style.height = null; - tocShowing = true; - } else { - closeToggle(); - } - }; - }); - }; - - // Converts a sidebar from a menu back to a sidebar - const convertToSidebar = () => { - for (const child of el.children) { - child.style.opacity = 1; - child.style.overflow = null; - } - - const placeholderEl = window.document.getElementById( - placeholderDescriptor.id - ); - if (placeholderEl) { - placeholderEl.remove(); - } - - el.classList.remove("rollup"); - }; - - if (isReaderMode()) { - convertToMenu(); - isVisible = false; - } else { - // Find the top and bottom o the element that is being managed - const elTop = el.offsetTop; - const elBottom = - elTop + lastChildEl.offsetTop + lastChildEl.offsetHeight; - - if (!isVisible) { - // If the element is current not visible reveal if there are - // no conflicts with overlay regions - if (!inHiddenRegion(elTop, elBottom, hiddenRegions)) { - convertToSidebar(); - isVisible = true; - } - } else { - // If the element is visible, hide it if it conflicts with overlay regions - // and insert a placeholder toggle (or if we're in reader mode) - if (inHiddenRegion(elTop, elBottom, hiddenRegions)) { - convertToMenu(); - isVisible = false; - } - } - } - } - }; - }; - - const tabEls = document.querySelectorAll('a[data-bs-toggle="tab"]'); - for (const tabEl of tabEls) { - const id = tabEl.getAttribute("data-bs-target"); - if (id) { - const columnEl = document.querySelector( - `${id} .column-margin, .tabset-margin-content` - ); - if (columnEl) - tabEl.addEventListener("shown.bs.tab", function (event) { - const el = event.srcElement; - if (el) { - const visibleCls = `${el.id}-margin-content`; - // walk up until we find a parent tabset - let panelTabsetEl = el.parentElement; - while (panelTabsetEl) { - if (panelTabsetEl.classList.contains("panel-tabset")) { - break; - } - panelTabsetEl = panelTabsetEl.parentElement; - } - - if (panelTabsetEl) { - const prevSib = panelTabsetEl.previousElementSibling; - if ( - prevSib && - prevSib.classList.contains("tabset-margin-container") - ) { - const childNodes = prevSib.querySelectorAll( - ".tabset-margin-content" - ); - for (const childEl of childNodes) { - if (childEl.classList.contains(visibleCls)) { - childEl.classList.remove("collapse"); - } else { - childEl.classList.add("collapse"); - } - } - } - } - } - - layoutMarginEls(); - }); - } - } - - // Manage the visibility of the toc and the sidebar - const marginScrollVisibility = manageSidebarVisiblity(marginSidebarEl, { - id: "quarto-toc-toggle", - titleSelector: "#toc-title", - dismissOnClick: true, - }); - const sidebarScrollVisiblity = manageSidebarVisiblity(sidebarEl, { - id: "quarto-sidebarnav-toggle", - titleSelector: ".title", - dismissOnClick: false, - }); - let tocLeftScrollVisibility; - if (leftTocEl) { - tocLeftScrollVisibility = manageSidebarVisiblity(leftTocEl, { - id: "quarto-lefttoc-toggle", - titleSelector: "#toc-title", - dismissOnClick: true, - }); - } - - // Find the first element that uses formatting in special columns - const conflictingEls = window.document.body.querySelectorAll( - '[class^="column-"], [class*=" column-"], aside, [class*="margin-caption"], [class*=" margin-caption"], [class*="margin-ref"], [class*=" margin-ref"]' - ); - - // Filter all the possibly conflicting elements into ones - // the do conflict on the left or ride side - const arrConflictingEls = Array.from(conflictingEls); - const leftSideConflictEls = arrConflictingEls.filter((el) => { - if (el.tagName === "ASIDE") { - return false; - } - return Array.from(el.classList).find((className) => { - return ( - className !== "column-body" && - className.startsWith("column-") && - !className.endsWith("right") && - !className.endsWith("container") && - className !== "column-margin" - ); - }); - }); - const rightSideConflictEls = arrConflictingEls.filter((el) => { - if (el.tagName === "ASIDE") { - return true; - } - - const hasMarginCaption = Array.from(el.classList).find((className) => { - return className == "margin-caption"; - }); - if (hasMarginCaption) { - return true; - } - - return Array.from(el.classList).find((className) => { - return ( - className !== "column-body" && - !className.endsWith("container") && - className.startsWith("column-") && - !className.endsWith("left") - ); - }); - }); - - const kOverlapPaddingSize = 10; - function toRegions(els) { - return els.map((el) => { - const boundRect = el.getBoundingClientRect(); - const top = - boundRect.top + - document.documentElement.scrollTop - - kOverlapPaddingSize; - return { - top, - bottom: top + el.scrollHeight + 2 * kOverlapPaddingSize, - }; - }); - } - - let hasObserved = false; - const visibleItemObserver = (els) => { - let visibleElements = [...els]; - const intersectionObserver = new IntersectionObserver( - (entries, _observer) => { - entries.forEach((entry) => { - if (entry.isIntersecting) { - if (visibleElements.indexOf(entry.target) === -1) { - visibleElements.push(entry.target); - } - } else { - visibleElements = visibleElements.filter((visibleEntry) => { - return visibleEntry !== entry; - }); - } - }); - - if (!hasObserved) { - hideOverlappedSidebars(); - } - hasObserved = true; - }, - {} - ); - els.forEach((el) => { - intersectionObserver.observe(el); - }); - - return { - getVisibleEntries: () => { - return visibleElements; - }, - }; - }; - - const rightElementObserver = visibleItemObserver(rightSideConflictEls); - const leftElementObserver = visibleItemObserver(leftSideConflictEls); - - const hideOverlappedSidebars = () => { - marginScrollVisibility(toRegions(rightElementObserver.getVisibleEntries())); - sidebarScrollVisiblity(toRegions(leftElementObserver.getVisibleEntries())); - if (tocLeftScrollVisibility) { - tocLeftScrollVisibility( - toRegions(leftElementObserver.getVisibleEntries()) - ); - } - }; - - window.quartoToggleReader = () => { - // Applies a slow class (or removes it) - // to update the transition speed - const slowTransition = (slow) => { - const manageTransition = (id, slow) => { - const el = document.getElementById(id); - if (el) { - if (slow) { - el.classList.add("slow"); - } else { - el.classList.remove("slow"); - } - } - }; - - manageTransition("TOC", slow); - manageTransition("quarto-sidebar", slow); - }; - const readerMode = !isReaderMode(); - setReaderModeValue(readerMode); - - // If we're entering reader mode, slow the transition - if (readerMode) { - slowTransition(readerMode); - } - highlightReaderToggle(readerMode); - hideOverlappedSidebars(); - - // If we're exiting reader mode, restore the non-slow transition - if (!readerMode) { - slowTransition(!readerMode); - } - }; - - const highlightReaderToggle = (readerMode) => { - const els = document.querySelectorAll(".quarto-reader-toggle"); - if (els) { - els.forEach((el) => { - if (readerMode) { - el.classList.add("reader"); - } else { - el.classList.remove("reader"); - } - }); - } - }; - - const setReaderModeValue = (val) => { - if (window.location.protocol !== "file:") { - window.localStorage.setItem("quarto-reader-mode", val); - } else { - localReaderMode = val; - } - }; - - const isReaderMode = () => { - if (window.location.protocol !== "file:") { - return window.localStorage.getItem("quarto-reader-mode") === "true"; - } else { - return localReaderMode; - } - }; - let localReaderMode = null; - - const tocOpenDepthStr = tocEl?.getAttribute("data-toc-expanded"); - const tocOpenDepth = tocOpenDepthStr ? Number(tocOpenDepthStr) : 1; - - // Walk the TOC and collapse/expand nodes - // Nodes are expanded if: - // - they are top level - // - they have children that are 'active' links - // - they are directly below an link that is 'active' - const walk = (el, depth) => { - // Tick depth when we enter a UL - if (el.tagName === "UL") { - depth = depth + 1; - } - - // It this is active link - let isActiveNode = false; - if (el.tagName === "A" && el.classList.contains("active")) { - isActiveNode = true; - } - - // See if there is an active child to this element - let hasActiveChild = false; - for (child of el.children) { - hasActiveChild = walk(child, depth) || hasActiveChild; - } - - // Process the collapse state if this is an UL - if (el.tagName === "UL") { - if (tocOpenDepth === -1 && depth > 1) { - el.classList.add("collapse"); - } else if ( - depth <= tocOpenDepth || - hasActiveChild || - prevSiblingIsActiveLink(el) - ) { - el.classList.remove("collapse"); - } else { - el.classList.add("collapse"); - } - - // untick depth when we leave a UL - depth = depth - 1; - } - return hasActiveChild || isActiveNode; - }; - - // walk the TOC and expand / collapse any items that should be shown - - if (tocEl) { - walk(tocEl, 0); - updateActiveLink(); - } - - // Throttle the scroll event and walk peridiocally - window.document.addEventListener( - "scroll", - throttle(() => { - if (tocEl) { - updateActiveLink(); - walk(tocEl, 0); - } - if (!isReaderMode()) { - hideOverlappedSidebars(); - } - }, 5) - ); - window.addEventListener( - "resize", - throttle(() => { - if (!isReaderMode()) { - hideOverlappedSidebars(); - } - }, 10) - ); - hideOverlappedSidebars(); - highlightReaderToggle(isReaderMode()); -}); - -// grouped tabsets -window.addEventListener("pageshow", (_event) => { - function getTabSettings() { - const data = localStorage.getItem("quarto-persistent-tabsets-data"); - if (!data) { - localStorage.setItem("quarto-persistent-tabsets-data", "{}"); - return {}; - } - if (data) { - return JSON.parse(data); - } - } - - function setTabSettings(data) { - localStorage.setItem( - "quarto-persistent-tabsets-data", - JSON.stringify(data) - ); - } - - function setTabState(groupName, groupValue) { - const data = getTabSettings(); - data[groupName] = groupValue; - setTabSettings(data); - } - - function toggleTab(tab, active) { - const tabPanelId = tab.getAttribute("aria-controls"); - const tabPanel = document.getElementById(tabPanelId); - if (active) { - tab.classList.add("active"); - tabPanel.classList.add("active"); - } else { - tab.classList.remove("active"); - tabPanel.classList.remove("active"); - } - } - - function toggleAll(selectedGroup, selectorsToSync) { - for (const [thisGroup, tabs] of Object.entries(selectorsToSync)) { - const active = selectedGroup === thisGroup; - for (const tab of tabs) { - toggleTab(tab, active); - } - } - } - - function findSelectorsToSyncByLanguage() { - const result = {}; - const tabs = Array.from( - document.querySelectorAll(`div[data-group] a[id^='tabset-']`) - ); - for (const item of tabs) { - const div = item.parentElement.parentElement.parentElement; - const group = div.getAttribute("data-group"); - if (!result[group]) { - result[group] = {}; - } - const selectorsToSync = result[group]; - const value = item.innerHTML; - if (!selectorsToSync[value]) { - selectorsToSync[value] = []; - } - selectorsToSync[value].push(item); - } - return result; - } - - function setupSelectorSync() { - const selectorsToSync = findSelectorsToSyncByLanguage(); - Object.entries(selectorsToSync).forEach(([group, tabSetsByValue]) => { - Object.entries(tabSetsByValue).forEach(([value, items]) => { - items.forEach((item) => { - item.addEventListener("click", (_event) => { - setTabState(group, value); - toggleAll(value, selectorsToSync[group]); - }); - }); - }); - }); - return selectorsToSync; - } - - const selectorsToSync = setupSelectorSync(); - for (const [group, selectedName] of Object.entries(getTabSettings())) { - const selectors = selectorsToSync[group]; - // it's possible that stale state gives us empty selections, so we explicitly check here. - if (selectors) { - toggleAll(selectedName, selectors); - } - } -}); - -function throttle(func, wait) { - let waiting = false; - return function () { - if (!waiting) { - func.apply(this, arguments); - waiting = true; - setTimeout(function () { - waiting = false; - }, wait); - } - }; -} - -function nexttick(func) { - return setTimeout(func, 0); -} diff --git a/docs/site_libs/quarto-nav/quarto-nav.js b/docs/site_libs/quarto-nav/quarto-nav.js deleted file mode 100644 index 3b21201f..00000000 --- a/docs/site_libs/quarto-nav/quarto-nav.js +++ /dev/null @@ -1,277 +0,0 @@ -const headroomChanged = new CustomEvent("quarto-hrChanged", { - detail: {}, - bubbles: true, - cancelable: false, - composed: false, -}); - -window.document.addEventListener("DOMContentLoaded", function () { - let init = false; - - // Manage the back to top button, if one is present. - let lastScrollTop = window.pageYOffset || document.documentElement.scrollTop; - const scrollDownBuffer = 5; - const scrollUpBuffer = 35; - const btn = document.getElementById("quarto-back-to-top"); - const hideBackToTop = () => { - btn.style.display = "none"; - }; - const showBackToTop = () => { - btn.style.display = "inline-block"; - }; - if (btn) { - window.document.addEventListener( - "scroll", - function () { - const currentScrollTop = - window.pageYOffset || document.documentElement.scrollTop; - - // Shows and hides the button 'intelligently' as the user scrolls - if (currentScrollTop - scrollDownBuffer > lastScrollTop) { - hideBackToTop(); - lastScrollTop = currentScrollTop <= 0 ? 0 : currentScrollTop; - } else if (currentScrollTop < lastScrollTop - scrollUpBuffer) { - showBackToTop(); - lastScrollTop = currentScrollTop <= 0 ? 0 : currentScrollTop; - } - - // Show the button at the bottom, hides it at the top - if (currentScrollTop <= 0) { - hideBackToTop(); - } else if ( - window.innerHeight + currentScrollTop >= - document.body.offsetHeight - ) { - showBackToTop(); - } - }, - false - ); - } - - function throttle(func, wait) { - var timeout; - return function () { - const context = this; - const args = arguments; - const later = function () { - clearTimeout(timeout); - timeout = null; - func.apply(context, args); - }; - - if (!timeout) { - timeout = setTimeout(later, wait); - } - }; - } - - function headerOffset() { - // Set an offset if there is are fixed top navbar - const headerEl = window.document.querySelector("header.fixed-top"); - if (headerEl) { - return headerEl.clientHeight; - } else { - return 0; - } - } - - function footerOffset() { - const footerEl = window.document.querySelector("footer.footer"); - if (footerEl) { - return footerEl.clientHeight; - } else { - return 0; - } - } - - function updateDocumentOffsetWithoutAnimation() { - updateDocumentOffset(false); - } - - function updateDocumentOffset(animated) { - // set body offset - const topOffset = headerOffset(); - const bodyOffset = topOffset + footerOffset(); - const bodyEl = window.document.body; - bodyEl.setAttribute("data-bs-offset", topOffset); - bodyEl.style.paddingTop = topOffset + "px"; - - // deal with sidebar offsets - const sidebars = window.document.querySelectorAll( - ".sidebar, .headroom-target" - ); - sidebars.forEach((sidebar) => { - if (!animated) { - sidebar.classList.add("notransition"); - // Remove the no transition class after the animation has time to complete - setTimeout(function () { - sidebar.classList.remove("notransition"); - }, 201); - } - - if (window.Headroom && sidebar.classList.contains("sidebar-unpinned")) { - sidebar.style.top = "0"; - sidebar.style.maxHeight = "100vh"; - } else { - sidebar.style.top = topOffset + "px"; - sidebar.style.maxHeight = "calc(100vh - " + topOffset + "px)"; - } - }); - - // allow space for footer - const mainContainer = window.document.querySelector(".quarto-container"); - if (mainContainer) { - mainContainer.style.minHeight = "calc(100vh - " + bodyOffset + "px)"; - } - - // link offset - let linkStyle = window.document.querySelector("#quarto-target-style"); - if (!linkStyle) { - linkStyle = window.document.createElement("style"); - linkStyle.setAttribute("id", "quarto-target-style"); - window.document.head.appendChild(linkStyle); - } - while (linkStyle.firstChild) { - linkStyle.removeChild(linkStyle.firstChild); - } - if (topOffset > 0) { - linkStyle.appendChild( - window.document.createTextNode(` - section:target::before { - content: ""; - display: block; - height: ${topOffset}px; - margin: -${topOffset}px 0 0; - }`) - ); - } - if (init) { - window.dispatchEvent(headroomChanged); - } - init = true; - } - - // initialize headroom - var header = window.document.querySelector("#quarto-header"); - if (header && window.Headroom) { - const headroom = new window.Headroom(header, { - tolerance: 5, - onPin: function () { - const sidebars = window.document.querySelectorAll( - ".sidebar, .headroom-target" - ); - sidebars.forEach((sidebar) => { - sidebar.classList.remove("sidebar-unpinned"); - }); - updateDocumentOffset(); - }, - onUnpin: function () { - const sidebars = window.document.querySelectorAll( - ".sidebar, .headroom-target" - ); - sidebars.forEach((sidebar) => { - sidebar.classList.add("sidebar-unpinned"); - }); - updateDocumentOffset(); - }, - }); - headroom.init(); - - let frozen = false; - window.quartoToggleHeadroom = function () { - if (frozen) { - headroom.unfreeze(); - frozen = false; - } else { - headroom.freeze(); - frozen = true; - } - }; - } - - window.addEventListener( - "hashchange", - function (e) { - if ( - getComputedStyle(document.documentElement).scrollBehavior !== "smooth" - ) { - window.scrollTo(0, window.pageYOffset - headerOffset()); - } - }, - false - ); - - // Observe size changed for the header - const headerEl = window.document.querySelector("header.fixed-top"); - if (headerEl && window.ResizeObserver) { - const observer = new window.ResizeObserver( - updateDocumentOffsetWithoutAnimation - ); - observer.observe(headerEl, { - attributes: true, - childList: true, - characterData: true, - }); - } else { - window.addEventListener( - "resize", - throttle(updateDocumentOffsetWithoutAnimation, 50) - ); - } - setTimeout(updateDocumentOffsetWithoutAnimation, 250); - - // fixup index.html links if we aren't on the filesystem - if (window.location.protocol !== "file:") { - const links = window.document.querySelectorAll("a"); - for (let i = 0; i < links.length; i++) { - if (links[i].href) { - links[i].href = links[i].href.replace(/\/index\.html/, "/"); - } - } - - // Fixup any sharing links that require urls - // Append url to any sharing urls - const sharingLinks = window.document.querySelectorAll( - "a.sidebar-tools-main-item" - ); - for (let i = 0; i < sharingLinks.length; i++) { - const sharingLink = sharingLinks[i]; - const href = sharingLink.getAttribute("href"); - if (href) { - sharingLink.setAttribute( - "href", - href.replace("|url|", window.location.href) - ); - } - } - - // Scroll the active navigation item into view, if necessary - const navSidebar = window.document.querySelector("nav#quarto-sidebar"); - if (navSidebar) { - // Find the active item - const activeItem = navSidebar.querySelector("li.sidebar-item a.active"); - if (activeItem) { - // Wait for the scroll height and height to resolve by observing size changes on the - // nav element that is scrollable - const resizeObserver = new ResizeObserver((_entries) => { - // The bottom of the element - const elBottom = activeItem.offsetTop; - const viewBottom = navSidebar.scrollTop + navSidebar.clientHeight; - - // The element height and scroll height are the same, then we are still loading - if (viewBottom !== navSidebar.scrollHeight) { - // Determine if the item isn't visible and scroll to it - if (elBottom >= viewBottom) { - navSidebar.scrollTop = elBottom; - } - - // stop observing now since we've completed the scroll - resizeObserver.unobserve(navSidebar); - } - }); - resizeObserver.observe(navSidebar); - } - } - } -}); diff --git a/docs/site_libs/quarto-search/autocomplete.umd.js b/docs/site_libs/quarto-search/autocomplete.umd.js deleted file mode 100644 index 619c57cc..00000000 --- a/docs/site_libs/quarto-search/autocomplete.umd.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! @algolia/autocomplete-js 1.7.3 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-js"]={})}(this,(function(e){"use strict";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(e){for(var n=1;n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,o,i=[],u=!0,a=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);u=!0);}catch(e){a=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(a)throw o}}return i}(e,t)||l(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||l(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=n?null===r?null:0:o}function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t=function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ae,ce,le,se=null,pe=(ae=-1,ce=-1,le=void 0,function(e){var t=++ae;return Promise.resolve(e).then((function(e){return le&&t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ye=["props","refresh","store"],be=["inputElement","formElement","panelElement"],Oe=["inputElement"],_e=["inputElement","maxLength"],Pe=["item","source"];function je(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function we(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ee(e){var t=e.props,n=e.refresh,r=e.store,o=Ie(e,ye);return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,i=e.panelElement;function u(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,i].some((function(t){return n=t,r=e.target,n===r||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return we({onTouchStart:u,onMouseDown:u,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},Ie(e,be))},getRootProps:function(e){return we({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){return e.inputElement,we({action:"",noValidate:!0,role:"search",onSubmit:function(i){var u;i.preventDefault(),t.onSubmit(we({event:i,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(u=e.inputElement)||void 0===u||u.blur()},onReset:function(i){var u;i.preventDefault(),t.onReset(we({event:i,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(u=e.inputElement)||void 0===u||u.focus()}},Ie(e,Oe))},getLabelProps:function(e){return we({htmlFor:"".concat(t.id,"-input"),id:"".concat(t.id,"-label")},e)},getInputProps:function(e){var i;function u(e){(t.openOnFocus||Boolean(r.getState().query))&&fe(we({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var a=e||{};a.inputElement;var c=a.maxLength,l=void 0===c?512:c,s=Ie(a,_e),p=A(r.getState()),f=function(e){return Boolean(e&&e.match(C))}((null===(i=t.environment.navigator)||void 0===i?void 0:i.userAgent)||""),d=null!=p&&p.itemUrl&&!f?"go":"search";return we({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?"".concat(t.id,"-item-").concat(r.getState().activeItemId):void 0,"aria-controls":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:r.getState().completion||r.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:d,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:l,type:"search",onChange:function(e){fe(we({event:e,props:t,query:e.currentTarget.value.slice(0,l),refresh:n,store:r},o))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,i=ge(e,de);if("ArrowUp"===t.key||"ArrowDown"===t.key){var u=function(){var e=n.environment.document.getElementById("".concat(n.id,"-item-").concat(o.getState().activeItemId));e&&(e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView(!1))},a=function(){var e=A(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,u=e.itemInputValue,a=e.itemUrl,c=e.source;c.onActive(ve({event:t,item:n,itemInputValue:u,itemUrl:a,refresh:r,source:c,state:o.getState()},i))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?fe(ve({event:t,props:n,query:o.getState().query,refresh:r,store:o},i)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),a(),setTimeout(u,0)})):(o.dispatch(t.key,{}),a(),u())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var c=A(o.getState()),l=c.item,s=c.itemInputValue,p=c.itemUrl,f=c.source;if(t.metaKey||t.ctrlKey)void 0!==p&&(f.onSelect(ve({event:t,item:l,itemInputValue:s,itemUrl:p,refresh:r,source:f,state:o.getState()},i)),n.navigator.navigateNewTab({itemUrl:p,item:l,state:o.getState()}));else if(t.shiftKey)void 0!==p&&(f.onSelect(ve({event:t,item:l,itemInputValue:s,itemUrl:p,refresh:r,source:f,state:o.getState()},i)),n.navigator.navigateNewWindow({itemUrl:p,item:l,state:o.getState()}));else if(t.altKey);else{if(void 0!==p)return f.onSelect(ve({event:t,item:l,itemInputValue:s,itemUrl:p,refresh:r,source:f,state:o.getState()},i)),void n.navigator.navigate({itemUrl:p,item:l,state:o.getState()});fe(ve({event:t,nextState:{isOpen:!1},props:n,query:s,refresh:r,store:o},i)).then((function(){f.onSelect(ve({event:t,item:l,itemInputValue:s,itemUrl:p,refresh:r,source:f,state:o.getState()},i))}))}}}(we({event:e,props:t,refresh:n,store:r},o))},onFocus:u,onBlur:y,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||u(n)}},s)},getPanelProps:function(e){return we({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){return we({role:"listbox","aria-labelledby":"".concat(t.id,"-label"),id:"".concat(t.id,"-list")},e)},getItemProps:function(e){var i=e.item,u=e.source,a=Ie(e,Pe);return we({id:"".concat(t.id,"-item-").concat(i.__autocomplete_id),role:"option","aria-selected":r.getState().activeItemId===i.__autocomplete_id,onMouseMove:function(e){if(i.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",i.__autocomplete_id);var t=A(r.getState());if(null!==r.getState().activeItemId&&t){var u=t.item,a=t.itemInputValue,c=t.itemUrl,l=t.source;l.onActive(we({event:e,item:u,itemInputValue:a,itemUrl:c,refresh:n,source:l,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var a=u.getItemInputValue({item:i,state:r.getState()}),c=u.getItemUrl({item:i,state:r.getState()});(c?Promise.resolve():fe(we({event:e,nextState:{isOpen:!1},props:t,query:a,refresh:n,store:r},o))).then((function(){u.onSelect(we({event:e,item:i,itemInputValue:a,itemUrl:c,refresh:n,source:u,state:r.getState()},o))}))}},a)}}}function Ae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ce(e){for(var t=1;t0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:v(),plugins:o,initialState:H({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(F(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return E(e,n)}))).then((function(e){return d(e)})).then((function(e){return e.map((function(e){return H(H({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:H({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}(e,t),r=R(Te,n,(function(e){var t=e.prevState,r=e.state;n.onStateChange(Be({prevState:t,state:r,refresh:u},o))})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,r=e.map((function(e){return L(L({},e),{},{items:d(e.items).map((function(e){return L(L({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",r)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:r}),i=Ee(Be({props:n,refresh:u,store:r},o));function u(){return fe(Be({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,query:r.getState().query,refresh:u,store:r},o))}return n.plugins.forEach((function(e){var n;return null===(n=e.subscribe)||void 0===n?void 0:n.call(e,Be(Be({},o),{},{refresh:u,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})}}))})),function(e){var t,n,r=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(n=t.userAgent)||void 0===n?void 0:n.includes("Algolia Crawler")){var i=o.document.createElement("meta"),u=o.document.querySelector("head");i.name="algolia:metadata",setTimeout((function(){i.content=JSON.stringify(r),u.appendChild(i)}),0)}}({metadata:ke({plugins:n.plugins,options:e}),environment:n.environment}),Be(Be({refresh:u},i),o)}var Ue=function(e,t,n,r){var o;t[0]=0;for(var i=1;i=5&&((o||!e&&5===r)&&(u.push(r,0,o,n),r=6),e&&(u.push(r,e,0,n),r=6)),o=""},c=0;c"===t?(r=1,o=""):o=t+o[0]:i?t===i?i="":o+=t:'"'===t||"'"===t?i=t:">"===t?(a(),r=1):r&&("="===t?(r=5,n=o,o=""):"/"===t&&(r<5||">"===e[c][l+1])?(a(),3===r&&(u=u[0]),r=u,(u=u[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(a(),r=2):o+=t),3===r&&"!--"===o&&(r=4,u=u[0])}return a(),u}(e)),t),arguments,[])).length>1?t:t[0]}var We=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-ClearIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","18"),n.setAttribute("height","18"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"),n.appendChild(r),n};function Qe(e,t){if("string"==typeof t){var n=e.document.querySelector(t);return"The element ".concat(JSON.stringify(t)," is not in the document."),n}return t}function $e(){for(var e=arguments.length,t=new Array(e),n=0;n2&&(u.children=arguments.length>3?lt.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(i in e.defaultProps)void 0===u[i]&&(u[i]=e.defaultProps[i]);return _t(e,u,r,o,null)}function _t(e,t,n,r,o){var i={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++pt:o};return null==o&&null!=st.vnode&&st.vnode(i),i}function Pt(e){return e.children}function jt(e,t){this.props=e,this.context=t}function wt(e,t){if(null==t)return e.__?wt(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t0?_t(d.type,d.props,d.key,null,d.__v):d)){if(d.__=n,d.__b=n.__b+1,null===(f=g[s])||f&&d.key==f.key&&d.type===f.type)g[s]=void 0;else for(p=0;p0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var n=e[e.length-1];(null==n?void 0:n.isHighlighted)===t.isHighlighted?e[e.length-1]={value:n.value+t.value,isHighlighted:n.isHighlighted}:e.push(t)}}}(n?[{value:n,isHighlighted:!1}]:[]);return t.forEach((function(e){var t=e.split(Ht);r.add({value:t[0],isHighlighted:!0}),""!==t[1]&&r.add({value:t[1],isHighlighted:!1})})),r.get()}function Wt(e){return function(e){if(Array.isArray(e))return Qt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Qt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Qt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n",""":'"',"'":"'"},Gt=new RegExp(/\w/i),Kt=/&(amp|quot|lt|gt|#39);/g,Jt=RegExp(Kt.source);function Yt(e,t){var n,r,o,i=e[t],u=(null===(n=e[t+1])||void 0===n?void 0:n.isHighlighted)||!0,a=(null===(r=e[t-1])||void 0===r?void 0:r.isHighlighted)||!0;return Gt.test((o=i.value)&&Jt.test(o)?o.replace(Kt,(function(e){return zt[e]})):o)||a!==u?i.isHighlighted:a}function Xt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Zt(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function mn(e){return function(e){if(Array.isArray(e))return vn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return vn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return vn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0;if(!O.value.core.openOnFocus&&!t.query)return n;var r=Boolean(h.current||O.value.renderer.renderNoResults);return!n&&r||n},__autocomplete_metadata:{userAgents:Sn,options:e}}))})),j=p(n({collections:[],completion:null,context:{},isOpen:!1,query:"",activeItemId:null,status:"idle"},O.value.core.initialState)),w={getEnvironmentProps:O.value.renderer.getEnvironmentProps,getFormProps:O.value.renderer.getFormProps,getInputProps:O.value.renderer.getInputProps,getItemProps:O.value.renderer.getItemProps,getLabelProps:O.value.renderer.getLabelProps,getListProps:O.value.renderer.getListProps,getPanelProps:O.value.renderer.getPanelProps,getRootProps:O.value.renderer.getRootProps},S={setActiveItemId:P.value.setActiveItemId,setQuery:P.value.setQuery,setCollections:P.value.setCollections,setIsOpen:P.value.setIsOpen,setStatus:P.value.setStatus,setContext:P.value.setContext,refresh:P.value.refresh},I=d((function(){return Ve.bind(O.value.renderer.renderer.createElement)})),E=d((function(){return ct({autocomplete:P.value,autocompleteScopeApi:S,classNames:O.value.renderer.classNames,environment:O.value.core.environment,isDetached:_.value,placeholder:O.value.core.placeholder,propGetters:w,setIsModalOpen:k,state:j.current,translations:O.value.renderer.translations})}));function A(){tt(E.value.panel,{style:_.value?{}:wn({panelPlacement:O.value.renderer.panelPlacement,container:E.value.root,form:E.value.form,environment:O.value.core.environment})})}function C(e){j.current=e;var t={autocomplete:P.value,autocompleteScopeApi:S,classNames:O.value.renderer.classNames,components:O.value.renderer.components,container:O.value.renderer.container,html:I.value,dom:E.value,panelContainer:_.value?E.value.detachedContainer:O.value.renderer.panelContainer,propGetters:w,state:j.current,renderer:O.value.renderer.renderer},r=!g(e)&&!h.current&&O.value.renderer.renderNoResults||O.value.renderer.render;!function(e){var t=e.autocomplete,r=e.autocompleteScopeApi,o=e.dom,i=e.propGetters,u=e.state;nt(o.root,i.getRootProps(n({state:u,props:t.getRootProps({})},r))),nt(o.input,i.getInputProps(n({state:u,props:t.getInputProps({inputElement:o.input}),inputElement:o.input},r))),tt(o.label,{hidden:"stalled"===u.status}),tt(o.loadingIndicator,{hidden:"stalled"!==u.status}),tt(o.clearButton,{hidden:!u.query})}(t),function(e,t){var r=t.autocomplete,o=t.autocompleteScopeApi,u=t.classNames,a=t.html,c=t.dom,l=t.panelContainer,s=t.propGetters,p=t.state,f=t.components,d=t.renderer;if(p.isOpen){l.contains(c.panel)||"loading"===p.status||l.appendChild(c.panel),c.panel.classList.toggle("aa-Panel--stalled","stalled"===p.status);var m=p.collections.filter((function(e){var t=e.source,n=e.items;return t.templates.noResults||n.length>0})).map((function(e,t){var c=e.source,l=e.items;return d.createElement("section",{key:t,className:u.source,"data-autocomplete-source-id":c.sourceId},c.templates.header&&d.createElement("div",{className:u.sourceHeader},c.templates.header({components:f,createElement:d.createElement,Fragment:d.Fragment,items:l,source:c,state:p,html:a})),c.templates.noResults&&0===l.length?d.createElement("div",{className:u.sourceNoResults},c.templates.noResults({components:f,createElement:d.createElement,Fragment:d.Fragment,source:c,state:p,html:a})):d.createElement("ul",i({className:u.list},s.getListProps(n({state:p,props:r.getListProps({})},o))),l.map((function(e){var t=r.getItemProps({item:e,source:c});return d.createElement("li",i({key:t.id,className:u.item},s.getItemProps(n({state:p,props:t},o))),c.templates.item({components:f,createElement:d.createElement,Fragment:d.Fragment,item:e,state:p,html:a}))}))),c.templates.footer&&d.createElement("div",{className:u.sourceFooter},c.templates.footer({components:f,createElement:d.createElement,Fragment:d.Fragment,items:l,source:c,state:p,html:a})))})),v=d.createElement(d.Fragment,null,d.createElement("div",{className:u.panelLayout},m),d.createElement("div",{className:"aa-GradientBottom"})),h=m.reduce((function(e,t){return e[t.props["data-autocomplete-source-id"]]=t,e}),{});e(n(n({children:v,state:p,sections:m,elements:h},d),{},{components:f,html:a},o),c.panel)}else l.contains(c.panel)&&l.removeChild(c.panel)}(r,t)}function D(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};c();var t=O.value.renderer,n=t.components,r=u(t,In);y.current=Ge(r,O.value.core,{components:Ke(n,(function(e){return!e.value.hasOwnProperty("__autocomplete_componentName")})),initialState:j.current},e),m(),l(),P.value.refresh().then((function(){C(j.current)}))}function k(e){requestAnimationFrame((function(){var t=O.value.core.environment.document.body.contains(E.value.detachedOverlay);e!==t&&(e?(O.value.core.environment.document.body.appendChild(E.value.detachedOverlay),O.value.core.environment.document.body.classList.add("aa-Detached"),E.value.input.focus()):(O.value.core.environment.document.body.removeChild(E.value.detachedOverlay),O.value.core.environment.document.body.classList.remove("aa-Detached"),P.value.setQuery(""),P.value.refresh()))}))}return a((function(){var e=P.value.getEnvironmentProps({formElement:E.value.form,panelElement:E.value.panel,inputElement:E.value.input});return tt(O.value.core.environment,e),function(){tt(O.value.core.environment,Object.keys(e).reduce((function(e,t){return n(n({},e),{},o({},t,void 0))}),{}))}})),a((function(){var e=_.value?O.value.core.environment.document.body:O.value.renderer.panelContainer,t=_.value?E.value.detachedOverlay:E.value.panel;return _.value&&j.current.isOpen&&k(!0),C(j.current),function(){e.contains(t)&&e.removeChild(t)}})),a((function(){var e=O.value.renderer.container;return e.appendChild(E.value.root),function(){e.removeChild(E.value.root)}})),a((function(){var e=f((function(e){C(e.state)}),0);return b.current=function(t){var n=t.state,r=t.prevState;(_.value&&r.isOpen!==n.isOpen&&k(n.isOpen),_.value||!n.isOpen||r.isOpen||A(),n.query!==r.query)&&O.value.core.environment.document.querySelectorAll(".aa-Panel--scrollable").forEach((function(e){0!==e.scrollTop&&(e.scrollTop=0)}));e({state:n})},function(){b.current=void 0}})),a((function(){var e=f((function(){var e=_.value;_.value=O.value.core.environment.matchMedia(O.value.renderer.detachedMediaQuery).matches,e!==_.value?D({}):requestAnimationFrame(A)}),20);return O.value.core.environment.addEventListener("resize",e),function(){O.value.core.environment.removeEventListener("resize",e)}})),a((function(){if(!_.value)return function(){};function e(e){E.value.detachedContainer.classList.toggle("aa-DetachedContainer--modal",e)}function t(t){e(t.matches)}var n=O.value.core.environment.matchMedia(getComputedStyle(O.value.core.environment.document.documentElement).getPropertyValue("--aa-detached-modal-media-query"));e(n.matches);var r=Boolean(n.addEventListener);return r?n.addEventListener("change",t):n.addListener(t),function(){r?n.removeEventListener("change",t):n.removeListener(t)}})),a((function(){return requestAnimationFrame(A),function(){}})),n(n({},S),{},{update:D,destroy:function(){c()}})},e.getAlgoliaFacets=function(e){var t=En({transformResponse:function(e){return e.facetHits}}),r=e.queries.map((function(e){return n(n({},e),{},{type:"facet"})}));return t(n(n({},e),{},{queries:r}))},e.getAlgoliaResults=An,Object.defineProperty(e,"__esModule",{value:!0})})); - diff --git a/docs/site_libs/quarto-search/quarto-search.js b/docs/site_libs/quarto-search/quarto-search.js deleted file mode 100644 index f5d852d1..00000000 --- a/docs/site_libs/quarto-search/quarto-search.js +++ /dev/null @@ -1,1140 +0,0 @@ -const kQueryArg = "q"; -const kResultsArg = "show-results"; - -// If items don't provide a URL, then both the navigator and the onSelect -// function aren't called (and therefore, the default implementation is used) -// -// We're using this sentinel URL to signal to those handlers that this -// item is a more item (along with the type) and can be handled appropriately -const kItemTypeMoreHref = "0767FDFD-0422-4E5A-BC8A-3BE11E5BBA05"; - -window.document.addEventListener("DOMContentLoaded", function (_event) { - // Ensure that search is available on this page. If it isn't, - // should return early and not do anything - var searchEl = window.document.getElementById("quarto-search"); - if (!searchEl) return; - - const { autocomplete } = window["@algolia/autocomplete-js"]; - - let quartoSearchOptions = {}; - let language = {}; - const searchOptionEl = window.document.getElementById( - "quarto-search-options" - ); - if (searchOptionEl) { - const jsonStr = searchOptionEl.textContent; - quartoSearchOptions = JSON.parse(jsonStr); - language = quartoSearchOptions.language; - } - - // note the search mode - if (quartoSearchOptions.type === "overlay") { - searchEl.classList.add("type-overlay"); - } else { - searchEl.classList.add("type-textbox"); - } - - // Used to determine highlighting behavior for this page - // A `q` query param is expected when the user follows a search - // to this page - const currentUrl = new URL(window.location); - const query = currentUrl.searchParams.get(kQueryArg); - const showSearchResults = currentUrl.searchParams.get(kResultsArg); - const mainEl = window.document.querySelector("main"); - - // highlight matches on the page - if (query !== null && mainEl) { - // perform any highlighting - highlight(escapeRegExp(query), mainEl); - - // fix up the URL to remove the q query param - const replacementUrl = new URL(window.location); - replacementUrl.searchParams.delete(kQueryArg); - window.history.replaceState({}, "", replacementUrl); - } - - // function to clear highlighting on the page when the search query changes - // (e.g. if the user edits the query or clears it) - let highlighting = true; - const resetHighlighting = (searchTerm) => { - if (mainEl && highlighting && query !== null && searchTerm !== query) { - clearHighlight(query, mainEl); - highlighting = false; - } - }; - - // Clear search highlighting when the user scrolls sufficiently - const resetFn = () => { - resetHighlighting(""); - window.removeEventListener("quarto-hrChanged", resetFn); - window.removeEventListener("quarto-sectionChanged", resetFn); - }; - - // Register this event after the initial scrolling and settling of events - // on the page - window.addEventListener("quarto-hrChanged", resetFn); - window.addEventListener("quarto-sectionChanged", resetFn); - - // Responsively switch to overlay mode if the search is present on the navbar - // Note that switching the sidebar to overlay mode requires more coordinate (not just - // the media query since we generate different HTML for sidebar overlays than we do - // for sidebar input UI) - const detachedMediaQuery = - quartoSearchOptions.type === "overlay" ? "all" : "(max-width: 991px)"; - - // If configured, include the analytics client to send insights - const plugins = configurePlugins(quartoSearchOptions); - - let lastState = null; - const { setIsOpen, setQuery, setCollections } = autocomplete({ - container: searchEl, - detachedMediaQuery: detachedMediaQuery, - defaultActiveItemId: 0, - panelContainer: "#quarto-search-results", - panelPlacement: quartoSearchOptions["panel-placement"], - debug: false, - openOnFocus: true, - plugins, - classNames: { - form: "d-flex", - }, - translations: { - clearButtonTitle: language["search-clear-button-title"], - detachedCancelButtonText: language["search-detached-cancel-button-title"], - submitButtonTitle: language["search-submit-button-title"], - }, - initialState: { - query, - }, - getItemUrl({ item }) { - return item.href; - }, - onStateChange({ state }) { - // Perhaps reset highlighting - resetHighlighting(state.query); - - // If the panel just opened, ensure the panel is positioned properly - if (state.isOpen) { - if (lastState && !lastState.isOpen) { - setTimeout(() => { - positionPanel(quartoSearchOptions["panel-placement"]); - }, 150); - } - } - - // Perhaps show the copy link - showCopyLink(state.query, quartoSearchOptions); - - lastState = state; - }, - reshape({ sources, state }) { - return sources.map((source) => { - try { - const items = source.getItems(); - - // Validate the items - validateItems(items); - - // group the items by document - const groupedItems = new Map(); - items.forEach((item) => { - const hrefParts = item.href.split("#"); - const baseHref = hrefParts[0]; - const isDocumentItem = hrefParts.length === 1; - - const items = groupedItems.get(baseHref); - if (!items) { - groupedItems.set(baseHref, [item]); - } else { - // If the href for this item matches the document - // exactly, place this item first as it is the item that represents - // the document itself - if (isDocumentItem) { - items.unshift(item); - } else { - items.push(item); - } - groupedItems.set(baseHref, items); - } - }); - - const reshapedItems = []; - let count = 1; - for (const [_key, value] of groupedItems) { - const firstItem = value[0]; - reshapedItems.push({ - ...firstItem, - type: kItemTypeDoc, - }); - - const collapseMatches = quartoSearchOptions["collapse-after"]; - const collapseCount = - typeof collapseMatches === "number" ? collapseMatches : 1; - - if (value.length > 1) { - const target = `search-more-${count}`; - const isExpanded = - state.context.expanded && - state.context.expanded.includes(target); - - const remainingCount = value.length - collapseCount; - - for (let i = 1; i < value.length; i++) { - if (collapseMatches && i === collapseCount) { - reshapedItems.push({ - target, - title: isExpanded - ? language["search-hide-matches-text"] - : remainingCount === 1 - ? `${remainingCount} ${language["search-more-match-text"]}` - : `${remainingCount} ${language["search-more-matches-text"]}`, - type: kItemTypeMore, - href: kItemTypeMoreHref, - }); - } - - if (isExpanded || !collapseMatches || i < collapseCount) { - reshapedItems.push({ - ...value[i], - type: kItemTypeItem, - target, - }); - } - } - } - count += 1; - } - - return { - ...source, - getItems() { - return reshapedItems; - }, - }; - } catch (error) { - // Some form of error occurred - return { - ...source, - getItems() { - return [ - { - title: error.name || "An Error Occurred While Searching", - text: - error.message || - "An unknown error occurred while attempting to perform the requested search.", - type: kItemTypeError, - }, - ]; - }, - }; - } - }); - }, - navigator: { - navigate({ itemUrl }) { - if (itemUrl !== offsetURL(kItemTypeMoreHref)) { - window.location.assign(itemUrl); - } - }, - navigateNewTab({ itemUrl }) { - if (itemUrl !== offsetURL(kItemTypeMoreHref)) { - const windowReference = window.open(itemUrl, "_blank", "noopener"); - if (windowReference) { - windowReference.focus(); - } - } - }, - navigateNewWindow({ itemUrl }) { - if (itemUrl !== offsetURL(kItemTypeMoreHref)) { - window.open(itemUrl, "_blank", "noopener"); - } - }, - }, - getSources({ state, setContext, setActiveItemId, refresh }) { - return [ - { - sourceId: "documents", - getItemUrl({ item }) { - if (item.href) { - return offsetURL(item.href); - } else { - return undefined; - } - }, - onSelect({ - item, - state, - setContext, - setIsOpen, - setActiveItemId, - refresh, - }) { - if (item.type === kItemTypeMore) { - toggleExpanded(item, state, setContext, setActiveItemId, refresh); - - // Toggle more - setIsOpen(true); - } - }, - getItems({ query }) { - if (query === null || query === "") { - return []; - } - - const limit = quartoSearchOptions.limit; - if (quartoSearchOptions.algolia) { - return algoliaSearch(query, limit, quartoSearchOptions.algolia); - } else { - // Fuse search options - const fuseSearchOptions = { - isCaseSensitive: false, - shouldSort: true, - minMatchCharLength: 2, - limit: limit, - }; - - return readSearchData().then(function (fuse) { - return fuseSearch(query, fuse, fuseSearchOptions); - }); - } - }, - templates: { - noResults({ createElement }) { - const hasQuery = lastState.query; - - return createElement( - "div", - { - class: `quarto-search-no-results${ - hasQuery ? "" : " no-query" - }`, - }, - language["search-no-results-text"] - ); - }, - header({ items, createElement }) { - // count the documents - const count = items.filter((item) => { - return item.type === kItemTypeDoc; - }).length; - - if (count > 0) { - return createElement( - "div", - { class: "search-result-header" }, - `${count} ${language["search-matching-documents-text"]}` - ); - } else { - return createElement( - "div", - { class: "search-result-header-no-results" }, - `` - ); - } - }, - footer({ _items, createElement }) { - if ( - quartoSearchOptions.algolia && - quartoSearchOptions.algolia["show-logo"] - ) { - const libDir = quartoSearchOptions.algolia["libDir"]; - const logo = createElement("img", { - src: offsetURL( - `${libDir}/quarto-search/search-by-algolia.svg` - ), - class: "algolia-search-logo", - }); - return createElement( - "a", - { href: "http://www.algolia.com/" }, - logo - ); - } - }, - - item({ item, createElement }) { - return renderItem( - item, - createElement, - state, - setActiveItemId, - setContext, - refresh - ); - }, - }, - }, - ]; - }, - }); - - window.quartoOpenSearch = () => { - setIsOpen(false); - setIsOpen(true); - focusSearchInput(); - }; - - // Remove the labeleledby attribute since it is pointing - // to a non-existent label - if (quartoSearchOptions.type === "overlay") { - const inputEl = window.document.querySelector( - "#quarto-search .aa-Autocomplete" - ); - if (inputEl) { - inputEl.removeAttribute("aria-labelledby"); - } - } - - // If the main document scrolls dismiss the search results - // (otherwise, since they're floating in the document they can scroll with the document) - window.document.body.onscroll = () => { - setIsOpen(false); - }; - - if (showSearchResults) { - setIsOpen(true); - focusSearchInput(); - } -}); - -function configurePlugins(quartoSearchOptions) { - const autocompletePlugins = []; - const algoliaOptions = quartoSearchOptions.algolia; - if ( - algoliaOptions && - algoliaOptions["analytics-events"] && - algoliaOptions["search-only-api-key"] && - algoliaOptions["application-id"] - ) { - const apiKey = algoliaOptions["search-only-api-key"]; - const appId = algoliaOptions["application-id"]; - - // Aloglia insights may not be loaded because they require cookie consent - // Use deferred loading so events will start being recorded when/if consent - // is granted. - const algoliaInsightsDeferredPlugin = deferredLoadPlugin(() => { - if ( - window.aa && - window["@algolia/autocomplete-plugin-algolia-insights"] - ) { - window.aa("init", { - appId, - apiKey, - useCookie: true, - }); - - const { createAlgoliaInsightsPlugin } = - window["@algolia/autocomplete-plugin-algolia-insights"]; - // Register the insights client - const algoliaInsightsPlugin = createAlgoliaInsightsPlugin({ - insightsClient: window.aa, - onItemsChange({ insights, insightsEvents }) { - const events = insightsEvents.map((event) => { - const maxEvents = event.objectIDs.slice(0, 20); - return { - ...event, - objectIDs: maxEvents, - }; - }); - - insights.viewedObjectIDs(...events); - }, - }); - return algoliaInsightsPlugin; - } - }); - - // Add the plugin - autocompletePlugins.push(algoliaInsightsDeferredPlugin); - return autocompletePlugins; - } -} - -// For plugins that may not load immediately, create a wrapper -// plugin and forward events and plugin data once the plugin -// is initialized. This is useful for cases like cookie consent -// which may prevent the analytics insights event plugin from initializing -// immediately. -function deferredLoadPlugin(createPlugin) { - let plugin = undefined; - let subscribeObj = undefined; - const wrappedPlugin = () => { - if (!plugin && subscribeObj) { - plugin = createPlugin(); - if (plugin && plugin.subscribe) { - plugin.subscribe(subscribeObj); - } - } - return plugin; - }; - - return { - subscribe: (obj) => { - subscribeObj = obj; - }, - onStateChange: (obj) => { - const plugin = wrappedPlugin(); - if (plugin && plugin.onStateChange) { - plugin.onStateChange(obj); - } - }, - onSubmit: (obj) => { - const plugin = wrappedPlugin(); - if (plugin && plugin.onSubmit) { - plugin.onSubmit(obj); - } - }, - onReset: (obj) => { - const plugin = wrappedPlugin(); - if (plugin && plugin.onReset) { - plugin.onReset(obj); - } - }, - getSources: (obj) => { - const plugin = wrappedPlugin(); - if (plugin && plugin.getSources) { - return plugin.getSources(obj); - } else { - return Promise.resolve([]); - } - }, - data: (obj) => { - const plugin = wrappedPlugin(); - if (plugin && plugin.data) { - plugin.data(obj); - } - }, - }; -} - -function validateItems(items) { - // Validate the first item - if (items.length > 0) { - const item = items[0]; - const missingFields = []; - if (item.href == undefined) { - missingFields.push("href"); - } - if (!item.title == undefined) { - missingFields.push("title"); - } - if (!item.text == undefined) { - missingFields.push("text"); - } - - if (missingFields.length === 1) { - throw { - name: `Error: Search index is missing the ${missingFields[0]} field.`, - message: `The items being returned for this search do not include all the required fields. Please ensure that your index items include the ${missingFields[0]} field or use index-fields in your _quarto.yml file to specify the field names.`, - }; - } else if (missingFields.length > 1) { - const missingFieldList = missingFields - .map((field) => { - return `${field}`; - }) - .join(", "); - - throw { - name: `Error: Search index is missing the following fields: ${missingFieldList}.`, - message: `The items being returned for this search do not include all the required fields. Please ensure that your index items includes the following fields: ${missingFieldList}, or use index-fields in your _quarto.yml file to specify the field names.`, - }; - } - } -} - -let lastQuery = null; -function showCopyLink(query, options) { - const language = options.language; - lastQuery = query; - // Insert share icon - const inputSuffixEl = window.document.body.querySelector( - ".aa-Form .aa-InputWrapperSuffix" - ); - - if (inputSuffixEl) { - let copyButtonEl = window.document.body.querySelector( - ".aa-Form .aa-InputWrapperSuffix .aa-CopyButton" - ); - - if (copyButtonEl === null) { - copyButtonEl = window.document.createElement("button"); - copyButtonEl.setAttribute("class", "aa-CopyButton"); - copyButtonEl.setAttribute("type", "button"); - copyButtonEl.setAttribute("title", language["search-copy-link-title"]); - copyButtonEl.onmousedown = (e) => { - e.preventDefault(); - e.stopPropagation(); - }; - - const linkIcon = "bi-clipboard"; - const checkIcon = "bi-check2"; - - const shareIconEl = window.document.createElement("i"); - shareIconEl.setAttribute("class", `bi ${linkIcon}`); - copyButtonEl.appendChild(shareIconEl); - inputSuffixEl.prepend(copyButtonEl); - - const clipboard = new window.ClipboardJS(".aa-CopyButton", { - text: function (_trigger) { - const copyUrl = new URL(window.location); - copyUrl.searchParams.set(kQueryArg, lastQuery); - copyUrl.searchParams.set(kResultsArg, "1"); - return copyUrl.toString(); - }, - }); - clipboard.on("success", function (e) { - // Focus the input - - // button target - const button = e.trigger; - const icon = button.querySelector("i.bi"); - - // flash "checked" - icon.classList.add(checkIcon); - icon.classList.remove(linkIcon); - setTimeout(function () { - icon.classList.remove(checkIcon); - icon.classList.add(linkIcon); - }, 1000); - }); - } - - // If there is a query, show the link icon - if (copyButtonEl) { - if (lastQuery && options["copy-button"]) { - copyButtonEl.style.display = "flex"; - } else { - copyButtonEl.style.display = "none"; - } - } - } -} - -/* Search Index Handling */ -// create the index -var fuseIndex = undefined; -async function readSearchData() { - // Initialize the search index on demand - if (fuseIndex === undefined) { - // create fuse index - const options = { - keys: [ - { name: "title", weight: 20 }, - { name: "section", weight: 20 }, - { name: "text", weight: 10 }, - ], - ignoreLocation: true, - threshold: 0.1, - }; - const fuse = new window.Fuse([], options); - - // fetch the main search.json - const response = await fetch(offsetURL("search.json")); - if (response.status == 200) { - return response.json().then(function (searchDocs) { - searchDocs.forEach(function (searchDoc) { - fuse.add(searchDoc); - }); - fuseIndex = fuse; - return fuseIndex; - }); - } else { - return Promise.reject( - new Error( - "Unexpected status from search index request: " + response.status - ) - ); - } - } - return fuseIndex; -} - -function inputElement() { - return window.document.body.querySelector(".aa-Form .aa-Input"); -} - -function focusSearchInput() { - setTimeout(() => { - const inputEl = inputElement(); - if (inputEl) { - inputEl.focus(); - } - }, 50); -} - -/* Panels */ -const kItemTypeDoc = "document"; -const kItemTypeMore = "document-more"; -const kItemTypeItem = "document-item"; -const kItemTypeError = "error"; - -function renderItem( - item, - createElement, - state, - setActiveItemId, - setContext, - refresh -) { - switch (item.type) { - case kItemTypeDoc: - return createDocumentCard( - createElement, - "file-richtext", - item.title, - item.section, - item.text, - item.href - ); - case kItemTypeMore: - return createMoreCard( - createElement, - item, - state, - setActiveItemId, - setContext, - refresh - ); - case kItemTypeItem: - return createSectionCard( - createElement, - item.section, - item.text, - item.href - ); - case kItemTypeError: - return createErrorCard(createElement, item.title, item.text); - default: - return undefined; - } -} - -function createDocumentCard(createElement, icon, title, section, text, href) { - const iconEl = createElement("i", { - class: `bi bi-${icon} search-result-icon`, - }); - const titleEl = createElement("p", { class: "search-result-title" }, title); - const titleContainerEl = createElement( - "div", - { class: "search-result-title-container" }, - [iconEl, titleEl] - ); - - const textEls = []; - if (section) { - const sectionEl = createElement( - "p", - { class: "search-result-section" }, - section - ); - textEls.push(sectionEl); - } - const descEl = createElement("p", { - class: "search-result-text", - dangerouslySetInnerHTML: { - __html: text, - }, - }); - textEls.push(descEl); - - const textContainerEl = createElement( - "div", - { class: "search-result-text-container" }, - textEls - ); - - const containerEl = createElement( - "div", - { - class: "search-result-container", - }, - [titleContainerEl, textContainerEl] - ); - - const linkEl = createElement( - "a", - { - href: offsetURL(href), - class: "search-result-link", - }, - containerEl - ); - - const classes = ["search-result-doc", "search-item"]; - if (!section) { - classes.push("document-selectable"); - } - - return createElement( - "div", - { - class: classes.join(" "), - }, - linkEl - ); -} - -function createMoreCard( - createElement, - item, - state, - setActiveItemId, - setContext, - refresh -) { - const moreCardEl = createElement( - "div", - { - class: "search-result-more search-item", - onClick: (e) => { - // Handle expanding the sections by adding the expanded - // section to the list of expanded sections - toggleExpanded(item, state, setContext, setActiveItemId, refresh); - e.stopPropagation(); - }, - }, - item.title - ); - - return moreCardEl; -} - -function toggleExpanded(item, state, setContext, setActiveItemId, refresh) { - const expanded = state.context.expanded || []; - if (expanded.includes(item.target)) { - setContext({ - expanded: expanded.filter((target) => target !== item.target), - }); - } else { - setContext({ expanded: [...expanded, item.target] }); - } - - refresh(); - setActiveItemId(item.__autocomplete_id); -} - -function createSectionCard(createElement, section, text, href) { - const sectionEl = createSection(createElement, section, text, href); - return createElement( - "div", - { - class: "search-result-doc-section search-item", - }, - sectionEl - ); -} - -function createSection(createElement, title, text, href) { - const descEl = createElement("p", { - class: "search-result-text", - dangerouslySetInnerHTML: { - __html: text, - }, - }); - - const titleEl = createElement("p", { class: "search-result-section" }, title); - const linkEl = createElement( - "a", - { - href: offsetURL(href), - class: "search-result-link", - }, - [titleEl, descEl] - ); - return linkEl; -} - -function createErrorCard(createElement, title, text) { - const descEl = createElement("p", { - class: "search-error-text", - dangerouslySetInnerHTML: { - __html: text, - }, - }); - - const titleEl = createElement("p", { - class: "search-error-title", - dangerouslySetInnerHTML: { - __html: ` ${title}`, - }, - }); - const errorEl = createElement("div", { class: "search-error" }, [ - titleEl, - descEl, - ]); - return errorEl; -} - -function positionPanel(pos) { - const panelEl = window.document.querySelector( - "#quarto-search-results .aa-Panel" - ); - const inputEl = window.document.querySelector( - "#quarto-search .aa-Autocomplete" - ); - - if (panelEl && inputEl) { - panelEl.style.top = `${Math.round(panelEl.offsetTop)}px`; - if (pos === "start") { - panelEl.style.left = `${Math.round(inputEl.left)}px`; - } else { - panelEl.style.right = `${Math.round(inputEl.offsetRight)}px`; - } - } -} - -/* Highlighting */ -// highlighting functions -function highlightMatch(query, text) { - if (text) { - const start = text.toLowerCase().indexOf(query.toLowerCase()); - if (start !== -1) { - const startMark = ""; - const endMark = ""; - - const end = start + query.length; - text = - text.slice(0, start) + - startMark + - text.slice(start, end) + - endMark + - text.slice(end); - const startInfo = clipStart(text, start); - const endInfo = clipEnd( - text, - startInfo.position + startMark.length + endMark.length - ); - text = - startInfo.prefix + - text.slice(startInfo.position, endInfo.position) + - endInfo.suffix; - - return text; - } else { - return text; - } - } else { - return text; - } -} - -function clipStart(text, pos) { - const clipStart = pos - 50; - if (clipStart < 0) { - // This will just return the start of the string - return { - position: 0, - prefix: "", - }; - } else { - // We're clipping before the start of the string, walk backwards to the first space. - const spacePos = findSpace(text, pos, -1); - return { - position: spacePos.position, - prefix: "", - }; - } -} - -function clipEnd(text, pos) { - const clipEnd = pos + 200; - if (clipEnd > text.length) { - return { - position: text.length, - suffix: "", - }; - } else { - const spacePos = findSpace(text, clipEnd, 1); - return { - position: spacePos.position, - suffix: spacePos.clipped ? "…" : "", - }; - } -} - -function findSpace(text, start, step) { - let stepPos = start; - while (stepPos > -1 && stepPos < text.length) { - const char = text[stepPos]; - if (char === " " || char === "," || char === ":") { - return { - position: step === 1 ? stepPos : stepPos - step, - clipped: stepPos > 1 && stepPos < text.length, - }; - } - stepPos = stepPos + step; - } - - return { - position: stepPos - step, - clipped: false, - }; -} - -// removes highlighting as implemented by the mark tag -function clearHighlight(searchterm, el) { - const childNodes = el.childNodes; - for (let i = childNodes.length - 1; i >= 0; i--) { - const node = childNodes[i]; - if (node.nodeType === Node.ELEMENT_NODE) { - if ( - node.tagName === "MARK" && - node.innerText.toLowerCase() === searchterm.toLowerCase() - ) { - el.replaceChild(document.createTextNode(node.innerText), node); - } else { - clearHighlight(searchterm, node); - } - } - } -} - -function escapeRegExp(string) { - return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string -} - -// highlight matches -function highlight(term, el) { - const termRegex = new RegExp(term, "ig"); - const childNodes = el.childNodes; - - // walk back to front avoid mutating elements in front of us - for (let i = childNodes.length - 1; i >= 0; i--) { - const node = childNodes[i]; - - if (node.nodeType === Node.TEXT_NODE) { - // Search text nodes for text to highlight - const text = node.nodeValue; - - let startIndex = 0; - let matchIndex = text.search(termRegex); - if (matchIndex > -1) { - const markFragment = document.createDocumentFragment(); - while (matchIndex > -1) { - const prefix = text.slice(startIndex, matchIndex); - markFragment.appendChild(document.createTextNode(prefix)); - - const mark = document.createElement("mark"); - mark.appendChild( - document.createTextNode( - text.slice(matchIndex, matchIndex + term.length) - ) - ); - markFragment.appendChild(mark); - - startIndex = matchIndex + term.length; - matchIndex = text.slice(startIndex).search(new RegExp(term, "ig")); - if (matchIndex > -1) { - matchIndex = startIndex + matchIndex; - } - } - if (startIndex < text.length) { - markFragment.appendChild( - document.createTextNode(text.slice(startIndex, text.length)) - ); - } - - el.replaceChild(markFragment, node); - } - } else if (node.nodeType === Node.ELEMENT_NODE) { - // recurse through elements - highlight(term, node); - } - } -} - -/* Link Handling */ -// get the offset from this page for a given site root relative url -function offsetURL(url) { - var offset = getMeta("quarto:offset"); - return offset ? offset + url : url; -} - -// read a meta tag value -function getMeta(metaName) { - var metas = window.document.getElementsByTagName("meta"); - for (let i = 0; i < metas.length; i++) { - if (metas[i].getAttribute("name") === metaName) { - return metas[i].getAttribute("content"); - } - } - return ""; -} - -function algoliaSearch(query, limit, algoliaOptions) { - const { getAlgoliaResults } = window["@algolia/autocomplete-preset-algolia"]; - - const applicationId = algoliaOptions["application-id"]; - const searchOnlyApiKey = algoliaOptions["search-only-api-key"]; - const indexName = algoliaOptions["index-name"]; - const indexFields = algoliaOptions["index-fields"]; - const searchClient = window.algoliasearch(applicationId, searchOnlyApiKey); - const searchParams = algoliaOptions["params"]; - const searchAnalytics = !!algoliaOptions["analytics-events"]; - - return getAlgoliaResults({ - searchClient, - queries: [ - { - indexName: indexName, - query, - params: { - hitsPerPage: limit, - clickAnalytics: searchAnalytics, - ...searchParams, - }, - }, - ], - transformResponse: (response) => { - if (!indexFields) { - return response.hits.map((hit) => { - return hit.map((item) => { - return { - ...item, - text: highlightMatch(query, item.text), - }; - }); - }); - } else { - const remappedHits = response.hits.map((hit) => { - return hit.map((item) => { - const newItem = { ...item }; - ["href", "section", "title", "text"].forEach((keyName) => { - const mappedName = indexFields[keyName]; - if ( - mappedName && - item[mappedName] !== undefined && - mappedName !== keyName - ) { - newItem[keyName] = item[mappedName]; - delete newItem[mappedName]; - } - }); - newItem.text = highlightMatch(query, newItem.text); - return newItem; - }); - }); - return remappedHits; - } - }, - }); -} - -function fuseSearch(query, fuse, fuseOptions) { - return fuse.search(query, fuseOptions).map((result) => { - const addParam = (url, name, value) => { - const anchorParts = url.split("#"); - const baseUrl = anchorParts[0]; - const sep = baseUrl.search("\\?") > 0 ? "&" : "?"; - anchorParts[0] = baseUrl + sep + name + "=" + value; - return anchorParts.join("#"); - }; - - return { - title: result.item.title, - section: result.item.section, - href: addParam(result.item.href, kQueryArg, query), - text: highlightMatch(query, result.item.text), - }; - }); -} diff --git a/docs/tables.html b/docs/tables.html deleted file mode 100644 index 7a4eeba2..00000000 --- a/docs/tables.html +++ /dev/null @@ -1,765 +0,0 @@ - - - - - - - - -Twin Cities MSA Greenhouse Gas Inventory - Appendix G — List of Tables - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -
- - -
- - - -
- -
-
-

Appendix G — List of Tables

-
- - - -
- - - - -
- - -
- -
-
- ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TableShort Caption
Table 1.1Grid Mix for MROW subregion of 2021 eGRID
Table 5.1Local estimate comparison with control estimate
Table 6.1Mobile data entered into LGGIT
Table 7.1StreetLight passenger travel analysis sample size
Table 7.2StreetLight commercial travel analysis sample size
Table 7.3Vehicle weight classifications by data source
Table 7.4Emissions in grams per mile traveled by vehicle weight in the Twin Cities region. EPA MOVES4.
Table 7.5Grams of emissions per mile by vehicle type and fuel type. EPA GHG Emission Hub (2021)
Table 7.62021 TBI household survey geographic distribution
Table 7.7Median vehicle age and proportion of all regional vehicles by grouped fuel type
Table 7.8Regional mean trip distance. 2021 TBI.
Table 7.9Mean trip distance by origin-destination county
Table 8.1Transportation average miles per year, local and quality control comparison by vehicle and fuel types.
Table 8.2Transportation average miles per gallon, local and quality control comparison by vehicle and fuel types.
Table 10.1Solid waste management classifications by data source, including emissions factors
Table 10.2Wastewater data sources and geographic scopes
Table 11.1Landfill emissions comparison between local estimate and FLIGHT.
Table 12.1Local estimate comparison with control estimate
Table A.1Electricity emission factors. 2021 EPA GHG Emission Factor Hub, EPA eGRID2019, February 2021.
Table A.2Stationary combustion emission factors. 2021 EPA GHG Emission Factor Hub, Federal Register EPA; 40 CFR Part 98.
Table A.3Solid waste emission factors. 2021 EPA GHG Emission Factor Hub, EPA WARM version 15, November 2020.
Table A.4Transportation emissions factors. Source: EPA MOVES4
Table A.5Global Warming Potential (GWP) values
Table A.6County geography metadata
Table A.7County population metadata
Table A.8City geography metadata
Table B.1Acronyms
Table B.2Data source quality ranking
-
-
- - - -
- - -
- - - - - - \ No newline at end of file diff --git a/minnesota_ctu_dataValidation.R b/minnesota_ctu_dataValidation.R new file mode 100644 index 00000000..43c6d718 --- /dev/null +++ b/minnesota_ctu_dataValidation.R @@ -0,0 +1,2 @@ +#Identify which cities we have a complete utility reporting dataset for as an input to addressing missingness through modeling +source("R/_load_pkgs.R")