A Shiny app to analyze, summarize, and visualize daily streamflow data 💧.
This app takes advantage of bcgov’s {fasstr} and {tidyhydat} packages to allow for an interactive way to view and customize the statistics, tables, and plots created from {fasstr}’s streamflow analysis functions. More information on {fasstr} and its functions can be found on its GitHub Page and GitHub repository.
Also see the Excel version, FASSTX, on GitHub.
Here we cover how to setup
fasstrshiny
on your local computer and how to setup and start using the code outputs fromfasstrshiny
fasstrshiny
To install, in the R console run the following (this needs to be done once)
To use HYDAT data in the app, the Environment and Climate Change Canada’s HYDAT database must be downloaded (this needs to be done once or as needed to update):
To the Shiny App run, in the R console, run the following (this needs to be done everytime):
Pros
fasstr
code output by the Shiny App to learn more!Cons
You need to install R, RStudio (optional but recommended), and the fasstrshiny
package
Working locally means that your system setup may occasionally create unique problems that are tricky to trouble shoot (when in doubt, update all your packages: remotes::update_packages()
)
There are several ways to use fasstrshiny
Online version only for testing at this time. Stable and reviewed version of app will be made public when possible.
Every page in this app has an “R Code” tab. This tab shows the R code used to create all the plots and figures on that particular page.
Playing around with this code on your own is a great way to become more familiar with R and fasstr.
First, if you’re brand new to R, consider running through a primer on getting started in R and RStudio.
Once you’re comfortable working with basic R scripts, you’re ready to take a stab playing with fasstr code!
First, you’ll need to make sure you have the right packages loaded. If you’ve already installed the fasstrshiny package (as above) and have been using fasstrshiny locally, you’re good to go. Otherwise, install fasstr and the HYDAT database using the instructions above.
Each series of code starts with a block loading the data (data_flow = ...
), either from the HYDAT data base or a local file (see Things to remember, below if loading local data).
To run this code locally, copy all the code, and paste it into a script in RStudio (or similar R IDE).
There is one very important step to do now: Add library(fasstr)
to the top of the script. This only needs to be done once per script, and it’s best to put this code at the top of a script since it needs to be loaded before any thing else.
Now you can run the script! It should produce the figures and/or output you see in the fasstrshiny app.
Note that some complex figures (e.g. hydrographs with added dates and added MAD values) have been modified after the fasstr figure was produced so the code won’t reproduce those figures exactly.
Saving this script is a great way to keep track of your analyses for future use. You can also share them with colleagues.
The R code panel generally only shows the last figure you produced. So if you’re on that tab and change a setting, it won’t always be updated in the code. To be safe, always look at the figure/table you want to reproduce first, and then grab the code.
This also means that if you don’t look at a tab, the code won’t appear in the R Code tab.
If you load a local data set, the R code data block will only show the name of the file. This means that unless your file is in your working directory the loading code will error. For a better understanding of working directories, see An Introduction to R - 1.7 Working directories.
In general, try to work with RStudio projects, and keep your scripts and data together. If your data is in your working directory, you can run the code as is, otherwise you’ll need to modify the file name to include a location.
For example, “test.csv” becomes “data/test.csv” if I have test.csv in a data
folder in my working directory.
This project is under development. While many features are in place, testing is still proceeding.
To report bugs/issues/feature requests, please file an issue.
If you would like to contribute, please see our CONTRIBUTING guidelines.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Copyright 2022 Province of British Columbia
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.
This repository is maintained by the Water Management Branch of the British Columbia Ministry of Forests.