1. Source functions

If this were an R package we would library()

How to load

Load your libraries, palettes and functions:

pacman::p_load(dplyr, tidyr, ggplot2, readr, broom,
               janitor,lubridate, DT, viridis, stringr,forcats)

system_palette <- c("Hydrological" = "#31B2BB", "Vegetation" = "#07913C", "Biogeochemical" = "#A45D05")

Plot_order = c("Freshwater", "Estuarine-water")

# set event window to use for all data frame function calls
flood_event_datetime <- c(as_datetime("2022-06-22 5:30:00", tz = "EST"), as_datetime("2022-06-22 14:30:00", tz = "EST"))

EVENT_START <- as_datetime("2022-06-22 05:30:00", tz = "EST")
EVENT_STOP <- as_datetime("2022-06-22 14:30:00", tz = "EST")

source("scripts/tmp_test_functions.R")
source("scripts/rain_times.R")

Function guts

Check out the guts of the function you just loaded to see what all the maths are behind the calculations:

## function (data, datetime_name, event, plot_col_name, analyte_col_name, 
##     scale_col_name) 
## {
##     data_name <- deparse(substitute(data))
##     grouped_binned_data <- divide_data(data, {
##         {
##             datetime_name
##         }
##     }, event) %>% group_by(timedate_bin, {
##         {
##             plot_col_name
##         }
##     }, {
##         {
##             scale_col_name
##         }
##     })
##     sum_calcs_list <- list()
##     for (a in seq_along(analyte_col_name)) {
##         analyte <- analyte_col_name[a]
##         sum_calcs <- grouped_binned_data %>% filter(!is.na(eval(parse(text = {
##             {
##                 analyte_col_name
##             }
##         }[a])))) %>% summarize(avg = mean(eval(parse(text = {
##             {
##                 analyte_col_name
##             }
##         }[a]))), min = min(eval(parse(text = {
##             {
##                 analyte_col_name
##             }
##         }[a]))), max = max(eval(parse(text = {
##             {
##                 analyte_col_name
##             }
##         }[a]))), sd = sd(eval(parse(text = {
##             {
##                 analyte_col_name
##             }
##         }[a]))), n = n()) %>% mutate(analyte_name = analyte)
##         sum_calcs_list[[analyte]] <- sum_calcs
##     }
##     bind_sum <- bind_rows(sum_calcs_list)
##     bind_sum %>% pivot_wider(names_from = "timedate_bin", values_from = c("avg", 
##         "sd", "n", "min", "max")) %>% select(-c(min_Pre, min_Post, 
##         max_Pre, max_Post)) %>% mutate(max_effect_Mid = case_when(avg_Mid > 
##         avg_Pre ~ max_Mid, avg_Mid < avg_Pre ~ min_Mid, avg_Mid == 
##         avg_Pre ~ avg_Mid)) %>% select(-max_Mid, -min_Mid) %>% 
##         rename(Vpre = avg_Pre, Vpre_n = n_Pre, Vpre_sd = sd_Pre, 
##             Vdist = max_effect_Mid, Vdist_n = n_Mid, Vdist_sd = sd_Mid, 
##             Vdist_avg = avg_Mid, Vpost = avg_Post, Vpost_n = n_Post, 
##             Vpost_sd = sd_Post) %>% mutate(magnitude_change = Vdist - 
##         Vpre) %>% rename(plot = {
##         {
##             plot_col_name
##         }
##     })
## }

2. Load in data by system type & Normalize

Hydrologic (sub-surface and near-surface water level, VWC, sub-surface and near-surface EC) Biogeochemical (sub-surface & near-surface DO, porewater DOC, optical properties; soil GHGs) Vegetation (sapflow; root respiration; leaf water potential)

Biogeochemical Variables

Porewater DOC

##      Plot            Timepoint               n           doc_mg_l_sd   
##  Length:17          Length:17          Min.   : 1.000   Min.   :2.530  
##  Class :character   Class :character   1st Qu.: 4.000   1st Qu.:3.505  
##  Mode  :character   Mode  :character   Median : 7.000   Median :4.060  
##                                        Mean   : 6.235   Mean   :4.545  
##                                        3rd Qu.: 9.000   3rd Qu.:5.190  
##                                        Max.   :10.000   Max.   :8.480  
##                                                         NA's   :2      
##   doc_mg_l_se       doc_mg_l      tdn_mg_l_sd      tdn_mg_l_se    
##  Min.   :0.860   Min.   : 8.10   Min.   :0.0500   Min.   :0.0300  
##  1st Qu.:1.170   1st Qu.: 9.79   1st Qu.:0.1750   1st Qu.:0.0750  
##  Median :1.790   Median :11.10   Median :0.3100   Median :0.1200  
##  Mean   :1.819   Mean   :13.10   Mean   :0.3827   Mean   :0.1447  
##  3rd Qu.:2.370   3rd Qu.:17.54   3rd Qu.:0.4450   3rd Qu.:0.1600  
##  Max.   :3.210   Max.   :21.12   Max.   :1.7000   Max.   :0.6400  
##  NA's   :2                       NA's   :2        NA's   :2       
##     tdn_mg_l           date                plot               Time         
##  Min.   :0.2700   Min.   :2022-06-15   Length:17          Length:17        
##  1st Qu.:0.4700   1st Qu.:2022-06-22   Class :character   Class1:hms       
##  Median :0.6100   Median :2022-06-23   Mode  :character   Class2:difftime  
##  Mean   :0.6541   Mean   :2022-06-25                      Mode  :numeric   
##  3rd Qu.:0.7700   3rd Qu.:2022-06-24                                       
##  Max.   :1.2500   Max.   :2022-07-18                                       
##                                                                            
##    Timestamp                      zscore_doc_mg_l  
##  Min.   :2022-06-15 12:00:00.00   Min.   :-1.6099  
##  1st Qu.:2022-06-22 05:00:00.00   1st Qu.:-0.5802  
##  Median :2022-06-23 12:00:00.00   Median :-0.2615  
##  Mean   :2022-06-26 08:21:10.58   Mean   : 0.0000  
##  3rd Qu.:2022-06-24 12:00:00.00   3rd Qu.: 0.6963  
##  Max.   :2022-07-18 12:00:00.00   Max.   : 1.9595  
## 

Porewater CDOM Spectral Metrics

##     S275_295        S275_295_r2        S350_400        S350_400_r2    
##  Min.   :0.01189   Min.   :0.9967   Min.   :0.01532   Min.   :0.9994  
##  1st Qu.:0.01395   1st Qu.:0.9988   1st Qu.:0.01842   1st Qu.:0.9998  
##  Median :0.01445   Median :0.9990   Median :0.01885   Median :0.9998  
##  Mean   :0.01447   Mean   :0.9988   Mean   :0.01865   Mean   :0.9998  
##  3rd Qu.:0.01482   3rd Qu.:0.9993   3rd Qu.:0.01923   3rd Qu.:0.9998  
##  Max.   :0.01726   Max.   :0.9996   Max.   :0.02070   Max.   :1.0000  
##        Sr             E2toE3            FI             HIX        
##  Min.   :0.7284   Min.   :4.247   Min.   :1.359   Min.   :0.6755  
##  1st Qu.:0.7486   1st Qu.:5.364   1st Qu.:1.520   1st Qu.:0.9058  
##  Median :0.7709   Median :5.625   Median :1.550   Median :0.9230  
##  Mean   :0.7772   Mean   :5.650   Mean   :1.568   Mean   :0.8892  
##  3rd Qu.:0.7867   3rd Qu.:5.822   3rd Qu.:1.566   3rd Qu.:0.9294  
##  Max.   :0.9067   Max.   :7.748   Max.   :1.822   Max.   :0.9553  
##      FRESH             BIX         sample_name           Event          
##  Min.   :0.4546   Min.   :0.4726   Length:24          Length:24         
##  1st Qu.:0.5563   1st Qu.:0.5668   Class :character   Class :character  
##  Median :0.5641   Median :0.5736   Mode  :character   Mode  :character  
##  Mean   :0.6179   Mean   :0.6294                                        
##  3rd Qu.:0.5890   3rd Qu.:0.5978                                        
##  Max.   :0.9413   Max.   :0.9740                                        
##      Plot               Grid            Timepoint              date           
##  Length:24          Length:24          Length:24          Min.   :2022-06-13  
##  Class :character   Class :character   Class :character   1st Qu.:2022-06-20  
##  Mode  :character   Mode  :character   Mode  :character   Median :2022-06-22  
##                                                           Mean   :2022-06-27  
##                                                           3rd Qu.:2022-06-30  
##                                                           Max.   :2022-07-21  
##      depth        plot               Time         
##  Min.   :15   Length:24          Length:24        
##  1st Qu.:15   Class :character   Class1:hms       
##  Median :15   Mode  :character   Class2:difftime  
##  Mean   :15                      Mode  :numeric   
##  3rd Qu.:15                                       
##  Max.   :15                                       
##    Timestamp                     zscore_Sr      
##  Min.   :2022-06-13 12:00:00   Min.   :-2.4630  
##  1st Qu.:2022-06-20 12:00:00   1st Qu.:-0.4369  
##  Median :2022-06-23 00:00:00   Median : 0.2130  
##  Mean   :2022-06-27 20:25:00   Mean   : 0.0000  
##  3rd Qu.:2022-06-30 12:00:00   3rd Qu.: 0.4632  
##  Max.   :2022-07-21 12:00:00   Max.   : 1.7875

near-surface DO

##   datetime_est                 datetime_utc           temp_c     
##  Min.   :2022-06-21 12:05:00   Length:1725        Min.   :17.97  
##  1st Qu.:2022-06-22 00:00:00   Class :character   1st Qu.:18.13  
##  Median :2022-06-22 12:00:00   Mode  :character   Median :19.10  
##  Mean   :2022-06-22 12:00:00                      Mean   :19.14  
##  3rd Qu.:2022-06-23 00:00:00                      3rd Qu.:19.92  
##  Max.   :2022-06-23 11:55:00                      Max.   :21.32  
##      do_mgl          plot               depth    zscore_do_mgl    
##  Min.   :0.001   Length:1725        Min.   :30   Min.   :-2.9348  
##  1st Qu.:0.161   Class :character   1st Qu.:30   1st Qu.:-1.0923  
##  Median :5.813   Mode  :character   Median :30   Median : 0.5146  
##  Mean   :4.915                      Mean   :30   Mean   : 0.0000  
##  3rd Qu.:8.446                      3rd Qu.:30   3rd Qu.: 1.0077  
##  Max.   :9.429                      Max.   :30   Max.   : 1.4275

Soil [CH4 & CO2]

##      Plot            Timepoint            Source                n        
##  Length:36          Length:36          Length:36          Min.   :3.000  
##  Class :character   Class :character   Class :character   1st Qu.:4.000  
##  Mode  :character   Mode  :character   Mode  :character   Median :4.000  
##                                                           Mean   :3.972  
##                                                           3rd Qu.:4.000  
##                                                           Max.   :4.000  
##   Flux_CH4_sd       Flux_CH4_se         Flux_CH4      
##  Min.   :0.03882   Min.   :0.01941   Min.   :-1.9476  
##  1st Qu.:0.32721   1st Qu.:0.16360   1st Qu.:-1.1416  
##  Median :0.53336   Median :0.26668   Median :-0.7522  
##  Mean   :0.65047   Mean   :0.32613   Mean   :-0.7767  
##  3rd Qu.:0.96671   3rd Qu.:0.48336   3rd Qu.:-0.3627  
##  Max.   :1.87294   Max.   :0.93647   Max.   : 0.1944  
##       Date                            plot           zscore_Flux_CH4  
##  Min.   :2022-06-20 18:49:13.00   Length:36          Min.   :-2.5400  
##  1st Qu.:2022-06-22 18:02:48.00   Class :character   1st Qu.:-0.3874  
##  Median :2022-06-23 12:03:07.00   Mode  :character   Median : 0.0620  
##  Mean   :2022-06-29 01:00:24.57                      Mean   : 0.0000  
##  3rd Qu.:2022-07-01 23:21:14.50                      3rd Qu.: 0.6249  
##  Max.   :2022-07-21 23:53:53.00                      Max.   : 2.1051
##      Plot            Timepoint            Source                n        
##  Length:36          Length:36          Length:36          Min.   :3.000  
##  Class :character   Class :character   Class :character   1st Qu.:4.000  
##  Mode  :character   Mode  :character   Mode  :character   Median :4.000  
##                                                           Mean   :3.972  
##                                                           3rd Qu.:4.000  
##                                                           Max.   :4.000  
##   Flux_CO2_sd       Flux_CO2_se        Flux_CO2    
##  Min.   : 0.5571   Min.   :0.2786   Min.   : 5.17  
##  1st Qu.: 2.0091   1st Qu.:1.0046   1st Qu.: 8.41  
##  Median : 3.2381   Median :1.6190   Median :10.84  
##  Mean   : 4.0678   Mean   :2.0385   Mean   :11.40  
##  3rd Qu.: 4.6359   3rd Qu.:2.3179   3rd Qu.:13.58  
##  Max.   :13.5293   Max.   :6.7646   Max.   :21.44  
##       Date                            plot           zscore_Flux_CO2  
##  Min.   :2022-06-20 18:49:13.00   Length:36          Min.   :-1.3434  
##  1st Qu.:2022-06-22 18:02:48.00   Class :character   1st Qu.:-0.6993  
##  Median :2022-06-23 12:03:07.00   Mode  :character   Median :-0.2504  
##  Mean   :2022-06-29 01:00:24.57                      Mean   : 0.0000  
##  3rd Qu.:2022-07-01 23:21:14.50                      3rd Qu.: 0.5368  
##  Max.   :2022-07-21 23:53:53.00                      Max.   : 1.8901

Hydrologic Variables

AquaTroll

##   datetime_est                  datetime_utc                     plot          
##  Min.   :2022-06-20 00:00:00   Min.   :2022-06-20 05:00:00   Length:720        
##  1st Qu.:2022-06-21 05:52:30   1st Qu.:2022-06-21 10:52:30   Class :character  
##  Median :2022-06-22 11:45:00   Median :2022-06-22 16:45:00   Mode  :character  
##  Mean   :2022-06-22 11:45:00   Mean   :2022-06-22 16:45:00                     
##  3rd Qu.:2022-06-23 17:37:30   3rd Qu.:2022-06-23 22:37:30                     
##  Max.   :2022-06-24 23:30:00   Max.   :2022-06-25 04:30:00                     
##       temp          salinity      specific_conductivity wl_below_surface_m
##  Min.   :12.19   Min.   :0.0400   Min.   :  83.38       Min.   :-3.8145   
##  1st Qu.:12.21   1st Qu.:0.0400   1st Qu.:  89.22       1st Qu.:-3.8022   
##  Median :12.34   Median :0.0600   Median : 121.94       Median :-2.8266   
##  Mean   :12.36   Mean   :0.5539   Mean   :1032.68       Mean   :-2.4821   
##  3rd Qu.:12.54   3rd Qu.:0.1100   3rd Qu.: 221.98       3rd Qu.:-1.0302   
##  Max.   :12.57   Max.   :3.5500   Max.   :6490.00       Max.   :-0.2873   
##      do_mgl      rain_accum_in         depth     zscore_specific_conductivity
##  Min.   :0.001   Min.   :0.00000   Min.   :100   Min.   :-1.83457            
##  1st Qu.:0.001   1st Qu.:0.00000   1st Qu.:100   1st Qu.:-0.95549            
##  Median :0.010   Median :0.00000   Median :100   Median : 0.02192            
##  Mean   :2.092   Mean   :0.04869   Mean   :100   Mean   : 0.00000            
##  3rd Qu.:5.485   3rd Qu.:0.06654   3rd Qu.:100   3rd Qu.: 0.92937            
##  Max.   :7.240   Max.   :0.45354   Max.   :100   Max.   : 2.46833            
##  zscore_wl_below_surface_m zscore_do_mgl    
##  Min.   :-2.0592           Min.   :-1.5173  
##  1st Qu.:-0.9759           1st Qu.:-0.6554  
##  Median :-0.0254           Median :-0.3720  
##  Mean   : 0.0000           Mean   : 0.0000  
##  3rd Qu.: 0.9756           3rd Qu.: 0.7241  
##  Max.   : 2.5145           Max.   : 4.0987

Teros

##   datetime_est                     plot               depth       vwc_m3m3     
##  Min.   :2022-06-20 00:00:00   Length:1440        Min.   :15   Min.   :0.2827  
##  1st Qu.:2022-06-21 05:56:15   Class :character   1st Qu.:15   1st Qu.:0.2969  
##  Median :2022-06-22 11:52:30   Mode  :character   Median :15   Median :0.3192  
##  Mean   :2022-06-22 11:52:30                      Mean   :15   Mean   :0.3216  
##  3rd Qu.:2022-06-23 17:48:45                      3rd Qu.:15   3rd Qu.:0.3451  
##  Max.   :2022-06-24 23:45:00                      Max.   :15   Max.   :0.3827  
##     tsoil_c         ec_uscm          filled        zscore_vwc_m3m3  
##  Min.   :17.90   Min.   :  47.53   Mode :logical   Min.   :-1.2904  
##  1st Qu.:18.46   1st Qu.:  83.40   FALSE:1321      1st Qu.:-0.9590  
##  Median :18.81   Median : 106.31   TRUE :119       Median :-0.3237  
##  Mean   :19.14   Mean   : 305.46                   Mean   : 0.0000  
##  3rd Qu.:19.69   3rd Qu.: 118.11                   3rd Qu.: 1.0532  
##  Max.   :21.75   Max.   :1916.50                   Max.   : 1.9965  
##  zscore_ec_uscm   
##  Min.   :-1.5869  
##  1st Qu.:-1.0321  
##  Median : 0.1592  
##  Mean   : 0.0000  
##  3rd Qu.: 1.0201  
##  Max.   : 1.8874

Vegetation

Root [CH4 & CO2]

##      Plot            Timepoint            Source                n        
##  Length:36          Length:36          Length:36          Min.   :3.000  
##  Class :character   Class :character   Class :character   1st Qu.:4.000  
##  Mode  :character   Mode  :character   Mode  :character   Median :4.000  
##                                                           Mean   :3.972  
##                                                           3rd Qu.:4.000  
##                                                           Max.   :4.000  
##   Flux_CH4_sd      Flux_CH4_se        Flux_CH4      
##  Min.   :0.2145   Min.   :0.1072   Min.   :-2.4124  
##  1st Qu.:0.5072   1st Qu.:0.2536   1st Qu.:-1.0024  
##  Median :0.9187   Median :0.4593   Median :-0.5855  
##  Mean   :1.0887   Mean   :0.5483   Mean   :-0.3845  
##  3rd Qu.:1.4749   3rd Qu.:0.7374   3rd Qu.: 0.2073  
##  Max.   :3.8855   Max.   :1.9428   Max.   : 1.6545  
##       Date                            plot           zscore_Flux_CH4   
##  Min.   :2022-06-20 18:49:13.00   Length:36          Min.   :-2.62184  
##  1st Qu.:2022-06-22 18:02:48.00   Class :character   1st Qu.:-0.39075  
##  Median :2022-06-23 12:03:07.00   Mode  :character   Median :-0.03596  
##  Mean   :2022-06-29 01:00:24.57                      Mean   : 0.00000  
##  3rd Qu.:2022-07-01 23:21:14.50                      3rd Qu.: 0.41289  
##  Max.   :2022-07-21 23:53:53.00                      Max.   : 2.28512
##      Plot            Timepoint            Source                n        
##  Length:36          Length:36          Length:36          Min.   :3.000  
##  Class :character   Class :character   Class :character   1st Qu.:4.000  
##  Mode  :character   Mode  :character   Mode  :character   Median :4.000  
##                                                           Mean   :3.972  
##                                                           3rd Qu.:4.000  
##                                                           Max.   :4.000  
##   Flux_CO2_sd       Flux_CO2_se        Flux_CO2     
##  Min.   : 0.9389   Min.   :0.4695   Min.   :-2.125  
##  1st Qu.: 3.5595   1st Qu.:1.7797   1st Qu.: 2.853  
##  Median : 4.8670   Median :2.4647   Median : 3.581  
##  Mean   : 5.3846   Mean   :2.7027   Mean   : 3.841  
##  3rd Qu.: 6.2238   3rd Qu.:3.1119   3rd Qu.: 4.986  
##  Max.   :13.4057   Max.   :6.7028   Max.   : 9.685  
##       Date                            plot           zscore_Flux_CO2   
##  Min.   :2022-06-20 18:49:13.00   Length:36          Min.   :-2.27874  
##  1st Qu.:2022-06-22 18:02:48.00   Class :character   1st Qu.:-0.53668  
##  Median :2022-06-23 12:03:07.00   Mode  :character   Median :-0.03218  
##  Mean   :2022-06-29 01:00:24.57                      Mean   : 0.00000  
##  3rd Qu.:2022-07-01 23:21:14.50                      3rd Qu.: 0.55136  
##  Max.   :2022-07-21 23:53:53.00                      Max.   : 2.14871

Sapflow

##       Date                plot               Fd_avg      zscore_Fd_avg     
##  Min.   :2022-06-20   Length:15          Min.   :1.125   Min.   :-1.65299  
##  1st Qu.:2022-06-21   Class :character   1st Qu.:3.737   1st Qu.:-0.02949  
##  Median :2022-06-22   Mode  :character   Median :4.009   Median : 0.14102  
##  Mean   :2022-06-22                      Mean   :3.783   Mean   : 0.00000  
##  3rd Qu.:2022-06-23                      3rd Qu.:4.306   3rd Qu.: 0.28685  
##  Max.   :2022-06-24                      Max.   :6.098   Max.   : 1.23568

3. Run calc_dist_metrics

Hydrologic (sub-surface and near-surface water level, VWC, sub-surface and near-surface EC) Biogeochemical (sub-surface & near-surface DO, porewater DOC, optical properties; soil GHGs) Vegetation (sapflow; root respiration; leaf water potential)

names_key = readxl::read_excel("./data/for processing/system_level_analyte_key.xlsx")

responses = responses_1 %>%
  full_join(names_key, by=c("analyte_name","location"))

4. Output

5. Plot magnitude of change responses

6. Boxplots