Skip to contents

SWATprepR

Project Status: Active - The project has reached a stable, usable state and is being actively developed. License: MIT

The goal of SWATprepR is to help with the SWAT+ model input data preparation. There are mostly functions, which were developed for the implementation of modeling tasks in the OPTAIN project. These tools are intended to fill the gaps in the SWAT+ workflow along side the main tools developed by Christoph Schuerz. Therefore, we highly recommend trying and using these tools:

  • SWATbuildR1 - R tool for building SWAT+ setups;
  • SWATfarmR - R tool for preparing management schedules for SWAT model;
  • SWATdoctR - A collection of functions in R and routines for SWAT model calibration and model diagnostics;
  • SWATrunR (former SWATplusR) - R tool for running SWAT models for different parameters and scenarios.

swativerse logo

Detailed information about packages, workflow steps, input data, SWAT+ parameters, model calibration, validation, etc., could be found in the SWAT+ modeling protocol.

Installation

You can install the development version of SWATprepR from GitHub. Please be aware that running get_usersoil_table() function the euptf2 package has to be installed.

# If the package 'remotes' is not installed run first:
install.packages("remotes")

# The installation of `SWATprepR`.
remotes::install_github("biopsichas/SWATprepR")
# The `euptf2` package has to be installed to utilize `get_usersoil_table()` function.
remotes::install_github("tkdweber/euptf2")

Data

All the data required to run and test package are installed with package in the extdata folder. Exact location on computer could be found running lines below. Please run it on your system to find it for you.

library(SWATprepR)
#> Loading required package: euptf2
#> Loading required package: plyr
#> Loading required package: stringr
#> Loading required package: data.table
#> Warning: package 'data.table' was built under R version 4.2.3
#> Loading required package: ranger
temp_path <- system.file("extdata", package = "SWATprepR")
print(temp_path)
#> [1] "C:/Users/laptop/AppData/Local/R/win-library/4.2/SWATprepR/extdata"

Templates

In order to use SWATprepR package functions with your data you should prepare your data to be inline with templates we have provided in extdata folder. Such are:

  • calibration_data.xlsx - template for loading calibration (water flow and water quality variables) data.
  • weather_data.xlsx - template for loading weather variables.
  • usersoils.csv - example of loading soil parameters dataset.
  • pnt_data.xlsx - template of point source dataset.
  • GIS/ - folder with GIS layers needed to run some functions.

Data prepared according to templates can be directly loaded into R and all the functions applied as described.