# echo = F, include = TRUE, message= F, warning= F, echo = FALSE
knitr::opts_chunk$set(warning = FALSE, message = FALSE)
knitr::opts_chunk$set(
dev = c("png", "pdf"), fig.keep = "all",
dev.args = list(pdf = list(encoding = "WinAnsi", useDingbats = FALSE)),
fig.path = file.path("plots", paste0(gsub("\\.[Rr]md", "", knitr::current_input()), "_"))
)
# load libraries
library(rlang)
library(plotly)
library(tidyverse)
library(RDocumentation)
library(ggplot2)
library(grid)
library(gridExtra)
library(dplyr)
library(RColorBrewer)
library(viridis)
library(ggpubr)
library(gridExtra)
library(openxlsx)
library(cowplot)
library(stringr)
library(ggh4x)
library(knitr)
library(arsenal)
## NEED reactors 29 - 31
# Reactor 32 | March 2025 to current
R32_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R32_Cap17O Compiled REACTOR THIRTY TWO.xlsx", sheet = "All Data")
# Reactor 31 | August 2024 - November 2024
R31_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R31_Cap17O Compiled REACTOR THIRTY ONE.xlsx", sheet = "All Data")
# Reactor 30 data not found
# Reactor 29 |
R29_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R29_Cap17O Compiled REACTOR TWENTY NINE.xlsx", sheet = "All Data")
# Reactor 28 | August 2023 - October 2023
R28_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R28_Cap17O Compiled REACTOR TWENTY EIGHT.xlsx", sheet = "All Data")
# Reactor 27 | May 2023 - August 2023
R27_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R27_Cap17O Compiled REACTOR TWENTY SEVEN.xlsx", sheet = "All Data")
# Reactor 26
R26_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R26_Cap17O Compiled REACTOR TWENTY SIX.xlsx", sheet = "All Data")
# Reactor 25
R25_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R25_Cap17O Compiled REACTOR TWENTY FIVE.xlsx", sheet = "All Data")
# Reactor 24
R24_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R24_Cap17O Compiled REACTOR TWENTY FOUR.xlsx", sheet = "All Data")
# Reactor 23
R23_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R23b_Cap17O Compiled REACTOR TWENTY THREE - post filament change.xlsx", sheet = "All Data")
# # Combined R23, 24, 25
# R23.24.25_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R23.R24.R25_Data_formatted.xlsx", sheet = "All Data")
# Reactor 22a
R22a_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R22a_Cap17O Compiled REACTOR TWENTY TWO.xlsx", sheet = "All Data")
# Reactor 21
R21_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R21_Cap17O Compiled REACTOR TWENTY ONE.xlsx", sheet = "All Data")
# Reactor 20
R20_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R20_Cap17O Compiled REACTOR TWENTY.xlsx", sheet = "All Data")
# Reactor 19
R19_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R19_Cap17O Compiled REACTOR NINETEEN.xlsx", sheet = "All Data")
# Reactor 18
R18_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R18_Cap17O Compiled REACTOR EIGHTEEN 05122021.xlsx", sheet = "All Data")
# Reactor 17
R17_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R17_Cap17O Compiled REACTOR SEVENTEEN 02012021.xlsx", sheet = "All Data")
# Reactor 16
R16c_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R16c_Cap17O Compiled REACTOR SIXTEEN post power201118.xlsx", sheet = "All Data")
# Reactor 15
R15_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R15b_Cap17O Compiled REACTOR FIFTEEN 200527_postrepair.xlsx", sheet = "All Data")
# Reactor 14
R14_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R14_Cap17O Compiled REACTOR FOURTEEN 200316.xlsx", sheet = "All Data")
# Reactor 13
R13_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R13_Cap17O Compiled REACTOR THIRTEEN 191121.xlsx", sheet = "All Data")
# Reactor 12
R12_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R12all_Cap17O Compiled REACTOR TWELVE_all_data.xlsx", sheet = "All Data")
# Reactor 11
R11_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R11_Cap17O Compiled REACTOR ELEVEN 190814.xlsx", sheet = "All Data")
# Reactor 10
R10_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/triplereactordata/R10_Cap17O Compiled REACTOR TEN 190703.xlsx", sheet = "All Data")
# Combined Reactors 13-17
R13.14.15.16.17_prelimcorr <- read.xlsx("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/SuppTable_S4_TripleOxygenIsotopes_CompleteReactorsData_v2_formatted.xlsx", sheet = "Raw Data")
# ## NEED reactors 29 - 31
#
# # Reactor 28 | August 2023 - October 2023
# R28 <- read.csv("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/Reactor28Final.csv")
#
# # Reactor 27 | May 2023 - August 2023
# R27 <- read.csv("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/Reactor27Final.csv")
#
# # Reactor 26 | Feb 2023 - May 2023
# R26 <- read.csv("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/Reactor26Final.csv")
#
# # Reactor 25 | Oct 2022 - Jan 2023
# R25 <- read.csv("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/Reactor25Final.csv")
#
# # Reactor 24 | Aug 2022 - Oct 2022
# R24 <- read.csv("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/Reactor24Final.csv")
#prelimin correction data merge
all.reactors_prelimcorr <- rbind(R32_prelimcorr, R31_prelimcorr, R29_prelimcorr, R28_prelimcorr, R27_prelimcorr, R26_prelimcorr, R25_prelimcorr, R24_prelimcorr, R23_prelimcorr, R22a_prelimcorr, R21_prelimcorr, R20_prelimcorr, R19_prelimcorr, R18_prelimcorr, R13.14.15.16.17_prelimcorr, R12_prelimcorr, R10_prelimcorr) %>% # added with combined df(R17_prelimcorr, R16c_prelimcorr, R15_prelimcorr, R14_prelimcorr, R13_prelimcorr); not added yet: R11_prelimcorr (formatting issue, can't figure it out)
filter(flag.analysis == 0) %>%
filter(flag.major == 0) %>%
filter(Type.1 == "WaterStd" | Type.1 == "CarbonateStd" ) %>%
mutate(
IPL.num = as.numeric(as.character(IPL.num), na.rm = TRUE),
d18O_VPDB = (0.97001 * d18O + 30.92),
dp18O_VPDB = log(d18O_VPDB/1000+1) * 1000,
d17O_VPDB = (0.97001 * d17O + 30.92),
dp17O_VPDB = log(d17O_VPDB/1000+1) * 1000,
D17O_VPDB = (0.97001 * D17O.per.meg + 30.92),
Dp17O_VPDB = log(D17O_VPDB/1000+1) * 1000,
Dp17O.permeg =log(D17O.per.meg/1000+1) * 1000
) %>%
rename(
d18O_SMOW.SLAP = d18O,
dp18O_SMOW.SLAP = `d'18O`,
d17O_SMOW.SLAP = d17O,
dp17O_SMOW.SLAP = `d'17O`,
D17O_SMOW.SLAP_permeg = D17O.per.meg,
Dp17O_SMOW.SLAP_permeg = Dp17O.permeg,
standard = Type.2
)
Assemble accepted values for water and carbonate standards
converting between SMOW and VPDB: Kim, S.-T., Coplen, T. B., & Horita, J. (2015). Normalization of stable isotope data for carbonate minerals: Implementation of IUPAC guidelines. Geochimica et Cosmochimica Acta, 158, 276–289. https://doi.org/10.1016/j.gca.2015.02.011
δ18O_VSMOW-SLAP = 1.03092 * δ18O_VPDB + 30.92
δ18O_VPDB = 0.97001 * δ18O_VSMOW-SLAP - 29.99
Δ17O_VPDB = δ17O_VPDB − λ × δ18O_VPDB
stds_carbonate <- tibble(
standard = c("IAEA-C1","102-GC-AZ01", "NBS-18", "NBS-19", "ETH1", "ETH2", "ETH3", "ETH4", "GON06-OES"),
d13C_acc_VPDB = c(2.42, NA, -5.014, 1.95, 2.02, -10.17, 1.71, -10.2, NA),
d18O_acc_VPDB = c(-2.32, -14.5, -23.2, -2.2, -2.13, -18.69, -1.78, -18.8, NA),
d18O_acc_SMOWSLAP = c(NA, NA, NA, NA, NA, NA, NA, NA, 38),
d17O_acc_VPDB = c(NA, NA, NA, NA, NA, NA, NA, NA, NA),
D17O_acc_VPDB_permeg = c(-100, -67, -48, -102, NA, NA, NA, NA, NA),
D17O_acc_SMOWSLAP_permeg = c(NA, NA, NA, NA, NA, NA, NA, NA, -343) #GON06 values very prelim
) %>%
mutate(
d17O_acc_SMOWSLAP = NA ,
d17O_acc_VPDB = NA,
#if column is empty, calculate SMOW-SLAP value from VPDB value
d18O_acc_SMOWSLAP = round( if_else(is.na(d18O_acc_SMOWSLAP), (1.03092 * d18O_acc_VPDB + 30.92), d18O_acc_SMOWSLAP), 2) ,
D17O_acc_SMOWSLAP_permeg = round( if_else(is.na(D17O_acc_SMOWSLAP_permeg), (1.03092 * D17O_acc_VPDB_permeg + 30.92), D17O_acc_SMOWSLAP_permeg), 2),
#if column is empty, calculate VPDB value from SMOW-SLAP value
d18O_acc_VPDB = round( if_else(is.na(d18O_acc_VPDB), (0.97001 * d18O_acc_SMOWSLAP - 29.99 ), d18O_acc_VPDB), 2) ,
D17O_acc_VPDB_permeg = round( if_else(is.na(D17O_acc_VPDB_permeg), (0.97001 * D17O_acc_SMOWSLAP_permeg - 29.99 ), D17O_acc_VPDB_permeg), 2),
d17O_acc_VPDB = round( if_else(is.na(d17O_acc_VPDB), (0.97001 * d17O_acc_SMOWSLAP - 29.99 ), d17O_acc_VPDB), 2),
#calculate delta prime values
dp18O_acc_VPDB = round( (log(d18O_acc_VPDB/1000+1) * 1000), 2),
dp17O_acc_VPDB = round( (log(d17O_acc_VPDB/1000+1) * 1000), 2),
Dp17O_acc_VPDB_permeg = round( (log(D17O_acc_VPDB_permeg/1000+1) * 1000), 2),
dp18O_acc_SMOWSLAP = round( (log(d18O_acc_SMOWSLAP/1000+1) * 1000), 2),
dp17O_acc_SMOWSLAP = round( (log(d17O_acc_SMOWSLAP/1000+1) * 1000), 2),
Dp17O_acc_SMOWSLAP_permeg = round( (log(D17O_acc_SMOWSLAP_permeg/1000+1) * 1000), 2),
) %>%
select(standard, d13C_acc_VPDB, d18O_acc_VPDB, dp18O_acc_VPDB, d18O_acc_SMOWSLAP, dp18O_acc_SMOWSLAP, D17O_acc_VPDB_permeg, D17O_acc_SMOWSLAP_permeg, Dp17O_acc_SMOWSLAP_permeg, Dp17O_acc_VPDB_permeg, d17O_acc_SMOWSLAP, dp17O_acc_SMOWSLAP, dp17O_acc_VPDB)
std_water <- read.csv("/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/data/acceptedStds_waters.csv") %>%
mutate(
d13C_acc_VPDB = NA,
d17O_acc_VPDB = NA,
d18O_acc_VPDB = round( (0.97001 * d18O_acc_SMOWSLAP - 29.99 ), 2), #calc VPDB value from SMOW-SLAP
#if column is empty, calculate SMOW-SLAP value from VPDB value
d18O_acc_SMOWSLAP = round( if_else(is.na(d18O_acc_SMOWSLAP), (1.03092 * d18O_acc_VPDB + 30.92), d18O_acc_SMOWSLAP), 2) ,
d17O_acc_SMOWSLAP = round( d17O_acc_SMOWSLAP, 2),
D17O_acc_SMOWSLAP_permeg = round( if_else(is.na(D17O_acc_SMOWSLAP_permeg), (1.03092 * D17O_acc_VPDB_permeg + 30.92), D17O_acc_SMOWSLAP_permeg), 2),
#if column is empty, calculate VPDB value from SMOW-SLAP value
d18O_acc_VPDB = round( if_else(is.na(d18O_acc_VPDB), (0.97001 * d18O_acc_SMOWSLAP - 29.99 ), d18O_acc_VPDB), 2) ,
D17O_acc_VPDB_permeg = round( if_else(is.na(D17O_acc_VPDB_permeg), (0.97001 * D17O_acc_SMOWSLAP_permeg - 29.99 ), D17O_acc_VPDB_permeg), 2),
d17O_acc_VPDB = round( if_else(is.na(d17O_acc_VPDB), (0.97001 * d17O_acc_SMOWSLAP - 29.99 ), d17O_acc_VPDB), 2),
#calculate delta prime values
dp18O_acc_VPDB = round( (log(d18O_acc_VPDB/1000+1) * 1000), 2),
dp17O_acc_VPDB = round( (log(d17O_acc_VPDB/1000+1) * 1000), 2),
Dp17O_acc_VPDB_permeg = round( (log(D17O_acc_VPDB_permeg/1000+1) * 1000), 2),
dp18O_acc_SMOWSLAP = round( (log(d18O_acc_SMOWSLAP/1000+1) * 1000), 2),
dp17O_acc_SMOWSLAP = round( (log(d17O_acc_SMOWSLAP/1000+1) * 1000), 2),
Dp17O_acc_SMOWSLAP_permeg = round( (log(D17O_acc_SMOWSLAP_permeg/1000+1) * 1000), 2),
) %>%
select(standard, d13C_acc_VPDB, d18O_acc_VPDB, dp18O_acc_VPDB, d18O_acc_SMOWSLAP, dp18O_acc_SMOWSLAP, D17O_acc_VPDB_permeg, D17O_acc_SMOWSLAP_permeg, Dp17O_acc_SMOWSLAP_permeg, Dp17O_acc_VPDB_permeg, d17O_acc_SMOWSLAP, dp17O_acc_SMOWSLAP, dp17O_acc_VPDB)
standards <- rbind(stds_carbonate, std_water)
write.csv(standards, "/Users/annefetrow/Library/CloudStorage/GoogleDrive-fetrowa@gmail.com/My Drive/UMich/IPL/D17O standards/TripleStds_accepted.csv")
all.reactors_prelimcorr <- all.reactors_prelimcorr %>%
left_join(standards, by = "standard")
std_avg_measured <- all.reactors_prelimcorr %>%
filter(flag.major != TRUE) %>%
filter(flag.analysis != TRUE) %>%
group_by(standard) %>%
summarize(
Std_ID = first(standard),
Std_type = first(Type.1),
#d18O
d18O_sd_SMOWSLAP = round( sd(d18O_SMOW.SLAP, na.rm = TRUE), 2),
d18O_mean_SMOWSLAP = round( mean(d18O_SMOW.SLAP, na.rm = TRUE), 2),
#d17O
d17O_sd_SMOWSLAP = round( sd(d17O_SMOW.SLAP, na.rm = TRUE), 2),
d17O_mean_SMOWSLAP = round(mean(d17O_SMOW.SLAP, na.rm = TRUE), 2),
#D17O
D17O_sd_SMOWSLAP_permeg = round( sd(D17O_SMOW.SLAP_permeg, na.rm = TRUE), 2),
D17O_mean_SMOWSLAP_permeg = round( mean(D17O_SMOW.SLAP_permeg, na.rm = TRUE), 2),
#accepted values
d18O_acc_SMOWSLAP = first(d18O_acc_SMOWSLAP),
d17O_acc_SMOWSLAP = first(d17O_acc_SMOWSLAP),
D17O_acc_SMOWSLAP_permeg = first(D17O_acc_SMOWSLAP_permeg)
) %>%
mutate(
#calculate residual from accepted standard value minus mean measure value
d18O_residual = (d18O_acc_SMOWSLAP - d18O_mean_SMOWSLAP),
D17O_residual = (D17O_acc_SMOWSLAP_permeg - D17O_mean_SMOWSLAP_permeg)
) %>%
select(Std_ID, Std_type, d18O_acc_SMOWSLAP, d18O_mean_SMOWSLAP, d18O_sd_SMOWSLAP, d18O_residual, d17O_mean_SMOWSLAP, d17O_sd_SMOWSLAP, D17O_acc_SMOWSLAP_permeg, D17O_mean_SMOWSLAP_permeg, D17O_sd_SMOWSLAP_permeg, D17O_residual)
std_avg_measured %>%
arrange(desc(d18O_mean_SMOWSLAP)) %>% # descending numerical order
kable()
| Std_ID | Std_type | d18O_acc_SMOWSLAP | d18O_mean_SMOWSLAP | d18O_sd_SMOWSLAP | d18O_residual | d17O_mean_SMOWSLAP | d17O_sd_SMOWSLAP | D17O_acc_SMOWSLAP_permeg | D17O_mean_SMOWSLAP_permeg | D17O_sd_SMOWSLAP_permeg | D17O_residual |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Natalie Offline Tubes | CarbonateStd | NA | 34.52 | 1.14 | NA | 17.84 | 0.63 | NA | -169.21 | 35.16 | NA |
| IAEA-603 | CarbonateStd | NA | 32.82 | 1.38 | NA | 16.99 | 0.72 | NA | -151.99 | 11.87 | NA |
| IAEA-C1 | CarbonateStd | 28.53 | 32.60 | 2.77 | -4.07 | 16.88 | 1.43 | -72.17 | -148.82 | 24.62 | 76.65 |
| 102-GC-AZ01 | CarbonateStd | 15.97 | 22.01 | 1.13 | -6.04 | 11.41 | 0.60 | -38.15 | -115.56 | 13.02 | 77.41 |
| Nick’s Samples | CarbonateStd | NA | 14.24 | 0.01 | NA | 7.40 | 0.01 | NA | -51.20 | 8.15 | NA |
| NBS-18 | CarbonateStd | 7.00 | 4.74 | 0.47 | 2.26 | 2.42 | 0.24 | -18.56 | -42.05 | 10.91 | 23.49 |
| SMOW | WaterStd | 0.00 | -0.27 | 0.40 | 0.27 | -0.17 | 0.21 | 0.00 | 0.21 | 6.29 | -0.21 |
| USGS45 | WaterStd | -2.27 | -2.63 | 0.41 | 0.36 | -1.40 | 0.22 | 12.00 | 15.10 | 7.26 | -3.10 |
| USGS48 | WaterStd | -2.23 | -2.69 | 0.09 | 0.46 | -1.42 | 0.05 | 26.00 | 27.06 | 6.10 | -1.06 |
| House DI | WaterStd | NA | -6.52 | 0.74 | NA | -3.46 | 0.38 | NA | 15.51 | 9.74 | NA |
| USGS47 | WaterStd | -19.80 | -19.62 | 0.10 | -0.18 | -10.40 | 0.05 | 40.00 | 34.99 | 5.55 | 5.01 |
| USGS46 | WaterStd | -29.83 | -29.15 | 0.39 | -0.68 | -15.50 | 0.20 | 20.00 | 18.80 | 9.11 | 1.20 |
| USGS49 | WaterStd | -50.55 | -50.13 | 0.19 | -0.42 | -26.79 | 0.10 | NA | 4.58 | 9.45 | NA |
| SLAP | WaterStd | -55.50 | -53.88 | 0.98 | -1.62 | -28.83 | 0.52 | 0.00 | -1.05 | 14.13 | 1.05 |
p.d18O.IPLnum_all <- all.reactors_prelimcorr %>%
filter(flag.major != TRUE) %>%
filter(flag.analysis != TRUE) %>%
ggplot() +
#R31- 5394-5554
geom_vline(xintercept = 5554, linetype = "dotted", color = "grey70", size = 0.5) +
geom_vline(xintercept = 5394, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5474, y = -40, label = "R31", color = "black", size = 3.5) +
#R29- 5099-5150
geom_vline(xintercept = 5150, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 5099, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5124, y = -40, label = "R29", angle = 90, color = "black", size = 3.5) +
#R28- 4935-5098
geom_vline(xintercept = 5098, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4935, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5016, y = -40, label = "R28", angle = 90, color = "black", size = 3.5) +
#R27- 4776-4933
geom_vline(xintercept = 4933, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4776, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4854, y = -40, label = "R27", angle = 90, color = "black", size = 3.5) +
#R25- 4403-4441
geom_vline(xintercept = 4441, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4403, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4422, y = -40, label = "R25", angle = 90, color = "black", size = 3.5) +
#R24- 4258-4402
geom_vline(xintercept = 4402, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4258, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4330, y = -45, label = "R24", angle = 90, color = "black", size = 3.5) +
#R23- 4112-4256
geom_vline(xintercept = 4256, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4112, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4184, y = -40, label = "R23", angle = 90, color = "black", size = 3.5) +
# change for each standard through time
geom_smooth(
aes(x = IPL.num, y = d18O_SMOW.SLAP, color = standard),
method = "lm", # linear model
se = T, # don't show the confidence interval
linetype = "dotted"
) +
geom_point(
aes(
x = IPL.num,
y = d18O_SMOW.SLAP,
label = standard,
#shape = Type.2,
fill = standard
),
size = 3,
colour= "black"
) +
labs(
x = "IPL number", #latex2exp::TeX("$\\delta^{18}O\\,(\\permil,\\,VSMOW)$")
y = "d18O (permil, VSMOW-SLAP)", #latex2exps::TeX("$\\delta^{2}H\\,(\\permil,\\,VSMOW)$")
) +
theme_bw() +
theme(
axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1),
text = element_text(size = 14)
)
#p.d18O.IPLnum_all
ggplotly(p.d18O.IPLnum_all) #, dynamicTicks = TRUE
p.d18O.IPLnum_water <- all.reactors_prelimcorr %>%
filter(
Type.1 == "WaterStd"
) %>%
filter(flag.major != TRUE) %>%
filter(flag.analysis != TRUE) %>%
ggplot() +
#R31- 5394-5554
geom_vline(xintercept = 5554, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 5394, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5474, y = -40, label = "R31", color = "black", size = 3.5) +
#R29- 5099-5150
geom_vline(xintercept = 5150, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 5099, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5124, y = -40, label = "R29", angle = 90, color = "black", size = 3.5) +
#R28- 4935-5098
geom_vline(xintercept = 5098, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4935, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5016, y = -40, label = "R28", angle = 90, color = "black", size = 3.5) +
#R27- 4776-4933
geom_vline(xintercept = 4933, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4776, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4854, y = -40, label = "R27", angle = 90, color = "black", size = 3.5) +
#R25- 4403-4441
geom_vline(xintercept = 4441, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4403, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4422, y = -40, label = "R25", angle = 90, color = "black", size = 3.5) +
#R24- 4258-4402
geom_vline(xintercept = 4402, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4258, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4330, y = -45, label = "R24", angle = 90, color = "black", size = 3.5) +
#R23- 4112-4256
geom_vline(xintercept = 4256, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4112, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4184, y = -40, label = "R23", angle = 90, color = "black", size = 3.5) +
geom_smooth(
aes(x = IPL.num, y = d18O_SMOW.SLAP, color = standard),
method = "lm", # linear model
se = T, # don't show the confidence interval
linetype = "dotted"
) +
geom_point(
aes(
x = IPL.num,
y = d18O_SMOW.SLAP,
label = standard,
#shape = Type.2,
fill = standard
),
size = 3,
colour= "black"
) +
labs(
x = "IPL number", #latex2exp::TeX("$\\delta^{18}O\\,(\\permil,\\,VSMOW)$")
y = "d18O (permil, VSMOW-SLAP)", #latex2exp::TeX("$\\delta^{2}H\\,(\\permil,\\,VSMOW)$")
) +
theme_bw() +
theme(
axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)
)
#p.d18O.IPLnum_all
ggplotly(p.d18O.IPLnum_water)
p.d18O.IPLnum_carb <- all.reactors_prelimcorr %>%
filter(
Type.1 == "CarbonateStd"
) %>%
ggplot() +
#R31- 5394-5554
geom_vline(xintercept = 5554, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 5394, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5474, y = 18, label = "R31", color = "black", size = 3.5) +
#R29- 5099-5150
geom_vline(xintercept = 5150, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 5099, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5124, y = 18, label = "R29", angle = 90, color = "black", size = 3.5) +
#R28- 4935-5098
geom_vline(xintercept = 5098, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4935, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5016, y = 20, label = "R28", angle = 90, color = "black", size = 3.5) +
#R27- 4776-4933
geom_vline(xintercept = 4933, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4776, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4854, y = 18, label = "R27", angle = 90, color = "black", size = 3.5) +
geom_smooth(
aes(x = IPL.num, y = d18O_SMOW.SLAP, color = standard),
method = "lm", # linear model
se = T, # don't show the confidence interval
linetype = "dotted"
) +
geom_point(
aes(
x = IPL.num,
y = d18O_SMOW.SLAP,
label = standard,
#shape = Type.2,
fill = standard
),
size = 3,
colour= "black"
) +
labs(
x = "IPL number", #latex2exp::TeX("$\\delta^{18}O\\,(\\permil,\\,VSMOW)$")
y = "d18O (permil, VSMOW-SLAP)", #latex2exp::TeX("$\\delta^{2}H\\,(\\permil,\\,VSMOW)$")
) +
theme_bw() +
theme(
axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)
)
#p.d18O.IPLnum_carb
ggplotly(p.d18O.IPLnum_carb)
p.D17O.IPLnum_all <- all.reactors_prelimcorr %>%
filter(flag.major != TRUE) %>%
filter(flag.analysis != TRUE) %>%
ggplot() +
#R31- 5394-5554
geom_vline(xintercept = 5554, linetype = "dotted", color = "grey70", size = 0.5) +
geom_vline(xintercept = 5394, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5474, y = -40, label = "R31", color = "black", size = 3.5) +
#R29- 5099-5150
geom_vline(xintercept = 5150, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 5099, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5124, y = -40, label = "R29", angle = 90, color = "black", size = 3.5) +
#R28- 4935-5098
geom_vline(xintercept = 5098, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4935, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5016, y = -40, label = "R28", angle = 90, color = "black", size = 3.5) +
#R27- 4776-4933
geom_vline(xintercept = 4933, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4776, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4854, y = -40, label = "R27", angle = 90, color = "black", size = 3.5) +
#R25- 4403-4441
geom_vline(xintercept = 4441, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4403, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4422, y = -40, label = "R25", angle = 90, color = "black", size = 3.5) +
#R24- 4258-4402
geom_vline(xintercept = 4402, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4258, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4330, y = -45, label = "R24", angle = 90, color = "black", size = 3.5) +
#R23- 4112-4256
geom_vline(xintercept = 4256, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4112, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4184, y = -40, label = "R23", angle = 90, color = "black", size = 3.5) +
# change for each standard through time
geom_smooth(
aes(x = IPL.num, y = D17O_SMOW.SLAP_permeg, color = standard),
method = "lm", # linear model
se = T, # don't show the confidence interval
linetype = "dotted"
) +
geom_point(
aes(
x = IPL.num,
y = D17O_SMOW.SLAP_permeg,
label = standard,
#shape = Type.2,
fill = standard
),
size = 3,
colour= "black"
) +
labs(
x = "IPL number", #latex2exp::TeX("$\\delta^{18}O\\,(\\permil,\\,VSMOW)$")
y = "D17O (permil, VSMOW-SLAP)", #latex2exps::TeX("$\\delta^{2}H\\,(\\permil,\\,VSMOW)$")
) +
theme_bw() +
theme(
axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1),
text = element_text(size = 14)
)
ggplotly(p.D17O.IPLnum_all)
p.D17O.IPLnum_water <- all.reactors_prelimcorr %>%
filter(
Type.1 == "WaterStd"
) %>%
filter(flag.major != TRUE) %>%
filter(flag.analysis != TRUE) %>%
ggplot() +
#R31- 5394-5554
geom_vline(xintercept = 5554, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 5394, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5474, y = -40, label = "R31", color = "black", size = 3.5) +
#R29- 5099-5150
geom_vline(xintercept = 5150, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 5099, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5124, y = -40, label = "R29", angle = 90, color = "black", size = 3.5) +
#R28- 4935-5098
geom_vline(xintercept = 5098, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4935, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5016, y = -40, label = "R28", angle = 90, color = "black", size = 3.5) +
#R27- 4776-4933
geom_vline(xintercept = 4933, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4776, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4854, y = -40, label = "R27", angle = 90, color = "black", size = 3.5) +
#R25- 4403-4441
geom_vline(xintercept = 4441, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4403, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4422, y = -40, label = "R25", angle = 90, color = "black", size = 3.5) +
#R24- 4258-4402
geom_vline(xintercept = 4402, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4258, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4330, y = -45, label = "R24", angle = 90, color = "black", size = 3.5) +
#R23- 4112-4256
geom_vline(xintercept = 4256, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4112, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4184, y = -40, label = "R23", angle = 90, color = "black", size = 3.5) +
geom_smooth(
aes(x = IPL.num, y = D17O_SMOW.SLAP_permeg, color = standard),
method = "lm", # linear model
se = T, # don't show the confidence interval
linetype = "dotted"
) +
geom_point(
aes(
x = IPL.num,
y = D17O_SMOW.SLAP_permeg,
label = standard,
#shape = Type.2,
fill = standard
),
size = 3,
colour= "black"
) +
labs(
x = "IPL number", #latex2exp::TeX("$\\delta^{18}O\\,(\\permil,\\,VSMOW)$")
y = "D17O (permil, VSMOW-SLAP)", #latex2exp::TeX("$\\delta^{2}H\\,(\\permil,\\,VSMOW)$")
) +
theme_bw() +
theme(
axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)
)
ggplotly(p.D17O.IPLnum_water)
p.D17O.IPLnum_carb <- all.reactors_prelimcorr %>%
filter(
Type.1 == "CarbonateStd"
) %>%
ggplot() +
#R31- 5394-5554
geom_vline(xintercept = 5554, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 5394, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5474, y = -75, label = "R31", color = "black", size = 3.5) +
#R29- 5099-5150
geom_vline(xintercept = 5150, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 5099, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5124, y = -75, label = "R29", angle = 90, color = "black", size = 3.5) +
#R28- 4935-5098
geom_vline(xintercept = 5098, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4935, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 5016, y = -75, label = "R28", angle = 90, color = "black", size = 3.5) +
#R27- 4776-4933
geom_vline(xintercept = 4933, linetype = "dotted", color = "gray70", size = 0.5) +
geom_vline(xintercept = 4776, linetype = "dotted", color = "gray70", size = 0.5) +
annotate("text", x = 4854, y = -75, label = "R27", angle = 90, color = "black", size = 3.5) +
geom_smooth(
aes(x = IPL.num, y = D17O_SMOW.SLAP_permeg, color = standard),
method = "lm", # linear model
se = T, # don't show the confidence interval
linetype = "dotted"
) +
geom_point(
aes(
x = IPL.num,
y = D17O_SMOW.SLAP_permeg,
label = standard,
#shape = Type.2,
fill = standard
),
size = 3,
colour= "black"
) +
labs(
x = "IPL number", #latex2exp::TeX("$\\delta^{18}O\\,(\\permil,\\,VSMOW)$")
y = "D17O (permil, VSMOW-SLAP)", #latex2exp::TeX("$\\delta^{2}H\\,(\\permil,\\,VSMOW)$")
) +
theme_bw() +
theme(
axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1)
)
ggplotly(p.D17O.IPLnum_carb)
Measured vs accepted standard values
# measured vs known dp18O standard values
p.d18O_meas.acc <- all.reactors_prelimcorr %>%
filter(
Type.1 == "WaterStd" |
Type.1 == "CarbonateStd"
) %>%
ggplot() +
aes(x = d18O_acc_SMOWSLAP, y = d18O_SMOW.SLAP) +
geom_point(size = 3, aes(fill = standard), pch = 23) +
geom_smooth(method = lm, linetype = 2, color = "black", se = FALSE)+
geom_abline(slope = 1) +
labs(
title = "measured vs known d18O standard values"
) +
theme_bw()
ggplotly(p.d18O_meas.acc, dynamicTicks = T)
# measured vs known D17O standard values
p.D17O_meas.acc <- all.reactors_prelimcorr %>%
filter(
Type.1 == "WaterStd" |
Type.1 == "CarbonateStd"
) %>%
ggplot() +
aes(x = D17O_acc_SMOWSLAP_permeg, y = D17O_SMOW.SLAP_permeg) +
geom_point(size = 3, aes(fill = standard), pch = 23) +
geom_abline(slope = 1) +
geom_smooth(method = lm, linetype = 2, color = "black", se = FALSE)+
labs(
title = "measured vs known D17O standard values"
) +
theme_bw()
ggplotly(p.D17O_meas.acc, dynamicTicks = T)
## Strategy for standards to be run in R32 (starting April 2025)
p.D17O.d18O_R32 <- stds_carbonate %>%
filter(
standard == "IAEA-C1" |
standard == "102-GC-AZ01" |
standard == "GON06-OES"
) %>%
ggplot() +
aes(y = D17O_acc_SMOWSLAP_permeg, x = d18O_acc_SMOWSLAP) +
geom_rect(aes(ymin = -222, ymax = -190, xmin = 32, xmax = 35), fill = "coral3", alpha = 0.2) +
annotate("text", x = 33.5, y = -208, label = "Mono Carbs", angle = 90, color = "black", size = 3.5) +
geom_point(size = 3, aes(fill = standard), pch = 23) +
labs(
title = "D17O vs d18O - R32 standards"
) +
theme_bw()
ggplotly(p.D17O.d18O_R32, dynamicTicks = T)