library(knitr)
opts_chunk$set(echo = TRUE,
               warning = FALSE,
               message = FALSE,
               fig.width = 6,
               fig.height = 5)

options(knitr.kable.NA = '')
library(dplyr)

This vignette shows how to use HASP and other R tools to reproduce:

https://fl.water.usgs.gov/mapper/site_info.php?site=263819081585801&stationType=gw

This page merges information from USGS Groundwater Watch website and USGS Water Science Centers.

Site Information

library(HASP)

siteID <- "263819081585801"
site_metadata <- site_summary(siteID, markdown = TRUE)
data_info <- data_available(siteID)
kable(data_info)

Get data using dataRetrieval

Using dataRetrieval code to get the data for this site:

library(dataRetrieval)
siteID <- "263819081585801"
parameterCd <- "62610"
statCd <- "00001"
# Daily data:
gw_level_dv <- readNWISdv(siteID,
                          parameterCd,
                          statCd = statCd)

# Field measured:
gwl_data <- readNWISgwl(siteID)

# Water quality data:
cl_sc <- c("Chloride", "Specific conductance")
qw_data <- readWQPqw(siteNumbers = paste0("USGS-", siteID),
                     parameterCd = cl_sc)

plot_title <- "L -2701\n263819081585801"
y_label <- dataRetrieval::readNWISpCode(parameterCd)$parameter_nm 

Groundwater Data

Monthly Frequency

monthly_frequency_plot(gw_level_dv,
                       gwl_data = gwl_data,
                       parameter_cd = parameterCd,
                       y_axis_label = y_label,
                       plot_title = plot_title,
                       plot_range = "Past year")
monthly_freq_table <- monthly_frequency_table(gw_level_dv,
                                              gwl_data,
                                              parameter_cd = parameterCd) 
kable(monthly_freq_table, digits = 1)

Daily 2 year plot

daily_gwl_plot(gw_level_dv, 
               gwl_data,
               parameter_cd = parameterCd,
               plot_title = plot_title, 
               month_breaks = TRUE, 
               historical_stat = "median",
               y_axis_label = y_label)
daily_summary_table <- daily_gwl_summary(gw_level_dv, 
                                         gwl_data,
                                         parameter_cd = parameterCd) %>%
  select("Begin Date" = begin_date,
         "End Date" = end_date,
         "Days" = days,
         "% Complete" = percent_complete,
         "Lowest Level" = lowest_level,
         "25th" = p25,
         "50th" = p50,
         "75th" = p75,
         "Highest Level" = highest_level)
kable(t(daily_summary_table))

Field Groundwater Level Data

gwl_plot_field(gwl_data, 
               parameter_cd = parameterCd,
               plot_title = plot_title,
               flip = FALSE)
siteField <- gwl_data %>% 
  rename(value = sl_lev_va) %>% 
  site_data_summary() 

kable(siteField, digits = 1)

Period of Record - All Data Types

y_label <- dataRetrieval::readNWISpCode(parameterCd)$parameter_nm

gwl_plot_all(gw_level_dv, 
             gwl_data, 
             y_label = y_label,
             plot_title = plot_title,
             parameter_cd = parameterCd,
             flip = FALSE)
siteDaily <- gw_level_dv %>% 
  rename(value = X_62610_00001) %>% 
  site_data_summary() %>% 
  select(Minimum = min_site,    
         `1st` = p25, 
         Median = p50,
         Mean = mean_site,
         `3rd` = p75,
         Maximum = max_site)

kable(siteDaily, digits = 1)

Salinity Data and Analysis

Chloride

qw_plot(qw_data, plot_title = plot_title)
cl_trend <- trend_test(NULL,
                      gwl_data = dplyr::filter(qw_data, 
                   CharacteristicName == "Chloride"), 
                     approved_col = "ResultStatusIdentifier",
                     date_col = "ActivityStartDateTime",
                     value_col = "ResultMeasureValue")
kable(cl_trend, digits = 3)
chl_table <- qw_summary(qw_data, 
                        CharacteristicName = "Chloride",
                        norm_range = c(225,999))
kable(chl_table)

Specific Conductance

qw_plot(qw_data, "Specific Conductance", 
        CharacteristicName = "Specific conductance")
sc_table <- qw_summary(qw_data, 
                       CharacteristicName = "Specific conductance",
                       norm_range = NA)
kable(sc_table)

Specific Conductance vs Chloride

Sc_Cl_plot(qw_data, plot_title = plot_title)
sc_cl <- Sc_Cl_table(qw_data)

# only show 10 row:
kable(head(sc_cl, 10), 
      col.names = c("Date",
                    "Chloride [mg/L]",
                    "Specific conductance [µS/L]"))


USGS-R/HASP documentation built on July 28, 2024, 7:53 a.m.