KWB-R / r2q

R Package with Functions and Exchange for Project R2Q
https://kwb-r.github.io/r2q/
MIT License
0 stars 0 forks source link
project-r2q r-package rstats

R-CMD-check pkgdown codecov Project Status [CRAN_Status_Badge]() R-Universe_Status_Badge

r2q

The R package is used to define a tolerable pollutant input into small surface waters via rainwater runoff. It assigns a maximal connectable urban area to the surface water. For planning areas, different scenarios regarding the connection of surfaces to the separate sewer system and runoff water treatment can be calculated.

Installation

For details on how to install KWB-R packages checkout our installation tutorial.

### Optionally: specify GitHub Personal Access Token (GITHUB_PAT)
### See here why this might be important for you:
### https://kwb-r.github.io/kwb.pkgbuild/articles/install.html#set-your-github_pat

# Sys.setenv(GITHUB_PAT = "mysecret_access_token")

# Install package "remotes" from CRAN
if (! require("remotes")) {
  install.packages("remotes", repos = "https://cloud.r-project.org")
}

# Install KWB package 'r2q' from GitHub
remotes::install_github("KWB-R/r2q")

Example

Example for using the Excel input mask ```r path <- file.path(system.file(package = "r2q"), "extdata", "Example") fileName <- "Herne_Baukau.xlsx" # checkout the example excel file (only works on windows with excel installed) shell.exec(file.path(path, fileName)) # load Example ----------------------------------------------------------- siteData <- r2q::load_site_data( data.dir = path, filename = fileName ) c_river <- r2q::load_background_data( data.dir = path, filename = fileName, default_for_na = TRUE ) # load package data --------------------------------------------------------- c_storm <- r2q::get_stormwaterRunoff( runoff_effective_mix = list( siteData$landuse$Mix_flow_connected[c(2,1,3,4)], siteData$landuse$Mix_flow_connectable[c(2,1,3,4)]), mix_names = c("is", "pot")) c_threshold <- r2q::get_thresholds(LAWA_type = siteData$LAWA_type$Value) # yearly rain event rain <- r2q::get_rain( area_catch = siteData$area_catch$Value, river_cross_section = siteData$river_cross_section$Value, river_length = siteData$river_length$Value, river_mean_flow = siteData$Q_mean$Value, x_coordinate = siteData$x_coordinate$Value, y_coordinate = siteData$y_coordinate$Value ) # combine data --------------------------------------------------------- c_table <- r2q::combine_concentration_tables( threshold_table = c_threshold, storm_table = c_storm, background_table = c_river ) # process ----------------------------------------------------------------- r2q_h <- r2q::hydrology_assessment(site_data = siteData, q_rain = rain[2]) c_type <- "average" # --> median or "worstcase" -> 95th Quantile # which substance poses a high risk? checked <- r2q::check_all_substances( c_table = c_table, c_type = c_type) # Assessment of one substance r2q::immission_assessment( site_data = siteData, c_table = c_table, q_rain = rain[2], t_rain = rain[1] * 60, substance = "Zink_geloest", hazard_list = checked) # Assessment of all substances of potentially high risk r2q_out <- r2q::assess_all_hazards( hazard_list = checked, site_data = siteData, c_table = c_table, q_rain = rain[2], t_rain = rain[1] * 60, c_type = c_type) # plot the results r2q::plot_hazards(hazards = checked) # substances that might pose a high risk r2q::plot_connectable_urban_area( r2q_substance = r2q_out, r2q_hydrology = r2q_h, site_data = siteData, x_type = "percent", language = "de" ) # detailed planning (excel sheet: "planning_area_details") ------------------ planningData <- r2q::load_planning_details( data.dir = path, filename = fileName, scenario_name = "planning_area_details" # excel sheet name of planning details ) pl_out <- r2q::planning_area_discharge( planning_data = planningData, q_rain = rain[2], t_rain = rain[1] * 60, y_rain = siteData$rain_year$Value, thresholdTable = c_threshold) # comparison with tolerable discharge isPlan <- data.frame( "loadPlan_is" = pl_out$sum) isPlan$substance <- rownames(isPlan) df_compare <- merge( x = isPlan, y = as.data.frame(lapply(r2q_out$general, unlist)), by = "substance", all.y = TRUE) df_compare ```

Documentation

Release: https://kwb-r.github.io/r2q

Development: https://kwb-r.github.io/r2q/dev

Documentation

Release: https://kwb-r.github.io/r2q

Development: https://kwb-r.github.io/r2q/dev