--- title: "WaterBalanceR" author: "Thomas Piernicke, GFZ Helmholtz Centre for Geosciences" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{WaterBalanceR Workflow} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include=FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 7, fig.height = 5 ) ``` ## 1. Introduction `WaterBalanceR` provides a modular and reproducible workflow to compute the daily soil-water balance for agricultural areas. It integrates meteorological, satellite and irrigation data sources and produces ready-to-use outputs such as GeoTIFFs, shapefiles and `.RData` summaries. This vignette demonstrates the complete modelling workflow using the example dataset included in the package. --- ## 2. Setup and example data ```{r load-package, message=FALSE} library(WaterBalanceR) ``` All required sample data are available inside the package directory: ```{r setup-paths, eval=FALSE} mypath <- system.file("sample_data", package = "WaterBalanceR") shape_site <- file.path(mypath, "Shapefile/sample_2023.shp") et0_file <- file.path(mypath, "DWD_ET0_2023.csv") precip_dir <- file.path(mypath, "Radolan_2023_processed_daily") irrig_file <- file.path(mypath, "Shapefile/Buffer_36m_all_interp.shp") ``` --- ## 3. Running the water balance model The core function `calcWB()` performs the daily water balance simulation for a given site and year. ```{r run-calcWB, eval=FALSE} test_wb <- WaterBalanceR::calcWB( mypath = mypath, shape_site = shape_site, target_res = 10, last_NDVI_0 = 132, ET_ref = read.csv(et0_file), ET_ref_dl = "DWD", path_WR_precip = precip_dir, precip_source = "radolan", irrig_sf = irrig_file, irrigation_efficiency = 1.0, output_year = 2023, save_shape = TRUE, save_geotiff = TRUE, save_RDATA = TRUE ) ``` ### Expected output When executed, this call: - Loads and crops daily precipitation and NDVI rasters to the AOI. - Computes daily evapotranspiration and irrigation contributions. - Produces: - GeoTIFF maps of water balance components for each day. - Shapefiles of aggregated zones. - `.RData` files with cumulative summaries. Console output typically includes progress logs: ``` 1. Loading TIFF files... 2. Cropping and resampling... 3. Aggregating to target resolution... 4. Computing daily balance... Model run completed. ``` --- ## 4. Visualizing results Once the water balance model is complete, plots can be generated with `calcWBplots()`: ```{r run-plots, eval=FALSE} buffer20 <- file.path(mypath, "Shapefile/Buffer_5_WB.shp") WaterBalanceR::calcWBplots( source_path = file.path( mypath, "radolan_1_132_10", "WBR_radolan_1_132_10.RData" ), plant_doy = 109, buffer20 = buffer20, shape_site = shape_site ) ``` ### Output description This produces time-series plots and raster maps of: - Daily and cumulative precipitation. - Reference evapotranspiration (ET₀) and actual ET. - Irrigation inputs and water deficit. - Summary figures saved as `.jpg` and `.pdf`. --- ## 5. Output structure After a successful run, the output folder will typically look like: ``` sample_data/ ├── radolan_1_132_10/ │ ├── WBR_radolan_1_132_10.RData │ ├── ET0_2023_doy_masked_132.tif │ ├── Niederschlag_2023_doy_masked_132.tif │ ├── WaterBalance_2023_doy_masked_132.tif │ └── Plots/ │ ├── WB_daily_109.jpg │ ├── ET_cumulative_2023.pdf │ └── NDVI_series_2023.jpg ``` Each subfolder corresponds to a unique configuration of `precip_source`, `irrigation_efficiency`, `last_NDVI_0`, and `target_res`. --- ## 6. Reproducibility note All example data used in this vignette are included in the package installation. They can be accessed programmatically using: ```{r reproducibility, eval=FALSE} system.file("sample_data", package = "WaterBalanceR") ``` This ensures full reproducibility of the workflow on any system. --- ## 7. Session info ```{r session-info} sessionInfo() ```