Last updated: 2020-08-04

Checks: 7 0

Knit directory: Cant_eMLR/

This reproducible R Markdown analysis was created with workflowr (version 1.6.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20200707) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version bafc589. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Ignored files:
    Ignored:    .Rproj.user/
    Ignored:    data/GLODAPv2_2016b_MappedClimatologies/
    Ignored:    data/GLODAPv2_2020/
    Ignored:    data/WOCE/
    Ignored:    data/World_Ocean_Atlas_2018/
    Ignored:    data/dclement/
    Ignored:    data/eMLR/
    Ignored:    data/pCO2_atmosphere/
    Ignored:    dump/

Untracked files:
    Untracked:  analysis/test_scripts/

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


These are the previous versions of the repository in which changes were made to the R Markdown (analysis/eMLR.Rmd) and HTML (docs/eMLR.html) files. If you’ve configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view the files as they were in that past version.

File Version Author Date Message
Rmd bafc589 jens-daniel-mueller 2020-08-04 tested identical rmse output, which seems correct
html 15fb263 jens-daniel-mueller 2020-08-03 Build site.
Rmd f8f8b17 jens-daniel-mueller 2020-08-03 corrections to eMLR fit and cleaning
html 6b95e62 jens-daniel-mueller 2020-07-31 Build site.
Rmd 2b887d4 jens-daniel-mueller 2020-07-31 separate basin corr plots
html a469d3a jens-daniel-mueller 2020-07-31 Build site.
Rmd 1692f11 jens-daniel-mueller 2020-07-31 link to individual corr plots, one example individual plot shown
html e9a52c5 jens-daniel-mueller 2020-07-31 Build site.
Rmd 5ee70b2 jens-daniel-mueller 2020-07-31 formatting
html d28701c jens-daniel-mueller 2020-07-30 Build site.
Rmd 3938c9c jens-daniel-mueller 2020-07-30 chunk labels changed
html f22eed2 jens-daniel-mueller 2020-07-30 Build site.
Rmd 2bc1628 jens-daniel-mueller 2020-07-30 correlation table and plot update
html e1e81fc jens-daniel-mueller 2020-07-30 Build site.
Rmd 85c758f jens-daniel-mueller 2020-07-30 PO4* calculation based on oxygen, correlation tables added, formating
html 7fc7fd4 jens-daniel-mueller 2020-07-30 Build site.
Rmd 48e1767 jens-daniel-mueller 2020-07-30 correlation coeffcients plots added
html 9dc5d7f jens-daniel-mueller 2020-07-29 Build site.
Rmd bf5ea88 jens-daniel-mueller 2020-07-29 rebuild, site definition in index.Rmd, without colinear plots
html 21524b4 jens-daniel-mueller 2020-07-29 Build site.
Rmd 3ad6a3c jens-daniel-mueller 2020-07-29 rebuild all with new navbar labels, colinear plots updated
html ff17968 jens-daniel-mueller 2020-07-29 Build site.
Rmd cb5074e jens-daniel-mueller 2020-07-29 subset Cant to GLODAP before merging
html 44502a9 jens-daniel-mueller 2020-07-28 Build site.
Rmd 5dce915 jens-daniel-mueller 2020-07-28 fit top 10 models
html 35f1cd4 jens-daniel-mueller 2020-07-28 Build site.
Rmd da498d0 jens-daniel-mueller 2020-07-28 formatted table, loaded kableExtra
html e5fc772 jens-daniel-mueller 2020-07-28 Build site.
Rmd 7fe0338 jens-daniel-mueller 2020-07-28 rmse output, 10 best models selected
html 4eebe14 jens-daniel-mueller 2020-07-24 Build site.
Rmd 12f9ef2 jens-daniel-mueller 2020-07-24 started neutral density calculation
html 2e08795 jens-daniel-mueller 2020-07-24 Build site.
html 61a1a48 jens-daniel-mueller 2020-07-24 Build site.
Rmd 864a6e3 jens-daniel-mueller 2020-07-24 merged predictor data sets
html 7f51d57 jens-daniel-mueller 2020-07-24 Build site.
Rmd 4a8deb2 jens-daniel-mueller 2020-07-24 corrected false to FALSE
html 2df2065 jens-daniel-mueller 2020-07-23 Build site.
Rmd fa350cf jens-daniel-mueller 2020-07-23 predictor correlation plots, bin2d map plots
html 9d1d67d jens-daniel-mueller 2020-07-23 Build site.
Rmd 3b6658b jens-daniel-mueller 2020-07-23 predictor correlation plots, bin2d map plots
html 2e3691a jens-daniel-mueller 2020-07-23 Build site.
Rmd 26bdc0a jens-daniel-mueller 2020-07-23 new era label, predictor correlation check started
html 556e6cc jens-daniel-mueller 2020-07-23 Build site.
Rmd 1ce10e7 jens-daniel-mueller 2020-07-23 read full GLODAP Cant data set rather than joining again
Rmd 0cb3db2 jens-daniel-mueller 2020-07-23 started MLR fitting
Rmd cf8bc74 jens-daniel-mueller 2020-07-23 started MLR fitting
Rmd 0252675 jens-daniel-mueller 2020-07-23 modeling started
html fdfa7b9 jens-daniel-mueller 2020-07-22 Build site.
Rmd 6416150 jens-daniel-mueller 2020-07-22 cut gamma into slabs
html 0cecfbf jens-daniel-mueller 2020-07-22 Build site.
Rmd 48cf01f jens-daniel-mueller 2020-07-22 defined isoneutral slabs
Rmd 32ed280 jens-daniel-mueller 2020-07-22 sign in Cstar delta plot
html 44334f8 jens-daniel-mueller 2020-07-22 Build site.
Rmd c398496 jens-daniel-mueller 2020-07-22 plot update
html 0ff656b jens-daniel-mueller 2020-07-22 Build site.
Rmd 4b81f16 jens-daniel-mueller 2020-07-22 plot update
html 23038c8 jens-daniel-mueller 2020-07-22 Build site.
Rmd 09b3ca8 jens-daniel-mueller 2020-07-22 eding plain text, restructuring some code
html ac6308d jens-daniel-mueller 2020-07-22 Build site.
Rmd 77c9642 jens-daniel-mueller 2020-07-22 formatted plots
html 40b99cb jens-daniel-mueller 2020-07-22 Build site.
Rmd 8a49adf jens-daniel-mueller 2020-07-22 adjustment to reference year implemented
html bb9c002 jens-daniel-mueller 2020-07-21 Build site.
Rmd d2ed0f8 jens-daniel-mueller 2020-07-21 harmonied lat lon labeling
html e1488e6 jens-daniel-mueller 2020-07-19 Build site.
Rmd e688d6e jens-daniel-mueller 2020-07-19 formating
html f7ea007 jens-daniel-mueller 2020-07-19 Build site.
Rmd 0992256 jens-daniel-mueller 2020-07-19 plotted individual Cstar terms
html 22b588c jens-daniel-mueller 2020-07-18 Build site.
html fdfe5a0 jens-daniel-mueller 2020-07-17 Build site.
Rmd f7485c6 jens-daniel-mueller 2020-07-17 re run als emlr
html 56c3ed9 jens-daniel-mueller 2020-07-14 Build site.
html 74d4abd jens-daniel-mueller 2020-07-14 Build site.
html 1c511ce jens-daniel-mueller 2020-07-14 Build site.
Rmd e03016e jens-daniel-mueller 2020-07-14 split read in per data set
html 45ed0ea jens-daniel-mueller 2020-07-14 Build site.
Rmd dc1c56e jens-daniel-mueller 2020-07-14 tref calculated
html b1ece68 jens-daniel-mueller 2020-07-13 Build site.
Rmd 8eb1b22 jens-daniel-mueller 2020-07-13 cleaned data base file
Rmd 9e8f7f1 jens-daniel-mueller 2020-07-13 untracked changes
html 79312b2 jens-daniel-mueller 2020-07-13 Build site.
Rmd ffbc2a1 jens-daniel-mueller 2020-07-13 added Cstar calculation
html 090cfeb jens-daniel-mueller 2020-07-13 Build site.
Rmd e6a2ade jens-daniel-mueller 2020-07-13 added Cstar calculation

library(tidyverse)
library(lubridate)
library(patchwork)
library(broom)
library(GGally)
library(olsrr)
library(knitr)
library(kableExtra)
library(broom)
library(corrr)

1 Required data

Required are:

  • GLODAPv2.2020
    • cleaned data file
    • horizontal grid of sampling coordinates
  • Cant from GLODAPv2_2016b_MappedClimatologies
  • annual mean atmospheric pCO2
GLODAP <- read_csv(here::here("data/GLODAPv2_2020/_summarized_data_files",
                              "GLODAPv2.2020_clean.csv"))

GLODAP_obs_grid <- read_csv(here::here("data/GLODAPv2_2020/_summarized_data_files",
                                           "GLODAPv2.2020_clean_obs_grid.csv"))

Cant_clim <- read_csv(here::here("data/GLODAPv2_2016b_MappedClimatologies/_summarized_files",
                                 "Cant.csv"))

co2_atm <- read_csv(here::here("data/pCO2_atmosphere/_summarized_data_files",
                               "co2_atm.csv"))

2 C*

C* serves as a conservative tracer of anthropogenic CO2 uptake. It is derived from measured DIC by removing the impact of

  • organic matter formation and respiration
  • calcification and calcium carbonate dissolution

Contributions of those processes are estimated from phosphate and alkalinity concentrations.

2.1 Stoichiometric ratios

rCP <- 117
rNP <- 16

The stoichiometric nutrient ratios for the production and mineralization of organic matter were set to:

  • C/P: 117
  • N/P: 16

2.2 Calculation

C* is calculated as:

print("Cstar = tco2  + rCP_phosphate  + talk_05  + rNP_phosphate_05")
[1] "Cstar = tco2  + rCP_phosphate  + talk_05  + rNP_phosphate_05"
GLODAP <- GLODAP %>% 
  mutate(rCP_phosphate = -rCP * phosphate,
         talk_05 = -0.5 * talk,
         rNP_phosphate_05 = -0.5 * rNP * phosphate,
         Cstar = tco2  + rCP_phosphate  + talk_05  + rNP_phosphate_05)

rm(rCP, rNP)

3 PO4* calculation

Currently, the predictor PO4* is calculated according to Clement and Gruber (2018), ie based on oxygen rather than nitrate.

GLODAP <- GLODAP %>% 
  mutate(phosphate_star = phosphate + (oxygen / 170)  - 1.95)
GLODAP <- GLODAP %>% 
  mutate(phosphate_star = phosphate - 16*nitrate  + 2.9)

4 Reference year adjustment

The reference year adjustment relies on an apriori estimate of Cant at a given location and depth, which is used as a scaling factor for the concurrent change in atmospheric CO2. The underlying assumption is a transient steady state for the oceanic Cant uptake. Here, Cant from the GLODAP mapped Climatology was used.

Note that eq. 6 in Clement and Gruber (2018) misses pCO2 pre-industrial in the denominator. Here we use the equation published in Gruber et al. (2019).

4.1 Merge data sets

4.1.1 GLODAP + Cant

Cant_clim <- Cant_clim %>% 
  drop_na()

Cant_clim_obs <- left_join(GLODAP_obs_grid, Cant_clim) %>% 
  select(-n)

rm(Cant_clim, GLODAP_obs_grid)

GLODAP_Cant_obs <- full_join(GLODAP, Cant_clim_obs)

rm(Cant_clim_obs, GLODAP)

The mapped Cant product was merged with GLODAP observation by:

  • using an identical 1x1° horizontal grid
  • linear interpolation of Cant from standard to sampling depth
GLODAP_Cant_obs <- GLODAP_Cant_obs %>% 
  group_by(lat, lon) %>% 
  arrange(depth) %>% 
  mutate(Cant_int = approxfun(depth, Cant, rule = 2)(depth)) %>% 
  ungroup()

ggplot() +
    geom_path(data = GLODAP_Cant_obs %>% 
              filter(lat == 48.5, lon == 165.5, !is.na(Cant)) %>% 
              arrange(depth),
            aes(Cant, depth, col = "mapped")) +
  geom_point(data = GLODAP_Cant_obs %>% 
              filter(lat == 48.5, lon == 165.5, !is.na(Cant)) %>% 
              arrange(depth),
            aes(Cant, depth, col = "mapped")) +
  geom_point(data = GLODAP_Cant_obs %>% 
              filter(lat == 48.5, lon == 165.5, date == ymd("2018-06-27")),
            aes(Cant_int, depth, col = "interpolated")) +
  scale_y_reverse() +
  scale_color_brewer(palette = "Dark2", name = "") +
  labs(title = "Cant interpolation to sampling depth - example profile")

GLODAP <- GLODAP_Cant_obs %>% 
  filter(!is.na(Cstar)) %>% 
  mutate(Cant = Cant_int) %>% 
  select(-Cant_int)

rm(GLODAP_Cant_obs)

4.1.2 GLODAP + atm. pCO2

GLODAP observations were merged with mean annual atmospheric pCO2 levels by year.

GLODAP <- left_join(GLODAP, co2_atm)

4.2 Calculate adjustment

GLODAP <- GLODAP %>% 
  group_by(era) %>% 
  mutate(tref = median(year)) %>% 
  ungroup()

tref <- GLODAP %>% 
  group_by(era) %>% 
  summarise(year = median(year)) %>% 
  ungroup()

co2_atm_tref <- right_join(co2_atm, tref) %>% 
  select(-year) %>% 
  rename(pCO2_tref = pCO2)

GLODAP <- full_join(GLODAP, co2_atm_tref)

rm(co2_atm, co2_atm_tref, tref)

GLODAP <- GLODAP %>% 
  mutate(Cstar_tref_delta = 
           ((pCO2 - pCO2_tref) / (pCO2_tref - 280)) * Cant,
         Cstar_tref = Cstar - Cstar_tref_delta)

4.3 Control plots

4.3.1 Histogram

GLODAP %>% 
  ggplot(aes(Cstar_tref_delta)) +
  geom_histogram()

4.3.2 Time series

GLODAP %>% 
  sample_n(1e4) %>% 
  ggplot(aes(year, Cstar_tref_delta, col = Cant)) +
  geom_point() +
  scale_color_viridis_c() +
  labs(title = "random subsample 1e4")

5 Selected section plots

A selected section is plotted to demonstrate the magnitude of various parameters and corrections relevant to C*.

cruises_meridional <- c("1041")

GLODAP_cruise <- GLODAP %>% 
  filter(cruise %in% cruises_meridional)
mapWorld <- borders("world", colour = "gray60", fill = "gray60")

GLODAP_cruise %>%
  arrange(date) %>% 
  ggplot(aes(lon, lat)) +
  mapWorld +
  geom_path() +
  geom_point(aes(col = date)) +
  coord_quickmap(expand = 0) +
  scale_color_viridis_c(trans = "date") +
  labs(title = paste("Cruise year:", mean(GLODAP_cruise$year))) +
  theme(legend.position = "bottom")

lat_section <- 
GLODAP_cruise %>%
  ggplot(aes(lat, depth)) +
  scale_y_reverse() +
  scale_color_viridis_c() +
  theme(legend.position = "bottom")

lat_section +
  geom_point(aes(col = tco2))

lat_section +
  geom_point(aes(col = talk))

lat_section +
  geom_point(aes(col = phosphate))

lat_section +
  geom_point(aes(col = rCP_phosphate))

lat_section +
  geom_point(aes(col = talk_05))

lat_section +
  geom_point(aes(col = rNP_phosphate_05))

lat_section +
  geom_point(aes(col = Cstar))

lat_section +
  geom_point(aes(col = Cant))

lat_section +
  geom_point(aes(col = -Cstar_tref_delta))

rm(mapWorld, lat_section, GLODAP_cruise)

6 MLR

6.1 Isoneutral slabs

slabs_Atl <- c(
-Inf,
26.00,
26.50,
26.75,
27.00,
27.25,
27.50,
27.75,
27.85,
27.95,
28.05,
28.10,
28.15,
28.20,
Inf)

slabs_Ind_Pac <- c(
-Inf,
26.00,
26.50,
26.75,
27.00,
27.25,
27.50,
27.75,
27.85,
27.95,
28.05,
28.10,
Inf)

The following boundaries for isoneutral slabs were defined:

  • Atlantic: -, 26, 26.5, 26.75, 27, 27.25, 27.5, 27.75, 27.85, 27.95, 28.05, 28.1, 28.15, 28.2,
  • Indo-Pacific: -, 26, 26.5, 26.75, 27, 27.25, 27.5, 27.75, 27.85, 27.95, 28.05, 28.1,

Continous neutral densities (gamma) values from GLODAP are grouped into isoneutral slabs.

GLODAP_Atl <- GLODAP %>% 
  filter(basin == "Atlantic") %>% 
  mutate(gamma_slab = cut(gamma, slabs_Atl))

GLODAP_Ind_Pac <- GLODAP %>% 
  filter(basin == "Indo-Pacific") %>% 
  mutate(gamma_slab = cut(gamma, slabs_Ind_Pac))

GLODAP <- bind_rows(GLODAP_Atl, GLODAP_Ind_Pac)

rm(GLODAP_Atl, GLODAP_Ind_Pac, slabs_Atl, slabs_Ind_Pac)
GLODAP_cruise <- GLODAP %>% 
  filter(cruise %in% cruises_meridional)

lat_section <- 
GLODAP_cruise %>%
  ggplot(aes(lat, depth)) +
  scale_y_reverse() +
  theme(legend.position = "bottom")

lat_section +
  geom_point(aes(col = gamma)) +
  scale_color_viridis_c()

lat_section +
  geom_point(aes(col = gamma_slab)) +
  scale_color_viridis_d()

rm(lat_section, GLODAP_cruise, cruises_meridional)

6.2 Predictor correlation

The correlation between:

  • pairs of seven potential predictor variables and
  • C* and seven potential predictor variables

were investigated based on:

  • property-property plots and
  • calculated correlation coeffcients.

6.2.1 Correlation plots

For an overview, a random subset of data from all eras was plotted separately for both basins, with color indicating neutral density slabs (high density = dark-purple color).

GLODAP %>% 
  filter(basin == "Atlantic") %>% 
  sample_frac(0.05) %>% 
  ggpairs(columns = c("Cstar",
                      "salinity",
                      "temperature",
                      "aou",
                      "oxygen",
                      "silicate",
                      "phosphate",
                      "phosphate_star"),
          upper = "blank",
          ggplot2::aes(col = gamma_slab, fill = gamma_slab, alpha = 0.01)) +
      scale_fill_viridis_d(direction = -1) +
      scale_color_viridis_d(direction = -1) +
      labs(title = paste("Basin: Atlantic | era: all | subsample size: 5 % of",
                         nrow(GLODAP %>% filter(basin == "Atlantic"))))

GLODAP %>% 
  filter(basin == "Indo-Pacific") %>% 
  sample_frac(0.05) %>% 
  ggpairs(columns = c("Cstar",
                      "salinity",
                      "temperature",
                      "aou",
                      "oxygen",
                      "silicate",
                      "phosphate",
                      "phosphate_star"),
          upper = "blank",
          ggplot2::aes(col = gamma_slab, fill = gamma_slab, alpha = 0.01)) +
      scale_fill_viridis_d(direction = -1) +
      scale_color_viridis_d(direction = -1) +
      labs(title = paste("Basin: Indo-Pacific | era: all | subsample size: 5 % of",
                         nrow(GLODAP %>% filter(basin == "Indo-Pacific") )))

Individual correlation plots for each basin, era and neutral density (gamma) slab are available here.

for (i_basin in unique(GLODAP$basin)) {
  for (i_era in unique(GLODAP$era)) {

# i_basin <- unique(GLODAP$basin)[1]
# i_era   <- unique(GLODAP$era)[1]

print(i_basin)
print(i_era)

GLODAP_basin_era <- GLODAP %>% 
  filter(basin == i_basin,
         era == i_era)

for (i_gamma_slab in unique(GLODAP_basin_era$gamma_slab)) {
  
  #i_gamma_slab <- unique(GLODAP_basin_era$gamma_slab)[5]
  print(i_gamma_slab)
  
  GLODAP_highlight <- GLODAP_basin_era %>% 
  mutate(gamma_highlight = if_else(gamma_slab == i_gamma_slab,
                                   "in", "out")) %>%
    arrange(desc(gamma_highlight))
  
p <- GLODAP_highlight %>% 
  ggpairs(columns = c("Cstar",
                      "salinity",
                      "temperature",
                      "aou",
                      "oxygen",
                      "silicate",
                      "phosphate",
                      "phosphate_star"),
          ggplot2::aes(col = gamma_highlight, fill = gamma_highlight, alpha = 0.01)) +
      scale_fill_manual( values = c("red", "grey")) +
      scale_color_manual(values = c("red", "grey")) +
      labs(title = paste(i_basin,
                         "| ", i_era,
                         "| Gamma slab", i_gamma_slab,
                         "| total nr", nrow(GLODAP_basin_era),
                         "| slab nr", nrow(GLODAP_highlight %>% 
                                             filter(gamma_highlight == "slab"))))
  

png(here::here("output/figure/eMLR/predictor_correlation",
               paste("predictor_correlation", i_basin, i_era, i_gamma_slab, ".png", sep = "_")),
    width = 12, height = 12, units = "in", res = 300)

print(p)

dev.off()
  
    }
  }
}

6.2.2 Correlation assesment

6.2.2.1 Calculation of correlation coeffcients

Correlation coefficients were calculated indivdually within each slabs, era and basin.

for (i_basin in unique(GLODAP$basin)) {
  for (i_era in unique(GLODAP$era)) {

# i_basin <- unique(GLODAP$basin)[1]
# i_era   <- unique(GLODAP$era)[1]
print(i_basin)
print(i_era)

GLODAP_basin_era <- GLODAP %>% 
  filter(basin == i_basin,
         era == i_era) %>% 
  select(basin,
         era,
         gamma_slab,
         Cstar,
         salinity,
         temperature,
         aou,
         oxygen,
         silicate,
         phosphate,
         phosphate_star)

for (i_gamma_slab in unique(GLODAP_basin_era$gamma_slab)) {
  
  # i_gamma_slab <- unique(GLODAP_basin_era$gamma_slab)[5]
  print(i_gamma_slab)
  
  GLODAP_basin_era_slab <- GLODAP_basin_era %>%
    filter(gamma_slab == i_gamma_slab)

  cor_Cstar_predictor_temp <- GLODAP_basin_era_slab %>% 
    select(-c(basin, era, gamma_slab)) %>% 
    correlate() %>% 
    focus(Cstar) %>% 
    mutate(basin = i_basin,
       era = i_era,
       gamma_slab = i_gamma_slab)
  
  if (exists("cor_Cstar_predictor")) {
        cor_Cstar_predictor <- bind_rows(cor_Cstar_predictor, cor_Cstar_predictor_temp)
      }
      
    if (!exists("cor_Cstar_predictor")) {
        cor_Cstar_predictor <- cor_Cstar_predictor_temp
    }
  
  
  cor_predictors_temp <- GLODAP_basin_era_slab %>% 
    select(-c(basin, era, gamma_slab)) %>% 
    correlate() %>% 
    shave %>% 
    stretch() %>% 
    filter(!is.na(r),
           x != "Cstar",
           y != "Cstar") %>% 
    mutate(pair = paste(x, y, sep = " + ")) %>% 
    select(-c(x, y)) %>% 
    mutate(basin = i_basin,
       era = i_era,
       gamma_slab = i_gamma_slab)
  
    if (exists("cor_predictors")) {
        cor_predictors <- bind_rows(cor_predictors, cor_predictors_temp)
      }
      
    if (!exists("cor_predictors")) {
        cor_predictors <- cor_predictors_temp
    }
  
  
  
    }
  }
}


cor_predictors %>%
  write_csv(here::here("data/eMLR",
                       "cor_predictors.csv"))

cor_Cstar_predictor %>%
  write_csv(here::here("data/eMLR",
                       "cor_Cstar_predictor.csv"))

rm(cor_predictors_temp, cor_Cstar_predictor_temp,
   i_gamma_slab, i_era, i_basin,
   GLODAP_basin_era, GLODAP_basin_era_slab)

6.2.2.2 Predictor pairs

Below, the range of correlations coefficients for each predictor pair is plotted per basin (facet) and density slab (color). Note that the range indicates the min and max values of in total 3 calculated coefficients (one per era).

cor_predictors <-
  read_csv(here::here("data/eMLR",
                       "cor_predictors.csv"))

cor_predictors_stats <- cor_predictors %>% 
  group_by(pair, basin, gamma_slab) %>% 
  summarise(mean_r = mean(r),
            min_r = min(r),
            max_r = max(r)) %>% 
  ungroup()

cor_predictors_stats %>% 
  mutate(pair = reorder(pair, mean_r)) %>%
  ggplot() +
  geom_vline(xintercept = c(-0.9, 0.9), col = "red") +
  geom_vline(xintercept = 0) +
  geom_linerange(
    aes(y = pair, xmin = min_r, xmax = max_r, col = gamma_slab),
    position = position_dodge(width = 0.6)) +
  facet_wrap(~basin) +
  scale_color_viridis_d(direction = -1) +
  labs(x = "correlation coefficient", y = "") +
  theme(legend.position = "top")

kable(cor_predictors_stats) %>%
  add_header_above() %>%
  kable_styling() %>%
  scroll_box(width = "100%", height = "400px")
pair basin gamma_slab mean_r min_r max_r
aou + oxygen Atlantic (-Inf,26] -0.9181612 -0.9566141 -0.8863166
aou + oxygen Atlantic (26,26.5] -0.9168222 -0.9409620 -0.8987570
aou + oxygen Atlantic (26.5,26.75] -0.9652673 -0.9754904 -0.9501770
aou + oxygen Atlantic (26.75,27] -0.9782180 -0.9856810 -0.9697365
aou + oxygen Atlantic (27,27.25] -0.9744293 -0.9820587 -0.9637201
aou + oxygen Atlantic (27.25,27.5] -0.9522776 -0.9608428 -0.9397143
aou + oxygen Atlantic (27.5,27.75] -0.9303794 -0.9470832 -0.9028461
aou + oxygen Atlantic (27.75,27.85] -0.9772131 -0.9786507 -0.9759298
aou + oxygen Atlantic (27.85,27.95] -0.9893344 -0.9918342 -0.9873376
aou + oxygen Atlantic (27.95,28.05] -0.9889256 -0.9926695 -0.9823756
aou + oxygen Atlantic (28.05,28.1] -0.9893533 -0.9942939 -0.9813655
aou + oxygen Atlantic (28.1,28.15] -0.9938055 -0.9945634 -0.9923620
aou + oxygen Atlantic (28.15,28.2] -0.9981383 -0.9986039 -0.9974366
aou + oxygen Atlantic (28.2, Inf] -0.9785520 -0.9837852 -0.9737943
aou + oxygen Indo-Pacific (-Inf,26] -0.9199892 -0.9636779 -0.8894647
aou + oxygen Indo-Pacific (26,26.5] -0.9803426 -0.9845577 -0.9728250
aou + oxygen Indo-Pacific (26.5,26.75] -0.9850881 -0.9877960 -0.9817863
aou + oxygen Indo-Pacific (26.75,27] -0.9836727 -0.9846370 -0.9829894
aou + oxygen Indo-Pacific (27,27.25] -0.9886504 -0.9929829 -0.9800836
aou + oxygen Indo-Pacific (27.25,27.5] -0.9913226 -0.9954821 -0.9836315
aou + oxygen Indo-Pacific (27.5,27.75] -0.9926744 -0.9967320 -0.9852991
aou + oxygen Indo-Pacific (27.75,27.85] -0.9961082 -0.9989585 -0.9921026
aou + oxygen Indo-Pacific (27.85,27.95] -0.9968241 -0.9990057 -0.9946008
aou + oxygen Indo-Pacific (27.95,28.05] -0.9951951 -0.9964353 -0.9934380
aou + oxygen Indo-Pacific (28.05,28.1] -0.9956157 -0.9966147 -0.9946222
aou + oxygen Indo-Pacific (28.1, Inf] -0.9908663 -0.9923555 -0.9887596
aou + phosphate Atlantic (-Inf,26] 0.6488368 0.5161554 0.7417322
aou + phosphate Atlantic (26,26.5] 0.7509904 0.5753655 0.9216757
aou + phosphate Atlantic (26.5,26.75] 0.8799344 0.8385999 0.9294296
aou + phosphate Atlantic (26.75,27] 0.8653866 0.8170427 0.8970329
aou + phosphate Atlantic (27,27.25] 0.7961680 0.6776659 0.8599479
aou + phosphate Atlantic (27.25,27.5] 0.7214986 0.6277934 0.8023489
aou + phosphate Atlantic (27.5,27.75] 0.8384476 0.7895234 0.8678536
aou + phosphate Atlantic (27.75,27.85] 0.9466782 0.9405605 0.9553219
aou + phosphate Atlantic (27.85,27.95] 0.9573251 0.9478591 0.9688590
aou + phosphate Atlantic (27.95,28.05] 0.9643270 0.9511925 0.9862507
aou + phosphate Atlantic (28.05,28.1] 0.9705710 0.9555563 0.9871036
aou + phosphate Atlantic (28.1,28.15] 0.9805780 0.9784785 0.9841974
aou + phosphate Atlantic (28.15,28.2] 0.9922852 0.9889823 0.9946912
aou + phosphate Atlantic (28.2, Inf] 0.8184560 0.7760113 0.8773826
aou + phosphate Indo-Pacific (-Inf,26] 0.9403499 0.9073617 0.9670963
aou + phosphate Indo-Pacific (26,26.5] 0.9545261 0.9481344 0.9627786
aou + phosphate Indo-Pacific (26.5,26.75] 0.9511342 0.9393080 0.9626975
aou + phosphate Indo-Pacific (26.75,27] 0.9500133 0.9461165 0.9539790
aou + phosphate Indo-Pacific (27,27.25] 0.9666580 0.9484321 0.9806798
aou + phosphate Indo-Pacific (27.25,27.5] 0.9711209 0.9521979 0.9808396
aou + phosphate Indo-Pacific (27.5,27.75] 0.9751403 0.9605167 0.9825862
aou + phosphate Indo-Pacific (27.75,27.85] 0.9823398 0.9735339 0.9883639
aou + phosphate Indo-Pacific (27.85,27.95] 0.9801186 0.9705015 0.9891580
aou + phosphate Indo-Pacific (27.95,28.05] 0.9674872 0.9566842 0.9761508
aou + phosphate Indo-Pacific (28.05,28.1] 0.9574105 0.9442222 0.9715225
aou + phosphate Indo-Pacific (28.1, Inf] 0.7800593 0.7279375 0.8296450
aou + phosphate_star Atlantic (-Inf,26] 0.0751886 -0.4341508 0.3482348
aou + phosphate_star Atlantic (26,26.5] 0.3475250 0.0643405 0.6175442
aou + phosphate_star Atlantic (26.5,26.75] 0.4741260 0.3723426 0.6411307
aou + phosphate_star Atlantic (26.75,27] 0.2753734 0.2256466 0.3240950
aou + phosphate_star Atlantic (27,27.25] 0.1490537 -0.0321727 0.3056935
aou + phosphate_star Atlantic (27.25,27.5] 0.1729314 0.0440112 0.3213433
aou + phosphate_star Atlantic (27.5,27.75] 0.5455524 0.4836519 0.5929938
aou + phosphate_star Atlantic (27.75,27.85] 0.7638965 0.7433138 0.7962242
aou + phosphate_star Atlantic (27.85,27.95] 0.7180275 0.6537077 0.7855705
aou + phosphate_star Atlantic (27.95,28.05] 0.8229635 0.7423182 0.9319089
aou + phosphate_star Atlantic (28.05,28.1] 0.8861871 0.8392220 0.9523375
aou + phosphate_star Atlantic (28.1,28.15] 0.9253933 0.9114497 0.9418630
aou + phosphate_star Atlantic (28.15,28.2] 0.9755588 0.9625218 0.9834872
aou + phosphate_star Atlantic (28.2, Inf] 0.4783872 0.3898943 0.6414743
aou + phosphate_star Indo-Pacific (-Inf,26] 0.6620179 0.5215468 0.7430101
aou + phosphate_star Indo-Pacific (26,26.5] 0.5812512 0.5202906 0.6206208
aou + phosphate_star Indo-Pacific (26.5,26.75] 0.4265043 0.1669141 0.5829578
aou + phosphate_star Indo-Pacific (26.75,27] 0.3870938 0.3240540 0.4860624
aou + phosphate_star Indo-Pacific (27,27.25] 0.1607629 0.0764660 0.2290589
aou + phosphate_star Indo-Pacific (27.25,27.5] -0.4139314 -0.4787101 -0.3597691
aou + phosphate_star Indo-Pacific (27.5,27.75] -0.6003363 -0.6957268 -0.4920225
aou + phosphate_star Indo-Pacific (27.75,27.85] -0.4758166 -0.6105114 -0.3557962
aou + phosphate_star Indo-Pacific (27.85,27.95] -0.0689547 -0.1201820 0.0056397
aou + phosphate_star Indo-Pacific (27.95,28.05] 0.2346827 0.1165401 0.3284777
aou + phosphate_star Indo-Pacific (28.05,28.1] 0.4091718 0.3650681 0.4643695
aou + phosphate_star Indo-Pacific (28.1, Inf] -0.6155817 -0.6499367 -0.5641977
aou + silicate Atlantic (-Inf,26] 0.2654543 0.0884202 0.4145649
aou + silicate Atlantic (26,26.5] 0.6747329 0.5172910 0.8265329
aou + silicate Atlantic (26.5,26.75] 0.8953646 0.8608648 0.9291670
aou + silicate Atlantic (26.75,27] 0.8767545 0.8429220 0.9015240
aou + silicate Atlantic (27,27.25] 0.7587540 0.6532535 0.8355002
aou + silicate Atlantic (27.25,27.5] 0.5181865 0.4038500 0.6853791
aou + silicate Atlantic (27.5,27.75] 0.6086402 0.5720276 0.6699890
aou + silicate Atlantic (27.75,27.85] 0.8515955 0.8448051 0.8642328
aou + silicate Atlantic (27.85,27.95] 0.8977712 0.8893889 0.9121609
aou + silicate Atlantic (27.95,28.05] 0.9473367 0.9366867 0.9638062
aou + silicate Atlantic (28.05,28.1] 0.9710848 0.9618608 0.9826435
aou + silicate Atlantic (28.1,28.15] 0.9768582 0.9752126 0.9792466
aou + silicate Atlantic (28.15,28.2] 0.9911038 0.9862753 0.9955321
aou + silicate Atlantic (28.2, Inf] 0.8287733 0.7792842 0.8681030
aou + silicate Indo-Pacific (-Inf,26] 0.7213888 0.6365610 0.7899518
aou + silicate Indo-Pacific (26,26.5] 0.6505259 0.5381656 0.7487756
aou + silicate Indo-Pacific (26.5,26.75] 0.6121560 0.4093259 0.7315507
aou + silicate Indo-Pacific (26.75,27] 0.7488040 0.6938246 0.7813525
aou + silicate Indo-Pacific (27,27.25] 0.8648235 0.8075377 0.9105990
aou + silicate Indo-Pacific (27.25,27.5] 0.8993870 0.8537286 0.9387602
aou + silicate Indo-Pacific (27.5,27.75] 0.9194243 0.8681200 0.9540944
aou + silicate Indo-Pacific (27.75,27.85] 0.9671074 0.9511809 0.9761360
aou + silicate Indo-Pacific (27.85,27.95] 0.9644635 0.9545940 0.9707377
aou + silicate Indo-Pacific (27.95,28.05] 0.9493197 0.9417607 0.9533539
aou + silicate Indo-Pacific (28.05,28.1] 0.9487765 0.9460695 0.9532193
aou + silicate Indo-Pacific (28.1, Inf] 0.6256825 0.5387657 0.6694329
oxygen + phosphate Atlantic (-Inf,26] -0.4412587 -0.6061311 -0.3072346
oxygen + phosphate Atlantic (26,26.5] -0.4575598 -0.7627491 -0.1724774
oxygen + phosphate Atlantic (26.5,26.75] -0.7300061 -0.8281720 -0.6306966
oxygen + phosphate Atlantic (26.75,27] -0.7453860 -0.8115376 -0.6537454
oxygen + phosphate Atlantic (27,27.25] -0.6443769 -0.7382896 -0.4603906
oxygen + phosphate Atlantic (27.25,27.5] -0.4827029 -0.6095132 -0.3297344
oxygen + phosphate Atlantic (27.5,27.75] -0.5966809 -0.6749872 -0.4653694
oxygen + phosphate Atlantic (27.75,27.85] -0.8629912 -0.8760309 -0.8562542
oxygen + phosphate Atlantic (27.85,27.95] -0.9109015 -0.9348224 -0.8915953
oxygen + phosphate Atlantic (27.95,28.05] -0.9275300 -0.9680297 -0.8866843
oxygen + phosphate Atlantic (28.05,28.1] -0.9356801 -0.9742818 -0.8890527
oxygen + phosphate Atlantic (28.1,28.15] -0.9594641 -0.9679879 -0.9515113
oxygen + phosphate Atlantic (28.15,28.2] -0.9886288 -0.9933712 -0.9803690
oxygen + phosphate Atlantic (28.2, Inf] -0.7033246 -0.7805874 -0.6632504
oxygen + phosphate Indo-Pacific (-Inf,26] -0.7839570 -0.9067335 -0.6823081
oxygen + phosphate Indo-Pacific (26,26.5] -0.8838199 -0.9048178 -0.8555408
oxygen + phosphate Indo-Pacific (26.5,26.75] -0.8889792 -0.9140662 -0.8726298
oxygen + phosphate Indo-Pacific (26.75,27] -0.8827241 -0.8880642 -0.8745155
oxygen + phosphate Indo-Pacific (27,27.25] -0.9238446 -0.9561043 -0.8755487
oxygen + phosphate Indo-Pacific (27.25,27.5] -0.9427922 -0.9674903 -0.8953701
oxygen + phosphate Indo-Pacific (27.5,27.75] -0.9585959 -0.9797089 -0.9229040
oxygen + phosphate Indo-Pacific (27.75,27.85] -0.9755911 -0.9887694 -0.9587606
oxygen + phosphate Indo-Pacific (27.85,27.95] -0.9722513 -0.9878715 -0.9581609
oxygen + phosphate Indo-Pacific (27.95,28.05] -0.9466635 -0.9591235 -0.9304693
oxygen + phosphate Indo-Pacific (28.05,28.1] -0.9340143 -0.9526139 -0.9221487
oxygen + phosphate Indo-Pacific (28.1, Inf] -0.7014531 -0.7608328 -0.6356990
oxygen + phosphate_star Atlantic (-Inf,26] 0.1893903 -0.1230309 0.6411888
oxygen + phosphate_star Atlantic (26,26.5] 0.0228416 -0.3412350 0.3696066
oxygen + phosphate_star Atlantic (26.5,26.75] -0.2360841 -0.4598066 -0.1076626
oxygen + phosphate_star Atlantic (26.75,27] -0.0749306 -0.1287144 0.0167700
oxygen + phosphate_star Atlantic (27,27.25] 0.0693905 -0.0997210 0.2947309
oxygen + phosphate_star Atlantic (27.25,27.5] 0.1276161 -0.0503131 0.2955341
oxygen + phosphate_star Atlantic (27.5,27.75] -0.2177089 -0.3157434 -0.0747768
oxygen + phosphate_star Atlantic (27.75,27.85] -0.6170288 -0.6556548 -0.5972095
oxygen + phosphate_star Atlantic (27.85,27.95] -0.6181154 -0.7085527 -0.5422986
oxygen + phosphate_star Atlantic (27.95,28.05] -0.7502733 -0.8930381 -0.6783013
oxygen + phosphate_star Atlantic (28.05,28.1] -0.8239907 -0.9270406 -0.7284906
oxygen + phosphate_star Atlantic (28.1,28.15] -0.8866594 -0.9116651 -0.8736184
oxygen + phosphate_star Atlantic (28.15,28.2] -0.9682666 -0.9801919 -0.9467860
oxygen + phosphate_star Atlantic (28.2, Inf] -0.3117873 -0.4938331 -0.2050104
oxygen + phosphate_star Indo-Pacific (-Inf,26] -0.3698447 -0.5847842 -0.1280827
oxygen + phosphate_star Indo-Pacific (26,26.5] -0.4202618 -0.4584822 -0.3719583
oxygen + phosphate_star Indo-Pacific (26.5,26.75] -0.2761827 -0.4243091 -0.0048738
oxygen + phosphate_star Indo-Pacific (26.75,27] -0.2217661 -0.3227939 -0.1608680
oxygen + phosphate_star Indo-Pacific (27,27.25] -0.0265311 -0.1236776 0.1115391
oxygen + phosphate_star Indo-Pacific (27.25,27.5] 0.5064386 0.4721050 0.5407410
oxygen + phosphate_star Indo-Pacific (27.5,27.75] 0.6614212 0.6066151 0.7182471
oxygen + phosphate_star Indo-Pacific (27.75,27.85] 0.5145704 0.4301678 0.6144466
oxygen + phosphate_star Indo-Pacific (27.85,27.95] 0.1122673 0.0557543 0.1740921
oxygen + phosphate_star Indo-Pacific (27.95,28.05] -0.1584253 -0.2445424 -0.0445188
oxygen + phosphate_star Indo-Pacific (28.05,28.1] -0.3379210 -0.4043857 -0.2788553
oxygen + phosphate_star Indo-Pacific (28.1, Inf] 0.7065238 0.6675602 0.7338818
oxygen + silicate Atlantic (-Inf,26] -0.0202925 -0.1715993 0.1534811
oxygen + silicate Atlantic (26,26.5] -0.3941576 -0.6443663 -0.1482352
oxygen + silicate Atlantic (26.5,26.75] -0.7701318 -0.8436954 -0.6846121
oxygen + silicate Atlantic (26.75,27] -0.7780682 -0.8302180 -0.7139144
oxygen + silicate Atlantic (27,27.25] -0.6142032 -0.7169366 -0.4522280
oxygen + silicate Atlantic (27.25,27.5] -0.2596380 -0.4764353 -0.0923371
oxygen + silicate Atlantic (27.5,27.75] -0.3185453 -0.4360723 -0.2092809
oxygen + silicate Atlantic (27.75,27.85] -0.7407622 -0.7579846 -0.7298223
oxygen + silicate Atlantic (27.85,27.95] -0.8322018 -0.8599509 -0.8161961
oxygen + silicate Atlantic (27.95,28.05] -0.8965103 -0.9290503 -0.8615934
oxygen + silicate Atlantic (28.05,28.1] -0.9316667 -0.9616389 -0.8975675
oxygen + silicate Atlantic (28.1,28.15] -0.9522411 -0.9528684 -0.9511337
oxygen + silicate Atlantic (28.15,28.2] -0.9869917 -0.9916129 -0.9808054
oxygen + silicate Atlantic (28.2, Inf] -0.7163708 -0.7458716 -0.6760719
oxygen + silicate Indo-Pacific (-Inf,26] -0.4884062 -0.6825358 -0.3169944
oxygen + silicate Indo-Pacific (26,26.5] -0.5302245 -0.6549671 -0.4175494
oxygen + silicate Indo-Pacific (26.5,26.75] -0.4928426 -0.6371103 -0.2746742
oxygen + silicate Indo-Pacific (26.75,27] -0.6349982 -0.6716084 -0.5683559
oxygen + silicate Indo-Pacific (27,27.25] -0.7945613 -0.8639831 -0.6962955
oxygen + silicate Indo-Pacific (27.25,27.5] -0.8492028 -0.9092098 -0.7707499
oxygen + silicate Indo-Pacific (27.5,27.75] -0.8794456 -0.9316797 -0.7938492
oxygen + silicate Indo-Pacific (27.75,27.85] -0.9519542 -0.9721552 -0.9212389
oxygen + silicate Indo-Pacific (27.85,27.95] -0.9504681 -0.9648651 -0.9328229
oxygen + silicate Indo-Pacific (27.95,28.05] -0.9245872 -0.9323370 -0.9110657
oxygen + silicate Indo-Pacific (28.05,28.1] -0.9256529 -0.9269820 -0.9237752
oxygen + silicate Indo-Pacific (28.1, Inf] -0.5366149 -0.5919324 -0.4282915
phosphate + phosphate_star Atlantic (-Inf,26] 0.7624671 0.5332725 0.8902339
phosphate + phosphate_star Atlantic (26,26.5] 0.8668735 0.8515142 0.8809509
phosphate + phosphate_star Atlantic (26.5,26.75] 0.8320960 0.7783560 0.8785106
phosphate + phosphate_star Atlantic (26.75,27] 0.7162345 0.6721479 0.7456449
phosphate + phosphate_star Atlantic (27,27.25] 0.7086069 0.6647082 0.7485194
phosphate + phosphate_star Atlantic (27.25,27.5] 0.8031728 0.7826237 0.8224384
phosphate + phosphate_star Atlantic (27.5,27.75] 0.9115930 0.9041334 0.9174374
phosphate + phosphate_star Atlantic (27.75,27.85] 0.9300108 0.9253656 0.9385056
phosphate + phosphate_star Atlantic (27.85,27.95] 0.8862340 0.8465936 0.9129611
phosphate + phosphate_star Atlantic (27.95,28.05] 0.9408191 0.9033721 0.9773587
phosphate + phosphate_star Atlantic (28.05,28.1] 0.9701545 0.9612884 0.9876899
phosphate + phosphate_star Atlantic (28.1,28.15] 0.9809299 0.9757912 0.9856240
phosphate + phosphate_star Atlantic (28.15,28.2] 0.9948207 0.9916620 0.9964604
phosphate + phosphate_star Atlantic (28.2, Inf] 0.8932301 0.8684747 0.9289934
phosphate + phosphate_star Indo-Pacific (-Inf,26] 0.8603014 0.8124352 0.8961438
phosphate + phosphate_star Indo-Pacific (26,26.5] 0.7938226 0.7526968 0.8355190
phosphate + phosphate_star Indo-Pacific (26.5,26.75] 0.6775601 0.4926295 0.8031857
phosphate + phosphate_star Indo-Pacific (26.75,27] 0.6518593 0.6008772 0.7413236
phosphate + phosphate_star Indo-Pacific (27,27.25] 0.3985357 0.3824574 0.4090257
phosphate + phosphate_star Indo-Pacific (27.25,27.5] -0.2020783 -0.3104182 -0.0694949
phosphate + phosphate_star Indo-Pacific (27.5,27.75] -0.4289067 -0.5642191 -0.2537503
phosphate + phosphate_star Indo-Pacific (27.75,27.85] -0.3195294 -0.4896367 -0.1558532
phosphate + phosphate_star Indo-Pacific (27.85,27.95] 0.1162110 0.0487248 0.2323633
phosphate + phosphate_star Indo-Pacific (27.95,28.05] 0.4635889 0.3254063 0.5827854
phosphate + phosphate_star Indo-Pacific (28.05,28.1] 0.6489135 0.6019465 0.7266992
phosphate + phosphate_star Indo-Pacific (28.1, Inf] 0.0053285 -0.0947674 0.1503829
salinity + aou Atlantic (-Inf,26] -0.0452495 -0.3257778 0.3355069
salinity + aou Atlantic (26,26.5] -0.1316899 -0.2309276 0.0334238
salinity + aou Atlantic (26.5,26.75] -0.3436234 -0.5297627 -0.1936560
salinity + aou Atlantic (26.75,27] -0.2274688 -0.2786631 -0.1798969
salinity + aou Atlantic (27,27.25] -0.1722725 -0.3548045 0.0243317
salinity + aou Atlantic (27.25,27.5] -0.1716808 -0.3370859 -0.0600930
salinity + aou Atlantic (27.5,27.75] -0.4656439 -0.4956237 -0.4140142
salinity + aou Atlantic (27.75,27.85] -0.5438494 -0.6028770 -0.4959685
salinity + aou Atlantic (27.85,27.95] -0.3566450 -0.5027073 -0.1656048
salinity + aou Atlantic (27.95,28.05] -0.5444684 -0.7924660 -0.2117975
salinity + aou Atlantic (28.05,28.1] -0.7479505 -0.8681681 -0.6651277
salinity + aou Atlantic (28.1,28.15] -0.8326742 -0.8705770 -0.7857761
salinity + aou Atlantic (28.15,28.2] -0.9536576 -0.9757986 -0.9232777
salinity + aou Atlantic (28.2, Inf] -0.5299343 -0.7118279 -0.4183440
salinity + aou Indo-Pacific (-Inf,26] -0.0976234 -0.1346395 -0.0319685
salinity + aou Indo-Pacific (26,26.5] -0.0501848 -0.2595400 0.1341664
salinity + aou Indo-Pacific (26.5,26.75] -0.0552989 -0.3767854 0.2662912
salinity + aou Indo-Pacific (26.75,27] -0.1605742 -0.3700368 0.0263806
salinity + aou Indo-Pacific (27,27.25] -0.0833167 -0.2071071 0.1440841
salinity + aou Indo-Pacific (27.25,27.5] 0.1152309 0.0311502 0.2680199
salinity + aou Indo-Pacific (27.5,27.75] 0.0468967 -0.0757758 0.2344463
salinity + aou Indo-Pacific (27.75,27.85] -0.1678875 -0.4051461 0.0905928
salinity + aou Indo-Pacific (27.85,27.95] -0.3774176 -0.6902419 -0.1322621
salinity + aou Indo-Pacific (27.95,28.05] -0.3780087 -0.4619637 -0.2601785
salinity + aou Indo-Pacific (28.05,28.1] -0.4597512 -0.5848017 -0.3719058
salinity + aou Indo-Pacific (28.1, Inf] 0.3997470 0.2765693 0.4833991
salinity + oxygen Atlantic (-Inf,26] -0.3109640 -0.5824114 -0.0830958
salinity + oxygen Atlantic (26,26.5] -0.2558098 -0.4586109 -0.0978965
salinity + oxygen Atlantic (26.5,26.75] 0.0954246 -0.0452345 0.3329757
salinity + oxygen Atlantic (26.75,27] 0.0271900 -0.0618028 0.0825327
salinity + oxygen Atlantic (27,27.25] -0.0428928 -0.2848910 0.1542667
salinity + oxygen Atlantic (27.25,27.5] -0.1247762 -0.2755115 0.0699327
salinity + oxygen Atlantic (27.5,27.75] 0.1285747 0.0007210 0.2049111
salinity + oxygen Atlantic (27.75,27.85] 0.3596203 0.2998878 0.4260460
salinity + oxygen Atlantic (27.85,27.95] 0.2285522 0.0268688 0.3965104
salinity + oxygen Atlantic (27.95,28.05] 0.4435389 0.1139659 0.7289259
salinity + oxygen Atlantic (28.05,28.1] 0.6554291 0.5677434 0.8196414
salinity + oxygen Atlantic (28.1,28.15] 0.7693824 0.7201298 0.8169252
salinity + oxygen Atlantic (28.15,28.2] 0.9361833 0.8965298 0.9637406
salinity + oxygen Atlantic (28.2, Inf] 0.3650789 0.2179548 0.5646201
salinity + oxygen Indo-Pacific (-Inf,26] -0.2157463 -0.3359558 -0.1039456
salinity + oxygen Indo-Pacific (26,26.5] -0.1316348 -0.2879960 0.0406246
salinity + oxygen Indo-Pacific (26.5,26.75] -0.1064139 -0.4189153 0.1974485
salinity + oxygen Indo-Pacific (26.75,27] -0.0126002 -0.1962625 0.1972547
salinity + oxygen Indo-Pacific (27,27.25] -0.0535173 -0.3319775 0.0959141
salinity + oxygen Indo-Pacific (27.25,27.5] -0.2236543 -0.4282238 -0.1152695
salinity + oxygen Indo-Pacific (27.5,27.75] -0.1310450 -0.3816878 0.0324730
salinity + oxygen Indo-Pacific (27.75,27.85] 0.0993157 -0.2068707 0.3778925
salinity + oxygen Indo-Pacific (27.85,27.95] 0.3221359 0.0409348 0.6777124
salinity + oxygen Indo-Pacific (27.95,28.05] 0.3031510 0.1635871 0.4038045
salinity + oxygen Indo-Pacific (28.05,28.1] 0.3840285 0.2817047 0.5276693
salinity + oxygen Indo-Pacific (28.1, Inf] -0.4956548 -0.5910869 -0.3703990
salinity + phosphate Atlantic (-Inf,26] -0.5368678 -0.7820996 -0.3151151
salinity + phosphate Atlantic (26,26.5] -0.6861720 -0.7694493 -0.5227085
salinity + phosphate Atlantic (26.5,26.75] -0.7286769 -0.7958907 -0.6260673
salinity + phosphate Atlantic (26.75,27] -0.6705112 -0.7056194 -0.6198328
salinity + phosphate Atlantic (27,27.25] -0.7145275 -0.7748703 -0.6639096
salinity + phosphate Atlantic (27.25,27.5] -0.7876444 -0.8205324 -0.7418126
salinity + phosphate Atlantic (27.5,27.75] -0.8352052 -0.8445523 -0.8291386
salinity + phosphate Atlantic (27.75,27.85] -0.7551779 -0.7831275 -0.7242229
salinity + phosphate Atlantic (27.85,27.95] -0.5751115 -0.6726756 -0.4171452
salinity + phosphate Atlantic (27.95,28.05] -0.6954715 -0.8503110 -0.4308056
salinity + phosphate Atlantic (28.05,28.1] -0.8442799 -0.9056577 -0.7678284
salinity + phosphate Atlantic (28.1,28.15] -0.8938608 -0.9149390 -0.8537034
salinity + phosphate Atlantic (28.15,28.2] -0.9592330 -0.9685939 -0.9542868
salinity + phosphate Atlantic (28.2, Inf] -0.8964793 -0.9415770 -0.8474669
salinity + phosphate Indo-Pacific (-Inf,26] -0.2194966 -0.2517569 -0.2020443
salinity + phosphate Indo-Pacific (26,26.5] -0.2842714 -0.5082835 -0.1021091
salinity + phosphate Indo-Pacific (26.5,26.75] -0.3083614 -0.6118401 -0.0366340
salinity + phosphate Indo-Pacific (26.75,27] -0.4155439 -0.6195949 -0.2396882
salinity + phosphate Indo-Pacific (27,27.25] -0.2652062 -0.3794062 -0.1086066
salinity + phosphate Indo-Pacific (27.25,27.5] 0.0061186 -0.0358510 0.0567469
salinity + phosphate Indo-Pacific (27.5,27.75] -0.0111189 -0.0732762 0.0984362
salinity + phosphate Indo-Pacific (27.75,27.85] -0.1895421 -0.3793168 0.0420360
salinity + phosphate Indo-Pacific (27.85,27.95] -0.4214157 -0.6925250 -0.1799031
salinity + phosphate Indo-Pacific (27.95,28.05] -0.5186201 -0.5966346 -0.4036067
salinity + phosphate Indo-Pacific (28.05,28.1] -0.6204174 -0.7160040 -0.5713107
salinity + phosphate Indo-Pacific (28.1, Inf] -0.1349102 -0.2265805 -0.0763846
salinity + phosphate_star Atlantic (-Inf,26] -0.7974374 -0.9317164 -0.5625034
salinity + phosphate_star Atlantic (26,26.5] -0.9224630 -0.9699638 -0.8348915
salinity + phosphate_star Atlantic (26.5,26.75] -0.9690939 -0.9798972 -0.9501833
salinity + phosphate_star Atlantic (26.75,27] -0.9811322 -0.9867684 -0.9769403
salinity + phosphate_star Atlantic (27,27.25] -0.9837524 -0.9853382 -0.9820819
salinity + phosphate_star Atlantic (27.25,27.5] -0.9808522 -0.9835208 -0.9755483
salinity + phosphate_star Atlantic (27.5,27.75] -0.9529986 -0.9547226 -0.9511752
salinity + phosphate_star Atlantic (27.75,27.85] -0.9150719 -0.9211116 -0.9045425
salinity + phosphate_star Atlantic (27.85,27.95] -0.8473387 -0.8810768 -0.7953825
salinity + phosphate_star Atlantic (27.95,28.05] -0.8504594 -0.9230189 -0.7178387
salinity + phosphate_star Atlantic (28.05,28.1] -0.9138634 -0.9442163 -0.8593220
salinity + phosphate_star Atlantic (28.1,28.15] -0.9379116 -0.9600247 -0.9089368
salinity + phosphate_star Atlantic (28.15,28.2] -0.9621816 -0.9727023 -0.9506763
salinity + phosphate_star Atlantic (28.2, Inf] -0.9717163 -0.9756048 -0.9639516
salinity + phosphate_star Indo-Pacific (-Inf,26] -0.5186648 -0.5420309 -0.4997099
salinity + phosphate_star Indo-Pacific (26,26.5] -0.7288970 -0.8430713 -0.6266783
salinity + phosphate_star Indo-Pacific (26.5,26.75] -0.8431342 -0.9196684 -0.7882671
salinity + phosphate_star Indo-Pacific (26.75,27] -0.8928260 -0.9361704 -0.8471015
salinity + phosphate_star Indo-Pacific (27,27.25] -0.8387976 -0.8582931 -0.8065417
salinity + phosphate_star Indo-Pacific (27.25,27.5] -0.6298080 -0.8494018 -0.4417094
salinity + phosphate_star Indo-Pacific (27.5,27.75] -0.4110256 -0.7556259 -0.0693757
salinity + phosphate_star Indo-Pacific (27.75,27.85] -0.2591739 -0.5854542 0.2022713
salinity + phosphate_star Indo-Pacific (27.85,27.95] -0.3802058 -0.5771706 -0.0749978
salinity + phosphate_star Indo-Pacific (27.95,28.05] -0.7514025 -0.7918821 -0.7053462
salinity + phosphate_star Indo-Pacific (28.05,28.1] -0.8195662 -0.8740056 -0.7483517
salinity + phosphate_star Indo-Pacific (28.1, Inf] -0.8277035 -0.8551669 -0.8111767
salinity + silicate Atlantic (-Inf,26] -0.7139001 -0.7950883 -0.6725144
salinity + silicate Atlantic (26,26.5] -0.6824066 -0.7243435 -0.6125911
salinity + silicate Atlantic (26.5,26.75] -0.6350098 -0.7294011 -0.5055632
salinity + silicate Atlantic (26.75,27] -0.5545102 -0.5946755 -0.5155890
salinity + silicate Atlantic (27,27.25] -0.6607943 -0.7124112 -0.6219032
salinity + silicate Atlantic (27.25,27.5] -0.7972274 -0.8097390 -0.7859144
salinity + silicate Atlantic (27.5,27.75] -0.8197880 -0.8386444 -0.8101704
salinity + silicate Atlantic (27.75,27.85] -0.7884695 -0.8228682 -0.7518060
salinity + silicate Atlantic (27.85,27.95] -0.6617053 -0.7465839 -0.5237283
salinity + silicate Atlantic (27.95,28.05] -0.7307836 -0.8883221 -0.4777178
salinity + silicate Atlantic (28.05,28.1] -0.8591589 -0.9274773 -0.7987466
salinity + silicate Atlantic (28.1,28.15] -0.9053625 -0.9385148 -0.8708267
salinity + silicate Atlantic (28.15,28.2] -0.9565403 -0.9729301 -0.9307135
salinity + silicate Atlantic (28.2, Inf] -0.8546034 -0.9653379 -0.7751529
salinity + silicate Indo-Pacific (-Inf,26] -0.5327640 -0.5805799 -0.4445816
salinity + silicate Indo-Pacific (26,26.5] -0.5678803 -0.6927174 -0.4641915
salinity + silicate Indo-Pacific (26.5,26.75] -0.6741637 -0.8161866 -0.5696984
salinity + silicate Indo-Pacific (26.75,27] -0.6672540 -0.7747210 -0.4979258
salinity + silicate Indo-Pacific (27,27.25] -0.4685733 -0.5470162 -0.3358847
salinity + silicate Indo-Pacific (27.25,27.5] -0.1679460 -0.2354897 -0.0950205
salinity + silicate Indo-Pacific (27.5,27.75] -0.0843286 -0.1062914 -0.0648291
salinity + silicate Indo-Pacific (27.75,27.85] -0.2171798 -0.3571247 -0.0574093
salinity + silicate Indo-Pacific (27.85,27.95] -0.3985178 -0.6239515 -0.2184840
salinity + silicate Indo-Pacific (27.95,28.05] -0.4391131 -0.4910533 -0.3621739
salinity + silicate Indo-Pacific (28.05,28.1] -0.5463477 -0.6170559 -0.4790016
salinity + silicate Indo-Pacific (28.1, Inf] -0.0742257 -0.1716903 0.0723564
salinity + temperature Atlantic (-Inf,26] 0.9207161 0.8381654 0.9786562
salinity + temperature Atlantic (26,26.5] 0.9600524 0.9470189 0.9717127
salinity + temperature Atlantic (26.5,26.75] 0.9866701 0.9811261 0.9902331
salinity + temperature Atlantic (26.75,27] 0.9794774 0.9741859 0.9843463
salinity + temperature Atlantic (27,27.25] 0.9773384 0.9758270 0.9794429
salinity + temperature Atlantic (27.25,27.5] 0.9728298 0.9698213 0.9754742
salinity + temperature Atlantic (27.5,27.75] 0.9596412 0.9556522 0.9622929
salinity + temperature Atlantic (27.75,27.85] 0.9789351 0.9753679 0.9808720
salinity + temperature Atlantic (27.85,27.95] 0.9441199 0.9369742 0.9480091
salinity + temperature Atlantic (27.95,28.05] 0.8823423 0.8069203 0.9317987
salinity + temperature Atlantic (28.05,28.1] 0.9497597 0.9127320 0.9685717
salinity + temperature Atlantic (28.1,28.15] 0.9486238 0.9195421 0.9706795
salinity + temperature Atlantic (28.15,28.2] 0.8825453 0.8477644 0.9035039
salinity + temperature Atlantic (28.2, Inf] 0.4658301 0.3653252 0.6272068
salinity + temperature Indo-Pacific (-Inf,26] 0.7708602 0.7410815 0.8179872
salinity + temperature Indo-Pacific (26,26.5] 0.9289978 0.8853113 0.9536617
salinity + temperature Indo-Pacific (26.5,26.75] 0.9783761 0.9690919 0.9833196
salinity + temperature Indo-Pacific (26.75,27] 0.9769327 0.9720313 0.9799861
salinity + temperature Indo-Pacific (27,27.25] 0.9494681 0.9326539 0.9706486
salinity + temperature Indo-Pacific (27.25,27.5] 0.8759716 0.8219365 0.9581021
salinity + temperature Indo-Pacific (27.5,27.75] 0.7034281 0.5144167 0.9146415
salinity + temperature Indo-Pacific (27.75,27.85] 0.8099353 0.6545628 0.9380027
salinity + temperature Indo-Pacific (27.85,27.95] 0.6993368 0.4548127 0.8692827
salinity + temperature Indo-Pacific (27.95,28.05] 0.7212254 0.6298824 0.8192591
salinity + temperature Indo-Pacific (28.05,28.1] 0.6984918 0.5756878 0.7976297
salinity + temperature Indo-Pacific (28.1, Inf] 0.7137388 0.5996297 0.8277495
silicate + phosphate Atlantic (-Inf,26] 0.6435212 0.5417703 0.7736760
silicate + phosphate Atlantic (26,26.5] 0.9197612 0.9020743 0.9319463
silicate + phosphate Atlantic (26.5,26.75] 0.9667453 0.9625265 0.9712821
silicate + phosphate Atlantic (26.75,27] 0.9516208 0.9345927 0.9610085
silicate + phosphate Atlantic (27,27.25] 0.9447014 0.9296485 0.9556204
silicate + phosphate Atlantic (27.25,27.5] 0.8978592 0.8721677 0.9280920
silicate + phosphate Atlantic (27.5,27.75] 0.8895426 0.8694482 0.9021325
silicate + phosphate Atlantic (27.75,27.85] 0.9520945 0.9423096 0.9653637
silicate + phosphate Atlantic (27.85,27.95] 0.9714709 0.9666891 0.9776300
silicate + phosphate Atlantic (27.95,28.05] 0.9807086 0.9759663 0.9866261
silicate + phosphate Atlantic (28.05,28.1] 0.9890124 0.9850664 0.9911994
silicate + phosphate Atlantic (28.1,28.15] 0.9933245 0.9921857 0.9941494
silicate + phosphate Atlantic (28.15,28.2] 0.9941483 0.9898345 0.9973286
silicate + phosphate Atlantic (28.2, Inf] 0.9695668 0.9599850 0.9887272
silicate + phosphate Indo-Pacific (-Inf,26] 0.7876839 0.7391622 0.8126822
silicate + phosphate Indo-Pacific (26,26.5] 0.7574193 0.6608833 0.8319689
silicate + phosphate Indo-Pacific (26.5,26.75] 0.7499238 0.5908688 0.8379373
silicate + phosphate Indo-Pacific (26.75,27] 0.8528399 0.8041063 0.8787578
silicate + phosphate Indo-Pacific (27,27.25] 0.8991939 0.8740174 0.9339553
silicate + phosphate Indo-Pacific (27.25,27.5] 0.8886196 0.8594089 0.9287864
silicate + phosphate Indo-Pacific (27.5,27.75] 0.8903745 0.8465955 0.9317081
silicate + phosphate Indo-Pacific (27.75,27.85] 0.9511429 0.9310040 0.9641457
silicate + phosphate Indo-Pacific (27.85,27.95] 0.9644519 0.9518321 0.9716657
silicate + phosphate Indo-Pacific (27.95,28.05] 0.9593524 0.9507325 0.9638756
silicate + phosphate Indo-Pacific (28.05,28.1] 0.9558313 0.9482752 0.9622640
silicate + phosphate Indo-Pacific (28.1, Inf] 0.7938885 0.7638105 0.8300839
silicate + phosphate_star Atlantic (-Inf,26] 0.6657357 0.5879842 0.7603159
silicate + phosphate_star Atlantic (26,26.5] 0.8170619 0.7939173 0.8600889
silicate + phosphate_star Atlantic (26.5,26.75] 0.7520637 0.6827585 0.8197783
silicate + phosphate_star Atlantic (26.75,27] 0.6116921 0.5791991 0.6496392
silicate + phosphate_star Atlantic (27,27.25] 0.6681878 0.6433144 0.7005654
silicate + phosphate_star Atlantic (27.25,27.5] 0.8415873 0.8273388 0.8515505
silicate + phosphate_star Atlantic (27.5,27.75] 0.9216818 0.9165649 0.9291800
silicate + phosphate_star Atlantic (27.75,27.85] 0.9440820 0.9353454 0.9528566
silicate + phosphate_star Atlantic (27.85,27.95] 0.9202164 0.8884566 0.9395646
silicate + phosphate_star Atlantic (27.95,28.05] 0.9338785 0.8893533 0.9735236
silicate + phosphate_star Atlantic (28.05,28.1] 0.9553651 0.9419911 0.9811098
silicate + phosphate_star Atlantic (28.1,28.15] 0.9750655 0.9683713 0.9863218
silicate + phosphate_star Atlantic (28.15,28.2] 0.9862398 0.9747826 0.9943196
silicate + phosphate_star Atlantic (28.2, Inf] 0.8433934 0.7614150 0.9449404
silicate + phosphate_star Indo-Pacific (-Inf,26] 0.7846398 0.7499336 0.8320484
silicate + phosphate_star Indo-Pacific (26,26.5] 0.7849543 0.7460552 0.8089737
silicate + phosphate_star Indo-Pacific (26.5,26.75] 0.8025628 0.7203978 0.8551129
silicate + phosphate_star Indo-Pacific (26.75,27] 0.7486277 0.7228274 0.7794527
silicate + phosphate_star Indo-Pacific (27,27.25] 0.4430103 0.4144601 0.4661379
silicate + phosphate_star Indo-Pacific (27.25,27.5] -0.2204614 -0.3420444 -0.0625492
silicate + phosphate_star Indo-Pacific (27.5,27.75] -0.4798617 -0.6607115 -0.2462836
silicate + phosphate_star Indo-Pacific (27.75,27.85] -0.4151131 -0.6129553 -0.2445990
silicate + phosphate_star Indo-Pacific (27.85,27.95] 0.0587229 0.0037064 0.1504415
silicate + phosphate_star Indo-Pacific (27.95,28.05] 0.4020673 0.2858781 0.4954316
silicate + phosphate_star Indo-Pacific (28.05,28.1] 0.5537216 0.5219203 0.6015185
silicate + phosphate_star Indo-Pacific (28.1, Inf] 0.0313625 -0.0797758 0.1882002
temperature + aou Atlantic (-Inf,26] -0.0687693 -0.3518914 0.3120683
temperature + aou Atlantic (26,26.5] -0.2026044 -0.3782715 -0.0257882
temperature + aou Atlantic (26.5,26.75] -0.3626266 -0.5394586 -0.2278605
temperature + aou Atlantic (26.75,27] -0.2258924 -0.2684537 -0.1748759
temperature + aou Atlantic (27,27.25] -0.1116539 -0.2812963 0.0747144
temperature + aou Atlantic (27.25,27.5] -0.1280238 -0.2994314 -0.0069762
temperature + aou Atlantic (27.5,27.75] -0.4163606 -0.4606483 -0.3507414
temperature + aou Atlantic (27.75,27.85] -0.5228423 -0.5682867 -0.4812475
temperature + aou Atlantic (27.85,27.95] -0.3044515 -0.4569619 -0.0804600
temperature + aou Atlantic (27.95,28.05] -0.5202876 -0.7151551 -0.3144163
temperature + aou Atlantic (28.05,28.1] -0.6062227 -0.8064307 -0.4385820
temperature + aou Atlantic (28.1,28.15] -0.6597060 -0.7330619 -0.5223213
temperature + aou Atlantic (28.15,28.2] -0.7563883 -0.8202708 -0.7093370
temperature + aou Atlantic (28.2, Inf] 0.3523127 0.2491837 0.4736749
temperature + aou Indo-Pacific (-Inf,26] -0.2687307 -0.4106364 -0.1750756
temperature + aou Indo-Pacific (26,26.5] -0.1238013 -0.3087069 -0.0170725
temperature + aou Indo-Pacific (26.5,26.75] -0.0458774 -0.3460052 0.2570151
temperature + aou Indo-Pacific (26.75,27] -0.1772755 -0.3633119 -0.0314426
temperature + aou Indo-Pacific (27,27.25] -0.1612950 -0.2850675 0.0541017
temperature + aou Indo-Pacific (27.25,27.5] 0.0851221 -0.0155813 0.2506184
temperature + aou Indo-Pacific (27.5,27.75] 0.1057566 0.0131166 0.2585448
temperature + aou Indo-Pacific (27.75,27.85] -0.0078459 -0.1982387 0.1848164
temperature + aou Indo-Pacific (27.85,27.95] -0.0752691 -0.2789347 0.0530825
temperature + aou Indo-Pacific (27.95,28.05] 0.0868853 0.0687610 0.1173523
temperature + aou Indo-Pacific (28.05,28.1] 0.1568685 0.0330026 0.2601188
temperature + aou Indo-Pacific (28.1, Inf] 0.8409642 0.8007045 0.8667850
temperature + oxygen Atlantic (-Inf,26] -0.3163713 -0.5749811 -0.1206498
temperature + oxygen Atlantic (26,26.5] -0.1968196 -0.4148047 0.0427067
temperature + oxygen Atlantic (26.5,26.75] 0.1118365 -0.0150026 0.3410353
temperature + oxygen Atlantic (26.75,27] 0.0214474 -0.0706434 0.0678025
temperature + oxygen Atlantic (27,27.25] -0.1086535 -0.3379192 0.0727534
temperature + oxygen Atlantic (27.25,27.5] -0.1762577 -0.3351416 0.0234851
temperature + oxygen Atlantic (27.5,27.75] 0.0584126 -0.0852544 0.1518829
temperature + oxygen Atlantic (27.75,27.85] 0.3304151 0.2786541 0.3801715
temperature + oxygen Atlantic (27.85,27.95] 0.1653514 -0.0686148 0.3399528
temperature + oxygen Atlantic (27.95,28.05] 0.3933041 0.1904284 0.6256963
temperature + oxygen Atlantic (28.05,28.1] 0.4917184 0.3267804 0.7418371
temperature + oxygen Atlantic (28.1,28.15] 0.5766872 0.4345949 0.6498435
temperature + oxygen Atlantic (28.15,28.2] 0.7180076 0.6732370 0.7888052
temperature + oxygen Atlantic (28.2, Inf] -0.5293353 -0.6164468 -0.4358133
temperature + oxygen Indo-Pacific (-Inf,26] -0.1162531 -0.2916973 -0.0104878
temperature + oxygen Indo-Pacific (26,26.5] -0.0707788 -0.1580104 0.0803955
temperature + oxygen Indo-Pacific (26.5,26.75] -0.1205630 -0.4160528 0.1616372
temperature + oxygen Indo-Pacific (26.75,27] -0.0005306 -0.1431829 0.1863308
temperature + oxygen Indo-Pacific (27,27.25] 0.0182729 -0.2509850 0.1689748
temperature + oxygen Indo-Pacific (27.25,27.5] -0.2071617 -0.4206513 -0.0793657
temperature + oxygen Indo-Pacific (27.5,27.75] -0.2160274 -0.4195962 -0.0938038
temperature + oxygen Indo-Pacific (27.75,27.85] -0.0722622 -0.3064867 0.1534029
temperature + oxygen Indo-Pacific (27.85,27.95] 0.0003896 -0.1561502 0.2362149
temperature + oxygen Indo-Pacific (27.95,28.05] -0.1821228 -0.1995946 -0.1652786
temperature + oxygen Indo-Pacific (28.05,28.1] -0.2391831 -0.3522109 -0.1209645
temperature + oxygen Indo-Pacific (28.1, Inf] -0.9013842 -0.9172228 -0.8763236
temperature + phosphate Atlantic (-Inf,26] -0.4465037 -0.6217540 -0.2872539
temperature + phosphate Atlantic (26,26.5] -0.7252611 -0.7977219 -0.6318815
temperature + phosphate Atlantic (26.5,26.75] -0.7441481 -0.8013726 -0.6584993
temperature + phosphate Atlantic (26.75,27] -0.6690712 -0.7005508 -0.6280295
temperature + phosphate Atlantic (27,27.25] -0.6703935 -0.7235873 -0.6197743
temperature + phosphate Atlantic (27.25,27.5] -0.7580177 -0.7945460 -0.7146478
temperature + phosphate Atlantic (27.5,27.75] -0.7998618 -0.8089097 -0.7910859
temperature + phosphate Atlantic (27.75,27.85] -0.7425998 -0.7630549 -0.7137399
temperature + phosphate Atlantic (27.85,27.95] -0.5252112 -0.6256550 -0.3343713
temperature + phosphate Atlantic (27.95,28.05] -0.6492760 -0.7702004 -0.4548313
temperature + phosphate Atlantic (28.05,28.1] -0.7213138 -0.8442823 -0.5630099
temperature + phosphate Atlantic (28.1,28.15] -0.7416721 -0.8216944 -0.6194000
temperature + phosphate Atlantic (28.15,28.2] -0.7549808 -0.7961936 -0.6943424
temperature + phosphate Atlantic (28.2, Inf] -0.1112661 -0.1984830 -0.0519485
temperature + phosphate Indo-Pacific (-Inf,26] -0.4319706 -0.5907832 -0.2930051
temperature + phosphate Indo-Pacific (26,26.5] -0.3748471 -0.5663897 -0.2747163
temperature + phosphate Indo-Pacific (26.5,26.75] -0.3119225 -0.5942870 -0.0615034
temperature + phosphate Indo-Pacific (26.75,27] -0.4475683 -0.6253158 -0.3132553
temperature + phosphate Indo-Pacific (27,27.25] -0.3618353 -0.4445069 -0.2190449
temperature + phosphate Indo-Pacific (27.25,27.5] -0.0569980 -0.1307047 0.0170352
temperature + phosphate Indo-Pacific (27.5,27.75] 0.0397540 -0.0165849 0.1160272
temperature + phosphate Indo-Pacific (27.75,27.85] -0.0313387 -0.1669361 0.1257444
temperature + phosphate Indo-Pacific (27.85,27.95] -0.1248251 -0.2780650 -0.0132564
temperature + phosphate Indo-Pacific (27.95,28.05] -0.0750418 -0.1054087 -0.0398646
temperature + phosphate Indo-Pacific (28.05,28.1] -0.0300473 -0.1526343 0.0485644
temperature + phosphate Indo-Pacific (28.1, Inf] 0.3939452 0.2669475 0.4779643
temperature + phosphate_star Atlantic (-Inf,26] -0.7061483 -0.8582740 -0.5189364
temperature + phosphate_star Atlantic (26,26.5] -0.9343385 -0.9733157 -0.8856727
temperature + phosphate_star Atlantic (26.5,26.75] -0.9771888 -0.9831216 -0.9694274
temperature + phosphate_star Atlantic (26.75,27] -0.9848572 -0.9878559 -0.9828411
temperature + phosphate_star Atlantic (27,27.25] -0.9872929 -0.9897957 -0.9859356
temperature + phosphate_star Atlantic (27.25,27.5] -0.9827437 -0.9848519 -0.9792676
temperature + phosphate_star Atlantic (27.5,27.75] -0.9457047 -0.9496670 -0.9430617
temperature + phosphate_star Atlantic (27.75,27.85] -0.9165933 -0.9234699 -0.9037825
temperature + phosphate_star Atlantic (27.85,27.95] -0.8235049 -0.8668068 -0.7510793
temperature + phosphate_star Atlantic (27.95,28.05] -0.8044664 -0.8822707 -0.6772425
temperature + phosphate_star Atlantic (28.05,28.1] -0.8295893 -0.8899325 -0.7112782
temperature + phosphate_star Atlantic (28.1,28.15] -0.8215634 -0.8914645 -0.7272136
temperature + phosphate_star Atlantic (28.15,28.2] -0.7699644 -0.8118849 -0.7039532
temperature + phosphate_star Atlantic (28.2, Inf] -0.4817703 -0.6144520 -0.3740281
temperature + phosphate_star Indo-Pacific (-Inf,26] -0.7517559 -0.8459188 -0.6176220
temperature + phosphate_star Indo-Pacific (26,26.5] -0.8257311 -0.9021705 -0.7660248
temperature + phosphate_star Indo-Pacific (26.5,26.75] -0.8700434 -0.9311307 -0.8117115
temperature + phosphate_star Indo-Pacific (26.75,27] -0.9386195 -0.9624515 -0.9120804
temperature + phosphate_star Indo-Pacific (27,27.25] -0.9218151 -0.9321647 -0.9027204
temperature + phosphate_star Indo-Pacific (27.25,27.5] -0.7653579 -0.9093303 -0.6472260
temperature + phosphate_star Indo-Pacific (27.5,27.75] -0.5678149 -0.8145377 -0.3176058
temperature + phosphate_star Indo-Pacific (27.75,27.85] -0.3921300 -0.6657844 0.0137202
temperature + phosphate_star Indo-Pacific (27.85,27.95] -0.5021655 -0.6685866 -0.2610595
temperature + phosphate_star Indo-Pacific (27.95,28.05] -0.7356150 -0.8076554 -0.6815412
temperature + phosphate_star Indo-Pacific (28.05,28.1] -0.5963326 -0.6150003 -0.5756832
temperature + phosphate_star Indo-Pacific (28.1, Inf] -0.8757538 -0.8944860 -0.8648381
temperature + silicate Atlantic (-Inf,26] -0.6058851 -0.7356100 -0.5118555
temperature + silicate Atlantic (26,26.5] -0.6940228 -0.7324635 -0.6713966
temperature + silicate Atlantic (26.5,26.75] -0.6575854 -0.7401620 -0.5514632
temperature + silicate Atlantic (26.75,27] -0.5731056 -0.6058513 -0.5474068
temperature + silicate Atlantic (27,27.25] -0.6439136 -0.6895759 -0.6139537
temperature + silicate Atlantic (27.25,27.5] -0.8337342 -0.8392335 -0.8288195
temperature + silicate Atlantic (27.5,27.75] -0.8573527 -0.8796812 -0.8389417
temperature + silicate Atlantic (27.75,27.85] -0.8042016 -0.8434315 -0.7626576
temperature + silicate Atlantic (27.85,27.95] -0.6354677 -0.7301266 -0.4645337
temperature + silicate Atlantic (27.95,28.05] -0.7256101 -0.8518541 -0.5596467
temperature + silicate Atlantic (28.05,28.1] -0.7473424 -0.8802581 -0.6125043
temperature + silicate Atlantic (28.1,28.15] -0.7610483 -0.8231982 -0.6456801
temperature + silicate Atlantic (28.15,28.2] -0.7570242 -0.8073258 -0.7273218
temperature + silicate Atlantic (28.2, Inf] -0.0842811 -0.1558594 0.0039567
temperature + silicate Indo-Pacific (-Inf,26] -0.5999219 -0.7261407 -0.4490039
temperature + silicate Indo-Pacific (26,26.5] -0.6176997 -0.7251983 -0.4810773
temperature + silicate Indo-Pacific (26.5,26.75] -0.6733967 -0.8085773 -0.5740942
temperature + silicate Indo-Pacific (26.75,27] -0.6780530 -0.7655022 -0.5519163
temperature + silicate Indo-Pacific (27,27.25] -0.5369362 -0.6256717 -0.4284266
temperature + silicate Indo-Pacific (27.25,27.5] -0.2491110 -0.3118250 -0.1549767
temperature + silicate Indo-Pacific (27.5,27.75] -0.1764726 -0.2391804 -0.1254418
temperature + silicate Indo-Pacific (27.75,27.85] -0.1261121 -0.2532228 0.0014025
temperature + silicate Indo-Pacific (27.85,27.95] -0.1986039 -0.3604705 -0.1009276
temperature + silicate Indo-Pacific (27.95,28.05] -0.1028996 -0.1330721 -0.0704056
temperature + silicate Indo-Pacific (28.05,28.1] 0.0329346 -0.1020876 0.1151647
temperature + silicate Indo-Pacific (28.1, Inf] 0.2405551 0.0668675 0.3358980
rm(cor_predictors, cor_predictors_stats)

6.2.2.3 C* vs individual predictors

Below, the range of correlations coefficients for C* with each predictor is plotted per basin (facet) and density slab (color). Note that the range indicates the min and max values of in total 3 calculated coefficients (one per era).

cor_Cstar_predictor <-
  read_csv(here::here("data/eMLR",
                       "cor_Cstar_predictor.csv")) %>% 
  rename(predictor = rowname)

cor_Cstar_predictor_stats <- cor_Cstar_predictor %>% 
  group_by(predictor, basin, gamma_slab) %>% 
  summarise(mean_r = mean(Cstar),
            min_r = min(Cstar),
            max_r = max(Cstar)) %>% 
  ungroup()

cor_Cstar_predictor_stats %>% 
  mutate(predictor = reorder(predictor, mean_r)) %>%
  ggplot() +
  geom_vline(xintercept = c(-0.9, 0.9), col = "red") +
  geom_vline(xintercept = 0) +
  geom_linerange(
    aes(y = predictor, xmin = min_r, xmax = max_r, col = gamma_slab),
    position = position_dodge(width = 0.6)) +
  facet_wrap(~basin) +
  scale_color_viridis_d(direction = -1) +
  labs(x = "correlation coefficient", y = "C* correlation with...") +
  theme(legend.position = "top")

kable(cor_Cstar_predictor_stats) %>%
  add_header_above() %>%
  kable_styling() %>%
  scroll_box(width = "100%", height = "400px")
predictor basin gamma_slab mean_r min_r max_r
aou Atlantic (-Inf,26] 0.0948744 -0.3711871 0.5332243
aou Atlantic (26,26.5] -0.3140197 -0.6933099 0.0545390
aou Atlantic (26.5,26.75] -0.5996279 -0.6700148 -0.5064340
aou Atlantic (26.75,27] -0.5053251 -0.5703139 -0.4583983
aou Atlantic (27,27.25] -0.4571842 -0.5506422 -0.2911704
aou Atlantic (27.25,27.5] -0.4924236 -0.5716618 -0.4010756
aou Atlantic (27.5,27.75] -0.7856120 -0.8211551 -0.7382048
aou Atlantic (27.75,27.85] -0.9354504 -0.9470128 -0.9249823
aou Atlantic (27.85,27.95] -0.9469077 -0.9628294 -0.9359087
aou Atlantic (27.95,28.05] -0.9189538 -0.9271593 -0.9128789
aou Atlantic (28.05,28.1] -0.9002490 -0.9131254 -0.8806348
aou Atlantic (28.1,28.15] -0.9281787 -0.9396740 -0.9162489
aou Atlantic (28.15,28.2] -0.9620568 -0.9692194 -0.9510549
aou Atlantic (28.2, Inf] -0.6922519 -0.8195458 -0.6205950
aou Indo-Pacific (-Inf,26] -0.4996104 -0.6193266 -0.4220052
aou Indo-Pacific (26,26.5] -0.8377855 -0.8483028 -0.8184451
aou Indo-Pacific (26.5,26.75] -0.8398693 -0.8584880 -0.8156240
aou Indo-Pacific (26.75,27] -0.8457455 -0.8923007 -0.8147475
aou Indo-Pacific (27,27.25] -0.6293704 -0.6922140 -0.5706964
aou Indo-Pacific (27.25,27.5] 0.0762664 0.0183026 0.1150447
aou Indo-Pacific (27.5,27.75] 0.4224227 0.2950276 0.5018787
aou Indo-Pacific (27.75,27.85] 0.4569819 0.2840598 0.5841937
aou Indo-Pacific (27.85,27.95] 0.2879750 0.1623772 0.4147307
aou Indo-Pacific (27.95,28.05] -0.1200218 -0.2021546 0.0217023
aou Indo-Pacific (28.05,28.1] -0.2536276 -0.3866125 -0.1783939
aou Indo-Pacific (28.1, Inf] 0.1307578 -0.0382601 0.3660777
oxygen Atlantic (-Inf,26] -0.1061722 -0.5051495 0.2983873
oxygen Atlantic (26,26.5] 0.0339248 -0.3966024 0.5419770
oxygen Atlantic (26.5,26.75] 0.4001245 0.2477960 0.5192255
oxygen Atlantic (26.75,27] 0.3308273 0.2401203 0.4345322
oxygen Atlantic (27,27.25] 0.2586414 0.0372186 0.3720205
oxygen Atlantic (27.25,27.5] 0.2170106 0.0774325 0.3328796
oxygen Atlantic (27.5,27.75] 0.5333498 0.4050772 0.6073790
oxygen Atlantic (27.75,27.85] 0.8590177 0.8398607 0.8807056
oxygen Atlantic (27.85,27.95] 0.9150818 0.8995165 0.9460879
oxygen Atlantic (27.95,28.05] 0.8963245 0.8577963 0.9269719
oxygen Atlantic (28.05,28.1] 0.8777149 0.8516523 0.9197717
oxygen Atlantic (28.1,28.15] 0.9181816 0.9012301 0.9322195
oxygen Atlantic (28.15,28.2] 0.9637201 0.9592676 0.9686129
oxygen Atlantic (28.2, Inf] 0.5704957 0.4729743 0.7272496
oxygen Indo-Pacific (-Inf,26] 0.5040644 0.4248754 0.6262807
oxygen Indo-Pacific (26,26.5] 0.7496681 0.6998708 0.7792208
oxygen Indo-Pacific (26.5,26.75] 0.7564835 0.7280525 0.7937860
oxygen Indo-Pacific (26.75,27] 0.7673178 0.7374483 0.8254535
oxygen Indo-Pacific (27,27.25] 0.6155390 0.5409389 0.7060918
oxygen Indo-Pacific (27.25,27.5] -0.0352779 -0.0838439 0.0205076
oxygen Indo-Pacific (27.5,27.75] -0.3653738 -0.4647683 -0.2077907
oxygen Indo-Pacific (27.75,27.85] -0.4188507 -0.5629082 -0.2167310
oxygen Indo-Pacific (27.85,27.95] -0.2653503 -0.4000667 -0.1233800
oxygen Indo-Pacific (27.95,28.05] 0.1139176 -0.0268951 0.1906271
oxygen Indo-Pacific (28.05,28.1] 0.2336410 0.1646883 0.3569015
oxygen Indo-Pacific (28.1, Inf] -0.1811320 -0.4177864 -0.0123509
phosphate Atlantic (-Inf,26] -0.4126614 -0.8052489 -0.0480374
phosphate Atlantic (26,26.5] -0.7844496 -0.8659538 -0.6799348
phosphate Atlantic (26.5,26.75] -0.8776544 -0.9092614 -0.8542561
phosphate Atlantic (26.75,27] -0.8525408 -0.8702323 -0.8225758
phosphate Atlantic (27,27.25] -0.8889143 -0.8895507 -0.8881820
phosphate Atlantic (27.25,27.5] -0.9505560 -0.9579696 -0.9420302
phosphate Atlantic (27.5,27.75] -0.9884561 -0.9907126 -0.9853712
phosphate Atlantic (27.75,27.85] -0.9827512 -0.9876438 -0.9756229
phosphate Atlantic (27.85,27.95] -0.9667140 -0.9716584 -0.9627816
phosphate Atlantic (27.95,28.05] -0.9502178 -0.9649152 -0.9339718
phosphate Atlantic (28.05,28.1] -0.9425539 -0.9587959 -0.9251717
phosphate Atlantic (28.1,28.15] -0.9583747 -0.9684832 -0.9464709
phosphate Atlantic (28.15,28.2] -0.9810583 -0.9883310 -0.9724947
phosphate Atlantic (28.2, Inf] -0.9620339 -0.9790526 -0.9387764
phosphate Indo-Pacific (-Inf,26] -0.5638239 -0.6878116 -0.4972373
phosphate Indo-Pacific (26,26.5] -0.9321381 -0.9444061 -0.9206850
phosphate Indo-Pacific (26.5,26.75] -0.9479832 -0.9544130 -0.9445690
phosphate Indo-Pacific (26.75,27] -0.9431337 -0.9637762 -0.9182553
phosphate Indo-Pacific (27,27.25] -0.7095520 -0.7337122 -0.6694928
phosphate Indo-Pacific (27.25,27.5] -0.0313802 -0.1047596 0.0186200
phosphate Indo-Pacific (27.5,27.75] 0.3083326 0.1797954 0.3997344
phosphate Indo-Pacific (27.75,27.85] 0.3466687 0.1603515 0.4817711
phosphate Indo-Pacific (27.85,27.95] 0.1586467 0.0061840 0.3154189
phosphate Indo-Pacific (27.95,28.05] -0.2708156 -0.3647272 -0.0880230
phosphate Indo-Pacific (28.05,28.1] -0.4197660 -0.5487571 -0.3012822
phosphate Indo-Pacific (28.1, Inf] -0.2895288 -0.4373891 -0.0213370
phosphate_star Atlantic (-Inf,26] -0.5935735 -0.8157792 -0.4771581
phosphate_star Atlantic (26,26.5] -0.8718047 -0.9201545 -0.8427446
phosphate_star Atlantic (26.5,26.75] -0.9255284 -0.9349912 -0.9207291
phosphate_star Atlantic (26.75,27] -0.9328314 -0.9400878 -0.9199980
phosphate_star Atlantic (27,27.25] -0.9262818 -0.9387045 -0.9125823
phosphate_star Atlantic (27.25,27.5] -0.9298303 -0.9479061 -0.9206732
phosphate_star Atlantic (27.5,27.75] -0.9304176 -0.9426621 -0.9161227
phosphate_star Atlantic (27.75,27.85] -0.9060442 -0.9148401 -0.8969919
phosphate_star Atlantic (27.85,27.95] -0.8181430 -0.8415868 -0.7867834
phosphate_star Atlantic (27.95,28.05] -0.8787212 -0.9070702 -0.8355508
phosphate_star Atlantic (28.05,28.1] -0.9181583 -0.9313194 -0.9010139
phosphate_star Atlantic (28.1,28.15] -0.9415685 -0.9519313 -0.9220626
phosphate_star Atlantic (28.15,28.2] -0.9802308 -0.9841552 -0.9727547
phosphate_star Atlantic (28.2, Inf] -0.9281786 -0.9386588 -0.9144437
phosphate_star Indo-Pacific (-Inf,26] -0.4450676 -0.5969589 -0.3356988
phosphate_star Indo-Pacific (26,26.5] -0.8343674 -0.8809910 -0.8073142
phosphate_star Indo-Pacific (26.5,26.75] -0.7774699 -0.8827000 -0.6367511
phosphate_star Indo-Pacific (26.75,27] -0.7172191 -0.8260731 -0.6434565
phosphate_star Indo-Pacific (27,27.25] -0.3806223 -0.5134801 -0.2858245
phosphate_star Indo-Pacific (27.25,27.5] -0.1979648 -0.2506467 -0.1569013
phosphate_star Indo-Pacific (27.5,27.75] -0.3915037 -0.5454948 -0.1507756
phosphate_star Indo-Pacific (27.75,27.85] -0.5061099 -0.7408345 -0.2439190
phosphate_star Indo-Pacific (27.85,27.95] -0.4836665 -0.5537441 -0.3976820
phosphate_star Indo-Pacific (27.95,28.05] -0.5243472 -0.6153159 -0.4006077
phosphate_star Indo-Pacific (28.05,28.1] -0.5991372 -0.6751435 -0.4640165
phosphate_star Indo-Pacific (28.1, Inf] -0.5474076 -0.6637739 -0.4380748
salinity Atlantic (-Inf,26] 0.2893199 0.2228703 0.3269860
salinity Atlantic (26,26.5] 0.7307163 0.5226450 0.8666493
salinity Atlantic (26.5,26.75] 0.8567660 0.8063865 0.8880440
salinity Atlantic (26.75,27] 0.8973845 0.8699793 0.9146719
salinity Atlantic (27,27.25] 0.9172249 0.8999376 0.9429090
salinity Atlantic (27.25,27.5] 0.9109993 0.8814810 0.9378890
salinity Atlantic (27.5,27.75] 0.8557359 0.8418518 0.8667822
salinity Atlantic (27.75,27.85] 0.7298170 0.7081495 0.7436290
salinity Atlantic (27.85,27.95] 0.4577464 0.3090975 0.5387157
salinity Atlantic (27.95,28.05] 0.5549736 0.2690369 0.7159448
salinity Atlantic (28.05,28.1] 0.7234078 0.6613456 0.7730548
salinity Atlantic (28.1,28.15] 0.7974262 0.7724322 0.8443428
salinity Atlantic (28.15,28.2] 0.9099105 0.8925141 0.9326793
salinity Atlantic (28.2, Inf] 0.9028001 0.8621840 0.9295343
salinity Indo-Pacific (-Inf,26] 0.1424162 0.1302355 0.1490515
salinity Indo-Pacific (26,26.5] 0.4116612 0.2672732 0.6357848
salinity Indo-Pacific (26.5,26.75] 0.4397660 0.2122471 0.7191236
salinity Indo-Pacific (26.75,27] 0.4597281 0.3190997 0.6789589
salinity Indo-Pacific (27,27.25] 0.0123945 -0.1171006 0.2012728
salinity Indo-Pacific (27.25,27.5] -0.4118120 -0.6169920 -0.2106017
salinity Indo-Pacific (27.5,27.75] -0.3507712 -0.4420790 -0.2781870
salinity Indo-Pacific (27.75,27.85] -0.4422701 -0.5218193 -0.3402807
salinity Indo-Pacific (27.85,27.95] -0.2650744 -0.3579383 -0.1096441
salinity Indo-Pacific (27.95,28.05] 0.1894492 0.0558813 0.3305911
salinity Indo-Pacific (28.05,28.1] 0.2948295 0.2278978 0.4117443
salinity Indo-Pacific (28.1, Inf] 0.3146967 0.2545246 0.4136392
silicate Atlantic (-Inf,26] -0.3229475 -0.5522968 -0.0825164
silicate Atlantic (26,26.5] -0.7356319 -0.8267582 -0.6270016
silicate Atlantic (26.5,26.75] -0.8212687 -0.8391818 -0.7891525
silicate Atlantic (26.75,27] -0.7667031 -0.7871720 -0.7496485
silicate Atlantic (27,27.25] -0.8433176 -0.8716919 -0.8191915
silicate Atlantic (27.25,27.5] -0.8992211 -0.9059750 -0.8945185
silicate Atlantic (27.5,27.75] -0.8829288 -0.9051178 -0.8630863
silicate Atlantic (27.75,27.85] -0.9073224 -0.9314085 -0.8764643
silicate Atlantic (27.85,27.95] -0.9030935 -0.9219478 -0.8890345
silicate Atlantic (27.95,28.05] -0.9003694 -0.9327048 -0.8740608
silicate Atlantic (28.05,28.1] -0.9082445 -0.9356242 -0.8911054
silicate Atlantic (28.1,28.15] -0.9385935 -0.9562571 -0.9230594
silicate Atlantic (28.15,28.2] -0.9704431 -0.9773359 -0.9651271
silicate Atlantic (28.2, Inf] -0.9111351 -0.9642570 -0.8445701
silicate Indo-Pacific (-Inf,26] -0.5042313 -0.6084832 -0.4353253
silicate Indo-Pacific (26,26.5] -0.7720302 -0.8099400 -0.7136697
silicate Indo-Pacific (26.5,26.75] -0.7649857 -0.8394297 -0.6332848
silicate Indo-Pacific (26.75,27] -0.7688679 -0.7989565 -0.7199367
silicate Indo-Pacific (27,27.25] -0.4288905 -0.5067920 -0.3808500
silicate Indo-Pacific (27.25,27.5] 0.3487353 0.2863804 0.4238548
silicate Indo-Pacific (27.5,27.75] 0.6207373 0.5432704 0.6742328
silicate Indo-Pacific (27.75,27.85] 0.5180889 0.3788004 0.6335329
silicate Indo-Pacific (27.85,27.95] 0.2837091 0.1630961 0.4182219
silicate Indo-Pacific (27.95,28.05] -0.1466626 -0.2390264 0.0164143
silicate Indo-Pacific (28.05,28.1] -0.3088625 -0.4332697 -0.2382106
silicate Indo-Pacific (28.1, Inf] -0.2082541 -0.3356880 -0.0587563
temperature Atlantic (-Inf,26] 0.0655155 -0.0827931 0.1465154
temperature Atlantic (26,26.5] 0.7223412 0.5595250 0.8169447
temperature Atlantic (26.5,26.75] 0.8562581 0.8275488 0.8735358
temperature Atlantic (26.75,27] 0.8850341 0.8656686 0.9019147
temperature Atlantic (27,27.25] 0.8879506 0.8729674 0.9066721
temperature Atlantic (27.25,27.5] 0.8839156 0.8608731 0.9128891
temperature Atlantic (27.5,27.75] 0.8129182 0.7950602 0.8219969
temperature Atlantic (27.75,27.85] 0.7102829 0.6959796 0.7246136
temperature Atlantic (27.85,27.95] 0.4251724 0.2476208 0.5283781
temperature Atlantic (27.95,28.05] 0.5337535 0.3266584 0.6577087
temperature Atlantic (28.05,28.1] 0.6005779 0.4727863 0.6745071
temperature Atlantic (28.1,28.15] 0.6225691 0.5370767 0.7289768
temperature Atlantic (28.15,28.2] 0.6648944 0.6118608 0.7276289
temperature Atlantic (28.2, Inf] 0.1867555 0.0586055 0.3122400
temperature Indo-Pacific (-Inf,26] -0.0095803 -0.0853838 0.0630388
temperature Indo-Pacific (26,26.5] 0.4530371 0.3284862 0.6438857
temperature Indo-Pacific (26.5,26.75] 0.4357882 0.2238553 0.6994812
temperature Indo-Pacific (26.75,27] 0.5017951 0.3992145 0.6959193
temperature Indo-Pacific (27,27.25] 0.1560749 0.0539126 0.3437092
temperature Indo-Pacific (27.25,27.5] -0.3384487 -0.5112289 -0.1887612
temperature Indo-Pacific (27.5,27.75] -0.4346242 -0.5502807 -0.3667787
temperature Indo-Pacific (27.75,27.85] -0.4515418 -0.5549833 -0.3402104
temperature Indo-Pacific (27.85,27.95] -0.3311004 -0.4395518 -0.1852648
temperature Indo-Pacific (27.95,28.05] 0.0334726 -0.0145886 0.0670336
temperature Indo-Pacific (28.05,28.1] 0.1142159 0.1022677 0.1252990
temperature Indo-Pacific (28.1, Inf] 0.2929595 0.1220996 0.5486616
rm(cor_Cstar_predictor, cor_Cstar_predictor_stats)

6.3 Model fitting

GLODAP %>% write_csv(here::here("data/GLODAPv2_2020/_summarized_data_files",
                                "GLODAP_MLR_fitting_ready.csv"))

6.3.1 Predictor selection

Individual linear regression models were fitted for C* as a function of each predictor combination. Fitting was performed separately within each basin, era, and slab. The root mean squared error (RMSE) was calculated for each fitted model.

for (i_basin in unique(GLODAP$basin)) {
  for (i_era in unique(GLODAP$era)) {
    
    # i_basin <- unique(GLODAP$basin)[1]
    # i_era   <- unique(GLODAP$era)[1]
    
    print(i_basin) 
    print(i_era  )
    
    GLODAP_basin_era <- GLODAP %>%
      filter(basin == i_basin, era == i_era)

    for (i_gamma_slab in unique(GLODAP_basin_era$gamma_slab)) {

      # i_gamma_slab <- unique(GLODAP_basin_era$gamma_slab)[1]
      print(i_gamma_slab)
      
      GLODAP_basin_era_slab <- GLODAP_basin_era %>% 
        filter(gamma_slab == i_gamma_slab)
      
      lm_full <- lm(Cstar ~ 
                salinity  + 
                temperature  + 
                aou  + 
                oxygen  + 
                silicate  + 
                phosphate  + 
                phosphate_star, 
              data = GLODAP_basin_era_slab)
      
      lm_all <- ols_step_all_possible(lm_full)
      
      temp <- as_tibble(lm_all$result)
      
      temp <- temp %>% 
        mutate(basin = i_basin,
               era = i_era,
               gamma_slab = i_gamma_slab)
      
      if (exists("all_lm_stats")) {
        all_lm_stats <- bind_rows(all_lm_stats, temp)
      }
      
      if (!exists("all_lm_stats")) {
        all_lm_stats <- temp
      }
      
      rm(lm_full, lm_all, temp)
      
    }
    
  }
  
}

all_lm_stats %>%
  write_csv(here::here("data/eMLR",
                       "all_lm_stats.csv"))

rm(i_gamma_slab, i_era, i_basin,
   GLODAP_basin_era, GLODAP_basin_era_slab,
   all_lm_stats)
n_predictors_max <- 5
n_predictors_min <- 2

n_predictors_total <- 10

RMSE was plotted against the number of predictors (limited to 2 - 5).

all_lm_stats <- read_csv(here::here("data/eMLR",
                                    "all_lm_stats.csv"))

# nrow(all_lm_stats)
# length(unique(all_lm_stats$rmse))
# length(unique(all_lm_stats$adjr))
# length(unique(all_lm_stats$rsquare))
# length(unique(all_lm_stats$cp))
# length(unique(all_lm_stats$aic))
# length(unique(all_lm_stats$mindex))

all_lm_stats <- all_lm_stats %>% 
  filter(n >= n_predictors_min,
         n <= n_predictors_max)

all_lm_stats %>% 
  ggplot(aes(n, rmse, col = basin)) +
  geom_hline(yintercept = 10) + 
  geom_point(shape = 21) +
  facet_grid(gamma_slab~era) +
  scale_color_brewer(palette = "Set1")

Within each basin and slab, the 10 linear regression models with lowest summed RMSE across all eras were selected.

all_lm_stats <- all_lm_stats %>% 
  select(basin, era, gamma_slab, predictors, rmse)

all_lm_stats_wide <- all_lm_stats %>% 
  pivot_wider(names_from = era, values_from = rmse, names_prefix = "rmse_")

all_lm_stats_wide <- all_lm_stats_wide %>% 
  mutate(rmse_sum = rmse_JGOFS_WOCE + rmse_GO_SHIP + rmse_new_era)

lm_best <- all_lm_stats_wide %>% 
  group_by(basin, gamma_slab) %>% 
  slice_min(order_by = rmse_sum,
            with_ties = FALSE,
            n = n_predictors_total) %>% 
  ungroup()

kable(lm_best) %>%
  add_header_above() %>%
  kable_styling() %>%
  scroll_box(width = "100%", height = "400px")
basin gamma_slab predictors rmse_JGOFS_WOCE rmse_GO_SHIP rmse_new_era rmse_sum
Atlantic (-Inf,26] salinity temperature aou oxygen phosphate_star 7.173663 6.319107 2.765130 16.257900
Atlantic (-Inf,26] salinity temperature aou oxygen phosphate 7.173663 6.319107 2.765130 16.257900
Atlantic (-Inf,26] salinity temperature aou phosphate phosphate_star 7.173663 6.319107 2.765130 16.257900
Atlantic (-Inf,26] salinity temperature silicate phosphate phosphate_star 7.248967 6.204419 2.852778 16.306164
Atlantic (-Inf,26] salinity temperature oxygen silicate phosphate_star 7.248967 6.204419 2.852778 16.306164
Atlantic (-Inf,26] salinity temperature oxygen silicate phosphate 7.248967 6.204419 2.852778 16.306164
Atlantic (-Inf,26] salinity temperature aou silicate phosphate 7.278011 6.171501 2.857798 16.307310
Atlantic (-Inf,26] salinity temperature aou silicate phosphate_star 7.258007 6.200249 2.851674 16.309930
Atlantic (-Inf,26] salinity aou oxygen silicate phosphate_star 7.367183 6.069229 2.875347 16.311759
Atlantic (-Inf,26] salinity aou oxygen silicate phosphate 7.367183 6.069229 2.875347 16.311759
Atlantic (26,26.5] temperature aou silicate phosphate phosphate_star 5.363554 6.815718 3.120245 15.299516
Atlantic (26,26.5] temperature aou oxygen silicate phosphate 5.363554 6.815718 3.120245 15.299516
Atlantic (26,26.5] temperature aou oxygen silicate phosphate_star 5.363554 6.815718 3.120245 15.299516
Atlantic (26,26.5] salinity temperature aou phosphate phosphate_star 5.477425 6.872313 3.164633 15.514372
Atlantic (26,26.5] salinity temperature aou oxygen phosphate 5.477425 6.872313 3.164633 15.514372
Atlantic (26,26.5] salinity temperature aou oxygen phosphate_star 5.477425 6.872313 3.164633 15.514372
Atlantic (26,26.5] temperature aou phosphate phosphate_star 5.478784 6.872333 3.181060 15.532177
Atlantic (26,26.5] temperature aou oxygen phosphate 5.478784 6.872333 3.181060 15.532177
Atlantic (26,26.5] temperature aou oxygen phosphate phosphate_star 5.478784 6.872333 3.181060 15.532177
Atlantic (26,26.5] temperature aou oxygen phosphate_star 5.478784 6.872333 3.181060 15.532177
Atlantic (26.5,26.75] temperature aou oxygen silicate phosphate_star 5.153695 5.620094 3.704869 14.478657
Atlantic (26.5,26.75] temperature aou silicate phosphate phosphate_star 5.153695 5.620094 3.704869 14.478657
Atlantic (26.5,26.75] temperature aou oxygen silicate phosphate 5.153695 5.620094 3.704869 14.478657
Atlantic (26.5,26.75] salinity temperature aou silicate phosphate 5.080928 5.614607 3.805535 14.501071
Atlantic (26.5,26.75] salinity temperature silicate phosphate phosphate_star 5.073639 5.596750 3.838208 14.508597
Atlantic (26.5,26.75] salinity temperature oxygen silicate phosphate_star 5.073639 5.596750 3.838208 14.508597
Atlantic (26.5,26.75] salinity temperature oxygen silicate phosphate 5.073639 5.596750 3.838208 14.508597
Atlantic (26.5,26.75] salinity temperature aou silicate phosphate_star 5.074249 5.596367 3.847880 14.518496
Atlantic (26.5,26.75] salinity aou oxygen silicate phosphate_star 5.121400 5.673332 3.769774 14.564506
Atlantic (26.5,26.75] salinity aou oxygen silicate phosphate 5.121400 5.673332 3.769774 14.564506
Atlantic (26.75,27] salinity temperature aou silicate phosphate_star 4.688937 4.955801 3.438819 13.083557
Atlantic (26.75,27] salinity temperature oxygen silicate phosphate 4.689137 4.956845 3.438851 13.084832
Atlantic (26.75,27] salinity temperature silicate phosphate phosphate_star 4.689137 4.956845 3.438851 13.084832
Atlantic (26.75,27] salinity temperature oxygen silicate phosphate_star 4.689137 4.956845 3.438851 13.084832
Atlantic (26.75,27] salinity temperature aou silicate phosphate 4.708472 4.969119 3.448332 13.125924
Atlantic (26.75,27] temperature aou oxygen silicate phosphate 4.802227 5.046591 3.444518 13.293336
Atlantic (26.75,27] temperature aou oxygen silicate phosphate_star 4.802227 5.046591 3.444518 13.293336
Atlantic (26.75,27] temperature aou silicate phosphate phosphate_star 4.802227 5.046591 3.444518 13.293336
Atlantic (26.75,27] temperature aou silicate phosphate_star 4.803550 5.046726 3.444645 13.294920
Atlantic (26.75,27] temperature oxygen silicate phosphate 4.803963 5.046602 3.445002 13.295567
Atlantic (27,27.25] salinity temperature aou silicate phosphate_star 5.013740 5.040797 4.664774 14.719311
Atlantic (27,27.25] salinity temperature oxygen silicate phosphate 5.018688 5.043558 4.665827 14.728072
Atlantic (27,27.25] salinity temperature silicate phosphate phosphate_star 5.018688 5.043558 4.665827 14.728072
Atlantic (27,27.25] salinity temperature oxygen silicate phosphate_star 5.018688 5.043558 4.665827 14.728072
Atlantic (27,27.25] salinity temperature aou silicate phosphate 5.078648 5.067501 4.676695 14.822845
Atlantic (27,27.25] temperature aou oxygen silicate phosphate 5.132734 5.053192 4.710145 14.896071
Atlantic (27,27.25] temperature aou oxygen silicate phosphate_star 5.132734 5.053192 4.710145 14.896071
Atlantic (27,27.25] temperature aou silicate phosphate phosphate_star 5.132734 5.053192 4.710145 14.896071
Atlantic (27,27.25] temperature aou silicate phosphate_star 5.153233 5.053345 4.713141 14.919721
Atlantic (27,27.25] temperature oxygen silicate phosphate 5.156878 5.054717 4.711437 14.923032
Atlantic (27.25,27.5] salinity temperature aou oxygen phosphate 4.685854 4.337938 3.941030 12.964822
Atlantic (27.25,27.5] salinity temperature aou oxygen phosphate_star 4.685854 4.337938 3.941030 12.964822
Atlantic (27.25,27.5] salinity temperature aou phosphate phosphate_star 4.685854 4.337938 3.941030 12.964822
Atlantic (27.25,27.5] temperature aou oxygen silicate phosphate 4.708352 4.417138 3.863306 12.988797
Atlantic (27.25,27.5] temperature aou oxygen silicate phosphate_star 4.708352 4.417138 3.863306 12.988797
Atlantic (27.25,27.5] temperature aou silicate phosphate phosphate_star 4.708352 4.417138 3.863306 12.988797
Atlantic (27.25,27.5] salinity temperature oxygen silicate phosphate_star 4.779166 4.341614 3.878332 12.999112
Atlantic (27.25,27.5] salinity temperature oxygen silicate phosphate 4.779166 4.341614 3.878332 12.999112
Atlantic (27.25,27.5] salinity temperature silicate phosphate phosphate_star 4.779166 4.341614 3.878332 12.999112
Atlantic (27.25,27.5] salinity temperature aou silicate phosphate_star 4.761998 4.355715 3.891948 13.009662
Atlantic (27.5,27.75] salinity aou silicate phosphate phosphate_star 4.174741 4.328080 4.306869 12.809689
Atlantic (27.5,27.75] salinity aou oxygen silicate phosphate 4.174741 4.328080 4.306869 12.809689
Atlantic (27.5,27.75] salinity aou oxygen silicate phosphate_star 4.174741 4.328080 4.306869 12.809689
Atlantic (27.5,27.75] salinity temperature aou silicate phosphate 4.161707 4.340464 4.307726 12.809898
Atlantic (27.5,27.75] salinity temperature oxygen silicate phosphate 4.152754 4.352114 4.311898 12.816766
Atlantic (27.5,27.75] salinity temperature silicate phosphate phosphate_star 4.152754 4.352114 4.311898 12.816766
Atlantic (27.5,27.75] salinity temperature oxygen silicate phosphate_star 4.152754 4.352114 4.311898 12.816766
Atlantic (27.5,27.75] temperature aou oxygen silicate phosphate_star 4.152046 4.332673 4.334831 12.819550
Atlantic (27.5,27.75] temperature aou oxygen silicate phosphate 4.152046 4.332673 4.334831 12.819550
Atlantic (27.5,27.75] temperature aou silicate phosphate phosphate_star 4.152046 4.332673 4.334831 12.819550
Atlantic (27.75,27.85] salinity temperature aou silicate phosphate_star 4.111828 4.279565 6.017580 14.408973
Atlantic (27.75,27.85] salinity aou oxygen silicate phosphate_star 4.113685 4.277923 6.026571 14.418179
Atlantic (27.75,27.85] salinity aou silicate phosphate phosphate_star 4.113685 4.277923 6.026571 14.418179
Atlantic (27.75,27.85] salinity aou oxygen silicate phosphate 4.113685 4.277923 6.026571 14.418179
Atlantic (27.75,27.85] salinity temperature oxygen silicate phosphate_star 4.112834 4.277933 6.034910 14.425676
Atlantic (27.75,27.85] salinity temperature oxygen silicate phosphate 4.112834 4.277933 6.034910 14.425676
Atlantic (27.75,27.85] salinity temperature silicate phosphate phosphate_star 4.112834 4.277933 6.034910 14.425676
Atlantic (27.75,27.85] salinity temperature aou silicate phosphate 4.114571 4.278130 6.036798 14.429498
Atlantic (27.75,27.85] salinity oxygen silicate phosphate_star 4.121204 4.278115 6.042167 14.441486
Atlantic (27.75,27.85] salinity oxygen silicate phosphate 4.121204 4.278115 6.042167 14.441486
Atlantic (27.85,27.95] salinity aou oxygen silicate phosphate 3.728892 4.171368 4.839290 12.739550
Atlantic (27.85,27.95] salinity aou oxygen silicate phosphate_star 3.728892 4.171368 4.839290 12.739550
Atlantic (27.85,27.95] salinity aou silicate phosphate phosphate_star 3.728892 4.171368 4.839290 12.739550
Atlantic (27.85,27.95] salinity temperature aou silicate phosphate_star 3.728345 4.172239 4.852173 12.752757
Atlantic (27.85,27.95] salinity temperature oxygen silicate phosphate 3.740886 4.187591 4.873867 12.802345
Atlantic (27.85,27.95] salinity temperature silicate phosphate phosphate_star 3.740886 4.187591 4.873867 12.802345
Atlantic (27.85,27.95] salinity temperature oxygen silicate phosphate_star 3.740886 4.187591 4.873867 12.802345
Atlantic (27.85,27.95] salinity temperature aou silicate phosphate 3.751565 4.193647 4.873647 12.818859
Atlantic (27.85,27.95] salinity aou silicate phosphate_star 3.728950 4.208988 4.967537 12.905475
Atlantic (27.85,27.95] salinity temperature silicate phosphate 3.981572 4.291511 4.873938 13.147020
Atlantic (27.95,28.05] salinity aou oxygen silicate phosphate_star 3.487770 4.363515 4.820087 12.671372
Atlantic (27.95,28.05] salinity aou silicate phosphate phosphate_star 3.487770 4.363515 4.820087 12.671372
Atlantic (27.95,28.05] salinity aou oxygen silicate phosphate 3.487770 4.363515 4.820087 12.671372
Atlantic (27.95,28.05] salinity temperature aou silicate phosphate_star 3.487662 4.352096 4.850243 12.690002
Atlantic (27.95,28.05] salinity aou silicate phosphate_star 3.487779 4.373834 4.864433 12.726046
Atlantic (27.95,28.05] salinity temperature oxygen silicate phosphate_star 3.498901 4.381935 4.910557 12.791393
Atlantic (27.95,28.05] salinity temperature silicate phosphate phosphate_star 3.498901 4.381935 4.910557 12.791393
Atlantic (27.95,28.05] salinity temperature oxygen silicate phosphate 3.498901 4.381935 4.910557 12.791393
Atlantic (27.95,28.05] salinity temperature aou silicate phosphate 3.508118 4.406907 4.931814 12.846839
Atlantic (27.95,28.05] salinity temperature aou phosphate phosphate_star 3.755336 4.367751 4.799080 12.922167
Atlantic (28.05,28.1] salinity temperature aou phosphate phosphate_star 3.539499 4.360234 4.144983 12.044717
Atlantic (28.05,28.1] salinity temperature aou oxygen phosphate_star 3.539499 4.360234 4.144983 12.044717
Atlantic (28.05,28.1] salinity temperature aou oxygen phosphate 3.539499 4.360234 4.144983 12.044717
Atlantic (28.05,28.1] temperature aou silicate phosphate phosphate_star 3.643192 4.334898 4.117142 12.095232
Atlantic (28.05,28.1] temperature aou oxygen silicate phosphate_star 3.643192 4.334898 4.117142 12.095232
Atlantic (28.05,28.1] temperature aou oxygen silicate phosphate 3.643192 4.334898 4.117142 12.095232
Atlantic (28.05,28.1] salinity temperature aou silicate phosphate_star 3.518913 4.525800 4.352501 12.397215
Atlantic (28.05,28.1] temperature aou phosphate phosphate_star 3.737933 4.455027 4.228193 12.421153
Atlantic (28.05,28.1] temperature aou oxygen phosphate_star 3.737933 4.455027 4.228193 12.421153
Atlantic (28.05,28.1] temperature aou oxygen phosphate 3.737933 4.455027 4.228193 12.421153
Atlantic (28.1,28.15] salinity temperature aou silicate phosphate_star 3.342361 3.940015 4.245324 11.527700
Atlantic (28.1,28.15] salinity temperature oxygen silicate phosphate_star 3.349308 3.947860 4.254217 11.551386
Atlantic (28.1,28.15] salinity temperature silicate phosphate phosphate_star 3.349308 3.947860 4.254217 11.551386
Atlantic (28.1,28.15] salinity temperature oxygen silicate phosphate 3.349308 3.947860 4.254217 11.551386
Atlantic (28.1,28.15] salinity temperature aou oxygen phosphate_star 3.440411 3.952540 4.211635 11.604587
Atlantic (28.1,28.15] salinity temperature aou phosphate phosphate_star 3.440411 3.952540 4.211635 11.604587
Atlantic (28.1,28.15] salinity temperature aou oxygen phosphate 3.440411 3.952540 4.211635 11.604587
Atlantic (28.1,28.15] temperature aou oxygen silicate phosphate_star 3.436793 3.969257 4.216057 11.622107
Atlantic (28.1,28.15] temperature aou silicate phosphate phosphate_star 3.436793 3.969257 4.216057 11.622107
Atlantic (28.1,28.15] temperature aou oxygen silicate phosphate 3.436793 3.969257 4.216057 11.622107
Atlantic (28.15,28.2] salinity temperature aou oxygen phosphate 3.719163 3.607541 2.836143 10.162847
Atlantic (28.15,28.2] salinity temperature aou phosphate phosphate_star 3.719163 3.607541 2.836143 10.162847
Atlantic (28.15,28.2] salinity temperature aou oxygen phosphate_star 3.719163 3.607541 2.836143 10.162847
Atlantic (28.15,28.2] salinity aou silicate phosphate phosphate_star 3.713912 3.607352 2.914045 10.235310
Atlantic (28.15,28.2] salinity aou oxygen silicate phosphate 3.713912 3.607352 2.914045 10.235310
Atlantic (28.15,28.2] salinity aou oxygen silicate phosphate_star 3.713912 3.607352 2.914045 10.235310
Atlantic (28.15,28.2] salinity temperature aou silicate phosphate 3.739761 3.662219 2.835064 10.237044
Atlantic (28.15,28.2] salinity temperature aou phosphate 3.740143 3.669008 2.837785 10.246936
Atlantic (28.15,28.2] salinity aou phosphate phosphate_star 3.719217 3.607575 2.956477 10.283268
Atlantic (28.15,28.2] salinity aou oxygen phosphate 3.719217 3.607575 2.956477 10.283268
Atlantic (28.2, Inf] salinity temperature aou phosphate phosphate_star 3.337999 3.057466 2.685083 9.080549
Atlantic (28.2, Inf] salinity temperature aou oxygen phosphate 3.337999 3.057466 2.685083 9.080549
Atlantic (28.2, Inf] salinity temperature aou oxygen phosphate_star 3.337999 3.057466 2.685083 9.080549
Atlantic (28.2, Inf] salinity temperature aou silicate phosphate 3.425561 3.059270 2.696506 9.181337
Atlantic (28.2, Inf] salinity aou oxygen silicate phosphate_star 3.358320 3.057387 2.767527 9.183233
Atlantic (28.2, Inf] salinity aou oxygen silicate phosphate 3.358320 3.057387 2.767527 9.183233
Atlantic (28.2, Inf] salinity aou silicate phosphate phosphate_star 3.358320 3.057387 2.767527 9.183233
Atlantic (28.2, Inf] salinity aou phosphate phosphate_star 3.378104 3.057832 2.767543 9.203479
Atlantic (28.2, Inf] salinity aou oxygen phosphate_star 3.378104 3.057832 2.767543 9.203479
Atlantic (28.2, Inf] salinity aou oxygen phosphate 3.378104 3.057832 2.767543 9.203479
Indo-Pacific (-Inf,26] salinity aou silicate phosphate phosphate_star 11.623462 7.157989 5.647250 24.428701
Indo-Pacific (-Inf,26] salinity aou oxygen silicate phosphate 11.623462 7.157989 5.647250 24.428701
Indo-Pacific (-Inf,26] salinity aou oxygen silicate phosphate_star 11.623462 7.157989 5.647250 24.428701
Indo-Pacific (-Inf,26] salinity temperature aou silicate phosphate 11.694737 7.232705 5.850663 24.778105
Indo-Pacific (-Inf,26] salinity temperature aou silicate phosphate_star 11.734104 7.275988 5.931195 24.941287
Indo-Pacific (-Inf,26] salinity temperature oxygen silicate phosphate 11.733531 7.281349 5.951189 24.966069
Indo-Pacific (-Inf,26] salinity temperature oxygen silicate phosphate_star 11.733531 7.281349 5.951189 24.966069
Indo-Pacific (-Inf,26] salinity temperature silicate phosphate phosphate_star 11.733531 7.281349 5.951189 24.966069
Indo-Pacific (-Inf,26] salinity temperature silicate phosphate_star 11.734464 7.311199 6.085233 25.130896
Indo-Pacific (-Inf,26] salinity temperature aou phosphate phosphate_star 11.863091 7.575205 6.002886 25.441182
Indo-Pacific (26,26.5] salinity aou silicate phosphate phosphate_star 7.889069 5.196372 3.936596 17.022037
Indo-Pacific (26,26.5] salinity aou oxygen silicate phosphate 7.889069 5.196372 3.936596 17.022037
Indo-Pacific (26,26.5] salinity aou oxygen silicate phosphate_star 7.889069 5.196372 3.936596 17.022037
Indo-Pacific (26,26.5] salinity temperature aou silicate phosphate 7.963424 5.154247 4.013896 17.131567
Indo-Pacific (26,26.5] salinity temperature oxygen silicate phosphate 8.000579 5.163590 4.053536 17.217705
Indo-Pacific (26,26.5] salinity temperature silicate phosphate phosphate_star 8.000579 5.163590 4.053536 17.217705
Indo-Pacific (26,26.5] salinity temperature oxygen silicate phosphate_star 8.000579 5.163590 4.053536 17.217705
Indo-Pacific (26,26.5] salinity temperature aou silicate phosphate_star 8.010246 5.166535 4.065867 17.242648
Indo-Pacific (26,26.5] salinity temperature aou phosphate phosphate_star 7.992846 5.293950 4.249030 17.535826
Indo-Pacific (26,26.5] salinity temperature aou oxygen phosphate 7.992846 5.293950 4.249030 17.535826
Indo-Pacific (26.5,26.75] salinity aou oxygen silicate phosphate_star 5.927382 5.693985 4.559978 16.181345
Indo-Pacific (26.5,26.75] salinity aou oxygen silicate phosphate 5.927382 5.693985 4.559978 16.181345
Indo-Pacific (26.5,26.75] salinity aou silicate phosphate phosphate_star 5.927382 5.693985 4.559978 16.181345
Indo-Pacific (26.5,26.75] salinity temperature aou oxygen phosphate_star 6.009325 5.700080 4.616972 16.326376
Indo-Pacific (26.5,26.75] salinity temperature aou oxygen phosphate 6.009325 5.700080 4.616972 16.326376
Indo-Pacific (26.5,26.75] salinity temperature aou phosphate phosphate_star 6.009325 5.700080 4.616972 16.326376
Indo-Pacific (26.5,26.75] salinity aou oxygen phosphate_star 6.011205 5.700094 4.633021 16.344321
Indo-Pacific (26.5,26.75] salinity aou oxygen phosphate 6.011205 5.700094 4.633021 16.344321
Indo-Pacific (26.5,26.75] salinity aou oxygen phosphate phosphate_star 6.011205 5.700094 4.633021 16.344321
Indo-Pacific (26.5,26.75] salinity aou phosphate phosphate_star 6.011205 5.700094 4.633021 16.344321
Indo-Pacific (26.75,27] temperature aou oxygen silicate phosphate_star 6.542541 4.987407 4.222006 15.751955
Indo-Pacific (26.75,27] temperature aou oxygen silicate phosphate 6.542541 4.987407 4.222006 15.751955
Indo-Pacific (26.75,27] temperature aou silicate phosphate phosphate_star 6.542541 4.987407 4.222006 15.751955
Indo-Pacific (26.75,27] salinity temperature aou oxygen phosphate 6.566186 5.023804 4.249032 15.839021
Indo-Pacific (26.75,27] salinity temperature aou oxygen phosphate_star 6.566186 5.023804 4.249032 15.839021
Indo-Pacific (26.75,27] salinity temperature aou phosphate phosphate_star 6.566186 5.023804 4.249032 15.839021
Indo-Pacific (26.75,27] temperature aou oxygen phosphate_star 6.569450 5.024563 4.262325 15.856337
Indo-Pacific (26.75,27] temperature aou oxygen phosphate 6.569450 5.024563 4.262325 15.856337
Indo-Pacific (26.75,27] temperature aou oxygen phosphate phosphate_star 6.569450 5.024563 4.262325 15.856337
Indo-Pacific (26.75,27] temperature aou phosphate phosphate_star 6.569450 5.024563 4.262325 15.856337
Indo-Pacific (27,27.25] temperature aou oxygen silicate phosphate_star 6.034168 4.532777 4.048207 14.615152
Indo-Pacific (27,27.25] temperature aou oxygen silicate phosphate 6.034168 4.532777 4.048207 14.615152
Indo-Pacific (27,27.25] temperature aou silicate phosphate phosphate_star 6.034168 4.532777 4.048207 14.615152
Indo-Pacific (27,27.25] salinity temperature aou oxygen phosphate_star 6.048680 4.607554 4.166144 14.822378
Indo-Pacific (27,27.25] salinity temperature aou oxygen phosphate 6.048680 4.607554 4.166144 14.822378
Indo-Pacific (27,27.25] salinity temperature aou phosphate phosphate_star 6.048680 4.607554 4.166144 14.822378
Indo-Pacific (27,27.25] salinity aou oxygen silicate phosphate_star 6.432599 4.541415 4.107446 15.081460
Indo-Pacific (27,27.25] salinity aou oxygen silicate phosphate 6.432599 4.541415 4.107446 15.081460
Indo-Pacific (27,27.25] salinity aou silicate phosphate phosphate_star 6.432599 4.541415 4.107446 15.081460
Indo-Pacific (27,27.25] temperature aou phosphate phosphate_star 6.076991 4.747237 4.304603 15.128831
Indo-Pacific (27.25,27.5] temperature aou oxygen silicate phosphate_star 4.835968 3.913969 3.527790 12.277728
Indo-Pacific (27.25,27.5] temperature aou oxygen silicate phosphate 4.835968 3.913969 3.527790 12.277728
Indo-Pacific (27.25,27.5] temperature aou silicate phosphate phosphate_star 4.835968 3.913969 3.527790 12.277728
Indo-Pacific (27.25,27.5] salinity aou oxygen silicate phosphate_star 5.251519 3.924282 3.243081 12.418882
Indo-Pacific (27.25,27.5] salinity aou oxygen silicate phosphate 5.251519 3.924282 3.243081 12.418882
Indo-Pacific (27.25,27.5] salinity aou silicate phosphate phosphate_star 5.251519 3.924282 3.243081 12.418882
Indo-Pacific (27.25,27.5] salinity temperature aou phosphate phosphate_star 4.862194 4.131183 3.627177 12.620554
Indo-Pacific (27.25,27.5] salinity temperature aou oxygen phosphate 4.862194 4.131183 3.627177 12.620554
Indo-Pacific (27.25,27.5] salinity temperature aou oxygen phosphate_star 4.862194 4.131183 3.627177 12.620554
Indo-Pacific (27.25,27.5] salinity temperature aou silicate phosphate 5.578168 3.945800 3.247152 12.771119
Indo-Pacific (27.5,27.75] salinity aou silicate phosphate phosphate_star 4.688828 3.605057 2.968149 11.262034
Indo-Pacific (27.5,27.75] salinity aou oxygen silicate phosphate 4.688828 3.605057 2.968149 11.262034
Indo-Pacific (27.5,27.75] salinity aou oxygen silicate phosphate_star 4.688828 3.605057 2.968149 11.262034
Indo-Pacific (27.5,27.75] salinity temperature aou silicate phosphate 4.857991 3.606697 2.966581 11.431268
Indo-Pacific (27.5,27.75] temperature aou oxygen silicate phosphate_star 4.414022 3.814534 3.290961 11.519517
Indo-Pacific (27.5,27.75] temperature aou oxygen silicate phosphate 4.414022 3.814534 3.290961 11.519517
Indo-Pacific (27.5,27.75] temperature aou silicate phosphate phosphate_star 4.414022 3.814534 3.290961 11.519517
Indo-Pacific (27.5,27.75] salinity temperature oxygen silicate phosphate 4.986342 3.612588 2.965966 11.564897
Indo-Pacific (27.5,27.75] salinity temperature oxygen silicate phosphate_star 4.986342 3.612588 2.965966 11.564897
Indo-Pacific (27.5,27.75] salinity temperature silicate phosphate phosphate_star 4.986342 3.612588 2.965966 11.564897
Indo-Pacific (27.75,27.85] temperature aou silicate phosphate phosphate_star 4.269432 3.237786 2.903747 10.410965
Indo-Pacific (27.75,27.85] temperature aou oxygen silicate phosphate_star 4.269432 3.237786 2.903747 10.410965
Indo-Pacific (27.75,27.85] temperature aou oxygen silicate phosphate 4.269432 3.237786 2.903747 10.410965
Indo-Pacific (27.75,27.85] salinity temperature aou silicate phosphate_star 4.307418 3.255299 2.863161 10.425878
Indo-Pacific (27.75,27.85] salinity temperature oxygen silicate phosphate_star 4.308811 3.257267 2.865015 10.431092
Indo-Pacific (27.75,27.85] salinity temperature silicate phosphate phosphate_star 4.308811 3.257267 2.865015 10.431092
Indo-Pacific (27.75,27.85] salinity temperature oxygen silicate phosphate 4.308811 3.257267 2.865015 10.431092
Indo-Pacific (27.75,27.85] salinity temperature aou silicate phosphate 4.285667 3.281087 2.876268 10.443022
Indo-Pacific (27.75,27.85] salinity aou oxygen silicate phosphate_star 4.262144 3.319860 2.896917 10.478921
Indo-Pacific (27.75,27.85] salinity aou oxygen silicate phosphate 4.262144 3.319860 2.896917 10.478921
Indo-Pacific (27.85,27.95] salinity temperature aou silicate phosphate 4.318767 2.976677 2.878296 10.173740
Indo-Pacific (27.85,27.95] temperature aou oxygen silicate phosphate 4.309845 2.980375 2.891621 10.181842
Indo-Pacific (27.85,27.95] temperature aou oxygen silicate phosphate_star 4.309845 2.980375 2.891621 10.181842
Indo-Pacific (27.85,27.95] temperature aou silicate phosphate phosphate_star 4.309845 2.980375 2.891621 10.181842
Indo-Pacific (27.85,27.95] salinity aou silicate phosphate phosphate_star 4.301346 2.986208 2.896370 10.183924
Indo-Pacific (27.85,27.95] salinity aou oxygen silicate phosphate_star 4.301346 2.986208 2.896370 10.183924
Indo-Pacific (27.85,27.95] salinity aou oxygen silicate phosphate 4.301346 2.986208 2.896370 10.183924
Indo-Pacific (27.85,27.95] salinity temperature aou silicate phosphate_star 4.338346 2.978896 2.868411 10.185653
Indo-Pacific (27.85,27.95] salinity temperature oxygen silicate phosphate_star 4.339785 2.978343 2.869502 10.187630
Indo-Pacific (27.85,27.95] salinity temperature silicate phosphate phosphate_star 4.339785 2.978343 2.869502 10.187630
Indo-Pacific (27.95,28.05] salinity aou silicate phosphate phosphate_star 4.382078 2.841260 3.075517 10.298855
Indo-Pacific (27.95,28.05] salinity aou oxygen silicate phosphate 4.382078 2.841260 3.075517 10.298855
Indo-Pacific (27.95,28.05] salinity aou oxygen silicate phosphate_star 4.382078 2.841260 3.075517 10.298855
Indo-Pacific (27.95,28.05] salinity temperature aou silicate phosphate 4.400737 2.864704 3.064828 10.330269
Indo-Pacific (27.95,28.05] salinity temperature aou phosphate phosphate_star 4.382908 2.860058 3.107381 10.350347
Indo-Pacific (27.95,28.05] salinity temperature aou oxygen phosphate 4.382908 2.860058 3.107381 10.350347
Indo-Pacific (27.95,28.05] salinity temperature aou oxygen phosphate_star 4.382908 2.860058 3.107381 10.350347
Indo-Pacific (27.95,28.05] salinity aou phosphate phosphate_star 4.383109 2.869426 3.107563 10.360098
Indo-Pacific (27.95,28.05] salinity aou oxygen phosphate 4.383109 2.869426 3.107563 10.360098
Indo-Pacific (27.95,28.05] salinity aou oxygen phosphate phosphate_star 4.383109 2.869426 3.107563 10.360098
Indo-Pacific (28.05,28.1] salinity aou oxygen silicate phosphate_star 4.232302 2.825488 2.826261 9.884051
Indo-Pacific (28.05,28.1] salinity aou oxygen silicate phosphate 4.232302 2.825488 2.826261 9.884051
Indo-Pacific (28.05,28.1] salinity aou silicate phosphate phosphate_star 4.232302 2.825488 2.826261 9.884051
Indo-Pacific (28.05,28.1] salinity temperature aou oxygen phosphate_star 4.231424 2.842596 2.817179 9.891199
Indo-Pacific (28.05,28.1] salinity temperature aou oxygen phosphate 4.231424 2.842596 2.817179 9.891199
Indo-Pacific (28.05,28.1] salinity temperature aou phosphate phosphate_star 4.231424 2.842596 2.817179 9.891199
Indo-Pacific (28.05,28.1] salinity aou oxygen phosphate_star 4.234927 2.846401 2.828633 9.909961
Indo-Pacific (28.05,28.1] salinity aou oxygen phosphate 4.234927 2.846401 2.828633 9.909961
Indo-Pacific (28.05,28.1] salinity aou oxygen phosphate phosphate_star 4.234927 2.846401 2.828633 9.909961
Indo-Pacific (28.05,28.1] salinity aou phosphate phosphate_star 4.234927 2.846401 2.828633 9.909961
Indo-Pacific (28.1, Inf] salinity aou oxygen silicate phosphate_star 3.568320 3.024739 2.582084 9.175143
Indo-Pacific (28.1, Inf] salinity aou oxygen silicate phosphate 3.568320 3.024739 2.582084 9.175143
Indo-Pacific (28.1, Inf] salinity aou silicate phosphate phosphate_star 3.568320 3.024739 2.582084 9.175143
Indo-Pacific (28.1, Inf] temperature aou oxygen silicate phosphate_star 3.598837 2.980806 2.648408 9.228051
Indo-Pacific (28.1, Inf] temperature aou oxygen silicate phosphate 3.598837 2.980806 2.648408 9.228051
Indo-Pacific (28.1, Inf] temperature aou silicate phosphate phosphate_star 3.598837 2.980806 2.648408 9.228051
Indo-Pacific (28.1, Inf] salinity temperature aou oxygen phosphate_star 3.538004 3.218866 2.586405 9.343275
Indo-Pacific (28.1, Inf] salinity temperature aou oxygen phosphate 3.538004 3.218866 2.586405 9.343275
Indo-Pacific (28.1, Inf] salinity temperature aou phosphate phosphate_star 3.538004 3.218866 2.586405 9.343275
Indo-Pacific (28.1, Inf] aou oxygen silicate phosphate_star 3.638706 3.024739 2.696173 9.359619
# lm_best_n <-lm_best %>% 
#   group_by(basin, gamma_slab) %>% 
#   summarise(n()) %>% 
#   ungroup()

rm(n_predictors_max, n_predictors_min, 
   all_lm_stats, all_lm_stats_wide)
lm_1 <- GLODAP %>% 
  filter(basin == "Atlantic",
         gamma_slab == "(-Inf,26]",
         era == "new_era") %>% 
  lm(Cstar ~ salinity + temperature + aou + oxygen + phosphate_star, data = .)

lm_2 <- GLODAP %>% 
  filter(basin == "Atlantic",
         gamma_slab == "(-Inf,26]",
         era == "new_era") %>% 
  lm(Cstar ~ salinity + temperature + aou + oxygen + phosphate, data = .)

lm_1
lm_2

sqrt(mean(lm_1$residuals^2))
sqrt(mean(lm_2$residuals^2))

6.3.2 Fitting best models

After selecting 10 linear regression models with lowest summed RMSE across all eras, models are fitted again and model coefficients are saved to file.

lm_best <- lm_best %>% 
  mutate(lm_coeff = str_replace_all(predictors, " ", " + "),
         lm_coeff = paste("Cstar ~", lm_coeff))

for (i_basin in unique(GLODAP$basin)) {
  for (i_era in unique(GLODAP$era)) {
    
    # i_basin <- unique(GLODAP$basin)[1]
    # i_era   <- unique(GLODAP$era)[1]
    
    print(i_basin) 
    print(i_era  )
    
    GLODAP_basin_era <- GLODAP %>%
      filter(basin == i_basin, era == i_era)

    lm_best_basin <- lm_best %>%
      filter(basin == i_basin)

    for (i_gamma_slab in unique(GLODAP_basin_era$gamma_slab)) {

      # i_gamma_slab <- unique(GLODAP_basin_era$gamma_slab)[1]
      print(i_gamma_slab)
      
      GLODAP_basin_era_slab <- GLODAP_basin_era %>% 
        filter(gamma_slab == i_gamma_slab)
      
      lm_best_basin_slab <- lm_best_basin %>% 
        filter(gamma_slab == i_gamma_slab)
      
      for (i_predictors in unique(lm_best_basin_slab$predictors)) {
        
        # i_predictors <- unique(lm_best_basin_slab$predictors)[1]
        
        lm_best_single <- lm_best_basin_slab %>%
          filter(predictors == i_predictors) %>%
          select(lm_coeff) %>%
          pull()
        
        i_rmse_sum <- lm_best_basin_slab %>%
          filter(predictors == i_predictors) %>%
          select(rmse_sum) %>%
          pull()
        
        lm_formula <- as.formula(lm_best_single)
        
        model_single <- lm(lm_formula, 
              data = GLODAP_basin_era_slab)
        
        coefficients <- tidy(model_single)
        coefficients <- coefficients %>% 
          mutate(basin = i_basin,
                 era = i_era,
                 gamma_slab = i_gamma_slab,
                 model = lm_best_single,
                 rmse = i_rmse_sum)
        
        print(lm_best_single)
      
      if (exists("all_lm")) {
        all_lm <- bind_rows(all_lm, coefficients)
      }
      
      if (!exists("all_lm")) {
        all_lm <- coefficients
      }
      

      }
      
 
    }
    
  }
  
}


rm(lm_formula, model_single, coefficients, i_rmse_sum,
   GLODAP_basin_era, GLODAP_basin_era_slab,
   lm_best, lm_best_basin, lm_best_basin_slab, lm_best_single,
   i_basin, i_era, i_gamma_slab, i_predictors)

all_lm %>%
  write_csv(here::here("data/eMLR",
                       "all_lm.csv"))

7 Old script chunks

MLRs <- GLODAP %>%
  nest(data = -c(basin, era, gamma_slab)) %>% 
  mutate(
    fit = map(data, ~ lm(Cstar ~ salinity  + temperature  + aou  + oxygen  + silicate  + phosphate  + phosphate_star,
                         data = .x)),
    tidied = map(fit, tidy),
    glanced = map(fit, glance),
    augmented = map(fit, augment)
  )

MLRs_tidied <- MLRs %>% 
  unnest(tidied)

MLRs_tidied

MLRs_tidied <- MLRs_tidied %>% 
  select(era, basin, gamma_slab, term, estimate, p.value)

MLRs_tidied_wide <- MLRs_tidied %>% 
  select(-p.value) %>% 
  pivot_wider(names_from = era, values_from = estimate, names_prefix = "coeff_")

MLRs_tidied_wide <- MLRs_tidied_wide %>% 
  mutate(delta_coeff_J_G = coeff_GO_SHIP - coeff_JGOFS_WOCE,
         delta_coeff_G_n = coeff_new_era - coeff_GO_SHIP,
         delta_coeff_n_G = coeff_new_era - coeff_JGOFS_WOCE)

MLRs_tidied %>% 
  ggplot(aes(p.value, term, col = gamma_slab)) +
  geom_point() +
  facet_grid(basin~era)

MLRs_tidied %>% 
  filter(p.value < 0.05) %>% 
  ggplot(aes(p.value, term, col = gamma_slab)) +
  geom_point() +
  facet_grid(basin~era)

MLRs_tidied %>% 
  ggplot(aes(p.value, term)) +
  geom_boxplot() +
  facet_grid(basin~era)

MLRs %>% 
  unnest(glanced)

MLRs %>% 
  unnest(augmented)

8 Open tasks

  • combine correlation, rmse and model calculation into one routine, ideally using the purrr map approach
  • select exactly best 10 models, even if same rmse sum appears more than once (currently, selection is set two ten, even if doublicated rmse occur)

9 Open questions


sessionInfo()
R version 4.0.2 (2020-06-22)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)

Matrix products: default

locale:
[1] LC_COLLATE=English_Germany.1252  LC_CTYPE=English_Germany.1252   
[3] LC_MONETARY=English_Germany.1252 LC_NUMERIC=C                    
[5] LC_TIME=English_Germany.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] corrr_0.4.2      kableExtra_1.1.0 knitr_1.29       olsrr_0.5.3.9000
 [5] GGally_2.0.0     broom_0.7.0      patchwork_1.0.1  lubridate_1.7.9 
 [9] forcats_0.5.0    stringr_1.4.0    dplyr_1.0.0      purrr_0.3.4     
[13] readr_1.3.1      tidyr_1.1.0      tibble_3.0.3     ggplot2_3.3.2   
[17] tidyverse_1.3.0  workflowr_1.6.2 

loaded via a namespace (and not attached):
 [1] fs_1.4.2           webshot_0.5.2      RColorBrewer_1.1-2 httr_1.4.2        
 [5] rprojroot_1.3-2    tools_4.0.2        backports_1.1.8    R6_2.4.1          
 [9] nortest_1.0-4      DBI_1.1.0          colorspace_1.4-1   withr_2.2.0       
[13] tidyselect_1.1.0   gridExtra_2.3      curl_4.3           compiler_4.0.2    
[17] git2r_0.27.1       cli_2.0.2          rvest_0.3.6        xml2_1.3.2        
[21] labeling_0.3       scales_1.1.1       goftest_1.2-2      digest_0.6.25     
[25] foreign_0.8-80     rmarkdown_2.3      rio_0.5.16         pkgconfig_2.0.3   
[29] htmltools_0.5.0    highr_0.8          dbplyr_1.4.4       maps_3.3.0        
[33] rlang_0.4.7        readxl_1.3.1       rstudioapi_0.11    generics_0.0.2    
[37] farver_2.0.3       jsonlite_1.7.0     zip_2.0.4          car_3.0-8         
[41] magrittr_1.5       Rcpp_1.0.5         munsell_0.5.0      fansi_0.4.1       
[45] abind_1.4-5        lifecycle_0.2.0    stringi_1.4.6      whisker_0.4       
[49] yaml_2.2.1         carData_3.0-4      plyr_1.8.6         grid_4.0.2        
[53] blob_1.2.1         promises_1.1.1     crayon_1.3.4       haven_2.3.1       
[57] hms_0.5.3          pillar_1.4.6       reprex_0.3.0       glue_1.4.1        
[61] evaluate_0.14      data.table_1.13.0  modelr_0.1.8       vctrs_0.3.2       
[65] httpuv_1.5.4       cellranger_1.1.0   gtable_0.3.0       reshape_0.8.8     
[69] assertthat_0.2.1   xfun_0.16          openxlsx_4.1.5     later_1.1.0.1     
[73] viridisLite_0.3.0  ellipsis_0.3.1     here_0.1