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.
library(HASP)
siteID <- "263819081585801"
site_metadata <- site_summary(siteID, markdown = TRUE)
263819081585801 L -2701
Latitude: 26 deg 38 ’ 19 ”
Longitude: 81 deg 58 ’ 58 ”
Lee County , Florida
Hydrologic Unit: 03090205
Well depth: 206 feet
Land
surface altitude: 13 feet above NGVD29
Well completed in :
“Intermediate aquifer system” (S500INTRMD) national aquifer.
Well
completed in : “Hawthorn Limestone Aquifer” (122HTRNN) local
aquifer.
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)
1 |
-38.1 |
-32.3 |
-29.4 |
-21.4 |
-17.4 |
-10.7 |
-7.1 |
45 |
-41.8 |
-5.7 |
2 |
-40.8 |
-32.6 |
-29.0 |
-21.9 |
-18.5 |
-12.2 |
-7.6 |
45 |
-42.9 |
-7.2 |
3 |
-41.2 |
-36.0 |
-30.0 |
-23.2 |
-19.4 |
-11.4 |
-7.7 |
45 |
-45.2 |
-6.9 |
4 |
-45.0 |
-39.1 |
-31.7 |
-25.7 |
-21.8 |
-16.4 |
-10.3 |
45 |
-48.4 |
-9.4 |
5 |
-45.9 |
-39.8 |
-34.0 |
-27.0 |
-23.3 |
-18.1 |
-14.2 |
45 |
-49.4 |
-10.0 |
6 |
-41.7 |
-38.2 |
-32.3 |
-27.2 |
-20.7 |
-15.4 |
-13.7 |
44 |
-42.8 |
-11.0 |
7 |
-34.4 |
-31.1 |
-25.3 |
-20.0 |
-17.0 |
-14.0 |
-10.8 |
45 |
-37.5 |
-6.8 |
8 |
-28.0 |
-27.6 |
-22.8 |
-17.1 |
-14.0 |
-11.5 |
-9.4 |
45 |
-32.4 |
-4.8 |
9 |
-28.5 |
-24.1 |
-19.0 |
-15.4 |
-12.5 |
-9.4 |
-6.5 |
44 |
-32.7 |
-3.2 |
10 |
-29.1 |
-28.5 |
-21.5 |
-16.0 |
-12.8 |
-8.7 |
-5.6 |
46 |
-36.2 |
-4.8 |
11 |
-35.9 |
-31.7 |
-25.7 |
-20.1 |
-14.6 |
-9.5 |
-6.7 |
46 |
-41.4 |
-4.5 |
12 |
-37.6 |
-32.3 |
-27.5 |
-21.0 |
-16.5 |
-10.2 |
-8.2 |
45 |
-42.5 |
-4.9 |
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))
Begin Date |
1978-10-01 |
End Date |
2023-11-02 |
Days |
16238 |
% Complete |
99 |
Lowest Level |
-51.3 |
25th |
-27.95 |
50th |
-21.41 |
75th |
-16.3 |
Highest Level |
-2.81 |
Field Groundwater Level Data
gwl_plot_field(gwl_data,
parameter_cd = parameterCd,
plot_title = plot_title,
flip = FALSE)
263819081585801 |
-52.4 |
-4.8 |
-26.5 |
-36.8 |
-32.3 |
-25.9 |
-20.3 |
-16.2 |
1443 |
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)
-51.1 |
-27.6 |
-21.2 |
-22.1 |
-16 |
-2.8 |
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)
10-year trend |
0.838 |
0 |
6.521 |
-13071.910 |
Up |
Period of record |
0.483 |
0 |
0.647 |
-1237.109 |
Up |
chl_table <- qw_summary(qw_data,
CharacteristicName = "Chloride",
norm_range = c(225,999))
kable(chl_table)
Date of first sample |
1978-09-06 |
First sample result (mg/l) |
52 |
Date of last sample |
2022-05-18 |
Last sample result (mg/l) |
72 |
Date of first sample within 225 to 999 mg/l |
|
Date of first sample with 1000 mg/l or greater |
|
Minimum (mg/l) |
14 |
Maximum (mg/l) |
119 |
Mean (mg/l) |
60.9 |
First quartile (mg/l) |
54 |
Median (mg/l) |
58 |
Third quartile (mg/l) |
68 |
Number of samples |
81 |
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)
Date of first sample |
1979-05-09 |
First sample result (uS/cm @25C) |
580 |
Date of last sample |
2022-05-18 |
Last sample result (uS/cm @25C) |
606 |
Minimum (uS/cm @25C) |
176 |
Maximum (uS/cm @25C) |
785 |
Mean (uS/cm @25C) |
553 |
First quartile (uS/cm @25C) |
544 |
Median (uS/cm @25C) |
560 |
Third quartile (uS/cm @25C) |
569 |
Number of samples |
394 |
Specific Conductance vs Chloride
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]"))
1978-09-06 20:30:00 |
52 |
|
1979-05-09 19:00:00 |
50 |
580 |
1981-05-20 18:15:00 |
54 |
536 |
1982-06-03 13:30:00 |
60 |
525 |
1982-10-12 13:15:00 |
52 |
520 |
1983-05-11 15:50:00 |
54 |
530 |
1983-11-02 16:30:00 |
54 |
550 |
1984-04-12 16:30:00 |
54 |
530 |
1984-10-24 14:05:00 |
54 |
540 |
1985-05-03 19:45:00 |
54 |
535 |