Home

Awesome

snotelr <a href='https://bluegreen-labs.github.io/snotelr/'><img src='https://raw.githubusercontent.com/bluegreen-labs/snotelr/master/logo.png' align="right" height="139" /></a>

R-CMD-check codecov CRAN_Status_Badge DOI

snotelr is an R toolbox to facilitate easy SNOTEL data exploration and downloads through a convenient R shiny based GUI. In addition it provides a routine to extract basic snow phenology metrics.

How to cite this package in your article

You can cite this package like this "we obtained data from SNOTEL using the snotelr R package (Hufkens 2022)". Here is the full bibliographic reference to include in your reference list:

Hufkens, K. (2022). snotelr: a toolbox to facilitate easy SNOTEL data exploration and downloads in R. Zenodo. https://doi.org/10.5281/zenodo.7012728.

Installation

stable release

To install the current stable release use a CRAN repository:

install.packages("snotelr")
library("snotelr")

The use of the GUI requires the installation of additional packages, which are side loaded.

install.packages(c("DT","shinydashboard", "plotly", "leaflet"))

development release

To install the development releases of the package run the following commands:

if(!require(remotes)){install.packages("remotes")}
remotes::install_github("bluegreen-labs/snotelr")
library("snotelr")

Vignettes are not rendered by default, if you want to include additional documentation please use:

if(!require(remotes)){install.packages("remotes")}
remotes::install_github("bluegreen-labs/snotelr", build_vignettes = TRUE)
library("snotelr")

Use

Most people will prefer the GUI to explore data on the fly. To envoke the GUI use the following command:

library(snotelr)
snotel_explorer()

This will start a shiny application with an R backend in your default browser. The first window will display all site locations, and allows for subsetting of the data based upon state or a bounding box. The bounding box can be selected by clicking top-left and bottom-right.

map

The plot data tab allows for interactive viewing of the soil water equivalent (SWE) data together with a covariate (temperature, precipitation). The SWE time series will also mark snow phenology statistics, mainly the day of:

All values are provided as relative to January first of the year mentioned (spring), and absolute dates.

time_series

To access the full list of SNOTEL sites and associated meta-data use the snotel_info() function.

# returns the site info as snotel_metadata.txt in the current working directory
snotel_info(path = ".") 

# export to data frame
meta-data <- snotel_info(path = NULL) 

# show some lines of the data frame
head(meta-data)

To query data for e.g. site 924 as shown in the image above use:

snotel_download(site_id = 924)

For in depth analysis the statistics in the GUI can be retrieved using the snotel_phenology() function

# with df a SNOTEL file or data frame in your R workspace
snotel_phenology(df)

Data (units)

By default all data is converted to metric. Depths of snow and snow water equivalent are reported in mm, although it must be noted that when stations measure snow depth (in metric) they round values to the nearest inch or cm. You can use the metric parameter to download the raw data. Note that batch downloads might fail in this instance as column names might not match due to the dual use of metric and imperial units across stations. This is for niche and debugging use mostly.

References

Hufkens, K. (2022). snotelr: a toolbox to facilitate easy SNOTEL data exploration and downloads in R. Zenodo. https://doi.org/10.5281/zenodo.7012728.

Acknowledgements

This project was in part supported by the National Science Foundation’s Macro-system Biology Program (award EF-1065029) and the Marie Skłodowska-Curie Action (H2020 grant 797668). Logo design elements are taken from the FontAwesome library according to these terms, where the globe element was inverted and intersected.