--- title: "Analyze Catchment Area Characteristics" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Analyze Catchment Area Characteristics} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", warning = FALSE, fig.width = 7.1, fig.height = 6 ) ``` ## Setup Load HYPEtools Package and Import Files ```{r setup, message=FALSE} # Load Package library(HYPEtools) # Get Path to HYPEtools Model Example Files model_path <- system.file("demo_model", package = "HYPEtools") # Import HYPE Model Files gd <- ReadGeoData(file.path(model_path, "GeoData.txt")) gcl <- ReadGeoClass(file.path(model_path, "GeoClass.txt")) ``` ## Import Checks Look at names of Soil and Land Use Classes ```{r check} # Read Comment in GeoClass.txt comment(gcl) ``` ## Summarize Upstream Soil Fractions for a Gauge Summarize fractions for the whole drainage area upstream of the gauge. ```{r soilfractions} # Select SUBID for which you want to summarize the upstream characteristics Qobs.sbd <- 3587 # Upstream soil fractions in percent sof <- as.numeric(UpstreamGroupSLCClasses(subid = Qobs.sbd, gd = gd, gc = gcl, type = "soil", progbar = FALSE)[, -1] * 100) # Show how many classes are in each soil category length(sof) # Calculate how many soil classes have a value greater than 0 sum(sof != 0) # Add names for soil categories names(sof) <- c("Fine soil", "Coarse soil") # Display the upstream soil percentages sof ``` ## Summarize Upstream Land Use Fractions for a Gauge Summarize fractions for the whole drainage area upstream of the gauge. ```{r lufractions} # Select SUBID for which you want to summarize the upstream characteristics Qobs.sbd <- 3587 # Upstream land use fractions in percent luf <- as.numeric(UpstreamGroupSLCClasses(subid = Qobs.sbd, gd = gd, gc = gcl, type = "landuse", progbar = FALSE)[, -1] * 100) # Show how many land use classes there are length(luf) # Calculate how many land use classes have a value greater than 0 sum(luf != 0) # Add names for land use categories names(luf) <- c("Water", "Coniferous", "Agriculture") # Display the upstream land use percentages luf ``` ## Plot Upstream Soil and Land Use Fractions Plot fractions for the whole drainage area upstream of the gauge. ```{r plotfractions} # Plot Upstream Soil Fractions barplot(sof, ylab = "Area (%)", names.arg = "", col = "red", ylim = c(0, 100), xlab = "Soil fraction") mtext(text = names(sof), side = 3, at = seq(.7, by = 1.2, length.out = 5), line = -.1, padj = .5, cex = .9, las = 3, adj = 1) mtext(Qobs.sbd, side = 1, adj = 0, font = 3) box() # Plot Upstream Land Use Fractions barplot(luf, ylab = "Area (%)", names.arg = "", col = "green", ylim = c(0, 100), xlab = "Land use fraction") mtext(text = names(luf), side = 3, at = seq(.7, by = 1.2, length.out = 8), line = -.1, padj = .5, cex = .9, las = 3, adj = 1) mtext(Qobs.sbd, side = 1, adj = 0, font = 3) box() ``` ## Summarize Upstream Soil and Land Use Fractions for All Subbasins This summarizes the soil and land use fractions for the total upstream area for each subbasin. ```{r summarizeupstream} # Get a vector of all subids in the model from GeoData sbd <- gd$SUBID # Summarize upstream soils sof.all <- UpstreamGroupSLCClasses(gd = gd, gcl = gcl, type = "soil", progbar = FALSE)[, -1] * 100 sof.all <- cbind("SUBID" = sbd, sof.all) sof.all # Summarize upstream land use luf.all <- UpstreamGroupSLCClasses(gd = gd, gcl = gcl, type = "landuse", progbar = FALSE)[, -1] * 100 luf.all <- cbind("SUBID" = sbd, luf.all) luf.all ``` ## Summarize Soil and Land Use by Individual Subbasins This summarizes the soil and land use fractions within just each subbasin area. ```{r summarizeindividual} # Summarize subbasin soils sof.sbd.all <- GroupSLCClasses(gd = gd, gcl = gcl, type = "soil", verbose = FALSE)[, -1] * 100 sof.sbd.all <- cbind("SUBID" = sbd, sof.sbd.all) sof.sbd.all # Summarize subbasin land use luf.sbd.all <- GroupSLCClasses(gd = gd, gcl = gcl, type = "landuse", verbose = FALSE)[, -1] * 100 luf.sbd.all <- cbind("SUBID" = sbd, luf.sbd.all) luf.sbd.all ```